diff options
author | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-06-23 00:16:38 +0000 |
---|---|---|
committer | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-06-23 00:16:38 +0000 |
commit | 5281ed5f29cd16c02030117eca6e0e23976db683 (patch) | |
tree | 18faec78ea600697cea4ec904a75924a482a6085 /crawl-ref | |
parent | 3d398ae8a0f46cd216171e8a9d3fd0135ea67782 (diff) | |
download | crawl-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.cc | 22 |
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; } } |