From 719726dc509faf2a815230f5cdfe9958684ecb9b Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Mon, 8 Nov 2010 08:55:34 +0000
Subject: [PATCH] When a boss dies the player gets experience even if he did
 not kill it directly or through summons

git-svn-id: http://svn.net-core.org/repos/t-engine4@1816 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/modules/tome/class/Actor.lua | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index c8c8a1a79a..310cb5e3ce 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -747,7 +747,14 @@ function _M:die(src)
 
 	-- Gives the killer some exp for the kill
 	if src and src.resolveSource and src:resolveSource().gainExp then
-		src:resolveSource():gainExp(self:worthExp(src:resolveSource()))
+		local killer = src:resolveSource()
+		killer:gainExp(self:worthExp(killer))
+		-- Hack: even if the boss dies from something else, give the player exp
+		if not killer.player and self.rank > 3 then
+			game.logPlayer(game.player, "You feel a surge of power as a powerful creature falls nearby.")
+			killer = game.player:resolveSource()
+			killer:gainExp(self:worthExp(killer))
+		end
 	end
 	-- Do we get a blooooooody death ?
 	if rng.percent(33) then self:bloodyDeath() end
-- 
GitLab