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 . powerType = powerType
self . statusBar = parent
self . paused = false
self . currentPower = 0
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
if self . paused ~= paused then
self . paused = paused
end
end
end
function ZO_ResourceWarner : OnCombatEvent ( result , isError , abilityName , abilityGraphic , abilityActionSlotType , sourceName , sourceType , targetName , targetType , hitValue , powerType , damageType , log )
if not self . paused then
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
if not self . paused then
end
self . currentPower = currentPower
end
end
--Health Warner
---------------
local HEALTH_ALPHA_PULSE_THRESHOLD = 0.25
return warner
end
end
end
self . statusBar = parent
self . paused = false
self . warning : AddFilterForEvent ( EVENT_POWER_UPDATE , REGISTER_FILTER_POWER_TYPE , POWERTYPE_HEALTH , REGISTER_FILTER_UNIT_TAG , "player" )
end
if self . paused ~= paused then
self . paused = paused
if paused then
end
else
end
end
end
if healthPerc <= HEALTH_ALPHA_PULSE_THRESHOLD then
end
else
end
end
end
if not self . paused then
local healthPerc = health / maxHealth
end
end |