From 3ccd8fae35d1cc2ed94ce01ef0b5725c926e8d87 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Thu, 28 Jun 2012 08:40:12 +0000 Subject: [PATCH] Overriding/removing/.. complex traps will correctly remove them git-svn-id: http://svn.net-core.org/repos/t-engine4@5313 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/modules/tome/data/general/traps/complex.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/game/modules/tome/data/general/traps/complex.lua b/game/modules/tome/data/general/traps/complex.lua index f7c404c271..877fa2afae 100644 --- a/game/modules/tome/data/general/traps/complex.lua +++ b/game/modules/tome/data/general/traps/complex.lua @@ -114,6 +114,8 @@ newEntity{ base = "TRAP_COMPLEX", canAct = false, energy = {value=0}, act = function(self) + if game.level.map(self.x, self.y, engine.Map.TRAP) ~= self then game.level:removeEntity(self, true) return end + local x, y = self.list[self.list.i].x, self.list[self.list.i].y self.list.i = util.boundWrap(self.list.i + 1, 1, #self.list) @@ -168,6 +170,8 @@ newEntity{ base = "TRAP_COMPLEX", self:useEnergy(game.energy_to_act * 7) end, act = function(self) + if game.level.map(self.x, self.y, engine.Map.TRAP) ~= self then game.level:removeEntity(self, true) return end + local ok = false local tg = {type="ball", radius=self.rad, friendlyfire=false} self:project(tg, self.x, self.y, function(px, py) -- GitLab