So I have made a script that is supposed to knock a character backwards when they get damaged. When facing the right direction, the character actually gets knocked backwards. When facing the opposite, it gets knocked forwards. How do I make it that the character always gets knocked backwards of themselves?

 local ReplicatedStorage = game:GetService("ReplicatedStorage")
p = ReplicatedStorage:FindFirstChild("YellowPoof")
local tweeninfo = TweenInfo.new(0.85)

local ts = game:GetService("TweenService")

local goal = {}

goal.Size = Vector3.new(11, 11, 11)

goal.Transparency = 1

db = true

local Health = script.Parent.Humanoid.Health

  

function onHurt()

    if db == true and script.Parent.Humanoid.Health < Health then

	    db = false

	    local humanoid = script.Parent.Humanoid

	    local p2 = p:Clone()

	    local tween = ts:Create(p2, tweeninfo, goal)

	    p2.Parent = humanoid.Parent.LowerTorso

	    p2.Position = humanoid.Parent.LowerTorso.Position

	    tween:Play()

	    local animation = humanoid:LoadAnimation(script.Animation)

	    animation:Play()

	    humanoid.WalkSpeed = 0

	   -- Line I need help with!!
	    script.Parent.HumanoidRootPart.Position = Vector3.new(script.Parent.HumanoidRootPart.Position.X,script.Parent.HumanoidRootPart.Position.Y,script.Parent.HumanoidRootPart.Position.Z-5)

	    wait(1.85)

	    humanoid.WalkSpeed = 19.5

	    db = true

	    end

	 end

script.Parent.Humanoid.HealthChanged:Connect(onHurt)