summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/beam.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/beam.cc')
-rw-r--r--crawl-ref/source/beam.cc24
1 files changed, 3 insertions, 21 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index c1e31f0c74..d7071e705e 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -2214,29 +2214,11 @@ int mons_adjust_flavoured(monsters *monster, bolt &pbolt, int hurted,
if (!doFlavouredEffects)
return (hurted);
- simple_monster_message(monster, " is drained.");
+ monster->drain_exp(pbolt.agent());
pbolt.obvious_effect = true;
if (YOU_KILL(pbolt.thrower))
- {
- did_god_conduct(DID_NECROMANCY, 2 + random2(3),
- pbolt.effect_known);
- }
-
- if (one_chance_in(5))
- {
- monster->hit_dice--;
- monster->experience = 0;
- }
-
- monster->max_hit_points -= 2 + random2(3);
- monster->hit_points -= 2 + random2(3);
-
- if (monster->hit_points >= monster->max_hit_points)
- monster->hit_points = monster->max_hit_points;
-
- if (monster->hit_dice < 1)
- monster->hit_points = 0;
+ did_god_conduct(DID_NECROMANCY, 2, pbolt.effect_known);
} // end else
break;
@@ -4050,7 +4032,7 @@ bool bolt::determine_damage(monsters* mon, int& preac, int& postac, int& final,
postac = std::max(postac, 0);
- // Don't do side effects (beam might miss or be a tracer.)
+ // Don't do side effects (beam might miss or be a tracer).
final = mons_adjust_flavoured(mon, *this, preac, false);
return true;