summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-behv.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mon-behv.cc')
-rw-r--r--crawl-ref/source/mon-behv.cc7
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);