scope AOEKnockback initializer init
globals
private group g = CreateGroup()
private boolexpr filterExpr
endglobals
private function filter takes nothing returns boolean
local unit u = GetFilterUnit()
// call KnockbackStart() or w/e here.
return false
endfunction
function DoAOEKnockback takes real x, real y, real radius returns nothing
call GroupEnumUnitsInRange(g, x, y, radius, filterExpr)
endfunction
private function init takes nothing returns nothing
set filterExpr = Condition(function filter)
endfunction
endscope