fixed bug where merchants are not moving
reading map data from file will now generate only the specified entities (if none are specified, randomly generate them
This commit is contained in:
12
src/level.cc
12
src/level.cc
@ -41,6 +41,12 @@ level::level(const level_data &lvl, character *player, RNG *rng,
|
||||
if (enabled_features & FEATURE_READ_MAP)
|
||||
fill(lvl, tiles, rng);
|
||||
|
||||
if (enabled_features & FEATURE_READ_MAP &&
|
||||
(lvl.enemies.size() ||
|
||||
lvl.potions.size() ||
|
||||
lvl.gold_piles.size()))
|
||||
return;
|
||||
|
||||
gen_potions(rng, tiles);
|
||||
gen_gold(rng, tiles);
|
||||
gen_enemies(lvl, rng, tiles);
|
||||
@ -109,9 +115,9 @@ bool level::is_in_glist(gold &g, const gold_list &gl) {
|
||||
void level::gen_enemies(const level_data &lvl, RNG *rng,
|
||||
std::vector<position_list> &tiles) {
|
||||
auto dhoard = dragon_hoard(lvl);
|
||||
int cnt = enabled_features & FEATURE_EXTRA_STUFF ?
|
||||
rng->rand_between(MIN_ENEMIE_CNT, MAX_ENEMIE_CNT + 1) :
|
||||
MIN_ENEMIE_CNT + dhoard.size();
|
||||
int cnt = (enabled_features & FEATURE_EXTRA_STUFF ?
|
||||
rng->rand_between(MIN_ENEMIE_CNT, MAX_ENEMIE_CNT + 1) :
|
||||
MIN_ENEMIE_CNT) + dhoard.size();
|
||||
|
||||
elist.reserve(cnt);
|
||||
pelist.reserve(cnt);
|
||||
|
Reference in New Issue
Block a user