From 7f7f503124d5b85ad716d4ab736e8ba6a270f5b4 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Thu, 28 Jan 2010 15:14:50 +0000
Subject: [PATCH] * fix nasty melee technics bug * 8 2H weapons talents

git-svn-id: http://svn.net-core.org/repos/t-engine4@290 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/modules/tome/class/Actor.lua             |   3 +-
 game/modules/tome/class/interface/Combat.lua  |  15 ++
 game/modules/tome/data/damage_types.lua       |   2 +-
 game/modules/tome/data/talents/misc/npcs.lua  |  24 +--
 .../modules/tome/data/talents/misc/random.lua |   4 +-
 .../tome/data/talents/techniques/2hweapon.lua | 160 +++++++++++++++---
 .../data/talents/techniques/dualweapon.lua    |   4 +-
 .../data/talents/techniques/weaponshield.lua  |   8 +-
 game/modules/tome/data/timed_effects.lua      |  44 +++++
 ideas/technics.ods                            | Bin 23308 -> 21011 bytes
 src/core_lua.c                                |   6 +-
 11 files changed, 226 insertions(+), 44 deletions(-)

diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index d428df0fd5..7d1aa65653 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -41,6 +41,7 @@ function _M:init(t, no_default)
 
 	self.combat_physresist = 0
 	self.combat_spellresist = 0
+	self.combat_mentalresist = 0
 
 	self.fatigue = 0
 
@@ -107,7 +108,7 @@ function _M:move(x, y, force)
 	if force or self:enoughEnergy() then
 		-- Confused ?
 		if not force and self:attr("confused") then
-			if rng.chance(self:attr("confused")) then
+			if rng.percent(self:attr("confused")) then
 				x, y = self.x + rng.range(-1, 1), self.y + rng.range(-1, 1)
 			end
 		end
diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua
index b740d215b3..80d2110b12 100644
--- a/game/modules/tome/class/interface/Combat.lua
+++ b/game/modules/tome/class/interface/Combat.lua
@@ -291,3 +291,18 @@ end
 function _M:combatSpellResist()
 	return self.combat_spellresist + (self:getMag() + self:getWil()) * 0.25
 end
+
+--- Computes mental resistance
+function _M:combatMentalResist()
+	return self.combat_mentalresist + (self:getCun() + self:getWil()) * 0.25
+end
+
+
+--- Check if the user has a two handed weapon
+function _M:hasTwoHandedWeapon()
+	local weapon = self:getInven("MAINHAND")[1]
+	if not weapon or not weapon.twohanded then
+		return nil
+	end
+	return weapon
+end
diff --git a/game/modules/tome/data/damage_types.lua b/game/modules/tome/data/damage_types.lua
index fc04e0c6d4..4f84fa4736 100644
--- a/game/modules/tome/data/damage_types.lua
+++ b/game/modules/tome/data/damage_types.lua
@@ -299,7 +299,7 @@ newDamageType{
 	projector = function(src, x, y, type, dam)
 		local target = game.level.map(x, y, Map.ACTOR)
 		if target then
-			if target:checkHit(src:combatSpellpower(), target:combatSpellResist(), 0, 95, 15) and target:canBe("stun") then
+			if target:checkHit((dam.power_check or src.combatSpellpower)(src), (dam.resist_check or target.combatSpellResist)(target), 0, 95, 15) and target:canBe("stun") then
 				target:setEffect(target.EFF_CONFUSED, dam.dur, {power=dam.dam})
 			else
 				game.logSeen(target, "%s resists!", target.name:capitalize())
diff --git a/game/modules/tome/data/talents/misc/npcs.lua b/game/modules/tome/data/talents/misc/npcs.lua
index 08f77fe55c..d56f88b8d8 100644
--- a/game/modules/tome/data/talents/misc/npcs.lua
+++ b/game/modules/tome/data/talents/misc/npcs.lua
@@ -46,7 +46,8 @@ newTalent{
 	cooldown = 5,
 	range = 1,
 	action = function(self, t)
-		local x, y, target = self:getTarget()
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 		self.combat_apr = self.combat_apr + 1000
 		self:attackTarget(target, DamageType.POISON, 2 + self:getTalentLevel(t), true)
@@ -67,7 +68,8 @@ newTalent{
 	cooldown = 2,
 	range = 1,
 	action = function(self, t)
-		local x, y, target = self:getTarget()
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 		self.combat_apr = self.combat_apr + 1000
 		self:attackTarget(target, DamageType.ACID, 1 + self:getTalentLevel(t) / 3, true)
@@ -88,8 +90,8 @@ newTalent{
 	cooldown = 2,
 	range = 1,
 	action = function(self, t)
-		local t = {type="hit", range=self:getTalentRange(t)}
-		local x, y, target = self:getTarget(t)
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if not x or not y or not target then return nil end
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 		self.combat_apr = self.combat_apr + 1000
@@ -111,7 +113,8 @@ newTalent{
 	cooldown = 2,
 	range = 1,
 	action = function(self, t)
-		local x, y, target = self:getTarget()
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 		self.combat_apr = self.combat_apr + 1000
 		self:attackTarget(target, DamageType.POISON, 2 + self:getTalentLevel(t), true)
@@ -131,8 +134,8 @@ newTalent{
 	stamina = 8,
 	require = { stat = { str=12 }, },
 	action = function(self, t)
-		local t = {type="hit", range=self:getTalentRange(t)}
-		local x, y, target = self:getTarget(t)
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if not x or not y or not target then return nil end
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 		local hit = self:attackTarget(target, 0.5 + self:getTalentLevel(t) / 10, true)
@@ -161,8 +164,8 @@ newTalent{
 	stamina = 8,
 	require = { stat = { str=12 }, },
 	action = function(self, t)
-		local t = {type="hit", range=self:getTalentRange(t)}
-		local x, y, target = self:getTarget(t)
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if not x or not y or not target then return nil end
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 		local hit = self:attackTarget(target, nil, 1.5 + self:getTalentLevel(t) / 10, true)
@@ -192,7 +195,8 @@ newTalent{
 	cooldown = 5,
 	range = 1,
 	action = function(self, t)
-		local x, y, target = self:getTarget()
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 		self:attackTarget(target, DamageType.POISON, 2 + self:getTalentLevel(t), true)
 		return true
diff --git a/game/modules/tome/data/talents/misc/random.lua b/game/modules/tome/data/talents/misc/random.lua
index ef3c7b5fb0..bb8a58f7b6 100644
--- a/game/modules/tome/data/talents/misc/random.lua
+++ b/game/modules/tome/data/talents/misc/random.lua
@@ -17,8 +17,8 @@ newTalent{
 		ATTACK = 10,
 	},
 	action = function(self, t)
-		local t = {type="hit", range=self:getTalentRange(t)}
-		local x, y, target = self:getTarget(t)
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if not x or not y or not target then return nil end
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 		self.combat_apr = self.combat_apr + 1000
diff --git a/game/modules/tome/data/talents/techniques/2hweapon.lua b/game/modules/tome/data/talents/techniques/2hweapon.lua
index 3cf392289e..88eb73a0eb 100644
--- a/game/modules/tome/data/talents/techniques/2hweapon.lua
+++ b/game/modules/tome/data/talents/techniques/2hweapon.lua
@@ -7,17 +7,17 @@ newTalent{
 	cooldown = 30,
 	sustain_stamina = 40,
 	activate = function(self, t)
-		local weapon = self:getInven("MAINHAND")[1]
-		if not weapon or not weapon.twohanded then
+		local weapon = self:hasTwoHandedWeapon()
+		if not weapon then
 			game.logPlayer(self, "You cannot use Berserker without a two handed weapon!")
 			return nil
 		end
 
 		return {
-			atk = self:addTemporaryValue("combat_dam", 5 + self:getStr(6) * self:getTalentLevel(t)),
-			dam = self:addTemporaryValue("combat_atk", 5 + self:getDex(6) * self:getTalentLevel(t)),
-			def = self:addTemporaryValue("combat_def", -5 - 2 * self:getTalentLevel(t)),
-			armor = self:addTemporaryValue("combat_armor", -5 - 2 * self:getTalentLevel(t)),
+			atk = self:addTemporaryValue("combat_dam", 5 + self:getStr(7) * self:getTalentLevel(t)),
+			dam = self:addTemporaryValue("combat_atk", 5 + self:getDex(7) * self:getTalentLevel(t)),
+			def = self:addTemporaryValue("combat_def", -5 - 2 * (self:getTalentLevelRaw(t)-1)),
+			armor = self:addTemporaryValue("combat_armor", -5 - 2 * (self:getTalentLevelRaw(t)-1)),
 		}
 	end,
 
@@ -30,11 +30,10 @@ newTalent{
 	end,
 	info = function(self, t)
 		return ([[Enters an aggressive battle stance, increasing attack by %d and damage by %d at the cost of %d defense and %d armor.]]):
-		format(5 + self:getDex(6) * self:getTalentLevel(t), 5 + self:getStr(6) * self:getTalentLevel(t), -5 - 2 * self:getTalentLevel(t), -5 - 2 * self:getTalentLevel(t))
+		format(5 + self:getDex(7) * self:getTalentLevel(t), 5 + self:getStr(7) * self:getTalentLevel(t), -5 - 2 * (self:getTalentLevelRaw(t)-1), -5 - 2 * (self:getTalentLevelRaw(t)-1))
 	end,
 }
 
-
 newTalent{
 	name = "Death Dance",
 	type = {"technique/2hweapon-offense", 2},
@@ -43,8 +42,8 @@ newTalent{
 	cooldown = 10,
 	stamina = 30,
 	action = function(self, t)
-		local weapon = self:getInven("MAINHAND")[1]
-		if not weapon or not weapon.twohanded then
+		local weapon = self:hasTwoHandedWeapon()
+		if not weapon then
 			game.logPlayer(self, "You cannot use Death Dance without a two handed weapon!")
 			return nil
 		end
@@ -76,15 +75,26 @@ newTalent{
 	},
 	range = 1,
 	action = function(self, t)
+		local weapon = self:hasTwoHandedWeapon()
+		if not weapon then
+			game.logPlayer(self, "You cannot use Warshout without a two handed weapon!")
+			return nil
+		end
+
 		local tg = {type="cone", range=0, radius=3 + self:getTalentLevelRaw(t), friendlyfire=false}
 		local x, y = self:getTarget(tg)
 		if not x or not y then return nil end
-		self:project(tg, x, y, DamageType.CONFUSION, {dur=self:getTalentLevelRaw(t), dam=50+self:getTalentLevelRaw(t)*10}, {type="flame"})
+		self:project(tg, x, y, DamageType.CONFUSION, {
+			dur=3+self:getTalentLevelRaw(t),
+			dam=50+self:getTalentLevelRaw(t)*10,
+			power_check=function() return self:combatAttackStr(weapon) end,
+			resist_check=self.combatPhysicalResist,
+		}, {type="flame"})
 		return true
 	end,
 	info = function(self, t)
 		return ([[Shout your warcry in a frontal cone, any targets caught inside will be confused for %d turns.]]):
-		format(self:getTalentLevelRaw(t))
+		format(3 + self:getTalentLevelRaw(t))
 	end,
 }
 
@@ -95,16 +105,15 @@ newTalent{
 	points = 5,
 	cooldown = 30,
 	stamina = 30,
-	require = { stat = { str=22 }, },
 	action = function(self, t)
-		local weapon = self:getInven("MAINHAND")[1]
-		if not weapon or not weapon.twohanded then
+		local weapon = self:hasTwoHandedWeapon()
+		if not weapon then
 			game.logPlayer(self, "You cannot use Death Blow without a two handed weapon!")
 			return nil
 		end
 
-		local t = {type="hit", range=self:getTalentRange(t)}
-		local x, y, target = self:getTarget(t)
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if not x or not y or not target then return nil end
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 
@@ -150,16 +159,15 @@ newTalent{
 	points = 5,
 	cooldown = 6,
 	stamina = 8,
-	require = { stat = { str=12 }, },
 	action = function(self, t)
-		local weapon = self:getInven("MAINHAND")[1]
-		if not weapon or not weapon.twohanded then
+		local weapon = self:hasTwoHandedWeapon()
+		if not weapon then
 			game.logPlayer(self, "You cannot use Stunning Blow without a two handed weapon!")
 			return nil
 		end
 
-		local t = {type="hit", range=self:getTalentRange(t)}
-		local x, y, target = self:getTarget(t)
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if not x or not y or not target then return nil end
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 		local speed, hit = self:attackTargetWith(target, weapon.combat, nil, 1.5 + self:getTalentLevel(t) / 10)
@@ -179,3 +187,111 @@ newTalent{
 		return ([[Hits the target with your weapon doing %d%% damage, if the atatck hits, the target is stunned.]]):format(100 * (1.5 + self:getTalentLevel(t) / 10))
 	end,
 }
+
+newTalent{
+	name = "Sunder Armour",
+	type = {"technique/2hweapon-cripple", 2},
+	require = techs_req2,
+	points = 5,
+	cooldown = 6,
+	stamina = 12,
+	action = function(self, t)
+		local weapon = self:hasTwoHandedWeapon()
+		if not weapon then
+			game.logPlayer(self, "You cannot use Sunder Armour without a two handed weapon!")
+			return nil
+		end
+
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
+		if not x or not y or not target then return nil end
+		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
+		local speed, hit = self:attackTargetWith(target, weapon.combat, nil, 1.5 + self:getTalentLevel(t) / 10)
+
+		-- Try to stun !
+		if hit then
+			if target:checkHit(self:combatAttackStr(weapon.combat), target:combatPhysicalResist(), 0, 95, 10 - self:getTalentLevel(t) / 2) and target:canBe("stun") then
+				target:setEffect(target.EFF_SUNDER_ARMOUR, 4 + self:getTalentLevel(t), {power=5*self:getTalentLevel(t)})
+			else
+				game.logSeen(target, "%s resists the sundering!", target.name:capitalize())
+			end
+		end
+
+		return true
+	end,
+	info = function(self, t)
+		return ([[Hits the target with your weapon doing %d%% damage, if the attack hits, the target is armor is reduced by %d.]]):format(100 * (1.5 + self:getTalentLevel(t) / 10), 5*self:getTalentLevel(t))
+	end,
+}
+
+newTalent{
+	name = "Sunder Arms",
+	type = {"technique/2hweapon-cripple", 3},
+	require = techs_req3,
+	points = 5,
+	cooldown = 6,
+	stamina = 12,
+	action = function(self, t)
+		local weapon = self:hasTwoHandedWeapon()
+		if not weapon then
+			game.logPlayer(self, "You cannot use Sunder Arms without a two handed weapon!")
+			return nil
+		end
+
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
+		if not x or not y or not target then return nil end
+		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
+		local speed, hit = self:attackTargetWith(target, weapon.combat, nil, 1.5 + self:getTalentLevel(t) / 10)
+
+		-- Try to stun !
+		if hit then
+			if target:checkHit(self:combatAttackStr(weapon.combat), target:combatPhysicalResist(), 0, 95, 10 - self:getTalentLevel(t) / 2) and target:canBe("stun") then
+				target:setEffect(target.EFF_SUNDER_ARMS, 4 + self:getTalentLevel(t), {power=3*self:getTalentLevel(t)})
+			else
+				game.logSeen(target, "%s resists the sundering!", target.name:capitalize())
+			end
+		end
+
+		return true
+	end,
+	info = function(self, t)
+		return ([[Hits the target with your weapon doing %d%% damage, if the attack hits, the target is attack power is reduced by %d.]]):format(100 * (1.5 + self:getTalentLevel(t) / 10), 3*self:getTalentLevel(t))
+	end,
+}
+
+newTalent{
+	name = "Crush",
+	type = {"technique/2hweapon-cripple", 4},
+	require = techs_req4,
+	points = 5,
+	cooldown = 6,
+	stamina = 12,
+	action = function(self, t)
+		local weapon = self:hasTwoHandedWeapon()
+		if not weapon then
+			game.logPlayer(self, "You cannot use Crush without a two handed weapon!")
+			return nil
+		end
+
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
+		if not x or not y or not target then return nil end
+		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
+		local speed, hit = self:attackTargetWith(target, weapon.combat, nil, 2 + self:getTalentLevel(t) / 10)
+
+		-- Try to stun !
+		if hit then
+			if target:checkHit(self:combatAttackStr(weapon.combat), target:combatPhysicalResist(), 0, 95, 10 - self:getTalentLevel(t) / 2) and target:canBe("stun") then
+				target:setEffect(target.EFF_PINNED, 2 + self:getTalentLevel(t), {})
+			else
+				game.logSeen(target, "%s resists the crushing!", target.name:capitalize())
+			end
+		end
+
+		return true
+	end,
+	info = function(self, t)
+		return ([[Hits the target with a mighty blow to the legs doing %d%% weapon damage, if the attack hits, the target is unable to move for %d turns.]]):format(100 * (2 + self:getTalentLevel(t) / 10), 2+self:getTalentLevel(t))
+	end,
+}
diff --git a/game/modules/tome/data/talents/techniques/dualweapon.lua b/game/modules/tome/data/talents/techniques/dualweapon.lua
index 17f8de3f17..a5a7a43c02 100644
--- a/game/modules/tome/data/talents/techniques/dualweapon.lua
+++ b/game/modules/tome/data/talents/techniques/dualweapon.lua
@@ -24,8 +24,8 @@ newTalent{
 			return nil
 		end
 
-		local t = {type="hit", range=self:getTalentRange(t)}
-		local x, y, target = self:getTarget(t)
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if not x or not y or not target then return nil end
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 		self:attackTarget(target, nil, 1.8 + self:getTalentLevel(t) / 10, true)
diff --git a/game/modules/tome/data/talents/techniques/weaponshield.lua b/game/modules/tome/data/talents/techniques/weaponshield.lua
index df203ecee8..93cdc8f329 100644
--- a/game/modules/tome/data/talents/techniques/weaponshield.lua
+++ b/game/modules/tome/data/talents/techniques/weaponshield.lua
@@ -12,8 +12,8 @@ newTalent{
 			return nil
 		end
 
-		local t = {type="hit", range=self:getTalentRange(t)}
-		local x, y, target = self:getTarget(t)
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if not x or not y or not target then return nil end
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 		local speed, hit = self:attackTargetWith(target, shield.special_combat, nil, 2 + self:getTalentLevel(t) / 5)
@@ -49,8 +49,8 @@ newTalent{
 			return nil
 		end
 
-		local t = {type="hit", range=self:getTalentRange(t)}
-		local x, y, target = self:getTarget(t)
+		local tg = {type="hit", range=self:getTalentRange(t)}
+		local x, y, target = self:getTarget(tg)
 		if not x or not y or not target then return nil end
 		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end
 
diff --git a/game/modules/tome/data/timed_effects.lua b/game/modules/tome/data/timed_effects.lua
index 0a35435c7c..dc319ce1f2 100644
--- a/game/modules/tome/data/timed_effects.lua
+++ b/game/modules/tome/data/timed_effects.lua
@@ -374,3 +374,47 @@ newEffect{
 		DamageType:get(DamageType.ARCANE).projector(self, self.x, self.y, DamageType.ARCANE, eff.power)
 	end,
 }
+
+newEffect{
+	name = "SUNDER_ARMOUR",
+	desc = "Sunder Armour",
+	type = "physical",
+	status = "detrimental",
+	parameters = { power=10 },
+	activate = function(self, eff)
+		eff.tmpid = self:addTemporaryValue("combat_armor", -eff.power)
+	end,
+	deactivate = function(self, eff)
+		self:removeTemporaryValue("combat_armor", eff.tmpid)
+	end,
+}
+
+newEffect{
+	name = "SUNDER_ARMS",
+	desc = "Sunder Arms",
+	type = "physical",
+	status = "detrimental",
+	parameters = { power=10 },
+	activate = function(self, eff)
+		eff.tmpid = self:addTemporaryValue("combat_atk", -eff.power)
+	end,
+	deactivate = function(self, eff)
+		self:removeTemporaryValue("combat_atk", eff.tmpid)
+	end,
+}
+
+newEffect{
+	name = "PINNED",
+	desc = "Pinned to the ground",
+	type = "physical",
+	status = "detrimental",
+	parameters = {},
+	on_gain = function(self, err) return "#Target# is pinned to the ground.", "+Pinned" end,
+	on_lose = function(self, err) return "#Target# is no longer pinned.", "-Pinned" end,
+	activate = function(self, eff)
+		eff.tmpid = self:addTemporaryValue("never_move", 1)
+	end,
+	deactivate = function(self, eff)
+		self:removeTemporaryValue("never_move", eff.tmpid)
+	end,
+}
diff --git a/ideas/technics.ods b/ideas/technics.ods
index adfe86bf63aac3a16491ad7554545aea84600f11..c0ea9f9d5dcd8a864aba355ec580e2cf80abd489 100644
GIT binary patch
delta 18620
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

delta 20907
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

diff --git a/src/core_lua.c b/src/core_lua.c
index 1e2adab23a..3b9457f422 100644
--- a/src/core_lua.c
+++ b/src/core_lua.c
@@ -824,7 +824,8 @@ static int rng_range(lua_State *L)
 {
 	int x = luaL_checknumber(L, 1);
 	int y = luaL_checknumber(L, 2);
-	lua_pushnumber(L, x + rand_div(1 + y - x));
+	int res = x + rand_div(1 + y - x);
+	lua_pushnumber(L, res);
 	return 1;
 }
 
@@ -851,7 +852,8 @@ static int rng_call(lua_State *L)
 	if (lua_isnumber(L, 2))
 	{
 		int y = luaL_checknumber(L, 2);
-		lua_pushnumber(L, x + rand_div(1 + y - x));
+		int res = x + rand_div(1 + y - x);
+		lua_pushnumber(L, res);
 	}
 	else
 	{
-- 
GitLab