From 93541805f8cad208773d1cd7fa7e7c6785021d73 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Thu, 5 May 2011 16:48:35 +0000
Subject: [PATCH] Rune of the Rift/Time Skip will not heal the target to full

git-svn-id: http://svn.net-core.org/repos/t-engine4@3315 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/modules/tome/class/Actor.lua                |  4 ++--
 .../talents/chronomancy/timeline-threading.lua   |  2 +-
 .../tome/data/talents/chronomancy/timetravel.lua | 16 +++++++---------
 .../tome/data/talents/divine/twilight.lua        |  2 +-
 .../tome/data/talents/misc/inscriptions.lua      |  2 --
 5 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index 1c0a0a7e62..8b907d082e 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -1231,7 +1231,7 @@ function _M:resolveSource()
 end
 
 function _M:die(src)
-	if self.dead then self:disappear(src) return true end
+	if self.dead then self:disappear(src) self:deleteFromMap(game.level.map) return true end
 
 	engine.interface.ActorLife.die(self, src)
 
@@ -2498,7 +2498,7 @@ end
 --- Call when added to a level
 -- Used to make escorts and such
 function _M:addedToLevel(level, x, y)
-	self:resetToFull()
+	if not self._rst_full then self:resetToFull() self._rst_full = true end -- Only do it once, the first time we come into being
 	if self.make_escort then
 		for _, filter in ipairs(self.make_escort) do
 			for i = 1, filter.number do
diff --git a/game/modules/tome/data/talents/chronomancy/timeline-threading.lua b/game/modules/tome/data/talents/chronomancy/timeline-threading.lua
index 267c5ac6c6..a82a51a08c 100644
--- a/game/modules/tome/data/talents/chronomancy/timeline-threading.lua
+++ b/game/modules/tome/data/talents/chronomancy/timeline-threading.lua
@@ -120,7 +120,7 @@ newTalent{
 
 		m.energy.value = 0
 		m.life = m.life
-		m.forceLevelup = false
+		m.forceLevelup = function() end
 		-- Handle special things
 		m.on_die = nil
 		m.on_acquire_target = nil
diff --git a/game/modules/tome/data/talents/chronomancy/timetravel.lua b/game/modules/tome/data/talents/chronomancy/timetravel.lua
index c80f527b1b..e6bb6ca838 100644
--- a/game/modules/tome/data/talents/chronomancy/timetravel.lua
+++ b/game/modules/tome/data/talents/chronomancy/timetravel.lua
@@ -113,8 +113,6 @@ newTalent{
 			return
 		end
 
-		-- Keep the Actor from leveling on return
-		target.forceLevelup = false
 		-- Create an object to time the effect and store the creature
 		-- First, clone the terrain that we are replacing
 		local terrain = game.level.map(target.x, target.y, engine.Map.TERRAIN)
@@ -200,11 +198,11 @@ newTalent{
 		end
 	end,
 	activate = function(self, t)
-	
+
 		if checkTimeline(self) == true then
 			return
 		end
-		
+
 		game:playSoundNear(self, "talents/arcane")
 		return {
 			game:chronoClone("revision"),
@@ -237,25 +235,25 @@ newTalent{
 	no_npc_use = true,
 	on_pre_use = function(self, t, silent) if not self:isTalentActive(self.T_DOOR_TO_THE_PAST) then if not silent then game.logPlayer(self, "Door to the Past must be active to use this talent.") end return false end return true end,
 	action = function(self, t)
-	
+
 		-- Prevent Revision After Death
 		if game._chronoworlds == nil then
 			game.logPlayer(game.player, "#LIGHT_RED#Your spell fizzles.")
 			return
-		end		
-	
+		end
+
 		game:onTickEnd(function()
 			if not game:chronoRestore("revision", true) then
 				game.logSeen(self, "#LIGHT_RED#The spell fizzles.")
 				return
 			end
 			game.logPlayer(game.player, "#LIGHT_BLUE#You unfold the spacetime continuum to a previous state!")
-						
+
 			-- Manualy start the cooldown of the "old player"
 			game.player:startTalentCooldown(t)
 			game.player:incParadox(t.paradox * (1 + (game.player.paradox / 300)))
 		end)
-				
+
 		return true
 	end,
 	info = function(self, t)
diff --git a/game/modules/tome/data/talents/divine/twilight.lua b/game/modules/tome/data/talents/divine/twilight.lua
index 29bbc1a261..7b3533dd43 100644
--- a/game/modules/tome/data/talents/divine/twilight.lua
+++ b/game/modules/tome/data/talents/divine/twilight.lua
@@ -229,7 +229,7 @@ newTalent{
 
 		m.energy.value = 0
 		m.life = m.life / (2 - (modifier / 50))
-		m.forceLevelup = false
+		m.forceLevelup = function() end
 		-- Handle special things
 		m.on_die = nil
 		m.on_acquire_target = nil
diff --git a/game/modules/tome/data/talents/misc/inscriptions.lua b/game/modules/tome/data/talents/misc/inscriptions.lua
index e21dd314c6..31f0d56bd7 100644
--- a/game/modules/tome/data/talents/misc/inscriptions.lua
+++ b/game/modules/tome/data/talents/misc/inscriptions.lua
@@ -688,8 +688,6 @@ newInscription{
 			return
 		end
 
-		-- Keep the Actor from leveling on return
-		target.forceLevelup = false
 		-- Create an object to time the effect and store the creature
 		-- First, clone the terrain that we are replacing
 		local terrain = game.level.map(target.x, target.y, engine.Map.TERRAIN)
-- 
GitLab