diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-12-03 16:16:06 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-12-03 16:16:06 +0000 |
commit | ba3d08acb430062418484ed3e778474cd3b9482b (patch) | |
tree | a01b36b1d63b8a3b6a20f851175c2df214b28aea /crawl-ref/source/monplace.cc | |
parent | c4d32f0ab799f5dde968e6886961dd4ac26033b1 (diff) | |
download | crawl-ref-ba3d08acb430062418484ed3e778474cd3b9482b.tar.gz crawl-ref-ba3d08acb430062418484ed3e778474cd3b9482b.zip |
Implement harpyes. They ...
* appear in bands of 2-5
* use bat like movement
* may steal (= destroy) the player's food.
Still needs a tile.
Also, actually use the M_BATTY flag instead of hardcoding batty monsters.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7734 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/monplace.cc')
-rw-r--r-- | crawl-ref/source/monplace.cc | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/crawl-ref/source/monplace.cc b/crawl-ref/source/monplace.cc index 754b4cb5e1..487bbd6704 100644 --- a/crawl-ref/source/monplace.cc +++ b/crawl-ref/source/monplace.cc @@ -892,12 +892,6 @@ static int _place_monster_aux( const mgen_data &mg, if (mg.cls == MONS_GLOWING_SHAPESHIFTER) menv[id].add_ench(ENCH_GLOWING_SHAPESHIFTER); - if (mg.cls == MONS_GIANT_BAT || mg.cls == MONS_UNSEEN_HORROR - || mg.cls == MONS_GIANT_BLOWFLY) - { - menv[id].flags |= MF_BATTY; - } - if (monster_can_submerge(&menv[id], grd(fpos)) && !one_chance_in(5)) menv[id].add_ench(ENCH_SUBMERGED); @@ -957,7 +951,7 @@ static int _place_monster_aux( const mgen_data &mg, menv[id].foe = mg.foe; - // Initialise pandemonium demons + // Initialise pandemonium demons. if (menv[id].type == MONS_PANDEMONIUM_DEMON) { ghost_demon ghost; @@ -1464,6 +1458,10 @@ static band_type _choose_band( int mon_type, int power, int &band_size ) band = BAND_DEATH_YAKS; band_size = 3 + random2(3); break; + case MONS_HARPY: + band = BAND_HARPYES; + band_size = 2 + random2(3); + break; // Journey -- Added Draconian Packs case MONS_WHITE_DRACONIAN: @@ -1570,6 +1568,9 @@ static monster_type _band_member(band_type band, int power) mon_type = MONS_YAK; break; + case BAND_HARPYES: + mon_type = MONS_HARPY; + case BAND_UGLY_THINGS: mon_type = ((power > 21 && one_chance_in(4)) ? MONS_VERY_UGLY_THING : MONS_UGLY_THING); |