From 25cba3429c48f0ce21a31dd22dd2e6f0381ae19d Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Sun, 31 Jan 2010 20:50:01 +0000 Subject: [PATCH] all dungeons got traps git-svn-id: http://svn.net-core.org/repos/t-engine4@302 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engine/interface/ObjectIdentify.lua | 4 +++ .../data/general/traps/natural_forest.lua | 32 +++++++++++++++++++ game/modules/tome/data/zones/maze/traps.lua | 1 + game/modules/tome/data/zones/maze/zone.lua | 4 +++ .../tome/data/zones/old-forest/traps.lua | 1 + .../tome/data/zones/old-forest/zone.lua | 4 +++ .../tome/data/zones/tower-amon-sul/zone.lua | 2 +- .../tome/data/zones/trollshaws/traps.lua | 1 + .../tome/data/zones/trollshaws/zone.lua | 4 +++ 9 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 game/modules/tome/data/general/traps/natural_forest.lua create mode 100644 game/modules/tome/data/zones/maze/traps.lua create mode 100644 game/modules/tome/data/zones/old-forest/traps.lua create mode 100644 game/modules/tome/data/zones/trollshaws/traps.lua diff --git a/game/engine/interface/ObjectIdentify.lua b/game/engine/interface/ObjectIdentify.lua index a7e7e31a0c..18318913a7 100644 --- a/game/engine/interface/ObjectIdentify.lua +++ b/game/engine/interface/ObjectIdentify.lua @@ -31,6 +31,10 @@ function _M:isIdentified() self.identified = game.object_known_types[self.type][self.subtype][self.name] end + if self.auto_id then + self.identified = self.auto_id + end + return self.identified end diff --git a/game/modules/tome/data/general/traps/natural_forest.lua b/game/modules/tome/data/general/traps/natural_forest.lua new file mode 100644 index 0000000000..8fc080f7b3 --- /dev/null +++ b/game/modules/tome/data/general/traps/natural_forest.lua @@ -0,0 +1,32 @@ +newEntity{ define_as = "TRAP_NATURAL_FOREST", + type = "natural", subtype="forest", id_by_type=true, unided_name = "trap", + display = '^', + triggered = function(self, x, y, who) + (self.src or who):project({type="hit"}, x, y, self.damtype, self.dam, self.particles and {type=self.particles}) + return true + end, +} + +newEntity{ base = "TRAP_NATURAL_FOREST", + name = "sliding rock", auto_id = true, + detect_power = 6, disarm_power = 16, + rarity = 3, level_range = {1, 50}, + color=colors.UMBER, + message = "@Target@ slides on a rock!", + triggered = function(self, x, y, who) + if who:checkHit(self.disarm_power + 5, who:combatPhysicalResist(), 0, 95, 15) and who:canBe("stun") then + who:setEffect(who.EFF_STUNNED, 4, {}) + else + game.logSeen(who, "%s resists!", who.name:capitalize()) + end + end +} + +newEntity{ base = "TRAP_NATURAL_FOREST", + name = "poison vine", auto_id = true, + detect_power = 8, disarm_power = 2, + rarity = 3, level_range = {1, 50}, + color=colors.GREEN, + message = "A poisonous vine strikes at @Target@!", + dam = resolvers.mbonus(150, 15), damtype = DamageType.POISON, +} diff --git a/game/modules/tome/data/zones/maze/traps.lua b/game/modules/tome/data/zones/maze/traps.lua new file mode 100644 index 0000000000..61e5f0daf6 --- /dev/null +++ b/game/modules/tome/data/zones/maze/traps.lua @@ -0,0 +1 @@ +load("/data/general/traps/elemental.lua") diff --git a/game/modules/tome/data/zones/maze/zone.lua b/game/modules/tome/data/zones/maze/zone.lua index 295e6ebdf5..67fc0357e9 100644 --- a/game/modules/tome/data/zones/maze/zone.lua +++ b/game/modules/tome/data/zones/maze/zone.lua @@ -26,6 +26,10 @@ return { nb_object = {4, 6}, filters = { {type="potion" }, {type="potion" }, {type="potion" }, {type="scroll" }, {}, {} } }, + trap = { + class = "engine.generator.trap.Random", + nb_trap = {9, 15}, + }, }, levels = { diff --git a/game/modules/tome/data/zones/old-forest/traps.lua b/game/modules/tome/data/zones/old-forest/traps.lua new file mode 100644 index 0000000000..45fe257b4a --- /dev/null +++ b/game/modules/tome/data/zones/old-forest/traps.lua @@ -0,0 +1 @@ +load("/data/general/traps/natural_forest.lua") diff --git a/game/modules/tome/data/zones/old-forest/zone.lua b/game/modules/tome/data/zones/old-forest/zone.lua index 6cd1d9357c..6ad7532b61 100644 --- a/game/modules/tome/data/zones/old-forest/zone.lua +++ b/game/modules/tome/data/zones/old-forest/zone.lua @@ -31,6 +31,10 @@ return { nb_object = {6, 9}, filters = { {} } }, + trap = { + class = "engine.generator.trap.Random", + nb_trap = {9, 15}, + }, }, levels = { diff --git a/game/modules/tome/data/zones/tower-amon-sul/zone.lua b/game/modules/tome/data/zones/tower-amon-sul/zone.lua index 2ca9c1006d..7388eb7871 100644 --- a/game/modules/tome/data/zones/tower-amon-sul/zone.lua +++ b/game/modules/tome/data/zones/tower-amon-sul/zone.lua @@ -32,7 +32,7 @@ return { }, trap = { class = "engine.generator.trap.Random", - nb_trap = {60, 90}, + nb_trap = {6, 9}, }, }, levels = diff --git a/game/modules/tome/data/zones/trollshaws/traps.lua b/game/modules/tome/data/zones/trollshaws/traps.lua new file mode 100644 index 0000000000..45fe257b4a --- /dev/null +++ b/game/modules/tome/data/zones/trollshaws/traps.lua @@ -0,0 +1 @@ +load("/data/general/traps/natural_forest.lua") diff --git a/game/modules/tome/data/zones/trollshaws/zone.lua b/game/modules/tome/data/zones/trollshaws/zone.lua index 2490774f24..4ea22538e6 100644 --- a/game/modules/tome/data/zones/trollshaws/zone.lua +++ b/game/modules/tome/data/zones/trollshaws/zone.lua @@ -30,6 +30,10 @@ return { nb_object = {6, 9}, filters = { {type="potion" }, {type="potion" }, {type="potion" }, {type="scroll" }, {}, {} } }, + trap = { + class = "engine.generator.trap.Random", + nb_trap = {6, 9}, + }, }, levels = { -- GitLab