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