function <guid>( arg1, arg2, arg3)
do
statCharacter = DA3.GetCasterCharacter(TimelineContext)
targetCharacter = DA3.GetOwnerCharacter(TimelineContext)
if DA3.IsMultiplayer() then
statValue = ((DA3.GetStatTotalValue(statCharacter, BWStat)+23)*24);
else
statValue = ((DA3.GetStatTotalValue(statCharacter, BWStat)+10)*48-300);
end
Mult = 1;
SPIRIT_MULT_BONUS = 0.5;
RING_MULT_BONUS = 0.3;
if DA3.CharacterHasTimelineTag(statCharacter, BarrierTag) then
Mult = Mult + SPIRIT_MULT_BONUS;
end
if DA3.CharacterHasTimelineTag(statCharacter, RingAbilityTag) then
Mult = Mult + RING_MULT_BONUS;
end
print("compute max barrier - base value: " .. statValue .. ", mult: :", Mult);
statValue = statValue * Mult;
-- the next multiplier is global, should be applied after all other multipluer
barrierMultipluer = DA3.GetStatTotalValue(targetCharacter, Stat_Barrier_Multiplier);
print("compute max barrier - base value: " .. statValue .. ", global mult: :" .. barrierMultipluer .. ", Character: " .. DA3.ToString(targetCharacter));
statValue = statValue * barrierMultipluer;
return statValue
end