Code: Select all
call TriggerRegisterUnitEvent(sometrigger, someunit, EVENT_UNIT_RECEIVES_BUFF_BLAH)
Code: Select all
call TriggerRegisterUnitEvent(sometrigger, someunit, EVENT_UNIT_LOSES_BUFF_BLAH)
Code: Select all
call TriggerRegisterUnitEvent(sometrigger, someunit, EVENT_UNIT_RECEIVES_BUFF_BLAH)
Code: Select all
call TriggerRegisterUnitEvent(sometrigger, someunit, EVENT_UNIT_LOSES_BUFF_BLAH)
Code: Select all
private integer Count = 0
private Table TrigTable = 0
private Table RegiTable = 0
private boolean IgnPrior = false
Code: Select all
loop
exitwhen i > Count or IgnPrior
//Ensure all variables are correct for nesting
set Damage = r
set DamageBase = b
set DamageTarget = t
set DamageSource = s
set DamageType = d
set DamageId = id
set NewDamage[id] = 0.
set NewDamageType[id] = -1
if IsTriggerEnabled(Trg[i]) and TriggerEvaluate(Trg[i]) then
call TriggerExecute(Trg[i])
endif
if NewDamage[id] > 0. then
//Update damage if it was changed
set r = NewDamage[id]
endif
if NewDamageType[id] >= 0 then
//Update damagetype if it was changed
set d = NewDamageType[id]
endif
set i = i + 1
endloop
Code: Select all
function TriggerRegisterBuffEvent takes trigger trig, integer BuffEvent returns boolean
call SaveInteger(Hashtable, GetHandleId(trig), StringHash(I2S(BuffEvent)), Count)
endfunction
Code: Select all
set dummy = CreateUnit(GetOwningPlayer(source), Buff1DummyId, GetUnitX(target), GetUnitY(target), Atan2(GetUnitY(target),GetUnitX(target))*bj_DEGTORAD - 180)
call IssueTargetOrder(dummy, Buff1AbilityOrder, target)