Less tedious no movement sustains
Posted: Wed Apr 04, 2012 6:28 pm
The basic idea with this patch is to reduce movement speed instead of preventing all movement so the player doesn't have to toggle sustains so often.
It reduces movement speed by 50% for Body of Stone, Aim, and Last Stand.
It reduces movement speed by 50% for Body of Stone, Aim, and Last Stand.
Code: Select all
From e0a1d7150c010433bb81d57ac770351ae46566e6 Mon Sep 17 00:00:00 2001
From: Eric Wykoff <ericwykoff@yahoo.com>
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