fallout2-ce/src/stat_defs.h

88 lines
2.1 KiB
C++

#ifndef STAT_DEFS
#define STAT_DEFS
namespace fallout {
// The minimum value of SPECIAL stat.
#define PRIMARY_STAT_MIN (1)
// The maximum value of SPECIAL stat.
#define PRIMARY_STAT_MAX (10)
// The number of values of SPECIAL stat.
//
// Every stat value has it's own human readable description. This value is used
// as number of these descriptions.
#define PRIMARY_STAT_RANGE ((PRIMARY_STAT_MAX) - (PRIMARY_STAT_MIN) + 1)
// The maximum number of PC level.
#define PC_LEVEL_MAX 99
// Available stats.
typedef enum Stat {
STAT_STRENGTH,
STAT_PERCEPTION,
STAT_ENDURANCE,
STAT_CHARISMA,
STAT_INTELLIGENCE,
STAT_AGILITY,
STAT_LUCK,
STAT_MAXIMUM_HIT_POINTS,
STAT_MAXIMUM_ACTION_POINTS,
STAT_ARMOR_CLASS,
STAT_UNARMED_DAMAGE,
STAT_MELEE_DAMAGE,
STAT_CARRY_WEIGHT,
STAT_SEQUENCE,
STAT_HEALING_RATE,
STAT_CRITICAL_CHANCE,
STAT_BETTER_CRITICALS,
STAT_DAMAGE_THRESHOLD,
STAT_DAMAGE_THRESHOLD_LASER,
STAT_DAMAGE_THRESHOLD_FIRE,
STAT_DAMAGE_THRESHOLD_PLASMA,
STAT_DAMAGE_THRESHOLD_ELECTRICAL,
STAT_DAMAGE_THRESHOLD_EMP,
STAT_DAMAGE_THRESHOLD_EXPLOSION,
STAT_DAMAGE_RESISTANCE,
STAT_DAMAGE_RESISTANCE_LASER,
STAT_DAMAGE_RESISTANCE_FIRE,
STAT_DAMAGE_RESISTANCE_PLASMA,
STAT_DAMAGE_RESISTANCE_ELECTRICAL,
STAT_DAMAGE_RESISTANCE_EMP,
STAT_DAMAGE_RESISTANCE_EXPLOSION,
STAT_RADIATION_RESISTANCE,
STAT_POISON_RESISTANCE,
STAT_AGE,
STAT_GENDER,
STAT_CURRENT_HIT_POINTS,
STAT_CURRENT_POISON_LEVEL,
STAT_CURRENT_RADIATION_LEVEL,
STAT_COUNT,
// Number of primary stats.
PRIMARY_STAT_COUNT = 7,
// Number of SPECIAL stats (primary + secondary).
SPECIAL_STAT_COUNT = 33,
// Number of saveable stats (i.e. excluding CURRENT pseudostats).
SAVEABLE_STAT_COUNT = 35,
} Stat;
#define STAT_INVALID -1
// Special stats that are only relevant to player character.
typedef enum PcStat {
PC_STAT_UNSPENT_SKILL_POINTS,
PC_STAT_LEVEL,
PC_STAT_EXPERIENCE,
PC_STAT_REPUTATION,
PC_STAT_KARMA,
PC_STAT_COUNT,
} PcStat;
} // namespace fallout
#endif /* STAT_DEFS */