fixed issue leprechauns not dropping enough gold
This commit is contained in:
@ -2,11 +2,13 @@
|
||||
|
||||
#include "../constants.h"
|
||||
#include "../player.h"
|
||||
#include "../level.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"} {}
|
||||
enemy_base{rng, enabled_features, rleprechaun, pos, gen_room_num, "l"},
|
||||
gold_cnt{0} {}
|
||||
|
||||
const char *leprechaun::get_race_name() const {
|
||||
return "Leprechaun";
|
||||
@ -25,8 +27,14 @@ long_result leprechaun::attack(character *ch) {
|
||||
res.msg += "l steals " + std::to_string(STEAL_GOLD) +
|
||||
" pieces of gold from PC. ";
|
||||
static_cast<player_base *>(ch)->add_gold(-STEAL_GOLD);
|
||||
gold_cnt += STEAL_GOLD;
|
||||
}
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
int leprechaun::dies(level *lvl) {
|
||||
lvl->add_gold(gold{pos, gold_cnt});
|
||||
return 0;
|
||||
}
|
||||
|
@ -12,7 +12,8 @@ public:
|
||||
leprechaun(RNG *rng, const feature enabled_features, const position &pos,
|
||||
const int gen_room_num);
|
||||
const char *get_race_name() const override;
|
||||
virtual long_result attack(character *ch) override;
|
||||
long_result attack(character *ch) override;
|
||||
int dies(level *lvl) override;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user