removed all C-style casts

This commit is contained in:
2024-07-18 17:56:00 -04:00
parent 8f00e903e8
commit 1a9c04ad5a
36 changed files with 212 additions and 92 deletions

32
src/enemies/leprechaun.cc Normal file
View File

@ -0,0 +1,32 @@
#include "leprechaun.h"
#include "../constants.h"
#include "../player.h"
leprechaun::leprechaun(RNG *rng, const feature enabled_features,
const position &pos,
const int gen_room_num):
enemy_base{rng, enabled_features, rleprechaun, pos, gen_room_num, "l"} {}
const char *leprechaun::get_race_name() const {
return "Leprechaun";
}
long_result leprechaun::attack(character *ch) {
long_result res;
if (static_cast<player_base * >(ch)->get_gold() < STEAL_GOLD) {
res = ch->get_hit(this, BOOSTED_ATK, base_hit_rate);
res.msg = "l is angered because PC is too poor. " + res.msg;
} else {
res = ch->get_hit(this, ATK, base_hit_rate);
if (res.res == hit) {
res.msg += "l steals " + std::to_string(STEAL_GOLD) +
" pieces of gold from PC. ";
static_cast<player_base *>(ch)->add_gold(-STEAL_GOLD);
}
}
return res;
}