From 9cd696f98e8bac4bc7b7016d7ff427cf720be808 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Sun, 24 Jul 2011 22:28:10 +0000
Subject: [PATCH] Dead creatures cannot get healed

git-svn-id: http://svn.net-core.org/repos/t-engine4@3947 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/modules/tome/class/Actor.lua         | 1 +
 game/modules/tome/dialogs/DeathDialog.lua | 8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index 899817f313..d8ece50dc0 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -1558,6 +1558,7 @@ function _M:learnStats(statorder)
 end
 
 function _M:resetToFull()
+	if self.dead then return end
 	self.life = self.max_life
 	self.mana = self.max_mana
 	self.vim = self.max_vim
diff --git a/game/modules/tome/dialogs/DeathDialog.lua b/game/modules/tome/dialogs/DeathDialog.lua
index decbdf6e84..5fb97fc287 100644
--- a/game/modules/tome/dialogs/DeathDialog.lua
+++ b/game/modules/tome/dialogs/DeathDialog.lua
@@ -186,15 +186,15 @@ function _M:use(item)
 		game.logPlayer(self.actor, "#LIGHT_BLUE#You resurrect! CHEATER!")
 
 		self:cleanActor(self.actor)
-		self:restoreResources(self.actor)
 		self:resurrectBasic(self.actor)
+		self:restoreResources(self.actor)
 	elseif act == "blood_life" then
 		self.actor.blood_life = false
 		game.logPlayer(self.actor, "#LIGHT_RED#The Blood of Life rushes through your dead body. You come back to life!")
 
 		self:cleanActor(self.actor)
-		self:restoreResources(self.actor)
 		self:resurrectBasic(self.actor)
+		self:restoreResources(self.actor)
 		world:gainAchievement("UNSTOPPABLE", actor)
 	elseif act == "easy_mode" then
 		self:eidolonPlane()
@@ -203,8 +203,8 @@ function _M:use(item)
 		game.logPlayer(self.actor, "#YELLOW#Your bones magically knit back together. You are once more able to dish out pain to your foes!")
 
 		self:cleanActor(self.actor)
-		self:restoreResources(self.actor)
 		self:resurrectBasic(self.actor)
+		self:restoreResources(self.actor)
 		world:gainAchievement("UNSTOPPABLE", actor)
 	elseif act:find("^consume") then
 		local inven, item, o = item.inven, item.item, item.object
@@ -212,8 +212,8 @@ function _M:use(item)
 		game.logPlayer(self.actor, "#YELLOW#Your %s is consumed and disappears! You come back to life!", o:getName{do_colour=true})
 
 		self:cleanActor(self.actor)
-		self:restoreResources(self.actor)
 		self:resurrectBasic(self.actor)
+		self:restoreResources(self.actor)
 		world:gainAchievement("UNSTOPPABLE", actor)
 	end
 end
-- 
GitLab