diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 2e5ee9f0445d52a49481a33f79245006695fa22b..8d1e9814d4d71567ee14e45392f26896ea8f8326 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -1689,7 +1689,6 @@ end function _M:onStatChange(stat, v) if stat == self.STAT_CON then self.max_life = self.max_life + 4 * v - self:updateConDamageReduction() elseif stat == self.STAT_WIL then self:incMaxMana(5 * v) self:incMaxStamina(2.5 * v) @@ -1699,20 +1698,6 @@ function _M:onStatChange(stat, v) end end -function _M:updateConDamageReduction() - self.resists = self.resists or {} - self.resists.all = self.resists.all or 0 - if self.temp_con_perc then - self.resists.all = self.resists.all - self.temp_con_perc - end - local inc = self:getCon() / 7 - if self:knowTalent(self.T_IRON_SKIN) then - inc = inc * (1 + (self:getTalentLevel(self.T_IRON_SKIN) * 0.2)) - end - self.temp_con_perc = inc - self.resists.all = self.resists.all + inc -end - --- Called when a temporary value changes (added or deleted) -- Takes care to call onStatChange when needed -- @param prop the property changing diff --git a/game/modules/tome/class/interface/TooltipsData.lua b/game/modules/tome/class/interface/TooltipsData.lua index 4d3b63db2fe64e8a72c164979216b8d4f5c0cfc4..3de276f06cbba7de76b6dfd3313f9975d6241e39 100644 --- a/game/modules/tome/class/interface/TooltipsData.lua +++ b/game/modules/tome/class/interface/TooltipsData.lua @@ -164,7 +164,7 @@ TOOLTIP_DEX = [[#GOLD#Dexterity#LAST# Dexterity defines your character's ability to be agile and alert. It increases your chance to hit, your ability to avoid attacks, and your damage with light weapons. ]] TOOLTIP_CON = [[#GOLD#Constitution#LAST# -Constitution defines your character's ability to withstand and resist damage. It increases your maximum life, your chance to save against physical effects and your global damage reduction. +Constitution defines your character's ability to withstand and resist damage. It increases your maximum life and your chance to save against physical effects. ]] TOOLTIP_MAG = [[#GOLD#Magic#LAST# Magic defines your character's ability to manipulate the magical energy of the world. It increases your spell power, your chance to save against magical effects, and the effect of spells and other magic items. diff --git a/game/modules/tome/data/talents/spells/golemancy.lua b/game/modules/tome/data/talents/spells/golemancy.lua index 64d2f80fa054d83e7bbc53b92b393c32d7b8077d..895173d38d5cab924e944d540fc6c423e9a76089 100644 --- a/game/modules/tome/data/talents/spells/golemancy.lua +++ b/game/modules/tome/data/talents/spells/golemancy.lua @@ -272,34 +272,34 @@ newTalent{ require = spells_req2, points = 5, on_learn = function(self, t) - self.alchemy_golem:learnTalent(Talents.T_HEALTH, true) - self.alchemy_golem:learnTalent(Talents.T_HEALTH, true) + self.alchemy_golem:learnTalent(Talents.T_THICK_SKIN, true) + self.alchemy_golem:learnTalent(Talents.T_THICK_SKIN, true) self.alchemy_golem:learnTalent(Talents.T_ARMOUR_TRAINING, true) self.alchemy_golem:learnTalent(Talents.T_ARMOUR_TRAINING, true) self.alchemy_golem.healing_factor = (self.alchemy_golem.healing_factor or 1) + 0.1 end, on_unlearn = function(self, t) - self.alchemy_golem:unlearnTalent(Talents.T_HEALTH, true) - self.alchemy_golem:unlearnTalent(Talents.T_HEALTH, true) + self.alchemy_golem:unlearnTalent(Talents.T_THICK_SKIN, true) + self.alchemy_golem:unlearnTalent(Talents.T_THICK_SKIN, true) self.alchemy_golem:unlearnTalent(Talents.T_ARMOUR_TRAINING, true) self.alchemy_golem:unlearnTalent(Talents.T_ARMOUR_TRAINING, true) self.alchemy_golem.healing_factor = (self.alchemy_golem.healing_factor or 1) - 0.1 end, info = function(self, t) local rawlev = self:getTalentLevelRaw(t) - local oldh, olda = self.alchemy_golem.talents[Talents.T_HEALTH], self.alchemy_golem.talents[Talents.T_ARMOUR_TRAINING] - self.alchemy_golem.talents[Talents.T_HEALTH], self.alchemy_golem.talents[Talents.T_ARMOUR_TRAINING] = rawlev * 2, 4 + rawlev * 2 - local th, ta = self:getTalentFromId(Talents.T_HEALTH), self:getTalentFromId(Talents.T_ARMOUR_TRAINING) - local health = th.getHealth(self.alchemy_golem, th) + local oldh, olda = self.alchemy_golem.talents[Talents.T_THICK_SKIN], self.alchemy_golem.talents[Talents.T_ARMOUR_TRAINING] + self.alchemy_golem.talents[Talents.T_THICK_SKIN], self.alchemy_golem.talents[Talents.T_ARMOUR_TRAINING] = rawlev * 2, 4 + rawlev * 2 + local th, ta = self:getTalentFromId(Talents.T_THICK_SKIN), self:getTalentFromId(Talents.T_ARMOUR_TRAINING) + local res = th.getRes(self.alchemy_golem, th) local heavyarmor = ta.getArmor(self.alchemy_golem, ta) local hardiness = ta.getArmorHardiness(self.alchemy_golem, ta) local crit = ta.getCriticalChanceReduction(self.alchemy_golem, ta) - self.alchemy_golem.talents[Talents.T_HEALTH], self.alchemy_golem.talents[Talents.T_ARMOUR_TRAINING] = olda, oldh + self.alchemy_golem.talents[Talents.T_THICK_SKIN], self.alchemy_golem.talents[Talents.T_ARMOUR_TRAINING] = olda, oldh - return ([[Improves your golem armour training and health. - Increases health by %d, increases armour value by %d, reduces chance to be critically hit by %d%% when wearing a heavy mail armour or a massive plate armour, increases armour hardiness by %d%% and increases healing factor by %d%%. + return ([[Improves your golem armour training and damage resistance. + Increases all damage resistance by %d%%, increases armour value by %d, reduces chance to be critically hit by %d%% when wearing a heavy mail armour or a massive plate armour, increases armour hardiness by %d%% and increases healing factor by %d%%. The golem can always use all kind of armours, including massive ones.]]): - format(health, heavyarmor, crit, hardiness, rawlev * 10) + format(res, heavyarmor, crit, hardiness, rawlev * 10) end, } diff --git a/game/modules/tome/data/talents/techniques/combat-training.lua b/game/modules/tome/data/talents/techniques/combat-training.lua index 11338acb206fbba7e4acc1b3874d6068b27fe230..042d19a1179b646a50ab6c354df2dbf3720ecec7 100644 --- a/game/modules/tome/data/talents/techniques/combat-training.lua +++ b/game/modules/tome/data/talents/techniques/combat-training.lua @@ -18,22 +18,22 @@ -- darkgod@te4.org newTalent{ - name = "Health", + name = "Thick Skin", type = {"technique/combat-training", 1}, mode = "passive", points = 5, require = { stat = { con=function(level) return 14 + level * 9 end }, }, - getHealth = function(self, t) return 40 * self:getTalentLevelRaw(t) end, + getRes = function(self, t) return 3 * self:getTalentLevelRaw(t) end, on_learn = function(self, t) - self.max_life = self.max_life + 40 + self.resists.all = (self.resists.all or 0) + 3 end, on_unlearn = function(self, t) - self.max_life = self.max_life - 40 + self.resists.all = (self.resists.all or 0) - 3 end, info = function(self, t) - local health = t.getHealth(self, t) - return ([[Increases your maximum life by %d]]): - format(health) + local res = t.getRes(self, t) + return ([[Your skin becomes more resilient to damage. Increases resistance to all damage by %d%%]]): + format(res) end, } diff --git a/game/modules/tome/data/talents/techniques/conditioning.lua b/game/modules/tome/data/talents/techniques/conditioning.lua index 3e17e23fd245d1eb5fe0a8890dbbd81fb3982b7d..272f556006df3a9f15f6fa7275b3cc4cb89e8c7d 100644 --- a/game/modules/tome/data/talents/techniques/conditioning.lua +++ b/game/modules/tome/data/talents/techniques/conditioning.lua @@ -64,10 +64,8 @@ newTalent{ points = 5, getPercent = function (self, t) return self:getTalentLevel(t) * 20 end, on_learn = function(self, t) - self:updateConDamageReduction() end, on_unlearn = function(self, t) - self:updateConDamageReduction() end, info = function(self, t) local percent = t.getPercent(self, t) diff --git a/game/modules/tome/dialogs/LevelupDialog.lua b/game/modules/tome/dialogs/LevelupDialog.lua index 79ee12df5070660f5e0898ab1cb46860b72bb9c1..e24cb8d86b32160320a245b9a1158a682851d675 100644 --- a/game/modules/tome/dialogs/LevelupDialog.lua +++ b/game/modules/tome/dialogs/LevelupDialog.lua @@ -372,9 +372,6 @@ function _M:getStatDescription(stat_id) text = text.."#LIGHT_BLUE#Stat gives:#LAST#\n" if stat_id == self.actor.STAT_CON then text = text.."Max life: "..color..(diff * 4).."#LAST#\n" - self.actor:updateConDamageReduction() - self.actor_dup:updateConDamageReduction() - text = text.."All resistance: "..color..("%.2f"):format(self.actor.temp_con_perc - self.actor_dup.temp_con_perc).."#LAST#\n" text = text.."Physical save: "..color..(diff * 0.35).."#LAST#\n" elseif stat_id == self.actor.STAT_WIL then if self.actor:knowTalent(self.actor.T_MANA_POOL) then