diff options
author | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-05-25 18:33:50 +0000 |
---|---|---|
committer | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-05-25 18:33:50 +0000 |
commit | 5c355726c38b52961de7ad53b837f461a801b6a5 (patch) | |
tree | af881633db3db2aa4f0fbd23ae66e6d1c0a708c5 /crawl-ref/source/misc.cc | |
parent | 35cfeb762010751d217fff7b9e2aa95719ddd899 (diff) | |
download | crawl-ref-5c355726c38b52961de7ad53b837f461a801b6a5.tar.gz crawl-ref-5c355726c38b52961de7ad53b837f461a801b6a5.zip |
Consolidate the setting of the "standard" attack conducts.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5238 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/misc.cc')
-rw-r--r-- | crawl-ref/source/misc.cc | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc index 1a3e99d9ed..b3d6cc4bbf 100644 --- a/crawl-ref/source/misc.cc +++ b/crawl-ref/source/misc.cc @@ -3000,9 +3000,8 @@ std::string your_hand(bool plural) } bool stop_attack_prompt(const monsters *mon, bool beam_attack, - bool beam_target, god_conduct_trigger *conduct) + bool beam_target) { - bool retval = false; bool prompt = false; const bool inSanctuary = (is_sanctuary(you.x_pos, you.y_pos) @@ -3049,24 +3048,20 @@ bool stop_attack_prompt(const monsters *mon, bool beam_attack, prompt = true; } - if (you.confused() || (prompt && yesno(info, false, 'n'))) - { - if (conduct) - { - if (isFriendly) - conduct->set(DID_ATTACK_FRIEND, 5, true, mon); - else if (isNeutral) - conduct->set(DID_ATTACK_NEUTRAL, 5, true, mon); + return (!you.confused() && (!prompt || yesno(info, false, 'n'))); +} - if (isUnchivalric) - conduct->set(DID_UNCHIVALRIC_ATTACK, 4, true, mon); +void set_attack_conduct(const monsters *mon, god_conduct_trigger& conduct, + bool known) +{ + if (mons_friendly(mon)) + conduct.set(DID_ATTACK_FRIEND, 5, known, mon); + else if (mons_neutral(mon)) + conduct.set(DID_ATTACK_NEUTRAL, 5, known, mon); - if (isHoly) - conduct->set(DID_ATTACK_HOLY, mon->hit_dice, true, mon); - } - } - else - retval = true; + if (is_unchivalric_attack(&you, mon, mon)) + conduct.set(DID_UNCHIVALRIC_ATTACK, 4, known, mon); - return retval; + if (mons_is_holy(mon)) + conduct.set(DID_ATTACK_HOLY, mon->hit_dice, known, mon); } |