diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua index 633ce111059196cb58929c681704170281da18ec..163f4a947d708826eeadf6ce417a618d42170302 100644 --- a/game/modules/tome/class/interface/Combat.lua +++ b/game/modules/tome/class/interface/Combat.lua @@ -643,7 +643,7 @@ function _M:attackTargetWith(target, weapon, damtype, mult, force_dam) target.invulnerable = 1 -- Target already hit, don't damage it twice self:project({type="ball", radius=1, selffire=false}, target.x, target.y, DamageType.PHYSICAL, dam) target.invulnerable = invuln - self:incStamina(-15) + self:incStamina(-8) self.shattering_impact_last_turn = game.turn end diff --git a/game/modules/tome/data/talents/techniques/superiority.lua b/game/modules/tome/data/talents/techniques/superiority.lua index 43c9ac72737ef86dd0b0f0cdfe17189796e336fb..23a4900aaea10a6bed194f0c9f950dc5b30e9384 100644 --- a/game/modules/tome/data/talents/techniques/superiority.lua +++ b/game/modules/tome/data/talents/techniques/superiority.lua @@ -28,14 +28,16 @@ newTalent{ stamina = 60, no_energy = true, tactical = { DEFEND = 2 }, + critResist = function(self, t) return self:combatTalentScale(t, 8, 20, 0.75) end, getResist = function(self, t) return self:combatTalentScale(t, 15, 35) end, action = function(self, t) - self:setEffect(self.EFF_JUGGERNAUT, 20, {power=t.getResist(self, t)}) + self:setEffect(self.EFF_JUGGERNAUT, 20, {power=t.getResist(self, t), crits=t.critResist(self, t)}) return true end, info = function(self, t) return ([[Concentrate on the battle, ignoring some of the damage you take. - Improves physical damage reduction by %d%% for 20 turns.]]):format(t.getResist(self,t)) + Improves physical damage reduction by %d%% and provides %d%% chances to shrug off critical damage for 20 turns.]]): + format(t.getResist(self,t), t.critResist(self, t)) end, } @@ -45,14 +47,15 @@ newTalent{ require = techs_req_high2, points = 5, mode = "sustained", - cooldown = 20, - sustain_stamina = 50, + cooldown = 10, + no_energy = true, + sustain_stamina = 10, tactical = { BUFF = 2 }, range = function(self,t) return math.floor(self:combatTalentLimit(t, 10, 1, 5)) end, -- Limit KB range to <10 activate = function(self, t) return { onslaught = self:addTemporaryValue("onslaught", t.range(self,t)), - stamina = self:addTemporaryValue("stamina_regen", -4), + stamina = self:addTemporaryValue("stamina_regen", -1), } end, @@ -63,7 +66,7 @@ newTalent{ end, info = function(self, t) return ([[Take an offensive stance. As you walk through your foes, you knock them all back in an frontal arc (up to %d grids). - This consumes stamina rapidly (-4 stamina/turn).]]): + This consumes stamina rapidly (-1 stamina/turn).]]): format(t.range(self, t)) end, } @@ -124,7 +127,7 @@ newTalent{ end, info = function(self, t) return ([[Put all of your strength into your weapon blows, creating shockwaves that deal %d%% Physical weapon damage to all nearby targets. Only one shockwave will be created per action, and the primary target does not take extra damage. - Each shattering impact will drain 15 stamina.]]): + Each shattering impact will drain 8 stamina.]]): format(100*t.weaponDam(self, t)) end, } diff --git a/game/modules/tome/data/timed_effects/physical.lua b/game/modules/tome/data/timed_effects/physical.lua index 5449ad93469aa4003ffe9dd473482fe6e93c3f08..2d464a3b04aaeaf5e4364d15a46569b983effd7f 100644 --- a/game/modules/tome/data/timed_effects/physical.lua +++ b/game/modules/tome/data/timed_effects/physical.lua @@ -2318,7 +2318,7 @@ newEffect{ newEffect{ name = "JUGGERNAUT", image = "talents/juggernaut.png", desc = "Juggernaut", - long_desc = function(self, eff) return ("Reduces physical damage received by %d%%."):format(eff.power) end, + long_desc = function(self, eff) return ("Reduces physical damage received by %d%% and provides %d%% chances to ignore critial hits."):format(eff.power, eff.crits) end, type = "physical", subtype = { superiority=true }, status = "beneficial", @@ -2327,11 +2327,11 @@ newEffect{ on_lose = function(self, err) return "#Target#'s skin returns to normal.", "-Juggernaut" end, activate = function(self, eff) eff.particle = self:addParticles(Particles.new("stone_skin", 1, {density=4})) - eff.tmpid = self:addTemporaryValue("resists", {[DamageType.PHYSICAL]=eff.power}) + self:effectTemporaryValue(eff, "resists", {[DamageType.PHYSICAL]=eff.power}) + self:effectTemporaryValue(eff, "ignore_direct_crits", eff.crits) end, deactivate = function(self, eff) self:removeParticles(eff.particle) - self:removeTemporaryValue("resists", eff.tmpid) end, }