From 3325e633107071090ed2b1134b7a79e0fd0f84d8 Mon Sep 17 00:00:00 2001 From: Adam Borowski Date: Sun, 13 Dec 2009 00:01:06 +0100 Subject: Allow worshippers of good gods to kill hostile-neutral beings. This is still an unchivalric act for TSO since they don't seek you out as aggressively as normal hostiles. --- crawl-ref/source/enum.h | 2 +- crawl-ref/source/misc.cc | 6 +++--- crawl-ref/source/religion.cc | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'crawl-ref') diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h index 0e9efee2fa..31c9abe369 100644 --- a/crawl-ref/source/enum.h +++ b/crawl-ref/source/enum.h @@ -738,7 +738,7 @@ enum conduct_type DID_HOLY, // holy wrath, holy word scrolls DID_UNHOLY, // demon weapons, demon spells DID_ATTACK_HOLY, - DID_ATTACK_NEUTRAL, + DID_ATTACK_GOOD_NEUTRAL, DID_ATTACK_FRIEND, DID_FRIEND_DIED, DID_STABBING, // unused diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc index 1460170e52..b83fe651e4 100644 --- a/crawl-ref/source/misc.cc +++ b/crawl-ref/source/misc.cc @@ -3206,7 +3206,7 @@ bool stop_attack_prompt(const monsters *mon, bool beam_attack, || is_sanctuary(mon->pos())); const bool wontAttack = mon->wont_attack(); const bool isFriendly = mon->friendly(); - const bool isNeutral = mon->neutral(); + const bool isGoodNeutral = mon->good_neutral(); const bool isUnchivalric = is_unchivalric_attack(&you, mon); const bool isHoly = mon->is_holy() && (mon->attitude != ATT_HOSTILE @@ -3246,7 +3246,7 @@ bool stop_attack_prompt(const monsters *mon, bool beam_attack, } else if (inSanctuary || wontAttack || (you.religion == GOD_JIYVA && mons_is_slime(mon)) - || (isNeutral || isHoly) && is_good_god(you.religion) + || (isGoodNeutral || isHoly) && is_good_god(you.religion) || isUnchivalric && you.religion == GOD_SHINING_ONE && !tso_unchivalric_attack_safe_monster(mon)) @@ -3259,7 +3259,7 @@ bool stop_attack_prompt(const monsters *mon, bool beam_attack, : "", (isFriendly) ? "friendly " : (wontAttack) ? "non-hostile " : - (isNeutral) ? "neutral " + (isGoodNeutral) ? "neutral " : "", (isHoly) ? "holy " : "", diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc index 3aa2db88ff..2cecaf6210 100644 --- a/crawl-ref/source/religion.cc +++ b/crawl-ref/source/religion.cc @@ -2758,7 +2758,7 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known, } break; - case DID_ATTACK_NEUTRAL: + case DID_ATTACK_GOOD_NEUTRAL: switch (you.religion) { case GOD_SHINING_ONE: @@ -3538,8 +3538,8 @@ void set_attack_conducts(god_conduct_trigger conduct[3], const monsters *mon, _first_attack_was_friendly[midx] = true; } } - else if (mon->neutral()) - conduct[0].set(DID_ATTACK_NEUTRAL, 5, known, mon); + else if (mon->good_neutral()) + conduct[0].set(DID_ATTACK_GOOD_NEUTRAL, 5, known, mon); if (is_unchivalric_attack(&you, mon) && (_first_attack_conduct[midx] -- cgit v1.2.3-54-g00ecf