summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/fight.cc15
-rw-r--r--crawl-ref/source/spells1.cc2
-rw-r--r--crawl-ref/source/spells4.cc3
-rw-r--r--crawl-ref/source/spl-cast.cc16
4 files changed, 26 insertions, 10 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 202bb9146c..e32961c628 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -2818,7 +2818,20 @@ std::string melee_attack::mons_attack_verb(const mon_attack_def &attk)
std::string melee_attack::mons_weapon_desc()
{
if (weapon && attacker->id() != MONS_DANCING_WEAPON)
- return std::string(" with ") + weapon->name(DESC_NOCAP_A);
+ {
+ std::string result = "";
+ const item_def wpn = *weapon;
+ if (get_weapon_brand(wpn) == SPWPN_REACHING)
+ {
+ int dx = abs(attacker->pos().x - defender->pos().x);
+ int dy = abs(attacker->pos().y - defender->pos().y);
+ if ((dx == 2 && dy <= 2) || (dy == 2 && dx <= 2))
+ result += " from afar";
+ }
+ result += " with ";
+ result += weapon->name(DESC_NOCAP_A);
+ return result;
+ }
return ("");
}
diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc
index 16323f0035..0c2e53698f 100644
--- a/crawl-ref/source/spells1.cc
+++ b/crawl-ref/source/spells1.cc
@@ -786,7 +786,7 @@ void extension(int pow)
contamination++;
}
- if (you.duration[DUR_LEVITATION])
+ if (you.duration[DUR_LEVITATION] && !you.duration[DUR_CONTROLLED_FLIGHT])
potion_effect(POT_LEVITATION, pow);
if (you.duration[DUR_INVIS])
diff --git a/crawl-ref/source/spells4.cc b/crawl-ref/source/spells4.cc
index 082d435ed7..d4b4656cc8 100644
--- a/crawl-ref/source/spells4.cc
+++ b/crawl-ref/source/spells4.cc
@@ -3050,7 +3050,10 @@ void cast_condensation_shield(int pow)
else
{
if (you.duration[DUR_CONDENSATION_SHIELD] > 0)
+ {
+ mpr("The disc of vapour around you crackles some more.");
you.duration[DUR_CONDENSATION_SHIELD] += 5 + roll_dice(2, 3);
+ }
else
{
mpr("A crackling disc of dense vapour forms in the air!");
diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc
index f05b6712b1..e9fd5b564e 100644
--- a/crawl-ref/source/spl-cast.cc
+++ b/crawl-ref/source/spl-cast.cc
@@ -880,13 +880,16 @@ spret_type your_spells( spell_type spell, int powc, bool allow_fail )
return (SPRET_ABORT);
}
}
-
+
+ // enhancers only matter for calc_spell_power() and spell_fail()
+ // not sure about this: is it flavour or misleading?
+ if (powc == 0 || allow_fail)
+ surge_power(spell);
+
// Added this so that the passed in powc can have meaning -- bwr
if (powc == 0)
powc = calc_spell_power( spell, true );
- surge_power(spell);
-
if (allow_fail)
{
int spfl = random2avg(100, 3);
@@ -1185,7 +1188,8 @@ spret_type your_spells( spell_type spell, int powc, bool allow_fail )
summon_small_mammals(powc); //jmf: hmm, that's definitely *plural* ;-)
break;
- case SPELL_ABJURATION_I: //jmf: why not group with SPELL_ABJURATION_II?
+ case SPELL_ABJURATION_I:
+ case SPELL_ABJURATION_II:
abjuration(powc);
break;
@@ -1373,10 +1377,6 @@ spret_type your_spells( spell_type spell, int powc, bool allow_fail )
summon_ice_beast_etc(powc, MONS_DAEVA);
break;
- case SPELL_ABJURATION_II:
- abjuration(powc);
- break;
-
// Remember that most holy spells above don't yet use powc!
case SPELL_TWISTED_RESURRECTION: