HALTED: major overhaul for character

This commit is contained in:
2024-07-13 22:05:17 -04:00
parent 39d3447593
commit f0aa564e08
10 changed files with 298 additions and 172 deletions

View File

@ -9,7 +9,11 @@ const int INF = 0x3F3F3F3F;
enum error {none};
// TODO: update result to include subject
enum result {fine, died, go_down, go_up, hit, moved, miss, terminate};
// fine will waste a turn
enum result {fine, died, go_down, go_up, hit, moved,
miss, terminate, applied, applied_nothing,
toggle_the_world, restart_game, unknown
};
enum game_status {terminated, main_menu, in_game, options,
dead, won, escaped, restart
@ -22,7 +26,7 @@ enum game_command {game_command_terminate = 0,
apply_north, apply_south, apply_east, apply_west,
apply_northeast, apply_northwest,
apply_southeast, apply_southwest,
apply_prompt, apply_panic, // for curses_input specifically
apply_panic, // for curses_input specifically
attack_north, attack_south, attack_east, attack_west,
attack_northeast, attack_northwest,
attack_southeast, attack_southwest,
@ -33,22 +37,28 @@ enum game_command {game_command_terminate = 0,
enum stat_name {HP, ATK, DEF, hostile};
const int RACE_CNT = 5; // TODO: update as you go
const int RACE_CNT = 6; // TODO: update as you go
enum race {rshade = 0, rvampire, rgoblin, rdrow, rdragon /* TODO: fill out the other races (including enemies) */};
enum race {rshade = 0, rvampire, rgoblin, rdrow, rdragon, rmerchant /* TODO: fill out the other races (including enemies) */};
// TODO: fill out the other races (including enemies)
const int MAX_HP[RACE_CNT] = {125, INF, 110, 150, 150};
const int STARTING_HP[RACE_CNT] = {125, 50, 110, 150, 150};
const int STARTING_ATK[RACE_CNT] = {25, 25, 15, 25, 20};
const int STARTING_DEF[RACE_CNT] = {25, 25, 20, 15, 20};
const char CHARACTER_REP[RACE_CNT] = {'S', 'V', 'G', 'd', 'D'};
const int MAX_HP[RACE_CNT] = {125, INF, 110, 150, 150, 30};
const int STARTING_HP[RACE_CNT] = {125, 50, 110, 150, 150, 30};
const int STARTING_ATK[RACE_CNT] = {25, 25, 15, 25, 20, 70};
const int STARTING_DEF[RACE_CNT] = {25, 25, 20, 15, 20, 5};
const char CHARACTER_REP[RACE_CNT] = {'S', 'V', 'G', 'd', 'D', 'M'};
const char *RACE_NAME[RACE_CNT] = {
"Shade", "Vampire", "Goblin", "Drow", "Dragon"
};
const int POTION_TYPE_CNT = 6;
const int DEFAULT_POTION_TYPE_CNT = 6;
enum potion_type {restore_health = 0, boost_atk, boost_def,
poison_health, wound_atk, wound_def
};
const char *POTION_REAL_NAME[POTION_TYPE_CNT] = {
"RH", "BA", "BD", "PH", "WA", "WD"
};
// Calculation priorities
const int CALC_ADD_BASE = 0;