function knockback( caster, target )
local duration = 1
local distance =500
local range = 400
local vCaster = caster:GetAbsOrigin()
local vTarget = target:GetAbsOrigin()
local len = ( vTarget - vCaster ):Length2D()
len = distance - distance * ( len / range )
local knockbackModifierTable =
{
should_stun = 1,
knockback_duration = duration,
duration = duration,
knockback_distance = len,
knockback_height = 0,
center_x = caster:GetAbsOrigin().x,
center_y = caster:GetAbsOrigin().y,
center_z = caster:GetAbsOrigin().z
}
target:AddNewModifier( caster, nil, "modifier_knockback", knockbackModifierTable )
end