Quick actions

cmd+k|ctrl+k

Navigation

Languages

Mathrus

Snippet info

Language

Lua

Visibility

public

Author

caveirinhagames

Created

2024-12-25T02:49:10.185931Z

Updated

2024-12-25T21:51:20.023319Z

--[[
  __  __       _   _                    
 |  \/  |     | | | |                   
 | \  / | __ _| |_| |__  _ __ _   _ ___ 
 | |\/| |/ _` | __| '_ \| '__| | | / __|
 | |  | | (_| | |_| | | | |  | |_| \__ \
 |_|  |_|\__,_|\__|_| |_|_|   \__,_|___/
                                        
           (from M.UG.E.N)
          [Made by MrToostie]
        ___COPIA NÃO COMEDIA___
        	8===========D
]]


print("is this shit even working?")
-- Filemesh and IDs
local MATHRUS_MODEL = "rbxassetid://14053345635" -- mesh

-- General Variables
local player = "MrToostie"
local playerbin = game.Players[player]

local character = playerbin.Character
local humanoid = character:FindFirstChildOfClass("Humanoid")
local RunService = game:GetService("RunService")
local InsertService = game:GetService("InsertService")
humanoid.MaxHealth = 6000
humanoid.Health = humanoid.MaxHealth
character.Health:Destroy()
character.Animate:Destroy()
character.Head.face:Destroy()

local x1 = character:GetChildren()

script.Parent = workspace

-- // FUNCTIONS //

-- SFX
function playSFX(id, vol, pitch)
	local sound = Instance.new("Sound",character.Head)
	sound.SoundId = id
	sound.Volume = vol
	sound.PlaybackSpeed = pitch
	sound.PlayOnRemove = true
	sound:Destroy()
end
-- Creates the mathrus model because scripting for SB is a nightmare
local function CreateModel()
	-- Mesh
	humanoid.HipHeight = 1.5

	local torso = character:WaitForChild("Torso")
	local mesh = Instance.new("SpecialMesh")
	local mesh = InsertService:CreateMeshPartAsync(MATHRUS_MODEL, 0, Enum.RenderFidelity.Performance)
	-- mesh.MeshId = MATHRUS_MODEL
	mesh.Parent = character
	mesh.Size *= 2
	mesh.BrickColor = BrickColor.new("Really red")
	mesh.Anchored = false
	mesh.Material = Enum.Material.Mud
	mesh.Massless = true
	
	local rotationFix = CFrame.Angles(0, math.rad(180), 0) -- Rotação em 180 graus no eixo Y
	mesh.CFrame = torso.CFrame * rotationFix
	mesh.Parent = character
	-- Cria o Weld
	local weld = Instance.new("Weld")
	weld.Part0 = torso -- Parte base
	weld.Part1 = mesh -- Parte que será conectada
	weld.C0 = CFrame.new(0, 0, 0) -- Offset da posição (ajuste conforme necessário)
	weld.C1 = CFrame.Angles(0, math.rad(180), 0)
	weld.Parent = torso -- Weld precisa ser parented a uma das partes

	-- Torso Color
	local partcolor = character:WaitForChild("Body Colors")
	partcolor.TorsoColor = BrickColor.new("Really red")

	for i = 1,#x1 do
		if x1[i]:IsA("BasePart") and x1[i] ~= mesh then
			x1[i].Transparency = 1
		elseif x1[i].ClassName == "Accessory" then
			x1[i]:Destroy()
		end
	end

	-- Billboard gui
	local billboard = Instance.new("BillboardGui",torso)
	local TweenService = game:GetService("TweenService")
	billboard.Size = UDim2.new(20,0,20,0)
	billboard.AlwaysOnTop = true
	local frame = Instance.new("Frame",billboard)
	frame.Position = UDim2.new()
	frame.Size = UDim2.new(1, 0,1,0)
	frame.BackgroundTransparency = 1
	local image = Instance.new("ImageLabel", frame)
	image.Position = UDim2.new()
	image.Size = UDim2.new(1, 0,1,0)
	image.BackgroundTransparency = 1
	image.Image = "rbxassetid://97122400138426"

	-- Definindo as configurações do tween (animação)
	local rotationTweenInfo = TweenInfo.new(
		2,
		Enum.EasingStyle.Linear,
		Enum.EasingDirection.InOut,
		-1, 
		false 
	)

	-- Definindo a rotação final
	local goalRotation = {Rotation = 360} -- Rota a imagem 360 graus

	-- Criando o tween para a rotação
	local rotationTween = TweenService:Create(image, rotationTweenInfo, goalRotation)

	-- Iniciando o tween
	rotationTween:Play()
end

CreateModel()

-- Static
function static(length)
	local players = game:GetService("Players"):GetChildren()
	for x = 1,#players do
		local h = players[x]
		local drop = h.PlayerGui
		local static = Instance.new("ScreenGui")
		static.Name = "Static"
		static.IgnoreGuiInset = true
		local prex = drop:FindFirstChild("Static") 
		if prex == nil then
			static.Parent = drop
		elseif prex ~= static and humanoid.Health >= 1 then
			prex:Destroy()
		end

		local image = Instance.new("ImageLabel",static)
		local sound = Instance.new("Sound",static)
		sound.SoundId = "rbxassetid://170092034"
		sound.Looped = true
		sound.Volume = 0.5
		sound.PlaybackSpeed = 0.2
		image.ImageColor3 = Color3.new(1,0,0)
		sound:Play()
		image.BackgroundTransparency = 1
		image.Transparency = 0.8
		image.Size = UDim2.new(1,0,1,0)
		for i = 1,1*length do
			image.Image = "http://www.roblox.com/asset/?id=10218289720"
			RunService.Heartbeat:Wait()
			image.Image = "http://www.roblox.com/asset/?id=10218295778"
			RunService.Heartbeat:Wait()
			image.Image = "http://www.roblox.com/asset/?id=10218298795"
			RunService.Heartbeat:Wait()
			image.Image = "http://www.roblox.com/asset/?id=10218303689"
			RunService.Heartbeat:Wait()
			image.Image = "http://www.roblox.com/asset/?id=10218307266"
			RunService.Heartbeat:Wait()
			image.Image = "http://www.roblox.com/asset/?id=10218303689"
			RunService.Heartbeat:Wait()
			image.Image = "http://www.roblox.com/asset/?id=10218298795"
			RunService.Heartbeat:Wait()
			image.Image = "http://www.roblox.com/asset/?id=10218295778"
			RunService.Heartbeat:Wait()
		end
		static:Destroy()
	end 
end

-- IDK
humanoid.HealthChanged:connect(function()
	playSFX("rbxassetid://7074143771", 0.25, 1)
	humanoid.Health += 25
	for i = 1,2 do
		RunService.Heartbeat:Wait()
	end
	playSFX("rbxassetid://2184044761", 1, math.random(80,120)/100)
end)

humanoid.HealthChanged:connect(function()
	if math.random(1,1000) <= (250*1-250) and humanoid.Health >= 0 then
		static(math.random(1,15))
	end  
end)

humanoid.Died:connect(function()
	local death = Instance.new("Sound",workspace)
	death.SoundId = "rbxassetid://8781306293"
	death.PlayOnRemove = true
	death:Destroy()
	static(40)

end)


-- // ATTACKS //
function missilelaunch(pos)
	-- Criar o míssil
	playSFX("127072579333857", 10, 1)
	local missile = Instance.new("Part")
	missile.Size = Vector3.new(1, 1, 5)
	missile.Position = pos -- Posição ajustada para a cabeça
	missile.Anchored = false
	missile.CanCollide = true
	missile.BrickColor = BrickColor.new("Really red") -- Apenas para aparência
	missile.Name = "Missile"
	missile.Parent = workspace

	-- Adicionar um BodyVelocity para o movimento
	local bodyVelocity = Instance.new("BodyVelocity")
	bodyVelocity.MaxForce = Vector3.new(1e6, 1e6, 1e6) -- Força máxima para permitir movimento
	bodyVelocity.Velocity = Vector3.new(0, -50, 0) -- Velocidade para cair
	bodyVelocity.Parent = missile

	-- Detecção de colisão
	missile.Touched:Connect(function(hit)
		if hit and hit:IsDescendantOf(workspace) and hit.Name ~= "Missile" then
			-- Criar explosão
			local explosion = Instance.new("Explosion")
			explosion.Position = missile.Position
			explosion.BlastRadius = 10
			explosion.BlastPressure = 500000
			explosion.Parent = workspace

			-- Remover o míssil
			missile:Destroy()
		end
	end)
end

local CritsPlz = false

function crit(probability)
	if math.random(0,1000) <= probability and CritsPlz == true then
		return true
	else
		return false
	end
end

local doing_magic = false

--humanoid.Touched:connect(function(y)
--	local enemy = y.Parent:FindFirstChildOfClass("Humanoid")
--	if enemy ~= nil and enemy.Parent.Name ~= player then
--		enemy:TakeDamage(2)
--	end
--end)

local t_Rocket = Instance.new("Tool",playerbin.Backpack)
t_Rocket.Name = "Rocket"
t_Rocket.RequiresHandle = false

t_Rocket.Activated:Connect(function()
	if doing_magic == false then
		doing_magic = true
	end

	for i = 1,6 do

		local catch = workspace:GetChildren()
		local caught = {} 
		for x = 1,#catch do 
			if catch[x]:IsA("Model") and catch[x].Name ~= player then
				local hum = catch[x]:FindFirstChildOfClass("Humanoid")
				if hum	~= nil and hum.Health >= 1 and catch[x] ~= nil then
					if catch[x]:FindFirstChild("Head") ~= nil and math.abs((catch[x].Head.Position - character.Head.Position).Magnitude) <= 128 then --test
						--savedpos = catch[x].Head.Position
						table.insert(caught, catch[x].Head.Position)
					end
				end
			end
			task.wait(.3)
			for z = 1,#caught do
				local rand = math.random(-4,4)
				local rand2 = math.random(-4,4)
				missilelaunch(caught[z] + Vector3.new(rand,50,rand2))
			end
		end
		task.wait(.3)
	end
	doing_magic = false
end)

local t_Freeze = Instance.new("Tool",playerbin.Backpack)

t_Freeze.Name = "PK Freeze (150 PSI)"
t_Freeze.RequiresHandle = false
t_Freeze.Activated:Connect(function()
	if doing_magic == false then
		doing_magic = true
		playSFX("rbxassetid://13048879322",10,1)
		task.wait(1)
		playSFX("rbxassetid://13049208249",10,1)
		local e = Instance.new("Explosion",workspace)
		e.BlastRadius = 48
		e.Visible = false
		e.Position = character.Head.Position
		e.BlastPressure = 0
		e.Hit:Connect(function(part,distance)
			if distance <= 64 and part.Parent ~= character then
				local hum = part.Parent:FindFirstChildOfClass("Humanoid")
				if hum ~= nil then
					local ice = Instance.new("Part")
					ice.Name = "Ice"
					ice.Anchored = true
					part.Anchored = true
					ice.BrickColor = BrickColor.Blue()
					ice.Transparency = 0.5
					ice.Material = Enum.Material.Ice
					ice.CFrame = part.CFrame
					ice.Size = Vector3.new(6,8,6)
					ice.Parent = workspace
					task.wait(1.5)
					part.Anchored = false
					ice.Material = Enum.Material.Neon
					ice.Shape = 0
					ice.CanCollide = false
					if crit(4) == true then
						playSFX("rbxassetid://8789851536",5,1)
						hum:TakeDamage(math.huge) --instakill
					end
					for i = 1,15 do 
						RunService.Heartbeat:Wait()
						ice.Transparency = ice.Transparency + 0.5/15
						ice.Size = ice.Size + Vector3.new(2,2,2)
					end
					ice:Destroy()
					hum.PlatformStand = true
					hum:TakeDamage(45)
					task.wait(3)
					hum.PlatformStand = false
				end				
			end
		end)
		task.wait(2)
		doing_magic = false
	end
end)

function DamageHumanoids(range, damage, chance, part)
	local x = workspace:GetChildren()
	for i = 1,#x do
		if x[i]:IsA("Model") and x[i].Name ~= player then
			local hum = x[i]:FindFirstChildOfClass("Humanoid")
			if hum~= nil and hum.Parent:FindFirstChild("Head") ~= nil then
				if math.abs((hum.Parent.Head.Position - character.HumanoidRootPart.Position).Magnitude) <= range then 
					hum:TakeDamage(damage)
					if math.random(0,6) == 0 then
						hum.Sit = true
					end
					local velocity = math.random(50,200)
					local primary = nil
					if hum.Parent.PrimaryPart ~= nil then
						primary = hum.Parent.PrimaryPart
						primary.Velocity = CFrame.new(primary.Position,part.Position):vectorToWorldSpace(Vector3.new(0,velocity*0.66,velocity))
					else
						primary = hum.Parent.Head
						primary.Velocity = CFrame.new(primary.Position,character.Head.Position):vectorToWorldSpace(Vector3.new(0,velocity*0.66,velocity))
					end

					if crit(chance) == true then
						playSFX("rbxassetid://8789851536",5,1)
						if hum.Parent:FindFirstChild("Head") ~= nil then 
							hum:TakeDamage(math.huge)
						end 
					end 
				end
			end
		end
	end
end

t_GiygasAtk = Instance.new("Tool",playerbin.Backpack)
t_GiygasAtk.Name = "Giygas' Attack (1050 PSI)"
t_GiygasAtk.RequiresHandle = false
t_GiygasAtk.Activated:Connect(function()
	if doing_magic == false then
		doing_magic = true
		playSFX("rbxassetid://13048879322",10,1)
		task.wait(1)
		for i = 1,4 do
			playSFX("rbxassetid://13048892034",10,1.2)
			local ring = Instance.new("Part",workspace)
			ring.Position = character.HumanoidRootPart.Position
			ring.Anchored = true
			ring.CastShadow = false
			ring.CanCollide = false
			ring.Material = Enum.Material.Neon
			ring.Transparency = 0
			ring.Orientation = Vector3.new(90,0,0)
			ring.Size = Vector3.new(10,10,1)
			ring.BrickColor = BrickColor.new("Hot pink")
			local mesh = Instance.new("FileMesh",ring)
			mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
			DamageHumanoids(90, math.random(400,700), 9, ring)
			for i = 1,30 do
				RunService.Heartbeat:Wait()
				ring.Size = ring.Size + Vector3.new(3,3,3)
				mesh.Scale = mesh.Scale + Vector3.new(12,12,8)
				ring.Transparency = (1/30)*i
			end
			ring:Destroy()
		end
		task.wait(2)
		doing_magic = false
	end
end)

local jumped = false 
local secret = false
local secret_chance = 69 --69 by default
local aud_cutout = {"rbxassetid://372770465","rbxassetid://4810729995","rbxassetid://6276581181"}
local aud_prejump = {"rbxassetid://81813443362094","rbxassetid://2977012439","rbxassetid://1080611063"}
local tex_jumpscares = {"http://www.roblox.com/asset/?id=115801088146206","http://www.roblox.com/asset/?id=82106405989108","http://www.roblox.com/asset/?id=12937772942","http://www.roblox.com/asset/?id=1226143951"}

function KinderSurprise(hit)
	local hum = hit.Parent:FindFirstChildOfClass("Humanoid")
	if hum ~= nil and hit.Parent.Name ~= player and jumped == false then --and hit.Parent.Name ~= player
		jumped = true
		playSFX("rbxassetid://7322622109",5,1)
		wait(1)
		playSFX("rbxassetid://8789851536",5,1.3)
		hum.PlatformStand = true
		hum.Parent.PrimaryPart.Velocity = hum.Parent.PrimaryPart.CFrame.LookVector*100
		local unfortunate = game.Players:GetPlayerFromCharacter(hum.Parent)
		if game.Players:GetPlayerFromCharacter(hum.Parent) ~= nil then --Surprise jumpscare!
			local vox = Instance.new("Sound",unfortunate.PlayerGui)
			local jumpscare = Instance.new("ScreenGui",unfortunate.PlayerGui)

			jumpscare.Name = "HERE"
			jumpscare.Enabled = true
			jumpscare.IgnoreGuiInset = true

			local image = Instance.new("ImageLabel",jumpscare)
			print(image.Name .. " PRESENT! KENICHI!")
			image.Active = true
			image.Size = UDim2.new(1,0,1,0)

			local click = Instance.new("Sound",unfortunate.PlayerGui) 
			click.SoundId = "rbxassetid://7811669782"
			click.Volume = 10
			click:Play()

			image.Image = "rbxassetid://5202281"
			image.ImageColor3 = Color3.new(0,0,0)
			task.wait(.3)
			image.ImageColor3 = Color3.new(1,1,1)
			task.wait(.3)
			image.ImageColor3 = Color3.new(0,0,0)
			task.wait(.3)
			image.ImageColor3 = Color3.new(1,1,1)

			image.Image = "rbxassetid://1004290877"

			vox.SoundId = aud_cutout[math.random(1,#aud_cutout)]
			vox.Volume = 3
			vox:Play()

			wait(vox.TimeLength)

			click:Play()

			image.Image = "rbxassetid://8387197206"
			image.ImageColor3 = Color3.new(0,0,0)
			task.wait(.3)
			image.ImageColor3 = Color3.new(1,1,1)
			task.wait(.3)
			image.ImageColor3 = Color3.new(0,0,0)
			task.wait(.3)
			image.ImageColor3 = Color3.new(1,1,1)


			image.Image = "http://www.roblox.com/asset/?id=78918078"
			vox:Stop()
			vox.SoundId = aud_prejump[math.random(1,#aud_prejump)]
			vox.Volume = 5
			vox:Play()


			wait(vox.TimeLength)


			local screech = Instance.new("Sound",unfortunate.PlayerGui)

			screech.Volume = 2
			screech.Looped = true
			screech.SoundId = "rbxassetid://118513744676062"

			if math.random(0,1000) <= secret_chance then
				secret = true
				image.Image = "rbxassetid://3337575446"
			else
				image.Image = tex_jumpscares[ math.random(1,#tex_jumpscares) ]
				screech.SoundId = "rbxassetid://3337575446" --rbxassetid://8280196339
				screech.PlaybackSpeed = 4
			end

			screech:Play()

			for i = 1,(screech.TimeLength*8) do
				wait(0.125)
				image.ImageColor3 = Color3.new(1,0,0)
				wait(0.125)
				image.ImageColor3 = Color3.new(1,1,1)
			end

			click:Play()
			image.Image = "rbxassetid://5052905212"
			image.ImageColor3 = Color3.new(0,0,0)
			task.wait(.3)
			image.ImageColor3 = Color3.new(1,1,1)
			task.wait(.3)
			image.ImageColor3 = Color3.new(0,0,0)
			task.wait(.3)
			image.ImageColor3 = Color3.new(1,1,1)

			screech:Destroy()
			jumpscare.Enabled = false
		end
		if secret == false then
			hum:TakeDamage(math.random(0,2400))	
			hum.MaxHealth = hum.MaxHealth*0.66
		else
			hum.Health = hum.Health + 500
		end
		hum.PlatformStand = false
		playSFX("rbxassetid://4520789398",6,1)
		jumped = false
	end
end

local con_cool = false

t_Confusion = Instance.new("Tool",playerbin.Backpack)
t_Confusion.Name = "PK Trap (650 PSI)"
t_Confusion.RequiresHandle = false
t_Confusion.Activated:Connect(function()
	if doing_magic == false and con_cool == false then
		doing_magic = true
		con_cool = true
		playSFX("rbxassetid://13048879322",10,1)
		wait(1)
		game.Lighting.FogColor = Color3.fromRGB(0,0,0)
		for i = 1,30 do
			game.Lighting.FogEnd = (100000/2000)*(29-i) --100000 default
			RunService.Heartbeat:Wait()
		end
		local jumptrap = Instance.new("Part")
		jumptrap.Anchored = true
		jumptrap.CanCollide = false
		jumptrap.CastShadow = false
		jumptrap.Transparency = 0.9
		jumptrap.Size = Vector3.new(8,8,8)
		Instance.new("Sparkles",jumptrap).Color = Color3.new(0,0,0)
		playSFX("http://www.roblox.com/asset/?id=11956590",3,0.95)
		jumptrap.Material = Enum.Material.ForceField
		jumptrap.Shape = 0
		jumptrap.BrickColor = BrickColor.Black()
		jumptrap.Position = character.Head.Position
		jumptrap.Parent = workspace
		jumptrap.Touched:Connect(KinderSurprise)
		for i = 1,30 do
			game.Lighting.FogEnd = (100000/2000)*(i*5)  --100000 default
			RunService.Heartbeat:Wait()
		end
		doing_magic = false
		for i = 1,180*1 do
			RunService.Heartbeat:Wait()
			jumptrap.Transparency = math.cos(i/20)
			jumptrap.Position = character.Head.Position + Vector3.new(10*math.sin(i/40),0,10*math.cos(i/40))
		end
		for i = 1,15 do
			RunService.Heartbeat:Wait()
			jumptrap.Transparency = jumptrap.Transparency/i
			jumptrap.Size = jumptrap.Size - Vector3.new(0.4,0.4,0.4)
		end
		con_cool = false
		jumptrap:Destroy()
	end
end)

local savedpos = Vector3.new(0,0,0)

function strike(pos)
	local thunder = Instance.new("Part",workspace)
	thunder.Material = Enum.Material.Neon
	thunder.Size = Vector3.new(4,2000,4)
	Instance.new("CylinderMesh",thunder).Scale = Vector3.new(1,2,1)
	thunder.CanCollide = false
	thunder.CastShadow = false
	thunder.Anchored = true
	thunder.Position = pos

	local e = Instance.new("Explosion")
	e.BlastRadius = math.random(1,4)
	e.BlastPressure = 0
	e.Position = pos
	e.Visible = true
	e.Hit:Connect(function(hit)
		local hum = hit.Parent:FindFirstChildOfClass("Humanoid")
		if hum ~= nil and hit.Parent.Name ~= player then
			hum:TakeDamage(math.random(5,50))
			if crit(1) == true and hit.Parent.Name ~= player then
				playSFX("rbxassetid://8789851536",5,1)
				hum:TakeDamage(math.huge)
			end
		end
	end)
	e.Parent = workspace

	local sound = Instance.new("Sound",thunder)
	sound.Volume = 10
	sound.SoundId = "rbxassetid://13048892034"
	sound.PlayOnRemove = true
	sound:Destroy()

	for i = 1,2 do
		RunService.Heartbeat:Wait()
		if math.random(0,1) == 0 then
			thunder.BrickColor = BrickColor.White()
		else
			thunder.BrickColor = BrickColor.Yellow()			
		end
		thunder.Transparency = i/5
	end
	thunder:Destroy()

end

t_Thunder = Instance.new("Tool",playerbin.Backpack)
t_Thunder.RequiresHandle = false
t_Thunder.Name = "PK Thunder (450 PSI)"
t_Thunder.Activated:Connect(function()
	if doing_magic == false then
		doing_magic = true
		playSFX("rbxassetid://13048879322",10,1)

		for i = 1,6 do

			local catch = workspace:GetChildren()
			local caught = {} 
			for x = 1,#catch do 
				if catch[x]:IsA("Model") and catch[x].Name ~= player then
					local hum = catch[x]:FindFirstChildOfClass("Humanoid")
					if hum	~= nil and hum.Health >= 1 and catch[x] ~= nil then
						if catch[x]:FindFirstChild("Head") ~= nil and math.abs((catch[x].Head.Position - character.Head.Position).Magnitude) <= 128 then --test
							--savedpos = catch[x].Head.Position
							table.insert(caught, catch[x].Head.Position)
						end
					end
				end
			end	
			wait(0.3)
			for z = 1,#caught do
				local rand = math.random(-4,4)
				local rand2 = math.random(-4,4)
				strike(caught[z] + Vector3.new(rand,0,rand2))
			end
		end
		doing_magic = false
	end
end)

t_Rockin = Instance.new("Tool",playerbin.Backpack)
t_Rockin.RequiresHandle = false
t_Rockin.Name = "PSI Rockin ω (2000 PSI)"
t_Rockin.Activated:Connect(function()
	if doing_magic == false then
		doing_magic = true
		playSFX("rbxassetid://13048879322",10,1)
		wait(1)
		local s = Instance.new("Sound",character.PrimaryPart)
		s.SoundId = "rbxassetid://13048868272"
		s.Volume = 10
		s.PlayOnRemove = true
		s:Destroy()
		local bodyposition = Instance.new("BodyPosition",character.PrimaryPart)
		bodyposition.Position = character.PrimaryPart.Position + Vector3.new(0,60,0)
		--wait(5.5*(40/100))
		for i = 1,3 do
			local colors = {BrickColor.Blue(),BrickColor.Yellow(),BrickColor.Red()}

			local fx = Instance.new("Part")
			fx.Shape = 0
			fx.Anchored = true
			fx.CanCollide = false
			fx.CastShadow = false
			fx.Material = Enum.Material.Neon
			fx.Position = character.PrimaryPart.Position
			fx.Parent = workspace
			fx.BrickColor = colors[math.random(1,3)]
			for x = 1,33 do
				RunService.Heartbeat:Wait()
				fx.Transparency = x/20
				fx.Size = fx.Size + Vector3.new(3,3,3)
			end
			fx:Destroy()
		end	
		local ball = Instance.new("Part")
		ball.CanCollide = false
		ball.Shape = 0
		ball.Material = Enum.Material.Neon
		ball.Anchored = true
		ball.CastShadow = false
		ball.Position = character.PrimaryPart.Position
		ball.Parent = workspace
		for i = 1,170 do
			RunService.Heartbeat:Wait()
			ball.Size = ball.Size + Vector3.new(5,5,5)
			if math.random(0,2) == 1 then
				ball.BrickColor = BrickColor.Red()
			elseif math.random(0,2) == 2 then
				ball.BrickColor = BrickColor.Blue()
			else
				ball.BrickColor = BrickColor.Yellow()
			end
			ball.Transparency = i/200
			DamageHumanoids(i*5,math.random(5,25),3,ball)
		end
		ball:Destroy()
		bodyposition:Destroy()
		task.wait(1)
		doing_magic = false
	end
end)

t_Teleport = Instance.new("Tool",playerbin.Backpack)
t_Teleport.RequiresHandle = false
t_Teleport.Name = "PK Teleport β (100 PSI)"
t_Teleport.Activated:Connect(function()
	if doing_magic == false then
		doing_magic = true
		playSFX("rbxassetid://13048879322",10,1)
		task.wait(1)
		playSFX("rbxassetid://5909720414",4,0.9)
		character.PrimaryPart.CFrame = character.PrimaryPart.CFrame + character.PrimaryPart.CFrame.LookVector*math.random(0,128) --.new(math.random(0,196),30,math.random(0,196))
		task.wait(1)
		doing_magic = false
	end
end)

local s_cooldown = false

t_Shield = Instance.new("Tool",playerbin.Backpack)
t_Shield.RequiresHandle = false
t_Shield.Name = "PK Shield (150 PSI)"
t_Shield.Activated:Connect(function()
	if doing_magic == false and s_cooldown == false then
		doing_magic = true
		playSFX("rbxassetid://13048879322",10,1)
		task.wait(1)
		doing_magic = false
		s_cooldown = true
		local f = Instance.new("ForceField",character)
		f.Visible = false
		local fx = Instance.new("Part",character.PrimaryPart)
		fx.Position = character.PrimaryPart.Position
		fx.CanTouch = false
		fx.BrickColor = BrickColor.Red()
		fx.Size = Vector3.new(0.5,0.5,0.5)		
		fx.CanCollide = false
		fx.Massless = true
		local weld = Instance.new("WeldConstraint",fx)
		weld.Part1 = character.PrimaryPart
		weld.Part0 = fx
		fx.Shape = 0
		playSFX("rbxassetid://1158234981",10,1)
		fx.Material = Enum.Material.ForceField
		for i = 1,15 do
			RunService.Heartbeat:Wait()
			fx.Size = fx.Size + Vector3.new(1.5,1.5,1.5)
		end
		task.wait(2.5)
		for i = 1,15 do
			RunService.Heartbeat:Wait()
			fx.Size = fx.Size - Vector3.new(1.5,1.5,1.5)
		end
		s_cooldown = false
		fx:Destroy()
		f:Destroy()
	end
end)

t_Static = Instance.new("Tool",playerbin.Backpack)
t_Static.RequiresHandle = false
t_Static.Name = "Static"
t_Static.Activated:Connect(function()
	if doing_magic == false and s_cooldown == false then
		doing_magic = true
		static(20)
		task.wait(1)
		doing_magic = false
		s_cooldown = true
	end
end)
INFO