project-meteor-server/data/scripts/effects/parsimony.lua
Yogurt 00017468cc New scripts
New scripts for commands and effects that use the new function
signatures and work with the new statuseffectcontainer
2019-05-29 23:05:40 -07:00

24 lines
877 B
Lua

require("modifiers")
require("battleutils")
--Forces crit of a single WS action from rear.
function onMagicCast(caster, effect, skill)
skill.mpCost = skill.mpCost / 2;
end;
--Having two identical functions seems weird. also don't know if parsimony still activates if resisted or evaded?
function onHit(effect, attacker, defender, skill, action, actionContainer)
if skill.GetCommandType() == CommandType.Spell then
local percent = 0.10;
if effect.GetTier() == 2 then
percent = 0.35;
end
--Parsimony returns 10% (35 traited) of damage done rounded up as MP.
local mpToReturn = math.ceil(percent * action.amount);
attacker.AddMP(mpToReturn);
actionContainer.AddMPAbsorbAction(0, 33007, mpToReturn);
defender.statusEffects.RemoveStatusEffect(effect, actionContainer, 30331, false);
end
end