diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua index 34d9f384074a88e36a1ec2367dd4a2a4c355c5e6..188c2ddb16c8b51aa3c8ef079abe8f2d550fe17b 100644 --- a/game/modules/tome/class/interface/Combat.lua +++ b/game/modules/tome/class/interface/Combat.lua @@ -347,10 +347,14 @@ end --- Try to totally evade an attack function _M:checkEvasion(target) - if not target:attr("evasion") or self == target then return end - if target:attr("no_evasion") then return end - local evasion = target:attr("evasion") + if target:knowTalent(target.T_ARMOUR_OF_SHADOWS) and not game.level.map.lites(target.x, target.y) then + evasion = (evasion or 0) + 20 + end + + if not evasion or self == target then return end + if target:attr("no_evasion") then return end + print("checkEvasion", evasion, target.level, self.level) print("=> evasion chance", evasion) return rng.percent(evasion) diff --git a/game/modules/tome/data/talents/uber/const.lua b/game/modules/tome/data/talents/uber/const.lua index 09c0252f6123034c45a085ad00cb09dd4adc1e81..240afd0ff107def044606c8d525d45263b79d3a9 100644 --- a/game/modules/tome/data/talents/uber/const.lua +++ b/game/modules/tome/data/talents/uber/const.lua @@ -112,7 +112,7 @@ uberTalent{ self:attr("darkness_darkens", -1) end, info = function(self, t) - return ([[You know how to protect yourself with the deepest shadows. As long as you stand on an unlit tile you gain %d armour and 50%% armour hardiness. + return ([[You know how to protect yourself with the deepest shadows. As long as you stand on an unlit tile you gain %d armour, 50%% armour hardiness and 20%% evasion. Any time you deal darkness damage, you will unlight both the target tile and yours. The armor bonus scales with your Constitution.]]) :format(t.ArmourBonus(self,t))