diff --git a/game/modules/tome/class/Object.lua b/game/modules/tome/class/Object.lua index d69a20d06fda896d1f035a42925d1e7633e34020..ae0585c88968010bfef71e0289a275e89318fbd0 100644 --- a/game/modules/tome/class/Object.lua +++ b/game/modules/tome/class/Object.lua @@ -655,7 +655,7 @@ function _M:getTextualDesc(compare_with, use_actor) end if combat.crushing_blow then - desc:add({"color", "YELLOW"}, "Crushing Blows: ", {"color", "LAST"}, "Damage dealt by this weapon is increased by your critical multiplier, if doing so would kill the target.", true) + desc:add({"color", "YELLOW"}, "Crushing Blows: ", {"color", "LAST"}, "Damage dealt by this weapon is increased by half your critical multiplier, if doing so would kill the target.", true) end compare_fields(combat, compare_with, field, "travel_speed", "%+d%%", "Travel speed: ", 100, false, false, add_table) diff --git a/game/modules/tome/data/damage_types.lua b/game/modules/tome/data/damage_types.lua index e8b9d185eee3e54a651cb7232c1abc6137053f87..2ba2fd6868d39be97e6d656c4c1236fc9e896a71 100644 --- a/game/modules/tome/data/damage_types.lua +++ b/game/modules/tome/data/damage_types.lua @@ -127,6 +127,7 @@ setDefaultProjector(function(src, x, y, type, dam, tmp, no_martyr) local inc if src.combatGetDamageIncrease then inc = src:combatGetDamageIncrease(type) else inc = (src.inc_damage.all or 0) + (src.inc_damage[type] or 0) end + if src.getVim and src:attr("demonblood_dam") then inc = inc + ((src.demonblood_dam or 0) * (src:getVim() or 0)) end -- Increases damage for the entity type (Demon, Undead, etc) if target.type and src.inc_damage_actor_type then @@ -289,6 +290,13 @@ setDefaultProjector(function(src, x, y, type, dam, tmp, no_martyr) print("[PROJECTOR] after self-resists dam", dam) end + --Vim based defence + if target:attr("demonblood_def") and target.getVim then + local demon_block = math.min(dam*0.5,target.demonblood_def*(target:getVim() or 0)) + dam= dam - demon_block + target:incVim((-demon_block)/20) + end + -- Static reduce damage if dam > 0 and target.isTalentActive and target:isTalentActive(target.T_ANTIMAGIC_SHIELD) then local t = target:getTalentFromId(target.T_ANTIMAGIC_SHIELD)