From 888b66bd909d074142a153956546d681a3987d77 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Fri, 19 Apr 2013 09:35:43 +0000
Subject: [PATCH] fixed

git-svn-id: http://svn.net-core.org/repos/t-engine4@6622 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/modules/tome/class/Trap.lua                 | 9 +++++++++
 game/modules/tome/data/damage_types.lua          | 1 +
 game/modules/tome/data/general/traps/complex.lua | 2 --
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/game/modules/tome/class/Trap.lua b/game/modules/tome/class/Trap.lua
index 07290f55e1..e4e65b3c75 100644
--- a/game/modules/tome/class/Trap.lua
+++ b/game/modules/tome/class/Trap.lua
@@ -36,8 +36,17 @@ function _M:init(t, no_default)
 	engine.Trap.init(self, t, no_default)
 	engine.interface.ObjectIdentify.init(self, t)
 	engine.interface.ActorProject.init(self, t)
+	self.str = self.str or 10
+	self.mag = self.mag or 10
+	self.dex = self.dex or 10
+	self.wil = self.wil or 10
 end
 
+function _M:combatPhysicalpower() return mod.class.interface.Combat:rescaleCombatStats(self.str) end
+function _M:combatSpellpower() return mod.class.interface.Combat:rescaleCombatStats(self.mag) end
+function _M:combatMindpower() return mod.class.interface.Combat:rescaleCombatStats(self.wil) end
+function _M:combatAttack() return mod.class.interface.Combat:rescaleCombatStats(self.dex) end
+
 --- Gets the full name of the object
 function _M:getName()
 	local name = self.name
diff --git a/game/modules/tome/data/damage_types.lua b/game/modules/tome/data/damage_types.lua
index 29aa8b0dde..e272740228 100644
--- a/game/modules/tome/data/damage_types.lua
+++ b/game/modules/tome/data/damage_types.lua
@@ -1073,6 +1073,7 @@ newDamageType{
 	name = "lightning daze", type = "LIGHTNING_DAZE", text_color = "#ROYAL_BLUE#",
 	projector = function(src, x, y, type, dam)
 		if _G.type(dam) == "number" then dam = {dam=dam, daze=25} end
+		dam.daze = dam.daze or 25
 		local realdam = DamageType:get(DamageType.LIGHTNING).projector(src, x, y, DamageType.LIGHTNING, dam.dam)
 		local target = game.level.map(x, y, Map.ACTOR)
 		if target and dam.daze > 0 and rng.percent(dam.daze) then
diff --git a/game/modules/tome/data/general/traps/complex.lua b/game/modules/tome/data/general/traps/complex.lua
index 33e77f698b..3dc9fbb80e 100644
--- a/game/modules/tome/data/general/traps/complex.lua
+++ b/game/modules/tome/data/general/traps/complex.lua
@@ -60,7 +60,6 @@ newEntity{ base = "TRAP_COMPLEX",
 	end,
 	str = resolvers.mbonus(200, 30),
 	dam = resolvers.mbonus_level(300, 5),
-	combatPhysicalpower = function(self) return mod.class.interface.Combat:rescaleCombatStats(self.str) end,
 	triggered = function(self, x, y, who)
 		if not self.spawn_x then return end
 		local tg = {name="huge boulder", type="bolt", range=core.fov.distance(x, y, self.spawn_x, self.spawn_y), x=self.spawn_x, y=self.spawn_y, speed=2, display={image="trap/trap_big_boulder_01.png"}, blur_move=4}
@@ -97,7 +96,6 @@ newEntity{ base = "TRAP_COMPLEX",
 	dammode = rng.table{engine.DamageType.ARCANE_SILENCE, engine.DamageType.DARKSTUN, engine.DamageType.COLDNEVERMOVE},
 	dam = resolvers.mbonus_level(300, 5),
 	mag = resolvers.mbonus(200, 30),
-	combatSpellpower = function(self) return mod.class.interface.Combat:rescaleCombatStats(self.mag) end,
 	triggered = function(self, x, y, who)
 		if self:reactionToward(who) < 0 then
 			local dammode = self.dammode
-- 
GitLab