function Trig_Mass_Flying_Knockback_Group takes nothing returns nothing
local timer t = CreateTimer()
local unit e = GetEnumUnit()
call KnockBackUnit(e,600.,1.3,57.295827 * Atan2(GetUnitY(e) - GetUnitY(GetTriggerUnit()),GetUnitX(e) - GetUnitX(GetTriggerUnit())),0.04)
call UnitAddAbility(e,'Amrf')
call UnitRemoveAbility(e,'Amrf')
call SetUnitFlyHeight(e,350.,400.)
call SaveUnitHandle(udg_Hashtable,GetHandleId(t),0,e)
call TimerStart(t,1.3 / 2,false,function Trig_Mass_Flying_Knockback_Timer)
set t = null
endfunction
function Trig_Mass_Flying_Knockback_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local group g = CreateGroup()
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl",caster,"origin"))
call GroupEnumUnitsInRange(g,GetUnitX(caster),GetUnitY(caster),300.,Filter(function Trig_Mass_Flying_Knockback_Filter))
call ForGroup(g,function Trig_Mass_Flying_Knockback_Group)
call DestroyGroup(g)
set caster = null
set g = null
endfunction
//===========================================================================
function InitTrig_KnockBack takes nothing returns nothing
set gg_trg_KnockBack = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_KnockBack,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(gg_trg_KnockBack,Condition(function Trig_Mass_Flying_Knockback_Conditions))
call TriggerAddAction(gg_trg_KnockBack,function Trig_Mass_Flying_Knockback_Actions)
endfunction