summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-23 00:16:38 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-23 00:16:38 +0000
commit5281ed5f29cd16c02030117eca6e0e23976db683 (patch)
tree18faec78ea600697cea4ec904a75924a482a6085 /crawl-ref
parent3d398ae8a0f46cd216171e8a9d3fd0135ea67782 (diff)
downloadcrawl-ref-5281ed5f29cd16c02030117eca6e0e23976db683.tar.gz
crawl-ref-5281ed5f29cd16c02030117eca6e0e23976db683.zip
If you draw the Xom card, and Xom sends you a creature that you should
anger with your aura, anger it only after the Xom message is displayed. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6057 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/xom.cc22
1 files changed, 17 insertions, 5 deletions
diff --git a/crawl-ref/source/xom.cc b/crawl-ref/source/xom.cc
index 8a27691849..c33627f592 100644
--- a/crawl-ref/source/xom.cc
+++ b/crawl-ref/source/xom.cc
@@ -497,7 +497,7 @@ static bool xom_is_good(int sever)
summons[i] =
create_monster(
mgen_data(mon, BEH_FRIENDLY, 3,
- you.pos(), you.pet_target, 0, GOD_XOM));
+ you.pos(), you.pet_target, MG_FORCE_BEH, GOD_XOM));
if (summons[i] != -1)
success = true;
@@ -521,6 +521,8 @@ static bool xom_is_good(int sever)
mon->attitude = ATT_HOSTILE;
behaviour_event(mon, ME_ALERT, MHITYOU);
}
+
+ player_angers_monster(mon);
}
}
}
@@ -584,15 +586,20 @@ static bool xom_is_good(int sever)
hitting = MHITYOU;
}
- if (create_monster(
+ int summons =
+ create_monster(
mgen_data(mon, beha, 6,
- you.pos(), hitting, 0, GOD_XOM)) != -1)
+ you.pos(), hitting, MG_FORCE_BEH, GOD_XOM));
+
+ if (summons != -1)
{
if (different)
god_speaks(GOD_XOM, _get_xom_speech("single holy summon"));
else
god_speaks(GOD_XOM, _get_xom_speech("single summon"));
+ player_angers_monster(&menv[summons]);
+
done = true;
}
}
@@ -679,16 +686,21 @@ static bool xom_is_good(int sever)
hitting = MHITYOU;
}
- if (create_monster(
+ int summons =
+ create_monster(
mgen_data(xom_random_demon(sever, one_chance_in(8)),
beha, 0,
- you.pos(), hitting, 0, GOD_XOM)) != -1)
+ you.pos(), hitting, MG_FORCE_BEH, GOD_XOM));
+
+ if (summons != -1)
{
if (different)
god_speaks(GOD_XOM, _get_xom_speech("single major holy summon"));
else
god_speaks(GOD_XOM, _get_xom_speech("single demon summon"));
+ player_angers_monster(&menv[summons]);
+
done = true;
}
}