Star=script.Parent Players=game:GetService("\080\108\097\121\101\114\115")Debris=game:GetService("\068\101\098\114\105\115")Creator=Star:FindFirstChild("\099\114\101\097\116\111\114")HitSound=Star:FindFirstChild("\072\105\116")Stuck=false Damage=23 function IsHuntedVictim(g)return g:FindFirstChild("\078\105\110\106\097\077\097\115\107\079\102\083\104\097\100\111\119\115")end function TagHumanoid(g,h)local l=Instance.new("\079\098\106\101\099\116\086\097\108\117\101")l.Name="\099\114\101\097\116\111\114"l.Value=h Debris:AddItem(l,2)l.Parent=g end function UntagHumanoid(g)for g,h in pairs(g:GetChildren())do if h:IsA("\079\098\106\101\099\116\086\097\108\117\101")and h.Name=="\099\114\101\097\116\111\114"then h:Destroy()end end end function Stick(g,h)local l=Instance.new("\087\101\108\100")l.Part0=g l.Part1=h local V=CFrame.new(g.Position)l.C0=g.CFrame:inverse()*V l.C1=h.CFrame:inverse()*V l.Parent=g end function IsTeamMate(g,h)return g and(h and(not g.Neutral and(not h.Neutral and g.TeamColor==h.TeamColor)))end function Touched(g)if not g or not g.Parent or Stuck then return end local h=g.Parent if h:IsA("\072\097\116")or h:IsA("\084\111\111\108")then h=h.Parent end local l if Creator and(Creator.Value and(Creator.Value:IsA("\080\108\097\121\101\114")and Creator.Value.Character))then l=Creator.Value end if l and l.Character==h then return end local V=Players:GetPlayerFromCharacter(h)if l and(V and IsTeamMate(l,V))then return end Stuck=true Stick(Star,g)if HitSound then HitSound:Play()end local G=h:FindFirstChild("\072\117\109\097\110\111\105\100")if G and G.Health>0 then UntagHumanoid(G)if l then TagHumanoid(G,l)end G:TakeDamage(Damage*(IsHuntedVictim(h)and 2 or 1))end end Star.Touched:connect(Touched)
--Rescripted by Luckymaxer

Star = script.Parent

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

Creator = Star:FindFirstChild("creator")

HitSound = Star:FindFirstChild("Hit")

Stuck = false

Damage = 23

function IsHuntedVictim(character)
	return character:FindFirstChild("NinjaMaskOfShadows")
end

function TagHumanoid(humanoid, player)
	local Creator_Tag = Instance.new("ObjectValue")
	Creator_Tag.Name = "creator"
	Creator_Tag.Value = player
	Debris:AddItem(Creator_Tag, 2)
	Creator_Tag.Parent = humanoid
end

function UntagHumanoid(humanoid)
	for i, v in pairs(humanoid:GetChildren()) do
		if v:IsA("ObjectValue") and v.Name == "creator" then
			v:Destroy()
		end
	end
end

function Stick(Object, Hit)
	local Weld = Instance.new("Weld")
	Weld.Part0 = Object
	Weld.Part1 = Hit
	local HitCFrame = CFrame.new(Object.Position)
	Weld.C0 = Object.CFrame:inverse() * HitCFrame
	Weld.C1 = Hit.CFrame:inverse() * HitCFrame
	Weld.Parent = Object
end

function IsTeamMate(Player1, Player2)
	return (
		Player1
		and Player2
		and not Player1.Neutral
		and not Player2.Neutral
		and Player1.TeamColor == Player2.TeamColor
	)
end

function Touched(Hit)
	if not Hit or not Hit.Parent or Stuck then
		return
	end
	local character = Hit.Parent
	if character:IsA("Hat") or character:IsA("Tool") then
		character = character.Parent
	end
	local CreatorPlayer
	if Creator and Creator.Value and Creator.Value:IsA("Player") and Creator.Value.Character then
		CreatorPlayer = Creator.Value
	end
	if CreatorPlayer and CreatorPlayer.Character == character then
		return
	end
	local player = Players:GetPlayerFromCharacter(character)
	if CreatorPlayer and player and IsTeamMate(CreatorPlayer, player) then
		return
	end
	Stuck = true
	Stick(Star, Hit)
	if HitSound then
		HitSound:Play()
	end
	local humanoid = character:FindFirstChild("Humanoid")
	if humanoid and humanoid.Health > 0 then
		UntagHumanoid(humanoid)
		if CreatorPlayer then
			TagHumanoid(humanoid, CreatorPlayer)
		end
		humanoid:TakeDamage(Damage * ((IsHuntedVictim(character) and 2) or 1))
	end
end

Star.Touched:connect(Touched)
