Timer32 in JASS? What ya think, of course I'll remove the bloody duration shit, just tested for some sort of duration system but then this might turn useful but I doubt anyone would use T32 in JASS.
function TimerFire takes nothing returns nothing
local integer i = 1
local boolexpr b
loop
set duration = duration - 0.32something
if duration <= 0. then
set b = LoadTriggerConditionHandle(hash, 1, i)
call TriggerAddCondition(trigger, b)
call TriggerEvaluate(trigger)
call TriggerClearConditions(trigger)
call DestroyBoolExpr(b)
call SaveTriggerConditionHandle(hash, 1, i, LoadTriggerConditionHandle(hash, 1, instances))
set duration = duration[instances]
set instances = instances - 1
set i = i - 1
if instances == 0 then
call PauseTimer(timer)
endif
endif
set i = i + 1
exitwhen i > instances
endloop
set b = null
endfunction
function TimerAdd takes real duration, code func returns nothing
set instances = instances + 1
set duration[instances] = duration
call SaveTriggerConditionHandle(hash, 1, instances, Filter(func))
if instances == 1 then
call TimerStart(timer, 0.32something, true, function TimerFire)
endif
endfunction