X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2FBattleState.cpp;h=bd039ff588c7e86bb278065dad1a49bd092a1c5d;hb=8639675fbf1d232ab8188dd283149ab650e10336;hp=84d1a497240da814a105eb64301889b412c7650e;hpb=1c5b28e8559e8383958307534e262a9b29f50fdf;p=l2e.git diff --git a/src/battle/BattleState.cpp b/src/battle/BattleState.cpp index 84d1a49..bd039ff 100644 --- a/src/battle/BattleState.cpp +++ b/src/battle/BattleState.cpp @@ -375,15 +375,20 @@ void BattleState::ApplyDamage() { TargetSelection &ts(ac.Selection()); if (ts.TargetsEnemies()) { for (int i(0); i < MaxMonsters(); ++i) { + Monster &monster(MonsterAt(i)); if (ts.IsBad(i)) { - MonsterAt(i).SubtractHealth(ts.GetAmount(i)); - // TODO: collect reward if dead + monster.SubtractHealth(ts.GetAmount(i)); + if (monster.Health() == 0) { + expReward += monster.ExpReward(); + goldReward += monster.GoldReward(); + } } } } else { for (int i(0); i < NumHeroes(); ++i) { + Hero &hero(HeroAt(i)); if (ts.IsBad(i)) { - HeroAt(i).SubtractHealth(ts.GetAmount(i)); + hero.SubtractHealth(ts.GetAmount(i)); } } }