diff options
author | Neil Moore <neil@s-z.org> | 2014-08-07 19:01:07 -0400 |
---|---|---|
committer | Neil Moore <neil@s-z.org> | 2014-08-07 19:11:12 -0400 |
commit | 82a59c624277434f08455446f635b8875c891a9b (patch) | |
tree | 1770b40096fce84c621a91381d3b881403424932 /crawl-ref/source/attack.cc | |
parent | 2a679c6e77b2e24b41d3adb469d4835b6501c8fd (diff) | |
download | crawl-ref-82a59c624277434f08455446f635b8875c891a9b.tar.gz crawl-ref-82a59c624277434f08455446f635b8875c891a9b.zip |
Tweak defender_name method and use it more.
Have it take a parameter indicating whether reflexive is allowed, and
replace existing calls to defender_name() and def_name(DESC_THE).
Diffstat (limited to 'crawl-ref/source/attack.cc')
-rw-r--r-- | crawl-ref/source/attack.cc | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/crawl-ref/source/attack.cc b/crawl-ref/source/attack.cc index 6567742ab9..b041dc18fb 100644 --- a/crawl-ref/source/attack.cc +++ b/crawl-ref/source/attack.cc @@ -497,7 +497,7 @@ bool attack::distortion_affects_defender() { special_damage_message = make_stringf("%s %s in the distortional energy.", - def_name(DESC_THE).c_str(), + defender_name(false).c_str(), defender->conj_verb("bask").c_str()); } @@ -510,7 +510,7 @@ bool attack::distortion_affects_defender() { special_damage_message = make_stringf("Space bends around %s.", - def_name(DESC_THE).c_str()); + defender_name(false).c_str()); special_damage += 1 + random2avg(7, 2); return false; } @@ -519,7 +519,7 @@ bool attack::distortion_affects_defender() { special_damage_message = make_stringf("Space warps horribly around %s!", - def_name(DESC_THE).c_str()); + defender_name(false).c_str()); special_damage += 3 + random2avg(24, 2); return false; } @@ -737,7 +737,7 @@ void attack::chaos_affects_defender() { special_damage_message = make_stringf("%s is duplicated!", - def_name(DESC_THE).c_str()); + defender_name(false).c_str()); } // The player shouldn't get new permanent followers from cloning. @@ -1080,7 +1080,7 @@ void attack::drain_defender() "%s %s %s!", atk_name(DESC_THE).c_str(), attacker->conj_verb("drain").c_str(), - defender_name().c_str()); + defender_name(true).c_str()); } attacker->god_conduct(DID_NECROMANCY, 2); @@ -1258,9 +1258,9 @@ string attack::wep_name(description_level_type desc, iflags_t ignre_flags) * below, in calc_elemental_brand_damage, which is called for both frost and * flame brands for both players and monsters. */ -string attack::defender_name() +string attack::defender_name(bool allow_reflexive) { - if (attacker == defender) + if (allow_reflexive && attacker == defender) return actor_pronoun(attacker, PRONOUN_REFLEXIVE, attacker_visible); else return def_name(DESC_THE); @@ -1602,7 +1602,7 @@ bool attack::attack_shield_blocked(bool verbose) if (needs_message && verbose) { mprf("%s %s %s attack.", - def_name(DESC_THE).c_str(), + defender_name(false).c_str(), defender->conj_verb("block").c_str(), attacker == defender ? "its own" : atk_name(DESC_ITS).c_str()); @@ -1685,7 +1685,7 @@ bool attack::apply_damage_brand(const char *what) special_damage_message = make_stringf( "%s %s%s", - def_name(DESC_THE).c_str(), + defender_name(false).c_str(), defender->conj_verb("convulse").c_str(), attack_strength_punctuation(special_damage).c_str()); } @@ -1931,7 +1931,7 @@ void attack::calc_elemental_brand_damage(beam_type flavour, what ? pluralise(verb).c_str() // XXX: may need to change this : attacker->conj_verb(verb).c_str(), // Don't allow reflexive if the subject wasn't the attacker. - (what ? def_name(DESC_THE) : defender_name()).c_str(), + defender_name(!what).c_str(), attack_strength_punctuation(special_damage).c_str()); } } |