enum Jobs { MAGE = 0, ALCHIMIST = 1, WARRIOR = 2, ENGINEER = 3, ARCHER = 4, TAMER = 5 }; enum Elements { FIRE = 0, AIR = 1, WATER = 2, EARTH = 3, EATHER = 4 }; enum Stats { HEALTH, SHIELD, SPEED, MANA, ENERGY, TAME, XP }; enum Button_types { BUTTON_BASIC, BUTTON_INACTIVE, BUTTON_DANGER }; enum Button_sizes { BUTTON_SMALL, BUTTON_MEDIUM, BUTTON_BIG }; //Combinaisons constexpr const int UP = 0; constexpr const int RIGHT = 1; constexpr const int DOWN = 2; constexpr const int LEFT = 3; constexpr const int END_SPELL = 9; struct Spell { std::string name; int damage; int cost_health, cost_mana; float precision; bool zone; std::vector elements; std::vector combinaison; }; struct Ennemy { std::string name; int xp; int health, shield, speed, tame; int max_health, max_shield, max_speed, max_tame; float escape, menace; //Menace comlpexifies the escape, the higher the value is, the less menace it is std::vector spells; }; struct Player { std::string name; Jobs job; int xp; int health, shield, speed, mana, energy; int max_health, max_shield, max_speed, max_mana, max_energy; float escape, menace; std::vector spell_book; };