Commit 93541805f8cad208773d1cd7fa7e7c6785021d73

Authored by dg
1 parent 14f6bdf8

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
... ... @@ -1231,7 +1231,7 @@ function _M:resolveSource()
1231 1231 end
1232 1232
1233 1233 function _M:die(src)
1234   - if self.dead then self:disappear(src) return true end
  1234 + if self.dead then self:disappear(src) self:deleteFromMap(game.level.map) return true end
1235 1235
1236 1236 engine.interface.ActorLife.die(self, src)
1237 1237
... ... @@ -2498,7 +2498,7 @@ end
2498 2498 --- Call when added to a level
2499 2499 -- Used to make escorts and such
2500 2500 function _M:addedToLevel(level, x, y)
2501   - self:resetToFull()
  2501 + if not self._rst_full then self:resetToFull() self._rst_full = true end -- Only do it once, the first time we come into being
2502 2502 if self.make_escort then
2503 2503 for _, filter in ipairs(self.make_escort) do
2504 2504 for i = 1, filter.number do
... ...
... ... @@ -120,7 +120,7 @@ newTalent{
120 120
121 121 m.energy.value = 0
122 122 m.life = m.life
123   - m.forceLevelup = false
  123 + m.forceLevelup = function() end
124 124 -- Handle special things
125 125 m.on_die = nil
126 126 m.on_acquire_target = nil
... ...
... ... @@ -113,8 +113,6 @@ newTalent{
113 113 return
114 114 end
115 115
116   - -- Keep the Actor from leveling on return
117   - target.forceLevelup = false
118 116 -- Create an object to time the effect and store the creature
119 117 -- First, clone the terrain that we are replacing
120 118 local terrain = game.level.map(target.x, target.y, engine.Map.TERRAIN)
... ... @@ -200,11 +198,11 @@ newTalent{
200 198 end
201 199 end,
202 200 activate = function(self, t)
203   -
  201 +
204 202 if checkTimeline(self) == true then
205 203 return
206 204 end
207   -
  205 +
208 206 game:playSoundNear(self, "talents/arcane")
209 207 return {
210 208 game:chronoClone("revision"),
... ... @@ -237,25 +235,25 @@ newTalent{
237 235 no_npc_use = true,
238 236 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,
239 237 action = function(self, t)
240   -
  238 +
241 239 -- Prevent Revision After Death
242 240 if game._chronoworlds == nil then
243 241 game.logPlayer(game.player, "#LIGHT_RED#Your spell fizzles.")
244 242 return
245   - end
246   -
  243 + end
  244 +
247 245 game:onTickEnd(function()
248 246 if not game:chronoRestore("revision", true) then
249 247 game.logSeen(self, "#LIGHT_RED#The spell fizzles.")
250 248 return
251 249 end
252 250 game.logPlayer(game.player, "#LIGHT_BLUE#You unfold the spacetime continuum to a previous state!")
253   -
  251 +
254 252 -- Manualy start the cooldown of the "old player"
255 253 game.player:startTalentCooldown(t)
256 254 game.player:incParadox(t.paradox * (1 + (game.player.paradox / 300)))
257 255 end)
258   -
  256 +
259 257 return true
260 258 end,
261 259 info = function(self, t)
... ...
... ... @@ -229,7 +229,7 @@ newTalent{
229 229
230 230 m.energy.value = 0
231 231 m.life = m.life / (2 - (modifier / 50))
232   - m.forceLevelup = false
  232 + m.forceLevelup = function() end
233 233 -- Handle special things
234 234 m.on_die = nil
235 235 m.on_acquire_target = nil
... ...
... ... @@ -688,8 +688,6 @@ newInscription{
688 688 return
689 689 end
690 690
691   - -- Keep the Actor from leveling on return
692   - target.forceLevelup = false
693 691 -- Create an object to time the effect and store the creature
694 692 -- First, clone the terrain that we are replacing
695 693 local terrain = game.level.map(target.x, target.y, engine.Map.TERRAIN)
... ...