From 8806b539d5370df1beaede7808c8914cb230a8d9 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Sun, 13 Mar 2011 12:00:48 +0000 Subject: [PATCH] Teleport is now allowed again on the endboss fight but controlled phase door will have somewhat higher chance of fizzling git-svn-id: http://svn.net-core.org/repos/t-engine4@3012 51575b47-30f0-44d4-a5cc-537603b46e54 --- .../tome/data/maps/zones/high-peak-last.lua | 30 ++++++++++--------- .../tome/data/talents/misc/inscriptions.lua | 2 +- .../tome/data/talents/spells/conveyance.lua | 2 +- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/game/modules/tome/data/maps/zones/high-peak-last.lua b/game/modules/tome/data/maps/zones/high-peak-last.lua index 611667a964..b130fe967e 100644 --- a/game/modules/tome/data/maps/zones/high-peak-last.lua +++ b/game/modules/tome/data/maps/zones/high-peak-last.lua @@ -17,27 +17,29 @@ -- Nicolas Casalini "DarkGod" -- darkgod@te4.org +setStatusAll{control_teleport_fizzle=30} + defineTile('<', "UP") defineTile(',', "FLOOR") -defineTile('.', "FLOOR", nil, nil, nil, {lite=true, no_teleport=true}) +defineTile('.', "FLOOR", nil, nil, nil, {lite=true}) defineTile('#', "WALL", nil, nil, nil, {lite=true}) -defineTile('*', "HARDWALL", nil, nil, nil, {lite=true, no_teleport=true}) +defineTile('*', "HARDWALL", nil, nil, nil, {lite=true}) -- Portals -defineTile('&', "FAR_EAST_PORTAL", nil, nil, nil, {lite=true, no_teleport=true}) -defineTile('"', "WEST_PORTAL", nil, nil, nil, {lite=true, no_teleport=true}) -defineTile('V', "VOID_PORTAL", nil, nil, nil, {lite=true, no_teleport=true}) -defineTile('!', "CFAR_EAST_PORTAL", nil, nil, nil, {lite=true, no_teleport=true}) -defineTile("'", "CWEST_PORTAL", nil, nil, nil, {lite=true, no_teleport=true}) -defineTile('v', "CVOID_PORTAL", nil, nil, nil, {lite=true, no_teleport=true}) -defineTile('d', "ORB_DESTRUCTION", nil, nil, nil, {lite=true, no_teleport=true}) -defineTile('D', "ORB_DRAGON", nil, nil, nil, {lite=true, no_teleport=true}) -defineTile('E', "ORB_ELEMENTS", nil, nil, nil, {lite=true, no_teleport=true}) -defineTile('U', "ORB_UNDEATH", nil, nil, nil, {lite=true, no_teleport=true}) +defineTile('&', "FAR_EAST_PORTAL", nil, nil, nil, {lite=true}) +defineTile('"', "WEST_PORTAL", nil, nil, nil, {lite=true}) +defineTile('V', "VOID_PORTAL", nil, nil, nil, {lite=true}) +defineTile('!', "CFAR_EAST_PORTAL", nil, nil, nil, {lite=true}) +defineTile("'", "CWEST_PORTAL", nil, nil, nil, {lite=true}) +defineTile('v', "CVOID_PORTAL", nil, nil, nil, {lite=true}) +defineTile('d', "ORB_DESTRUCTION", nil, nil, nil, {lite=true}) +defineTile('D', "ORB_DRAGON", nil, nil, nil, {lite=true}) +defineTile('E', "ORB_ELEMENTS", nil, nil, nil, {lite=true}) +defineTile('U', "ORB_UNDEATH", nil, nil, nil, {lite=true}) -- Bosses -defineTile('A', "FLOOR", nil, "ELANDAR", nil, {lite=true, no_teleport=true}) -defineTile('P', "FLOOR", nil, "ARGONIEL", nil, {lite=true, no_teleport=true}) +defineTile('A', "FLOOR", nil, "ELANDAR", nil, {lite=true}) +defineTile('P', "FLOOR", nil, "ARGONIEL", nil, {lite=true}) addSpot({16, 4}, "portal", "demon") addSpot({33, 4}, "portal", "dragon") diff --git a/game/modules/tome/data/talents/misc/inscriptions.lua b/game/modules/tome/data/talents/misc/inscriptions.lua index 756ec70e15..7da3c2b651 100644 --- a/game/modules/tome/data/talents/misc/inscriptions.lua +++ b/game/modules/tome/data/talents/misc/inscriptions.lua @@ -302,7 +302,7 @@ newInscription{ -- Check LOS local rad = 3 - if not self:hasLOS(x, y) and rng.percent(35) then + if not self:hasLOS(x, y) and rng.percent(35 + (game.level.map.attrs(self.x, self.y, "control_teleport_fizzle") or 0)) then game.logPlayer(self, "The targetted phase door fizzles and works randomly!") x, y = self.x, self.y rad = tg.range diff --git a/game/modules/tome/data/talents/spells/conveyance.lua b/game/modules/tome/data/talents/spells/conveyance.lua index 777b77db46..755150cefe 100644 --- a/game/modules/tome/data/talents/spells/conveyance.lua +++ b/game/modules/tome/data/talents/spells/conveyance.lua @@ -67,7 +67,7 @@ newTalent{ rad = radius -- Check LOS - if not self:hasLOS(x, y) and rng.percent(35) then + if not self:hasLOS(x, y) and rng.percent(35 + (game.level.map.attrs(self.x, self.y, "control_teleport_fizzle") or 0)) then game.logPlayer(self, "The targetted phase door fizzles and works randomly!") x, y = self.x, self.y rad = t.getRange(self, t) -- GitLab