summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-place.cc
diff options
context:
space:
mode:
authorShmuale Mark <shm.mark@gmail.com>2014-05-05 15:25:54 -0400
committerShmuale Mark <shm.mark@gmail.com>2014-05-05 17:47:55 -0400
commit8b0589b2b84b012d14d5e95f6c54ddbcd71c88db (patch)
treed2501fbbc2376baf10f01825c926d1b4e1c086b6 /crawl-ref/source/mon-place.cc
parentc329b0c705123b0f95d8a861eb7388c726bd5c44 (diff)
downloadcrawl-ref-8b0589b2b84b012d14d5e95f6c54ddbcd71c88db.tar.gz
crawl-ref-8b0589b2b84b012d14d5e95f6c54ddbcd71c88db.zip
Let draconians grow up.
They will now be able to mature into whatever drac type they can (i.e. white scorchers will still be disallowed) upon reaching the appropriate HD. The goal is mostly to make draconian mercenaries more attractive, since if they can survive they can become rather strong.
Diffstat (limited to 'crawl-ref/source/mon-place.cc')
-rw-r--r--crawl-ref/source/mon-place.cc53
1 files changed, 22 insertions, 31 deletions
diff --git a/crawl-ref/source/mon-place.cc b/crawl-ref/source/mon-place.cc
index 7f0c1d4fd4..371419775e 100644
--- a/crawl-ref/source/mon-place.cc
+++ b/crawl-ref/source/mon-place.cc
@@ -71,15 +71,6 @@ static vector<bool> vault_mon_bands;
#define BIG_BAND 20
-static monster_type _resolve_monster_type(monster_type mon_type,
- proximity_type proximity,
- monster_type &base_type,
- coord_def &pos,
- unsigned mmask,
- dungeon_char_type *stair_type,
- level_id *place,
- bool *want_band);
-
static monster_type _band_member(band_type band, int which);
static band_type _choose_band(monster_type mon_type, int &band_size,
bool& natural_leader);
@@ -579,14 +570,14 @@ bool needs_resolution(monster_type mon_type)
|| _is_random_monster(mon_type);
}
-static monster_type _resolve_monster_type(monster_type mon_type,
- proximity_type proximity,
- monster_type &base_type,
- coord_def &pos,
- unsigned mmask,
- dungeon_char_type *stair_type,
- level_id *place,
- bool *want_band)
+monster_type resolve_monster_type(monster_type mon_type,
+ monster_type &base_type,
+ proximity_type proximity,
+ coord_def *pos,
+ unsigned mmask,
+ dungeon_char_type *stair_type,
+ level_id *place,
+ bool *want_band)
{
if (want_band)
*want_band = false;
@@ -647,7 +638,7 @@ static monster_type _resolve_monster_type(monster_type mon_type,
{
const level_id orig_place = *place;
- if (_find_mon_place_near_stairs(pos, stair_type, *place))
+ if (_find_mon_place_near_stairs(*pos, stair_type, *place))
{
// No monsters spawned in the Temple.
if (branches[place->branch].id == BRANCH_TEMPLE)
@@ -698,11 +689,11 @@ static monster_type _resolve_monster_type(monster_type mon_type,
if (needs_resolution(mon_type))
{
mon_type =
- _resolve_monster_type(mon_type, proximity,
- base_type, pos, mmask,
- stair_type,
- place,
- want_band);
+ resolve_monster_type(mon_type, base_type,
+ proximity, pos, mmask,
+ stair_type,
+ place,
+ want_band);
}
return mon_type;
}
@@ -849,11 +840,11 @@ monster* place_monster(mgen_data mg, bool force_pos, bool dont_place)
bool want_band = false;
level_id place = mg.place;
- mg.cls = _resolve_monster_type(mg.cls, mg.proximity, mg.base_type,
- mg.pos, mg.map_mask,
- &stair_type,
- &place,
- &want_band);
+ mg.cls = resolve_monster_type(mg.cls, mg.base_type, mg.proximity,
+ &mg.pos, mg.map_mask,
+ &stair_type,
+ &place,
+ &want_band);
bool chose_ood_monster = place.absdepth() > mg.place.absdepth() + 5;
if (want_band)
mg.flags |= MG_PERMIT_BANDS;
@@ -3390,9 +3381,9 @@ static monster_type _band_member(band_type band, int which)
coord_def tmppos;
dungeon_char_type tmpfeat;
level_id place = level_id::current();
- return _resolve_monster_type(RANDOM_BANDLESS_MONSTER, PROX_ANYWHERE,
- tmptype, tmppos, 0, &tmpfeat, &place,
- NULL);
+ return resolve_monster_type(RANDOM_BANDLESS_MONSTER, tmptype,
+ PROX_ANYWHERE, &tmppos, 0, &tmpfeat,
+ &place, NULL);
}
default: