1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
--Resource Warner
--------------------
local RESOURCE_WARNER_FLASH_TIME = 300
local RESOURCE_WARNER_NUM_FLASHES = 3
return warner
end
self . warning : RegisterForEvent ( EVENT_COMBAT_EVENT , function ( eventCode , ... ) self : OnCombatEvent ( ... ) end )
self . warning : AddFilterForEvent ( EVENT_COMBAT_EVENT , REGISTER_FILTER_POWER_TYPE , powerType , REGISTER_FILTER_COMBAT_RESULT , ACTION_RESULT_INSUFFICIENT_RESOURCE )
self . warning : RegisterForEvent ( EVENT_POWER_UPDATE , function ( _ , unitTag , powerIndex , powerType , currentPower , maxPower ) self : OnPowerUpdate ( powerType , currentPower , maxPower ) end )
self . warning : AddFilterForEvent ( EVENT_POWER_UPDATE , REGISTER_FILTER_POWER_TYPE , powerType , REGISTER_FILTER_UNIT_TAG , "player" )
end
end
end
end
function ZO_ResourceWarner : OnCombatEvent ( result , isError , abilityName , abilityGraphic , abilityActionSlotType , sourceName , sourceType , targetName , targetType , hitValue , powerType , damageType , log )
else
--Reset the animation by making it do RESOURCE_WARNER_NUM_FLASHES after this point
local newLoops = RESOURCE_WARNER_NUM_FLASHES
--If we're on the backswing of the ping pong we need to do one addition loop to make sure it ends in the alpha down state, otherwise it stops at full alpha
if remainingLoops % 2 == 0 then
newLoops = newLoops + 1
end
end
end
end
end
end
end
--Health Warner
---------------
local HEALTH_ALPHA_PULSE_THRESHOLD = 0.25
return warner
end
end
end
self . warning : AddFilterForEvent ( EVENT_POWER_UPDATE , REGISTER_FILTER_POWER_TYPE , COMBAT_MECHANIC_FLAGS_HEALTH , REGISTER_FILTER_UNIT_TAG , "player" )
end
if paused then
end
else
end
end
end
if healthPerc <= HEALTH_ALPHA_PULSE_THRESHOLD then
end
else
end
end
end
local healthPerc = health / maxHealth
end
end |