summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/beam.cc24
-rw-r--r--crawl-ref/source/fight.cc3
2 files changed, 3 insertions, 24 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;
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index fbeb88e680..05ce1d594a 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -2066,9 +2066,6 @@ void melee_attack::drain_player()
special_damage = random2(damage_done) /
(2 + defender->res_negative_energy()) + 1;
-
- // Noop for monsters, but what the heck.
- attacker->god_conduct(DID_NECROMANCY, 2);
}
void melee_attack::drain_monster()