2025-07-12 12:33:24 +02:00
|
|
|
#include <iostream>
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
#include "structs.h"
|
|
|
|
#include "ennemy.h"
|
|
|
|
#include "spells.h"
|
|
|
|
|
|
|
|
void init_ennemy(Ennemy& ennemy_arg,
|
|
|
|
std::string name_arg,
|
|
|
|
int xp_arg,
|
|
|
|
int max_health_arg,
|
|
|
|
int max_shield_arg,
|
|
|
|
int max_speed_arg,
|
|
|
|
int max_tame_arg,
|
|
|
|
float escape_arg,
|
|
|
|
float menace_arg,
|
|
|
|
std::vector<Spell> spells_arg
|
|
|
|
) {
|
|
|
|
ennemy_arg.name = name_arg;
|
|
|
|
ennemy_arg.xp = xp_arg;
|
|
|
|
ennemy_arg.max_health = max_health_arg;
|
|
|
|
ennemy_arg.max_shield = max_shield_arg;
|
|
|
|
ennemy_arg.max_speed = max_speed_arg;
|
|
|
|
ennemy_arg.max_tame = max_tame_arg;
|
|
|
|
init_stats(ennemy_arg);
|
|
|
|
ennemy_arg.escape = escape_arg;
|
|
|
|
ennemy_arg.menace = menace_arg;
|
|
|
|
ennemy_arg.spells = spells_arg;
|
|
|
|
}
|
|
|
|
|
|
|
|
void init_speed(Ennemy& ennemy_arg) {
|
|
|
|
ennemy_arg.speed = ennemy_arg.max_speed;
|
|
|
|
}
|
|
|
|
void init_stats(Ennemy& ennemy_arg) {
|
|
|
|
ennemy_arg.health = ennemy_arg.max_health;
|
|
|
|
ennemy_arg.shield = ennemy_arg.max_shield;
|
|
|
|
ennemy_arg.speed = ennemy_arg.max_speed;
|
|
|
|
ennemy_arg.tame = ennemy_arg.max_tame;
|
|
|
|
}
|
|
|
|
|
|
|
|
void create_ennemies(std::vector<Ennemy>& ennemies_arg) {
|
|
|
|
std::vector<Spell> all_spells;
|
|
|
|
init_spells(all_spells);
|
|
|
|
|
|
|
|
Ennemy emplialin;
|
|
|
|
init_ennemy(emplialin, "Emplialin", 60, 40, 50, 20, 50, 0.8, 0.6, std::vector<Spell>{all_spells[0], all_spells[2], all_spells[4]});
|
|
|
|
ennemies_arg.push_back(emplialin);
|
|
|
|
|
|
|
|
Ennemy arzkalin;
|
|
|
|
init_ennemy(arzkalin, "Arzkalin", 60, 70, 60, 10, 100, 1.0, 0.5, std::vector<Spell>{all_spells[1], all_spells[3], all_spells[4]});
|
|
|
|
ennemies_arg.push_back(arzkalin);
|
|
|
|
|
|
|
|
Ennemy coindithai;
|
|
|
|
init_ennemy(coindithai, "Coindithaï", 32, 30, 15, 20, 10, 0.9, 0.8, std::vector<Spell>{all_spells[5]});
|
|
|
|
ennemies_arg.push_back(coindithai);
|
|
|
|
}
|
|
|
|
|
|
|
|
void inc_health(Ennemy& ennemy_arg, int value_arg){
|
|
|
|
ennemy_arg.health += value_arg;
|
|
|
|
}
|
|
|
|
void inc_shield(Ennemy& ennemy_arg, int value_arg){
|
|
|
|
ennemy_arg.shield += value_arg;
|
|
|
|
}
|
|
|
|
void inc_speed(Ennemy& ennemy_arg, int value_arg){
|
|
|
|
ennemy_arg.speed += value_arg;
|
|
|
|
}
|
|
|
|
|
|
|
|
void print_ennemy(const Ennemy& ennemy_arg) {
|
|
|
|
std::cout << ennemy_arg.name << std::endl;
|
|
|
|
std::cout << "Xp: " << ennemy_arg.xp << std::endl;
|
|
|
|
std::cout << "Health: " << ennemy_arg.health << "/"<< ennemy_arg.max_health << std::endl;
|
|
|
|
std::cout << "Shield: " << ennemy_arg.shield << "/"<< ennemy_arg.max_shield << std::endl;
|
|
|
|
std::cout << "Speed: " << ennemy_arg.speed << "/"<< ennemy_arg.max_speed << std::endl;
|
2025-07-12 23:31:14 +02:00
|
|
|
std::cout << "Tame: " << ennemy_arg.tame << "/"<< ennemy_arg.max_tame << std::endl;
|
2025-07-12 12:33:24 +02:00
|
|
|
std::cout << "Escape: " << ennemy_arg.escape * 100 << "%"<< std::endl;
|
|
|
|
std::cout << "Menace: " << ennemy_arg.menace * 100 << "%"<< std::endl;
|
|
|
|
std::cout << "Spells: ";
|
|
|
|
for (Spell spell: ennemy_arg.spells) {
|
|
|
|
std::cout << spell.name << ", ";
|
|
|
|
}
|
|
|
|
std::cout << std::endl << std::endl;
|
|
|
|
}
|