Tool=script.Parent Handle=Tool:WaitForChild("\072\097\110\100\108\101")Players=game:GetService("\080\108\097\121\101\114\115")Debris=game:GetService("\068\101\098\114\105\115")RbxUtility=LoadLibrary("\082\098\120\085\116\105\108\105\116\121")Create=RbxUtility.Create Reindeer=require(script:WaitForChild("\082\101\105\110\100\101\101\114"))BaseUrl="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061"BasePart=(Create("\080\097\114\116"))({Material=Enum.Material.Plastic;Shape=Enum.PartType.Block,TopSurface=Enum.SurfaceType.Smooth,BottomSurface=Enum.SurfaceType.Smooth;FormFactor=Enum.FormFactor.Custom;Size=Vector3.new(.2,.2,.2);CanCollide=true;Locked=true})Rate=.016666666666667 ToolEquipped=false Handle.Transparency=0 Tool.Enabled=true DisplayModel=Tool:FindFirstChild("\068\105\115\112\108\097\121\077\111\100\101\108")if DisplayModel then DisplayModel:Destroy()end function RayCast(l,g,c,N)local I=type(N)=="\116\097\098\108\101"and N or{N}return(game:GetService("\087\111\114\107\115\112\097\099\101")):FindPartOnRayWithIgnoreList(Ray.new(l,g.unit*(c or 999.999)),I)end function SpawnReindeer(l)for l,g in pairs(Tool:GetChildren())do if(g:IsA("\077\111\100\101\108")or g:IsA("\066\097\115\101\080\097\114\116"))and g~=Handle then g:Destroy()end end if not l then return end local g=Torso.CFrame local c=Reindeer:Clone()local N=c.Body local I=(Create("\087\101\108\100"))({Part0=Torso;Part1=N;C0=CFrame.new(-0.25,-0.3,-0.9),C1=CFrame.new(0,0,0),Parent=N})c.Parent=Tool local Y,o,h=RayCast(g.p,Vector3.new(0,-1,0),Torso.Size.Y*2,{Character})if Y then Torso.CFrame=g+Vector3.new(0,Torso.Size.Y/2+2.5,0)Torso.Velocity=Vector3.new(0,0,0)Torso.RotVelocity=Vector3.new(0,0,0)end end function CheckIfAlive()return(Character and(Character.Parent and(Humanoid and(Humanoid.Parent and(Humanoid.Health>0 and(Torso and(Torso.Parent and(Player and Player.Parent))))))))and true or false end function Equipped(l)Character=Tool.Parent Player=Players:GetPlayerFromCharacter(Character)Humanoid=Character:FindFirstChild("\072\117\109\097\110\111\105\100")Torso=Character:FindFirstChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116")if not CheckIfAlive()then return end ToolEquipped=true Spawn(function()SpawnReindeer(true)end)Handle.Transparency=1 end function Unequipped()SpawnReindeer(false)ToolEquipped=false Handle.Transparency=0 end SpawnReindeer(false)Tool.Equipped:connect(Equipped)Tool.Unequipped:connect(Unequipped)


Tool = script.Parent
Handle = Tool:WaitForChild("Handle")

Players = game:GetService("Players")
Debris = game:GetService("Debris")

RbxUtility = LoadLibrary("RbxUtility")
Create = RbxUtility.Create

Reindeer = require(script:WaitForChild("Reindeer"))

BaseUrl = "http://www.roblox.com/asset/?id="

BasePart = Create("Part"){
	Material = Enum.Material.Plastic,
	Shape = Enum.PartType.Block,
	TopSurface = Enum.SurfaceType.Smooth,
	BottomSurface = Enum.SurfaceType.Smooth,
	FormFactor = Enum.FormFactor.Custom,
	Size = Vector3.new(0.2, 0.2, 0.2),
	CanCollide = true,
	Locked = true,
}

Rate = (1 / 60)

ToolEquipped = false

Handle.Transparency = 0
Tool.Enabled = true

DisplayModel = Tool:FindFirstChild("DisplayModel")
if DisplayModel then
	DisplayModel:Destroy()
end

function RayCast(Position, Direction, MaxDistance, IgnoreList)
	local IgnoreList = ((type(IgnoreList) == "table" and IgnoreList) or {IgnoreList})
	return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position, Direction.unit * (MaxDistance or 999.999)), IgnoreList)
end

function SpawnReindeer(CreateNew)
	for i, v in pairs(Tool:GetChildren()) do
		if (v:IsA("Model") or v:IsA("BasePart")) and v ~= Handle then
			v:Destroy()
		end
	end
	if not CreateNew then
		return
	end
	local BeforeCFrame = Torso.CFrame
	local ReindeerCopy = Reindeer:Clone()
	local Body = ReindeerCopy.Body
	local TorsoWeld = Create("Weld"){
		Part0 = Torso,
		Part1 = Body,
		C0 = CFrame.new(-0.25, -0.3, -0.9),
		C1 = CFrame.new(0, 0, 0),
		Parent = Body
	}
	ReindeerCopy.Parent = Tool
	local RayHit, RayPos, RayNormal = RayCast(BeforeCFrame.p, Vector3.new(0, -1, 0), (Torso.Size.Y * 2), {Character})
	if RayHit then
		Torso.CFrame = (BeforeCFrame + Vector3.new(0, ((Torso.Size.Y / 2) + 2.5), 0))
		Torso.Velocity = Vector3.new(0, 0, 0)
		Torso.RotVelocity = Vector3.new(0, 0, 0)
	end
end

function CheckIfAlive()
	return (((Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Torso and Torso.Parent and Player and Player.Parent) and true) or false)
end

function Equipped(Mouse)
	Character = Tool.Parent
	Player = Players:GetPlayerFromCharacter(Character)
	Humanoid = Character:FindFirstChild("Humanoid")
	Torso = Character:FindFirstChild("HumanoidRootPart")
	if not CheckIfAlive() then
		return
	end
	ToolEquipped = true
	Spawn(function()
		SpawnReindeer(true)
	end)
	Handle.Transparency = 1
end

function Unequipped()
	SpawnReindeer(false)
	ToolEquipped = false
	Handle.Transparency = 0
end

SpawnReindeer(false)

Tool.Equipped:connect(Equipped)
Tool.Unequipped:connect(Unequipped)
