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