diff options
author | Robert Vollmert <rvollmert@gmx.net> | 2009-12-25 13:01:02 +0100 |
---|---|---|
committer | Robert Vollmert <rvollmert@gmx.net> | 2009-12-25 13:03:38 +0100 |
commit | cff7a75e11416d6441b23bd905514c980362d7e8 (patch) | |
tree | 159f88358a02125280cc376f53ee0889e3ce25c0 /crawl-ref/source/beam.cc | |
parent | cff43655c657b8ce52e2710cff321b49f05eeea5 (diff) | |
download | crawl-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.cc | 7 |
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. |