diff options
author | Charles Otto <ottochar@gmail.com> | 2009-11-09 22:42:20 -0500 |
---|---|---|
committer | Charles Otto <ottochar@gmail.com> | 2009-11-09 22:43:13 -0500 |
commit | 81177ef944594f12f3493189b70e6ea34debf4a3 (patch) | |
tree | b3a002f711a374457feb435f11c4e21dfb55c097 /crawl-ref/source/mon-behv.cc | |
parent | c314b43fca597936cdb17bf7a8151cdfe33b8b04 (diff) | |
download | crawl-ref-81177ef944594f12f3493189b70e6ea34debf4a3.tar.gz crawl-ref-81177ef944594f12f3493189b70e6ea34debf4a3.zip |
Allied giant spore behavior tweaks
Make allied spores consistently ignore 't' commands, also make them
wander unless they spot an enemy (instead of following you around until
they find an enemy).
Diffstat (limited to 'crawl-ref/source/mon-behv.cc')
-rw-r--r-- | crawl-ref/source/mon-behv.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/crawl-ref/source/mon-behv.cc b/crawl-ref/source/mon-behv.cc index 812a796fb7..a15ea7e2e9 100644 --- a/crawl-ref/source/mon-behv.cc +++ b/crawl-ref/source/mon-behv.cc @@ -1283,7 +1283,8 @@ void handle_behaviour(monsters *mon) // No foe? Then wander or seek the player. if (mon->foe == MHITNOT) { - if (crawl_state.arena || !proxPlayer || isNeutral || patrolling) + if (crawl_state.arena || !proxPlayer || isNeutral || patrolling + || mon->type == MONS_GIANT_SPORE) new_beh = BEH_WANDER; else { @@ -1761,6 +1762,10 @@ void behaviour_event(monsters *mon, mon_event_type event, int src, break; } + // Avoid moving friendly giant spores out of BEH_WANDER + if (mon->friendly() && mon->type == MONS_GIANT_SPORE) + break; + if (mon->asleep() && mons_near(mon)) remove_auto_exclude(mon, true); |