From 81177ef944594f12f3493189b70e6ea34debf4a3 Mon Sep 17 00:00:00 2001 From: Charles Otto Date: Mon, 9 Nov 2009 22:42:20 -0500 Subject: 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). --- crawl-ref/source/mon-behv.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'crawl-ref/source/mon-behv.cc') 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); -- cgit v1.2.3-54-g00ecf