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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�FA0Fi<2PMMd^ZxD4 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�m0%$go- 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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