diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index fc50d89c8536d125df95dd262a29741857bfb516..0a51833171c749824e6192047152ec9a734b3ec1 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -2854,6 +2854,10 @@ function _M:on_set_temporary_effect(eff_id, e, p) local fft = self:hasEffect(self.EFF_FADE_FROM_TIME) p.dur = math.ceil(p.dur * (1 - (fft.power/100))) end + if e.status == "detrimental" and e.type ~= "magical" and self:knowTalent(self.T_SUPPRESSION) then + local t = self:getTalentFromId(self.T_SUPPRESSION) + p.dur = math.ceil(p.dur * (1 - (t.getPercent(self, t)/100))) + end if e.status == "detrimental" and self:attr("negative_status_effect_immune") then p.dur = 0 end diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua index 9981341f42f4a6958e96feec66df5f5dd3aa7aed..4c1089bd65396da400b12294b2f944db9469f57c 100644 --- a/game/modules/tome/class/Player.lua +++ b/game/modules/tome/class/Player.lua @@ -503,8 +503,8 @@ function _M:restCheck() -- Check resources, make sure they CAN go up, otherwise we will never stop if not self.resting.rest_turns then - if self.air_regen < 0 then return false, "loosing breath!" end - if self.life_regen <= 0 then return false, "loosing health!" end + if self.air_regen < 0 then return false, "losing breath!" end + if self.life_regen <= 0 then return false, "losing health!" end if self:getMana() < self:getMaxMana() and self.mana_regen > 0 then return true end if self:getStamina() < self:getMaxStamina() and self.stamina_regen > 0 then return true end if self:getPsi() < self:getMaxPsi() and self.psi_regen > 0 then return true end