From e0a1d7150c010433bb81d57ac770351ae46566e6 Mon Sep 17 00:00:00 2001 From: Eric Wykoff Date: Wed, 4 Apr 2012 13:24:52 -0500 Subject: [PATCH] less tedious sustains Last Stand, Body of Stone, and Aim no longer prevent movement but instead reduce movement speed by 50% --- game/modules/tome/class/Actor.lua | 4 ---- game/modules/tome/data/talents/spells/stone.lua | 6 +++--- .../tome/data/talents/techniques/archery.lua | 6 +++--- .../tome/data/talents/techniques/weaponshield.lua | 6 +++--- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 55ff248..6c9592c 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -704,10 +704,6 @@ function _M:move(x, y, force) t.curseFloor(self, t, x, y) end - if moved and self:isTalentActive(self.T_BODY_OF_STONE) then - self:forceUseTalent(self.T_BODY_OF_STONE, {ignore_energy=true}) - end - if not forced and moved and ox and oy and (ox ~= self.x or oy ~= self.y) and self:knowTalent(self.T_LIGHT_OF_FOOT) then self:incStamina(self:getTalentLevelRaw(self.T_LIGHT_OF_FOOT) * 0.2) end diff --git a/game/modules/tome/data/talents/spells/stone.lua b/game/modules/tome/data/talents/spells/stone.lua index a827229..3a680db 100644 --- a/game/modules/tome/data/talents/spells/stone.lua +++ b/game/modules/tome/data/talents/spells/stone.lua @@ -89,7 +89,7 @@ newTalent{ game:playSoundNear(self, "talents/earth") return { particle = self:addParticles(Particles.new("stone_skin", 1)), - move = self:addTemporaryValue("never_move", 1), + move = self:addTemporaryValue("movement_speed", -0.5), stun = self:addTemporaryValue("stun_immune", t.getStunRes(self, t)), cdred = self:addTemporaryValue("talent_cd_reduction", { [self.T_EARTHEN_MISSILES] = cdr, @@ -105,7 +105,7 @@ newTalent{ end, deactivate = function(self, t, p) self:removeParticles(p.particle) - self:removeTemporaryValue("never_move", p.move) + self:removeTemporaryValue("movement_speed", p.move) self:removeTemporaryValue("stun_immune", p.stun) self:removeTemporaryValue("talent_cd_reduction", p.cdred) self:removeTemporaryValue("resists", p.res) @@ -117,7 +117,7 @@ newTalent{ local acidres = t.getAcidRes(self, t) local cooldownred = t.getCooldownReduction(self, t) local stunres = t.getStunRes(self, t) - return ([[You root yourself into the earth and transform your flesh into stone. While this spell is sustained you may not move and any forced movement will end the effect. + return ([[You root yourself into the earth and transform your flesh into stone. While this spell is sustained your movement speed is reduced by 50%%. Your stoned form and your affinity with the earth while the spell is active has the following effects: * Reduces the cooldown of Earthen Missiles, Earthquake, and Mudslide by %d * Grants %d%% Fire Resistance, %d%% Lightning Resistance, %d%% Acid Resistance, and %d%% Stun Resistance diff --git a/game/modules/tome/data/talents/techniques/archery.lua b/game/modules/tome/data/talents/techniques/archery.lua index c2a06c8..32993d5 100644 --- a/game/modules/tome/data/talents/techniques/archery.lua +++ b/game/modules/tome/data/talents/techniques/archery.lua @@ -132,7 +132,7 @@ newTalent{ if self:isTalentActive(self.T_RAPID_SHOT) then self:forceUseTalent(self.T_RAPID_SHOT, {ignore_energy=true}) end return { - move = self:addTemporaryValue("never_move", 1), + move = self:addTemporaryValue("movement_speed", -0.5), speed = self:addTemporaryValue("combat_physspeed", -self:getTalentLevelRaw(t) * 0.05), crit = self:addTemporaryValue("combat_physcrit", 7 + self:getTalentLevel(t) * self:getDex(10, true)), atk = self:addTemporaryValue("combat_dam", 4 + self:getTalentLevel(t) * self:getDex(10, true)), @@ -141,7 +141,7 @@ newTalent{ } end, deactivate = function(self, t, p) - self:removeTemporaryValue("never_move", p.move) + self:removeTemporaryValue("movement_speed", p.move) self:removeTemporaryValue("combat_physspeed", p.speed) self:removeTemporaryValue("combat_physcrit", p.crit) self:removeTemporaryValue("combat_apr", p.apr) @@ -150,7 +150,7 @@ newTalent{ return true end, info = function(self, t) - return ([[You enter a calm, focused stance, increasing your damage(+%d), accuracy(+%d), armor penetration(+%d), and critical chance(+%d%%) but reducing your firing speed by %d%% and making you unable to move. + return ([[You enter a calm, focused stance, increasing your damage(+%d), accuracy(+%d), armor penetration(+%d), and critical chance(+%d%%) but reducing your firing speed by %d%% and movement speed by 50%%. The effects will increase with your Dexterity stat.]]): format(4 + self:getTalentLevel(t) * self:getDex(10, true), 4 + self:getTalentLevel(t) * self:getDex(10, true), 3 + self:getTalentLevel(t) * self:getDex(10, true), 7 + self:getTalentLevel(t) * self:getDex(10, true), diff --git a/game/modules/tome/data/talents/techniques/weaponshield.lua b/game/modules/tome/data/talents/techniques/weaponshield.lua index 42148fe..da5ab02 100644 --- a/game/modules/tome/data/talents/techniques/weaponshield.lua +++ b/game/modules/tome/data/talents/techniques/weaponshield.lua @@ -298,17 +298,17 @@ newTalent{ return { max_life = self:addTemporaryValue("max_life", (10 + self:getCon() * 0.25) * self:getTalentLevel(t)), def = self:addTemporaryValue("combat_def", 5 + self:getDex(4, true) * self:getTalentLevel(t)), - nomove = self:addTemporaryValue("never_move", 1), + move = self:addTemporaryValue("movement_speed", -0.5), } end, deactivate = function(self, t, p) self:removeTemporaryValue("combat_def", p.def) self:removeTemporaryValue("max_life", p.max_life) - self:removeTemporaryValue("never_move", p.nomove) + self:removeTemporaryValue("movement_speed", p.move) return true end, info = function(self, t) - return ([[You brace yourself for the final stand, increasing defense by %d and maximum life by %d, but making you unable to move. + return ([[You brace yourself for the final stand, increasing defense by %d and maximum life by %d, but reducing your movement speed by 50%%. The increase in defense is based on Dexterity and life on Constitution.]]): format(5 + self:getDex(4, true) * self:getTalentLevel(t), (10 + self:getCon() * 0.25) * self:getTalentLevel(t)) -- 1.7.9.msysgit.0