diff options
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); |