added throwing

This commit is contained in:
2024-07-17 21:39:10 -04:00
parent ea381c24f6
commit dbae34e3a2
10 changed files with 258 additions and 37 deletions

View File

@ -17,7 +17,6 @@ level::level(character *player, RNG *rng, const feature enabled_features):
for (size_t i = 0; i < tiles.size(); ++i)
remove_from_list(tiles[i], map.get_up_stairs());
gen_potions(rng, tiles);
gen_gold(rng, tiles);
gen_enemies(rng, tiles);
@ -65,11 +64,11 @@ void level::gen_enemies(RNG *rng, std::vector<position_list> &tiles) {
for (size_t i = 0; i < dhoard.size(); ++i) {
position_list spots;
for (int i = 0; i < DIRECTION_CNT; ++i) {
position tmp = dhoard[i].pos + MOVE[i];
for (int dir = 0; dir < DIRECTION_CNT; ++dir) {
position tmp = dhoard[i].pos + MOVE[dir];
if (map.which_room(tmp) != -1)
spots.push_back(dhoard[i].pos + MOVE[i]);
spots.push_back(dhoard[i].pos + MOVE[dir]);
}
auto pos = spots.size() ? rng->get_rand_in_vector(spots) :
@ -269,3 +268,14 @@ void level::erase_enemy(character *ch) {
pelist.erase(pelist.begin() + i);
}
}
size_t level::what_is_at(const position &pos) const {
if (!map.is_available(pos))
return WHAT_WALL;
for (size_t i = 0; i < plist.size(); ++i)
if (plist[i]->get_pos() == pos)
return WHAT_ENEMY | i;
return WHAT_SPACE;
}