diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua index 413c65996178981bfcafb36fe10d161a144bb34e..c881a4bada3ad2e28f82bb16d99f1d3e2fd3e754 100644 --- a/game/modules/tome/class/interface/Combat.lua +++ b/game/modules/tome/class/interface/Combat.lua @@ -475,6 +475,13 @@ function _M:attackTargetWith(target, weapon, damtype, mult, force_dam) repelled = true end end + + -- Dwarves stoneskin + if target:attr("auto_stoneskin") and rng.percent(15) then + game.logSeen(target, "#ORCHID#%s instinctively hardens %s skin and ignores the attack!#LAST#", target.name:capitalize(), string.his_her(target)) + target:setEffect(target.EFF_STONE_SKIN, 5, {power=target:attr("auto_stoneskin")}) + repelled = true + end if repelled then self:logCombat(target, "#Target# repels an attack from #Source#.") @@ -847,11 +854,6 @@ function _M:attackTargetHitProcs(target, weapon, dam, apr, armor, damtype, mult, t.do_terror(self, t, target, dam) end - -- Dwarves stoneskin - if hitted and not target.dead and target:attr("auto_stoneskin") and rng.percent(15) then - target:setEffect(target.EFF_STONE_SKIN, 5, {power=target:attr("auto_stoneskin")}) - end - -- Psi Auras local psiweapon = self:getInven("PSIONIC_FOCUS") and self:getInven("PSIONIC_FOCUS")[1] if psiweapon and psiweapon.combat and psiweapon.subtype ~= "mindstar" then diff --git a/game/modules/tome/data/talents/misc/races.lua b/game/modules/tome/data/talents/misc/races.lua index d462d8d79eb312d0a091ed80aeb37fc3eec86fa8..dbfb746a9e121ff4131bb9fc40d02476c1b04878 100644 --- a/game/modules/tome/data/talents/misc/races.lua +++ b/game/modules/tome/data/talents/misc/races.lua @@ -458,7 +458,8 @@ newTalent{ end, info = function(self, t) return ([[Dwarf skin is a complex structure, it can automatically react to physical blows to harden itself. - When you are hit in melee, you have a 15%% chance to increase your armour total by %d for 5 turns.]]): + When you are hit in melee, you have a 15%% chance to increase your armour total by %d for 5 turns and fully ignore the attack triggering it. + There is no cooldown to this effect, it can happen while already active.]]): format(t.armor(self, t)) end, }