From aae98c8e2e77764396a4408019ff2bd412dc8d1b Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Wed, 5 Dec 2012 08:44:20 +0000 Subject: [PATCH] Feather Wing provides fatigue reduction at level 5 git-svn-id: http://svn.net-core.org/repos/t-engine4@5926 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engines/default/engine/interface/ActorTalents.lua | 2 +- game/modules/tome/data/talents/spells/air.lua | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/game/engines/default/engine/interface/ActorTalents.lua b/game/engines/default/engine/interface/ActorTalents.lua index 70c0ab106b..e8a8ec121e 100644 --- a/game/engines/default/engine/interface/ActorTalents.lua +++ b/game/engines/default/engine/interface/ActorTalents.lua @@ -535,7 +535,7 @@ function _M:setTalentTypeMastery(tt, v) -- "v - 1" because a mastery is expressed as x + 1, not x, so that 0 is the default value (thus getting 1) self.talents_types_mastery[tt] = v - 1 - for i, t in pairs(self.talents_types_def[tt].talents) do + for i, t in pairs(self.talents_types_def[tt] and self.talents_types_def[tt].talents or {}) do if t.auto_relearn_passive then local lvl = self:getTalentLevelRaw(t) self:unlearnTalent(t.id, lvl) diff --git a/game/modules/tome/data/talents/spells/air.lua b/game/modules/tome/data/talents/spells/air.lua index 9608ffdae7..b9e55506c8 100644 --- a/game/modules/tome/data/talents/spells/air.lua +++ b/game/modules/tome/data/talents/spells/air.lua @@ -152,6 +152,7 @@ newTalent{ getEncumberance = function(self, t) return math.floor(self:combatTalentSpellDamage(t, 10, 110)) end, getRangedDefence = function(self, t) return self:combatTalentSpellDamage(t, 4, 30) end, getSpeed = function(self, t) return 0.05 * self:getTalentLevel(t) end, + getFatigue = function(self, t) return math.floor(2.5 * self:getTalentLevel(t)) end, activate = function(self, t) game:playSoundNear(self, "talents/spell_generic2") local ret = { @@ -164,6 +165,7 @@ newTalent{ end if self:getTalentLevel(t) >= 5 then ret.ms = self:addTemporaryValue("movement_speed", t.getSpeed(self, t)) + self:talentTemporaryValue(ret, "fatigue", -t.getFatigue(self, t)) end self:checkEncumbrance() @@ -183,8 +185,8 @@ newTalent{ local rangedef = t.getRangedDefence(self, t) return ([[A gentle wind circles around the caster, increasing carrying capacity by %d and increasing defense against projectiles by %d. At level 4 it also makes you slightly levitate, allowing you to ignore some traps. - At level 5 it also grants %d%% movement speed.]]): - format(encumberance, rangedef, t.getSpeed(self, t) * 100) + At level 5 it also grants %d%% movement speed and removes %d fatigue.]]): + format(encumberance, rangedef, t.getSpeed(self, t) * 100, t.getFatigue(self, t)) end, } -- GitLab