summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/attitude-change.cc
diff options
context:
space:
mode:
authorCharles Otto <ottochar@gmail.com>2009-11-07 18:10:51 -0500
committerCharles Otto <ottochar@gmail.com>2009-11-07 18:11:24 -0500
commit6b6ba7b163b1c716f419ec0cbcb12fbb96525888 (patch)
tree6a1a57e187f271b55f3225e419fea62639d849a8 /crawl-ref/source/attitude-change.cc
parent1b6b5735d019d49a580693b30687bbf149ae5e59 (diff)
downloadcrawl-ref-6b6ba7b163b1c716f419ec0cbcb12fbb96525888.tar.gz
crawl-ref-6b6ba7b163b1c716f419ec0cbcb12fbb96525888.zip
Avoid an infinite loop in tilse related to Feawn neutralizing plants
Avoid an infinite loop caused caused by calling remove_auto_exclude on plants that get neutralized by Feawn. feawn_neutralise is called via viewwindow, and it was calling remove_auto_exclude, in tiles remove_auto_exclude calls viewwindow creating an infinite loop. Instead of calling remove_auto_exclude directly I added an attitude check to maybe_remove_autoexclusion which is (safely) called from viewwindow already.
Diffstat (limited to 'crawl-ref/source/attitude-change.cc')
-rw-r--r--crawl-ref/source/attitude-change.cc7
1 files changed, 0 insertions, 7 deletions
diff --git a/crawl-ref/source/attitude-change.cc b/crawl-ref/source/attitude-change.cc
index be4781a81c..342de10985 100644
--- a/crawl-ref/source/attitude-change.cc
+++ b/crawl-ref/source/attitude-change.cc
@@ -133,13 +133,6 @@ void feawn_neutralise(monsters* monster)
&& !testbits(monster->flags, MF_ATT_CHANGE_ATTEMPT)
&& !player_under_penance())
{
- // We must call remove_auto_exclude before neutralizing the
- // plant because remove_auto_exclude only removes exclusions
- // it thinks were caused by auto-exclude, and
- // auto-exclusions now check for ATT_HOSTILE. Oh, what a
- // tangled web, etc.
- remove_auto_exclude(monster, false);
-
feawn_neutralise_plant(monster);
monster->flags |= MF_ATT_CHANGE_ATTEMPT;