summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/misc.cc
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-25 18:33:50 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-25 18:33:50 +0000
commit5c355726c38b52961de7ad53b837f461a801b6a5 (patch)
treeaf881633db3db2aa4f0fbd23ae66e6d1c0a708c5 /crawl-ref/source/misc.cc
parent35cfeb762010751d217fff7b9e2aa95719ddd899 (diff)
downloadcrawl-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.cc33
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);
}