summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2010-01-07 23:17:10 +0100
committerAdam Borowski <kilobyte@angband.pl>2010-01-07 23:18:37 +0100
commitfcc750d580ea03af7121348e8a8aa8d693c9c2e7 (patch)
treedcc7bc11e3f07fe432ee15ebe571c8f6a4d502e4
parentee183b121218deff2df20e68d69f8220a32b9d8c (diff)
downloadcrawl-ref-fcc750d580ea03af7121348e8a8aa8d693c9c2e7.tar.gz
crawl-ref-fcc750d580ea03af7121348e8a8aa8d693c9c2e7.zip
Don't reduce the EV of a halo's source (angels/daevas/player) (Mantis 323)
This has about no effect on heavy armour users, and makes dodgy chars use TSO just for the starting blade or weapon blessing. Stealth is of course still nuked.
-rw-r--r--crawl-ref/source/beam.cc4
-rw-r--r--crawl-ref/source/fight.cc4
2 files changed, 4 insertions, 4 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index 56576d3e14..f8aa4e2ded 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -3818,7 +3818,7 @@ bool bolt::misses_player()
if (you.invisible() && !can_see_invis)
real_tohit /= 2;
- if (you.backlit())
+ if (you.backlit() && !you.halo_radius())
real_tohit += 2 + random2(8);
// Wow, what a horrid test. These cannot be blocked or dodged
@@ -5012,7 +5012,7 @@ void bolt::affect_monster(monsters* mon)
if (mon->invisible() && !can_see_invis)
beam_hit /= 2;
- if (mon->backlit())
+ if (mon->backlit() && !mon->halo_radius())
beam_hit += 2 + random2(8);
defer_rand r;
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 4910fba3fb..5e61322646 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -3995,7 +3995,7 @@ int melee_attack::player_to_hit(bool random_factor)
// Check for backlight (Corona).
if (defender && defender->atype() == ACT_MONSTER)
{
- if (defender->backlit())
+ if (defender->backlit() && !defender->halo_radius())
your_to_hit += 2 + random2(8);
// Invisible monsters are hard to hit.
else if (!defender->visible_to(&you))
@@ -5674,7 +5674,7 @@ int melee_attack::mons_to_hit()
if (attacker->confused())
mhit -= 5;
- if (defender->backlit())
+ if (defender->backlit() && !defender->halo_radius())
mhit += 2 + random2(8);
// Invisible defender is hard to hit if you can't see invis. Note