summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/beam.cc
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-12-25 13:01:02 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-12-25 13:03:38 +0100
commitcff7a75e11416d6441b23bd905514c980362d7e8 (patch)
tree159f88358a02125280cc376f53ee0889e3ce25c0 /crawl-ref/source/beam.cc
parentcff43655c657b8ce52e2710cff321b49f05eeea5 (diff)
downloadcrawl-ref-cff7a75e11416d6441b23bd905514c980362d7e8.tar.gz
crawl-ref-cff7a75e11416d6441b23bd905514c980362d7e8.zip
Credit player with kills by reflection.
The player now gains experience both for player-thrown beams that are reflected by monsters, and monster-thrown beams reflected by the player. I assume not giving experience wasn't by design.
Diffstat (limited to 'crawl-ref/source/beam.cc')
-rw-r--r--crawl-ref/source/beam.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index f2e247b4b8..dc2c669e3f 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -5052,7 +5052,12 @@ void bolt::affect_monster(monsters* mon)
corpse = monster_die(mon, KILL_MON, beam_source_as_target());
}
else
- corpse = monster_die(mon, thrower, beam_source_as_target());
+ {
+ killer_type killer = thrower;
+ if (!YOU_KILL(thrower) && reflector == NON_MONSTER)
+ killer = KILL_YOU_MISSILE;
+ corpse = monster_die(mon, killer, beam_source_as_target());
+ }
}
// Give the callbacks a dead-but-valid monster object.