Files
pokemon-battle-engine/include/core/config.h
2025-08-15 14:30:00 +00:00

74 lines
1.7 KiB
C++

#ifndef CONFIG_H
#define CONFIG_H
#include <cstdint>
namespace PokEng {
// Generation support
enum class Generation : uint8_t {
I = 1,
II = 2,
III = 3,
IV = 4,
V = 5,
VI = 6,
VII = 7,
VIII = 8,
IX = 9
};
// Pokemon Nature enumeration
enum class Nature : uint8_t {
// Neutral natures (no stat changes)
HARDY = 0, // +Attack, -Attack
DOCILE, // +Defense, -Defense
BASHFUL, // +Sp. Atk, -Sp. Atk
QUIRKY, // +Sp. Def, -Sp. Def
SERIOUS, // +Speed, -Speed
// Attack boosting natures
LONELY, // +Attack, -Defense
ADAMANT, // +Attack, -Sp. Atk
NAUGHTY, // +Attack, -Sp. Def
BRAVE, // +Attack, -Speed
// Defense boosting natures
BOLD, // +Defense, -Attack
IMPISH, // +Defense, -Sp. Atk
LAX, // +Defense, -Sp. Def
RELAXED, // +Defense, -Speed
// Sp. Atk boosting natures
MODEST, // +Sp. Atk, -Attack
MILD, // +Sp. Atk, -Defense
RASH, // +Sp. Atk, -Sp. Def
QUIET, // +Sp. Atk, -Speed
// Sp. Def boosting natures
CALM, // +Sp. Def, -Attack
GENTLE, // +Sp. Def, -Defense
CAREFUL, // +Sp. Def, -Sp. Atk
SASSY, // +Sp. Def, -Speed
// Speed boosting natures
TIMID, // +Speed, -Attack
HASTY, // +Speed, -Defense
JOLLY, // +Speed, -Sp. Atk
NAIVE // +Speed, -Sp. Def
};
// Stat indices for nature calculations
enum class StatIndex : uint8_t {
HP = 0,
ATTACK = 1,
DEFENSE = 2,
SP_ATTACK = 3,
SP_DEFENSE = 4,
SPEED = 5
};
} // namespace PokEng
#endif