Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- [ GlitchMaster ] --
- -- [ Cucumber Quest ] --
- wait()
- LoudVolume = false
- Music = true
- script.Name = "GlitchMaster"
- Player = game.Players.LocalPlayer
- c = game.Players.LocalPlayer.Character
- Head = c.Head
- anim = c.Humanoid.Animator
- rage = false
- Battle = false
- p = game.Players.LocalPlayer
- Music = false
- PhaseEnabled = true
- TeleportEnabled = true
- c.Archivable = true
- WholeBody = c:clone()
- local Effects = {}
- attack = false
- local attacking = false
- vt = Vector3.new
- bc = BrickColor.new
- br = BrickColor.random
- it = Instance.new
- cf = CFrame.new
- euler = CFrame.fromEulerAnglesXYZ
- angles = CFrame.Angles
- matr = math.random
- mouse = Player:GetMouse()
- local S10 = Instance.new("Sound") local S11 = Instance.new("ParticleEmitter")
- c.Humanoid.WalkSpeed = 24 c.Humanoid.JumpPower = 50
- RSC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- RSC1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- LSC0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- LSC1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- RHC0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- RHC1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- LHC0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- LHC1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- NC0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- NC1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- RJC0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- RJC1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- RS = c.Torso:FindFirstChild("Right Shoulder")
- LS = c.Torso:FindFirstChild("Left Shoulder")
- RH = c.Torso:FindFirstChild("Right Hip")
- LH = c.Torso:FindFirstChild("Left Hip")
- RJ = c.HumanoidRootPart:FindFirstChild("RootJoint")
- N = c.Torso:FindFirstChild("Neck")
- cf = CFrame.new
- ang = CFrame.Angles
- rd = math.rad
- rd2 = math.random
- function swait(num)
- if num==0 or num==nil then
- game:service'RunService'.Heartbeat:wait(0)
- else
- for i=0,num do
- game:service'RunService'.Heartbeat:wait(0)
- end
- end
- end
- function AnimDis()
- if c.Animate.Disabled == false then
- c.Animate.Disabled = true
- anim.Parent = nil
- else
- anim.Parent = c.Humanoid
- c.Animate.Disabled = false
- end
- end
- function lerpz(joint, prop, cfrmz, alp)
- joint[prop] = joint[prop]:lerp(cfrmz, alp)
- end
- function resetlerp()
- RJ.C0 = RJC0
- RJ.C1 = RJC1
- N.C0 = NC0
- N.C1 = NC1
- RS.C0 = RSC0
- RS.C1 = RSC1
- LS.C0 = LSC0
- LS.C1 = LSC1
- RH.C0 = RHC0
- RH.C1 = RHC1
- LH.C0 = LHC0
- LH.C1 = LHC1
- end
- game:GetService('UserInputService').InputBegan:connect(function(InputObj)
- if InputObj.KeyCode == Enum.KeyCode.Slash then
- local finishEvent = nil
- isTyping = true
- finishEvent = game:GetService('UserInputService').InputBegan:connect(function(InputObj)
- if InputObj.KeyCode == Enum.KeyCode.Return or InputObj.UserInputType == Enum.UserInputType.MouseButton1 then
- isTyping = false
- finishEvent:disconnect()
- end
- end)
- end
- end)
- function VirusDestroy(H)
- spawn(function()
- for i = 1,1000 do
- H.Transparency = H.Transparency + 1/1000
- swait()
- end
- game.Debris:AddItem(H,3)H.Anchored = true
- end)
- end
- function HitInfect(Part)
- Part.Touched:connect(function(Hit)
- if Hit.Size.Y <= 30 and Hit.Size.X <= 30 and Hit.Size.Z <= 30 and Hit.Transparency < 1 and Hit:findFirstChild("Glitch")== nil and Hit.Parent ~= c then
- local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play()
- Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black") HitInfect(Hit) VirusDestroy(Hit)
- for i = 1,2 do
- local tra = S11:clone() tra.Parent = Hit
- tra.Texture = "rbxassetid://744949545"
- tra.LightEmission = 0
- if i == 1 then
- tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
- tra.ZOffset = 2.5
- else
- tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
- tra.ZOffset = 3
- end
- local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20
- tra.Lifetime = NumberRange.new(1,3)
- tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize,0),NumberSequenceKeypoint.new(1,0,0)})
- tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
- tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch"
- tra.LockedToPart = true
- tra.Rate = 15
- tra.VelocityInheritance = 0.2
- if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then
- if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then
- Hit.Mesh.TextureId = "rbxassetid://64619306"
- end
- elseif Hit.Name ~= "Head" then
- local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
- M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2)
- end
- end
- end
- end)
- end
- function Virusify(Hit)
- local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play()
- Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black")
- for i = 1,2 do
- local tra = S11:clone() tra.Parent = Hit
- tra.Texture = "rbxassetid://744949545"
- tra.LightEmission = 0
- if i == 1 then
- tra.Name = "Glitch"
- tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
- tra.ZOffset = 2.5
- else
- tra.Name = "Glitch2"
- tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
- tra.ZOffset = 3
- end
- local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20
- tra.Lifetime = NumberRange.new(1,3)
- tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize*0.75,0),NumberSequenceKeypoint.new(1,0,0)})
- tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
- tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360
- tra.LockedToPart = true
- tra.Rate = 15+(Hit.Size.Y+Hit.Size.X+Hit.Size.Z)*5
- tra.VelocityInheritance = 0.2
- if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then
- if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then
- Hit.Mesh.TextureId = "rbxassetid://64619306"
- end
- elseif Hit.Name ~= "Head" then
- local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
- M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2)
- end
- end
- end
- function Virusify2(Hit)
- Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black")
- for i = 1,2 do
- local tra = S11:clone() tra.Parent = Hit
- tra.Texture = "rbxassetid://744949545"
- tra.LightEmission = 0
- if i == 1 then
- tra.Name = "Glitch"
- tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
- tra.ZOffset = 2.5
- else
- tra.Name = "Glitch2"
- tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
- tra.ZOffset = 3
- end
- local PSize = (Hit.Size.Y)/4
- tra.Lifetime = NumberRange.new(0.5)
- tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,1,0),NumberSequenceKeypoint.new(1,0,0)})
- tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
- tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360
- tra.LockedToPart = true
- tra.Rate = 50
- tra.VelocityInheritance = 0.2
- if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then
- if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then
- Hit.Mesh.TextureId = "rbxassetid://64619306"
- end
- elseif Hit.Name ~= "Head" then
- local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
- M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2)
- end
- end
- end
- function Virusify3(Hit)
- local S = S10:clone() S.Parent = Hit S.Volume = 0.1 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play()
- Hit.Material = "Sand" Hit.BrickColor = BrickColor.new("Really black")
- for i2 = 1,2 do
- for i = 1,2 do
- local tra = S11:clone() tra.Parent = Hit
- tra.Texture = "rbxassetid://744949545"
- tra.LightEmission = 0
- if i == 1 then
- tra.Name = "Glitch"
- tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
- tra.ZOffset = 2.5
- else
- tra.Name = "Glitch2"
- tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
- tra.ZOffset = 3
- end
- if i2 == 1 then
- tra.LockedToPart = true
- else
- tra.LockedToPart = false
- end
- local PSize = (Hit.Size.Y+Hit.Size.X+Hit.Size.Z)/20
- tra.Lifetime = NumberRange.new(1,3)
- tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,PSize*0.75,0),NumberSequenceKeypoint.new(1,0,0)})
- tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
- tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360
- tra.Rate = 35+(Hit.Size.Y+Hit.Size.X+Hit.Size.Z)*5
- tra.VelocityInheritance = 0.2
- if Hit:findFirstChild("Mesh") and Hit.Name ~= "Head" then
- if Hit:findFirstChild("Mesh"):IsA("SpecialMesh") then
- Hit.Mesh.TextureId = "rbxassetid://64619306"
- end
- elseif Hit.Name ~= "Head" then
- local M = Instance.new("SpecialMesh",Hit)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
- M.Scale = Vector3.new(Hit.Size.X*2,Hit.Size.Y*2,Hit.Size.Z*2)
- end
- end
- end
- end
- local S = Instance.new("Sound",c.HumanoidRootPart)S.Volume = 0.4 S.SoundId = "rbxassetid://606774093" S.Looped = true S:Play()
- for i,v in pairs(c:children()) do
- if v.ClassName == "Accessory" then
- v:remove()
- end
- end
- if c:findFirstChild("Body Colors") then
- c:findFirstChild("Body Colors"):remove()
- end
- for i,v in pairs (c:children()) do
- if v.ClassName == "Part" then
- if v.Name ~= "HumanoidRootPart" then
- HitInfect(v)
- v.Material = "Sand" v.BrickColor = BrickColor.new("Really black")
- for i2 = 1,2 do
- for i = 1,2 do
- local tra = S11:clone() tra.Parent = v
- tra.Texture = "rbxassetid://744949545"
- tra.LightEmission = 0
- if i == 1 then
- tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
- tra.ZOffset = 2.5
- else
- tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
- tra.ZOffset = 3
- end
- tra.Rate = 15
- tra.Lifetime = NumberRange.new(1,3)
- tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,0.15,0),NumberSequenceKeypoint.new(1,0,0)})
- tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
- tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch"
- if i2 == 1 then
- tra.LockedToPart = true
- tra.Rate = 10
- else
- tra.LockedToPart = false
- tra.ZOffset = tra.ZOffset - 2.25
- end
- tra.VelocityInheritance = 0.2
- end
- if v.Name ~= "Head" then
- local M = Instance.new("SpecialMesh",v)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
- M.Scale = Vector3.new(v.Size.X*2,v.Size.Y*2,v.Size.Z*2)
- end
- end
- end
- end
- end
- c.Head.Transparency = 1
- local P = Instance.new("Part",c)P.Size = Vector3.new(1,1,1)P.Anchored = false P.CanCollide = false P.Name = "HeadPart"
- local W = Instance.new("Weld",P)W.Part0 = P W.Part1 = c.Head
- local HM = Instance.new("SpecialMesh",P)HM.MeshId = "rbxassetid://539723444" HM.TextureId = "rbxassetid://64619306" HM.Scale = Vector3.new(0.97,0.97,0.97)
- wait()
- c.Head:FindFirstChild("face").Texture = ""
- if c:findFirstChild("Shirt")~=nil then
- c:findFirstChild("Shirt"):remove()
- end
- if c:findFirstChild("Pants")~=nil then
- c:findFirstChild("Pants"):remove()
- end
- local flying = false
- local deb = true
- local ctrl = {f = 0, b = 0, l = 0, r = 0}
- local lastctrl = {f = 0, b = 0, l = 0, r = 0}
- local maxspeed = 25
- local speed = 0
- function Fly()
- local bg = Instance.new("BodyGyro", c.HumanoidRootPart)
- bg.P = 100000 bg.D = 100
- bg.maxTorque = Vector3.new(math.huge, 0, math.huge)
- bg.cframe = c.HumanoidRootPart.CFrame
- local bv = Instance.new("BodyVelocity", c.HumanoidRootPart)
- bv.velocity = Vector3.new(0,0.1,0)
- bv.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- repeat wait()
- c.Humanoid.PlatformStand = true
- if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then
- speed = speed+1+(speed/maxspeed)
- if speed > maxspeed then
- speed = maxspeed
- end
- elseif not (ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0) and speed ~= 0 then
- speed = speed-1
- if speed < 0 then
- speed = 0
- end
- end
- if (ctrl.l + ctrl.r) ~= 0 or (ctrl.f + ctrl.b) ~= 0 then
- bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (ctrl.f+ctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
- lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r}
- elseif (ctrl.l + ctrl.r) == 0 and (ctrl.f + ctrl.b) == 0 and speed ~= 0 then
- bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (lastctrl.f+lastctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(lastctrl.l+lastctrl.r,(lastctrl.f+lastctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
- else
- bv.velocity = Vector3.new(0,0.1,0)
- end
- until not flying
- ctrl = {f = 0, b = 0, l = 0, r = 0}
- lastctrl = {f = 0, b = 0, l = 0, r = 0}
- speed = 0
- bv:Destroy()
- c.Humanoid.PlatformStand = false
- end
- Cloud = false
- function CloudForm()
- if Cloud == false then
- S.Volume = 1
- attack = true Cloud = true
- for i = 1,10 do
- lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
- lerpz(N, "C0", NC0 * cf(0, 0, -1) * ang(rd(0), rd(0), rd(0)), 0.1)
- lerpz(RS, "C0", RSC0 * cf(0, 0, -2) * ang(rd(0), rd(0), rd(0)), 0.1)
- lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
- lerpz(LS, "C0", LSC0 * cf(0, 0, -2) * ang(rd(0), rd(0), rd(0)), 0.1)
- lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
- lerpz(RH, "C0", RHC0 * cf(0, 2.2, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
- lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
- lerpz(LH, "C0", LHC0 * cf(0, 2.2, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
- lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.1)
- swait()
- end
- lerpz(RJ, "C0", RJC0 * cf(0, 0, 2500) * ang(rd(0), rd(0), rd(0)), 1)
- local Cl = Instance.new("Part",c)Cl.Size = Vector3.new(10,10,10) Cl.CanCollide = false Cl.Anchored = false Cl.CFrame = c.HumanoidRootPart.CFrame
- Cl.CustomPhysicalProperties = PhysicalProperties.new(0,0.3,0.5)
- Cl.Material = "Sand" Cl.BrickColor = BrickColor.new("Really black") Cl.Name = "Cloud"
- HitInfect(Cl)
- for i2 = 1,2 do
- for i = 1,2 do
- local tra = S11:clone() tra.Parent = CL
- tra.Texture = "rbxassetid://744949545"
- tra.LightEmission = 0
- if i == 1 then
- tra.Color = ColorSequence.new(Color3.new(0/255,255/255,0/255))
- tra.ZOffset = 2.5
- else
- tra.Color = ColorSequence.new(Color3.new(0/255,0/255,0/255))
- tra.ZOffset = 3
- end
- tra.Lifetime = NumberRange.new(1,3)
- tra.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.1,1,0),NumberSequenceKeypoint.new(1,0,0)})
- tra.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
- tra.Speed = NumberRange.new(0.5) tra.VelocitySpread = 360 tra.Name = "Glitch"
- if i2 == 1 then
- tra.LockedToPart = true
- tra.Speed = NumberRange.new(0.5)
- else
- tra.LockedToPart = false
- tra.Speed = NumberRange.new(4)
- end
- tra.Rate = 250
- tra.VelocityInheritance = 0.2
- end
- end
- local W = Instance.new("Weld",c.HumanoidRootPart)W.Part0 = c.HumanoidRootPart W.Part1 = Cl
- local M = Instance.new("SpecialMesh",Cl)M.MeshId = "rbxassetid://9856898" M.TextureId = "rbxassetid://64619306"
- for i = 1,80 do
- M.Scale = Vector3.new(i/4,i/4,i/4)
- c.HumanoidRootPart.CFrame = c.HumanoidRootPart.CFrame*CFrame.new(0,3,0)
- swait()
- end
- flying = true attack = false
- Fly()
- else
- attack = true S.Volume = 0.4
- if c:findFirstChild("Cloud") ~= nil then
- lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1)
- if c.HumanoidRootPart:findFirstChild("Smile")~= nil then
- for i = 1,20 do
- c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency = c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency + 0.05
- swait()
- end
- c.HumanoidRootPart.Smile:remove()
- end
- for i,v in pairs(c:findFirstChild("Cloud"):children()) do
- if v.Name == "Glitch" then
- v.Enabled = false
- end
- end
- for i = 1,80 do
- c:findFirstChild("Cloud").Mesh.Scale = c:findFirstChild("Cloud").Mesh.Scale - Vector3.new(0.25,0.25,0.25)
- swait()
- end
- game.Debris:AddItem(c:findFirstChild("Cloud"),2)
- Cloud = false end flying = false
- wait(2)
- attack = false
- end
- end
- function CloudFace()
- if c.HumanoidRootPart:findFirstChild("Smile")~= nil then
- for i = 1,20 do
- c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency = c.HumanoidRootPart.Smile.ImageLabel.ImageTransparency + 0.05
- swait()
- end
- c.HumanoidRootPart.Smile:remove()
- else
- local BillBoard = Instance.new("BillboardGui",c.HumanoidRootPart)BillBoard.Name = "Smile" BillBoard.AlwaysOnTop = true BillBoard.Size = UDim2.new(10,0,10,0)
- local Im = Instance.new("ImageLabel",BillBoard) Im.BackgroundTransparency = 1 Im.Size = UDim2.new(1,0,1,0)Im.Image = "rbxassetid://915081021"
- end
- end
- function VirusExplosion(Pos)
- for i = 1,10 do
- for i2 = 1,8 do
- local V = Instance.new("Part")V.Size = Vector3.new(1+i*20,0.5,10)V.Anchored = true V.CanCollide = false
- V.CFrame = Pos*CFrame.Angles(0,math.rad(45*i2),0) Virusify2(V) VirusFade(V)
- V.CFrame = V.CFrame*CFrame.new(0,3,2*i)HitInfect(V) V.Parent = game.Workspace
- end
- swait()
- end
- end
- function VirusFade(H)
- spawn(function()
- for i = 1,10 do
- H.Transparency = H.Transparency + 1/10
- swait()
- end
- H:findFirstChild("Glitch").Enabled = false H:findFirstChild("Glitch2").Enabled = false
- game.Debris:AddItem(H,0.2)
- end)
- end
- function VirusFade2(H)
- spawn(function()
- for i = 1,25 do
- H.Transparency = H.Transparency + 1/25
- swait()
- end
- H:findFirstChild("Glitch").Enabled = false H:findFirstChild("Glitch2").Enabled = false
- game.Debris:AddItem(H,4)
- end)
- end
- function HammerSlam()
- c.HumanoidRootPart.Anchored = true
- attack = true
- AnimDis()
- for i = 1,15 do
- lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.2)-- Y, X, Z
- lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.2) -- Y, X, Z
- lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(65)), 0.2) -- Z, X, Y
- lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(-65)), 0.2) -- Z, X, Y
- lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.2)
- lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.2)
- swait()
- end
- local H = Instance.new("Part",c)H.Size = Vector3.new(1,1,15)H.CanCollide = false
- local H2 = Instance.new("Part",c)H2.Size = Vector3.new(5,10,5)H2.CanCollide = false
- local W = Instance.new("Weld",c["Torso"])W.Part0 = c["Torso"] W.Part1 = H W.C0 = CFrame.new(0,-2,0)
- local W2 = Instance.new("Weld",H2)W2.Part0 = H2 W2.Part1 = H W2.C0 = CFrame.new(0,0,-4)
- Virusify(H) Virusify(H2)HitInfect(H)HitInfect(H2)
- for i = 1,45 do
- W.C0 = CFrame.new(0,2,4)*CFrame.Angles(math.rad(5),0,0)
- lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(-20), rd(0), rd(0)), 0.2)-- Y, X, Z
- lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(-20), rd(0), rd(0)), 0.2) -- Y, X, Z
- lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(220)), 0.2) -- Z, X, Y
- lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(-220)), 0.2) -- Z, X, Y
- lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.2)
- lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.2)
- swait()
- end
- W.C0 = CFrame.new(0,3,-8)*CFrame.Angles(math.rad(200),0,0)
- for i = 1,15 do
- lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.5)-- Y, X, Z
- lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(20), rd(0), rd(0)), 0.5) -- Y, X, Z
- lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(45), rd(65)), 0.5) -- Z, X, Y
- lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(-45), rd(-65)), 0.5) -- Z, X, Y
- lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(45)), 0.5)
- lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(-45)), 0.5)
- swait()
- end
- local S = Instance.new("Sound",H2)S.Volume = 2 S.SoundId = "rbxassetid://211062246" S:Play()
- for i = 1,45 do
- for i2 = 1,8 do
- local V = Instance.new("Part")V.Size = Vector3.new(10+i*4,1,10)V.Anchored = true V.CanCollide = false
- V.CFrame = H2.CFrame*CFrame.Angles(0,math.rad(45*i2),0) Virusify2(V) VirusFade(V)
- V.CFrame = V.CFrame*CFrame.new(0,3,5*i)HitInfect(V) V.Parent = game.Workspace
- end
- swait()
- end
- H.Anchored = true H2.Anchored = true
- W:remove() W2:remove()
- c.HumanoidRootPart.Anchored = false
- AnimDis()
- attack = false
- spawn(function()
- wait(3) H.Transparency = 1 H2.Transparency = 1
- H:findFirstChild("Glitch").Enabled = false H2:findFirstChild("Glitch").Enabled = false
- H:findFirstChild("Glitch2").Enabled = false H2:findFirstChild("Glitch2").Enabled = false
- game.Debris:AddItem(H,4) game.Debris:AddItem(H2,4)
- end)
- end
- function Missiles()
- attack = true
- local Mis = Instance.new("Part",game.Workspace)Mis.Name = "GlitchMissle" Mis.Size = Vector3.new(2,2,12) Mis.CFrame = c.HumanoidRootPart.CFrame Virusify3(Mis)
- Mis.CFrame = CFrame.new(Mis.CFrame:toWorldSpace(CFrame.new(0,0,0)).p,mouse.hit.p+Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)))
- Mis.CanCollide = false local BV = Instance.new("BodyVelocity",Mis)BV.Velocity = Mis.CFrame.lookVector*150 BV.maxForce = Vector3.new(math.huge,math.huge,math.huge)
- local hit = false
- Mis.Touched:connect(function(Hit)
- if Hit.Parent ~= c then
- if hit == false then hit = true
- Mis.Anchored = true VirusFade2(Mis)
- VirusExplosion(CFrame.new(Mis.Position))
- end
- end
- end)
- wait(0.1)
- attack = false
- end
- mouse.KeyDown:connect(function(key)
- if c.Humanoid.Health <= 0 then return end
- if attack == true then return end
- if Cloud == true then
- if key == "f" then
- CloudFace()
- end
- if key == "z" then
- Missiles()
- end
- elseif Cloud == false then
- if key == "z" then
- HammerSlam()
- end
- end
- if key == "m" then
- CloudForm()
- end
- end)
- local LastPos = c.HumanoidRootPart.CFrame
- local Resetting = false
- function Reset()
- if Resetting == false then Resetting = true
- c.Parent = nil
- c.Humanoid.Health = math.huge c.Humanoid.MaxHealth = math.huge
- for i,v in pairs(c:children()) do if v.ClassName == "Part" then v:remove() end end
- local Tors = Instance.new("Part",c)Tors.Name = "Torso" Tors.Size = Vector3.new(2,2,1) Virusify(Tors)
- local Hed = Instance.new("Part",c)Hed.Name = "Head" Hed.Size = Vector3.new(2,1,1) Virusify(Hed) Hed.Transparency = 1
- makejoint(c.Torso, NC0, NC1, c.Torso, c.Head, "Neck")
- local Hum = Instance.new("Part",c)Hum.Name = "HumanoidRootPart" Hum.Size = Vector3.new(2,2,1) Hum.Transparency = 1
- makejoint(c.HumanoidRootPart, RJC0, RJC1, c.HumanoidRootPart, c.Torso, "RootJoint")
- local P = Instance.new("Part",c)P.Size = Vector3.new(1,1,1)P.Anchored = false P.CanCollide = false P.Name = "HeadPart"
- local W = Instance.new("Weld",P)W.Part0 = P W.Part1 = c.Head
- local HM = Instance.new("SpecialMesh",P)HM.MeshId = "rbxassetid://539723444" HM.TextureId = "rbxassetid://64619306" HM.Scale = Vector3.new(0.97,0.97,0.97)
- local RiArm = Instance.new("Part",c)RiArm.Name = "Right Arm" RiArm.Size = Vector3.new(1,2,1) Virusify(RiArm)
- makejoint(c.Torso, RSC0, RSC1, c.Torso, RiArm, "Right Shoulder")
- local LeArm = Instance.new("Part",c)LeArm.Name = "Left Arm" LeArm.Size = Vector3.new(1,2,1) Virusify(LeArm)
- makejoint(c.Torso, LSC0, LSC1, c.Torso, LeArm, "Left Shoulder")
- local RiLeg = Instance.new("Part",c)RiLeg.Name = "Right Leg" RiLeg.Size = Vector3.new(1,2,1) Virusify(RiLeg)
- makejoint(c.Torso, RHC0, RHC1, c.Torso, RiLeg, "Right Hip")
- local LeLeg = Instance.new("Part",c)LeLeg.Name = "Left Leg" LeLeg.Size = Vector3.new(1,2,1) Virusify(LeLeg)
- makejoint(c.Torso, LHC0, LHC1, c.Torso, LeLeg, "Left Hip")
- c.HumanoidRootPart.CFrame = LastPos*CFrame.new(math.random(-5,5),0,math.random(-5,5))
- Resetting = false c.Humanoid.Died:connect(Reset) c.Parent = game.Workspace
- end
- end
- c.Humanoid.Died:connect(Reset)
- function onKeyPress(inputObject, gameProcessedEvent)
- if isTyping == true then return end
- if inputObject.KeyCode == Enum.KeyCode.W then ctrl.f = 1 end
- if inputObject.KeyCode == Enum.KeyCode.S then ctrl.b = -1 end
- if inputObject.KeyCode == Enum.KeyCode.A then ctrl.l = -1 end
- if inputObject.KeyCode == Enum.KeyCode.D then ctrl.r = 1 end
- end
- game:GetService("UserInputService").InputBegan:connect(onKeyPress)
- function onKeyLift(inputObject, gameProcessedEvent)
- if isTyping == true then return end
- if inputObject.KeyCode == Enum.KeyCode.W then ctrl.f = 0 end
- if inputObject.KeyCode == Enum.KeyCode.S then ctrl.b = 0 end
- if inputObject.KeyCode == Enum.KeyCode.A then ctrl.l = 0 end
- if inputObject.KeyCode == Enum.KeyCode.D then ctrl.r = 0 end
- end
- game:GetService("UserInputService").InputEnded:connect(onKeyLift)
- WholeBody = c:clone()
- function makejoint(paren, co, ci, parto, parti, nam)local gloo = Instance.new("Motor6D")gloo.Name = nam gloo.C0 = co gloo.C1 = ci gloo.Part0 = parto gloo.Part1 = parti gloo.Parent = paren end
- idletime = 0
- sine = 0
- game:GetService("RunService").RenderStepped:connect(function()
- c.Humanoid.MaxHealth = c.Humanoid.MaxHealth + math.huge c.Humanoid.Health = c.Humanoid.Health + math.huge
- if Resetting == false then
- if c:findFirstChild("Head")== nil or c:findFirstChild("Torso")== nil or c:findFirstChild("HumanoidRootPart")== nil or c.HumanoidRootPart:findFirstChild("RootJoint")== nil then
- Reset()
- else
- LastPos = c.HumanoidRootPart.CFrame
- end
- if c.Torso:findFirstChild("Right Shoulder") == nil or c:findFirstChild("Right Arm")== nil then print("RA")
- local BodyPart = Instance.new("Part",c)BodyPart.Name = "Right Arm" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart)
- makejoint(c.Torso, RSC0, RSC1, c.Torso, BodyPart, "Right Shoulder")
- end
- if c.Torso:findFirstChild("Left Shoulder") == nil or c:findFirstChild("Left Arm")== nil then print("LA")
- local BodyPart = Instance.new("Part",c)BodyPart.Name = "Left Arm" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart)
- makejoint(c.Torso, LSC0, LSC1, c.Torso, BodyPart, "Left Shoulder")
- end
- if c.Torso:findFirstChild("Right Hip") == nil or c:findFirstChild("Right Leg")== nil then print("RL")
- local BodyPart = Instance.new("Part",c)BodyPart.Name = "Right Leg" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart)
- makejoint(c.Torso, RHC0, RHC1, c.Torso, BodyPart, "Right Hip")
- end
- if c.Torso:findFirstChild("Left Hip") == nil or c:findFirstChild("Left Leg")== nil then print("LL")
- local BodyPart = Instance.new("Part",c)BodyPart.Name = "Left Leg" BodyPart.Size = Vector3.new(1,2,1) Virusify(BodyPart)
- makejoint(c.Torso, LHC0, LHC1, c.Torso, BodyPart, "Left Hip")
- end
- local r = math.random(1,15)
- if r == 1 then S.PlaybackSpeed = math.random(1,50)/10 end
- if attack == false and Cloud == false then
- local r2 = math.random(1,50)
- if r2 == 1 then
- lerpz(RJ, "C0", RJC0 * cf(math.random(-5,5)/10, math.random(-5,5)/10, math.random(-5,5)/10) * ang(rd(0), rd(0), rd(0)), 1)-- Y, X, Z
- lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Y, X, Z
- lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y
- lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y
- lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y
- lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1) -- Z, X, Y
- lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1)
- lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1)
- lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1)
- lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 1)
- end
- lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)-- Y, X, Z
- lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Y, X, Z
- lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y
- lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y
- lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y
- lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5) -- Z, X, Y
- lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- end
- end
- end)
- --//====================================================\\--
- --|| CREATED BY SHACKLUSTER
- --\\====================================================//--
- wait(0.2)
- Player = game:GetService("Players").LocalPlayer
- PlayerGui = Player.PlayerGui
- Cam = workspace.CurrentCamera
- Backpack = Player.Backpack
- Character = Player.Character
- Humanoid = Character.Humanoid
- Mouse = Player:GetMouse()
- RootPart = Character["HumanoidRootPart"]
- Torso = Character["Torso"]
- Head = Character["Head"]
- RightArm = Character["Right Arm"]
- LeftArm = Character["Left Arm"]
- RightLeg = Character["Right Leg"]
- LeftLeg = Character["Left Leg"]
- RootJoint = RootPart["RootJoint"]
- Neck = Torso["Neck"]
- RightShoulder = Torso["Right Shoulder"]
- LeftShoulder = Torso["Left Shoulder"]
- RightHip = Torso["Right Hip"]
- LeftHip = Torso["Left Hip"]
- local sick = Instance.new("Sound",Character)
- IT = Instance.new
- CF = CFrame.new
- VT = Vector3.new
- RAD = math.rad
- C3 = Color3.new
- UD2 = UDim2.new
- BRICKC = BrickColor.new
- ANGLES = CFrame.Angles
- EULER = CFrame.fromEulerAnglesXYZ
- COS = math.cos
- ACOS = math.acos
- SIN = math.sin
- ASIN = math.asin
- ABS = math.abs
- MRANDOM = math.random
- FLOOR = math.floor
- --//=================================\\
- --|| USEFUL VALUES
- --\\=================================//
- Animation_Speed = 3
- local Walkspeed = 16
- Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
- local Speed = 16
- local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
- local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
- local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
- local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
- local DAMAGEMULTIPLIER = 1
- local ANIM = "Idle"
- local ATTACK = false
- local EQUIPPED = false
- local HOLD = false
- local COMBO = 1
- local Rooted = false
- local SINE = 0
- local KEYHOLD = false
- local CHANGE = 2 / Animation_Speed
- local WALKINGANIM = false
- local VALUE1 = false
- local VALUE2 = false
- local ROBLOXIDLEANIMATION = IT("Animation")
- ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
- ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
- --ROBLOXIDLEANIMATION.Parent = Humanoid
- local WEAPONGUI = IT("ScreenGui", PlayerGui)
- WEAPONGUI.Name = "Weapon GUI"
- local Effects = IT("Folder", Character)
- Effects.Name = "Effects"
- local ANIMATOR = Humanoid.Animator
- local ANIMATE = Character.Animate
- local UNANCHOR = true
- local SHOCKSOUND = 1544280726
- local RINGSOUND = 340505360
- local ULTHIT = 412831137
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| SAZERENOS' ARTIFICIAL HEARTBEAT
- --\\=================================//
- ArtificialHB = Instance.new("BindableEvent", script)
- ArtificialHB.Name = "ArtificialHB"
- script:WaitForChild("ArtificialHB")
- frame = Frame_Speed
- tf = 0
- allowframeloss = false
- tossremainder = false
- lastframe = tick()
- script.ArtificialHB:Fire()
- game:GetService("RunService").Heartbeat:connect(function(s, p)
- tf = tf + s
- if tf >= frame then
- if allowframeloss then
- script.ArtificialHB:Fire()
- lastframe = tick()
- else
- for i = 1, math.floor(tf / frame) do
- script.ArtificialHB:Fire()
- end
- lastframe = tick()
- end
- if tossremainder then
- tf = 0
- else
- tf = tf - frame * math.floor(tf / frame)
- end
- end
- end)
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| SOME FUNCTIONS
- --\\=================================//
- function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
- return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
- end
- function PositiveAngle(NUMBER)
- if NUMBER >= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function NegativeAngle(NUMBER)
- if NUMBER <= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function Swait(NUMBER)
- if NUMBER == 0 or NUMBER == nil then
- ArtificialHB.Event:wait()
- else
- for i = 1, NUMBER do
- ArtificialHB.Event:wait()
- end
- end
- end
- function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
- local NEWMESH = IT(MESH)
- if MESH == "SpecialMesh" then
- NEWMESH.MeshType = MESHTYPE
- if MESHID ~= "nil" and MESHID ~= "" then
- NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
- end
- if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
- NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
- end
- end
- NEWMESH.Offset = OFFSET or VT(0, 0, 0)
- NEWMESH.Scale = SCALE
- NEWMESH.Parent = PARENT
- return NEWMESH
- end
- function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
- local NEWPART = IT("Part")
- NEWPART.formFactor = FORMFACTOR
- NEWPART.Reflectance = REFLECTANCE
- NEWPART.Transparency = TRANSPARENCY
- NEWPART.CanCollide = false
- NEWPART.Locked = true
- NEWPART.Anchored = true
- if ANCHOR == false then
- NEWPART.Anchored = false
- end
- NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
- NEWPART.Name = NAME
- NEWPART.Size = SIZE
- NEWPART.Position = Torso.Position
- NEWPART.Material = MATERIAL
- NEWPART:BreakJoints()
- NEWPART.Parent = PARENT
- return NEWPART
- end
- local function weldBetween(a, b)
- local weldd = Instance.new("ManualWeld")
- weldd.Part0 = a
- weldd.Part1 = b
- weldd.C0 = CFrame.new()
- weldd.C1 = b.CFrame:inverse() * a.CFrame
- weldd.Parent = a
- return weldd
- end
- function QuaternionFromCFrame(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5 / s
- return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
- else
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00 - m11 - m22 + 1)
- local recip = 0.5 / s
- return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
- elseif i == 1 then
- local s = math.sqrt(m11 - m22 - m00 + 1)
- local recip = 0.5 / s
- return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
- elseif i == 2 then
- local s = math.sqrt(m22 - m00 - m11 + 1)
- local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w * xs, w * ys, w * zs
- local xx = x * xs
- local xy = x * ys
- local xz = x * zs
- local yy = y * ys
- local yz = y * zs
- local zz = z * zs
- return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
- local startInterp, finishInterp;
- if cosTheta >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = ACOS(cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((1 - t) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = 1 - t
- finishInterp = t
- end
- else
- if (1 + cosTheta) > 0.0001 then
- local theta = ACOS(-cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((t - 1) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = t - 1
- finishInterp = t
- end
- end
- return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
- end
- function Clerp(a, b, t)
- local qa = {QuaternionFromCFrame(a)}
- local qb = {QuaternionFromCFrame(b)}
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1 - t
- return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
- end
- function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
- local frame = IT("Frame")
- frame.BackgroundTransparency = TRANSPARENCY
- frame.BorderSizePixel = BORDERSIZEPIXEL
- frame.Position = POSITION
- frame.Size = SIZE
- frame.BackgroundColor3 = COLOR
- frame.BorderColor3 = BORDERCOLOR
- frame.Name = NAME
- frame.Parent = PARENT
- return frame
- end
- function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
- local label = IT("TextLabel")
- label.BackgroundTransparency = 1
- label.Size = UD2(1, 0, 1, 0)
- label.Position = UD2(0, 0, 0, 0)
- label.TextColor3 = TEXTCOLOR
- label.TextStrokeTransparency = STROKETRANSPARENCY
- label.TextTransparency = TRANSPARENCY
- label.FontSize = TEXTFONTSIZE
- label.Font = TEXTFONT
- label.BorderSizePixel = BORDERSIZEPIXEL
- label.TextScaled = false
- label.Text = TEXT
- label.Name = NAME
- label.Parent = PARENT
- return label
- end
- function NoOutlines(PART)
- PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
- end
- function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
- local NEWWELD = IT(TYPE)
- NEWWELD.Part0 = PART0
- NEWWELD.Part1 = PART1
- NEWWELD.C0 = C0
- NEWWELD.C1 = C1
- NEWWELD.Parent = PARENT
- return NEWWELD
- end
- local S = IT("Sound")
- function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
- local NEWSOUND = nil
- coroutine.resume(coroutine.create(function()
- NEWSOUND = S:Clone()
- NEWSOUND.Parent = PARENT
- NEWSOUND.Volume = VOLUME
- NEWSOUND.Pitch = PITCH
- NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
- NEWSOUND:play()
- if DOESLOOP == true then
- NEWSOUND.Looped = true
- else
- repeat wait(1) until NEWSOUND.Playing == false
- NEWSOUND:remove()
- end
- end))
- return NEWSOUND
- end
- function CFrameFromTopBack(at, top, back)
- local right = top:Cross(back)
- return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
- end
- --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- function WACKYEFFECT(Table)
- local TYPE = (Table.EffectType or "Sphere")
- local SIZE = (Table.Size or VT(1,1,1))
- local ENDSIZE = (Table.Size2 or VT(0,0,0))
- local TRANSPARENCY = (Table.Transparency or 0)
- local ENDTRANSPARENCY = (Table.Transparency2 or 1)
- local CFRAME = (Table.CFrame or Torso.CFrame)
- local MOVEDIRECTION = (Table.MoveToPos or nil)
- local ROTATION1 = (Table.RotationX or 0)
- local ROTATION2 = (Table.RotationY or 0)
- local ROTATION3 = (Table.RotationZ or 0)
- local MATERIAL = (Table.Material or "Neon")
- local COLOR = (Table.Color or C3(1,1,1))
- local TIME = (Table.Time or 45)
- local SOUNDID = (Table.SoundID or nil)
- local SOUNDPITCH = (Table.SoundPitch or nil)
- local SOUNDVOLUME = (Table.SoundVolume or nil)
- coroutine.resume(coroutine.create(function()
- local PLAYSSOUND = false
- local SOUND = nil
- local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
- if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
- PLAYSSOUND = true
- SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
- end
- EFFECT.Color = COLOR
- local MSH = nil
- if TYPE == "Sphere" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
- elseif TYPE == "Block" then
- MSH = IT("BlockMesh",EFFECT)
- MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
- elseif TYPE == "Wave" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
- elseif TYPE == "Ring" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
- elseif TYPE == "Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Round Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Swirl" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
- elseif TYPE == "Skull" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
- elseif TYPE == "Crystal" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
- elseif TYPE == "Cloud" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1290033", "", SIZE, VT(0,0,0))
- end
- if MSH ~= nil then
- local MOVESPEED = nil
- if MOVEDIRECTION ~= nil then
- MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
- end
- local GROWTH = SIZE - ENDSIZE
- local TRANS = TRANSPARENCY - ENDTRANSPARENCY
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = CFRAME
- end
- for LOOP = 1, TIME+1 do
- Swait()
- MSH.Scale = MSH.Scale - GROWTH/TIME
- if TYPE == "Wave" then
- MSH.Offset = VT(0,0,-MSH.Scale.X/8)
- end
- EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
- end
- if MOVEDIRECTION ~= nil then
- local ORI = EFFECT.Orientation
- EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
- EFFECT.Orientation = ORI
- end
- end
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- repeat Swait() until SOUND.Playing == false
- EFFECT:remove()
- end
- else
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- repeat Swait() until SOUND.Playing == false
- EFFECT:remove()
- end
- end
- end))
- end
- function MakeForm(PART,TYPE)
- if TYPE == "Cyl" then
- local MSH = IT("CylinderMesh",PART)
- elseif TYPE == "Ball" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Sphere"
- elseif TYPE == "Wedge" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Wedge"
- end
- end
- Debris = game:GetService("Debris")
- function CastProperRay(StartPos, EndPos, Distance, Ignore)
- local DIRECTION = CF(StartPos,EndPos).lookVector
- return Raycast(StartPos, DIRECTION, Distance, Ignore)
- end
- function turnto(position)
- RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
- end
- --Lightning({Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
- function Lightning(Table)
- local Color = Table.Color or C3(1,1,1)
- local StartPos = Table.Start or Torso.Position
- local EndPos = Table.End or Mouse.Hit.p
- local SegmentLength = Table.SegmentL or 2
- local Thickness = Table.Thickness or 0.1
- local Dissapear = Table.DoesFade or false
- local Parent = Table.Ignore or Character
- local MaxDist = Table.MaxDist or 400
- local Branches = Table.Branches or false
- local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
- local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
- local LIGHTNINGMODEL = IT("Model",Effects)
- LIGHTNINGMODEL.Name = "Lightning"
- local LastBolt = nil
- for E = 1, DISTANCE do
- local ExtraSize = (DISTANCE-E)/25
- local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
- PART.Color = Color
- MakeForm(PART,"Cyl")
- if LastBolt == nil then
- PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- else
- PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- end
- LastBolt = PART
- if Branches == true then
- local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
- if CHOICE == 1 then
- local LASTBRANCH = nil
- for i = 1, MRANDOM(2,5) do
- local ExtraSize2 = ((DISTANCE-E)/35)/i
- local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
- PART.Color = Color
- MakeForm(PART,"Cyl")
- if LASTBRANCH == nil then
- PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- else
- PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- end
- LASTBRANCH = PART
- end
- end
- end
- end
- if Dissapear == true then
- coroutine.resume(coroutine.create(function()
- for i = 1, 30 do
- Swait()
- for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
- if c.ClassName == "Part" then
- c.Transparency = i/30
- end
- end
- end
- LIGHTNINGMODEL:remove()
- end))
- elseif Dissapear == false then
- Debris:AddItem(LIGHTNINGMODEL,0.1)
- end
- return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
- end
- local Particle = IT("ParticleEmitter",nil)
- Particle.Enabled = false
- Particle.LightEmission = 1
- Particle.Rate = 150
- Particle.ZOffset = 1
- Particle.Rotation = NumberRange.new(-180, 180)
- --ParticleEmitter({Speed = 5, RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false, Color1 = C3(1,1,1), Color2 = C3(1,1,1), Texture = ""})
- function ParticleEmitter(Table)
- local PRTCL = Particle:Clone()
- local Color1 = Table.Color1 or C3(1,1,1)
- local Color2 = Table.Color2 or C3(1,1,1)
- local Speed = Table.Speed or 5
- local Drag = Table.Drag or 0
- local Size1 = Table.Size1 or 1
- local Size2 = Table.Size2 or 5
- local Lifetime1 = Table.Lifetime1 or 1
- local Lifetime2 = Table.Lifetime2 or 1.5
- local Parent = Table.Parent or Torso
- local Emit = Table.Emit or 100
- local Offset = Table.Offset or 360
- local Acel = Table.Acel or VT(0,0,0)
- local Enabled = Table.Enabled or false
- local Texture = Table.Texture or "281983280"
- local RotS = Table.RotSpeed or NumberRange.new(-15, 15)
- local Trans1 = Table.Transparency1 or 0
- local Trans2 = Table.Transparency2 or 0
- PRTCL.Parent = Parent
- PRTCL.RotSpeed = RotS
- PRTCL.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,Trans1),NumberSequenceKeypoint.new(1,Trans2)})
- PRTCL.Texture = "http://www.roblox.com/asset/?id="..Texture
- PRTCL.Color = ColorSequence.new(Color1,Color2)
- PRTCL.Size = NumberSequence.new(Size1,Size2)
- PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
- PRTCL.Speed = NumberRange.new(Speed)
- PRTCL.VelocitySpread = Offset
- PRTCL.Drag = Drag
- PRTCL.Acceleration = Acel
- if Enabled == false then
- PRTCL:Emit(Emit)
- Debris:AddItem(PRTCL,Lifetime2)
- else
- PRTCL.Enabled = true
- end
- return PRTCL
- end
- --//=================================\\
- --|| WEAPON CREATION
- --\\=================================//
- local SKILLTEXTCOLOR = C3(1,1,1)
- local SKILLFONT = "Fantasy"
- local SKILLTEXTSIZE = 5
- local POWER = 250
- local MAXPOWER = 500
- Humanoid.Died:connect(function()
- ATTACK = true
- end)
- local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.01, 0, 0.83, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
- local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.012, 0, 0.78, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
- local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.03, 0, 0.73, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
- local SHIFTFR = CreateFrame(WEAPONGUI, 1, 2, UD2(0.30, 0, 0.87, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Charging")
- local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Q] Poison Bolt", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 1")
- local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[R] Toxic Stomp", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 2")
- local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[X] Toxic Devastation", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
- local SHIFTX = CreateLabel(SHIFTFR, "[SHIFT] Charge", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "How2Shift")
- local MANABAR = CreateFrame(WEAPONGUI, 0.5, 1, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.02, 0), C3(0,0,0), C3(0, 0, 0),"Mana Bar")
- local MANACOVER = CreateFrame(MANABAR, 0, 0, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), BRICKC"Dark indigo".Color, C3(0, 0, 0),"Mana Cover")
- local MANATEXT = CreateLabel(MANABAR, POWER.."/"..MAXPOWER, SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "MP")
- local A = IT("Attachment",Torso)
- local TORSOTHUNDER = ParticleEmitter({Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 4, Size2 = 6, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = A, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
- TORSOTHUNDER.Enabled = false
- TORSOTHUNDER.Rate = 5
- local TORSOTHUNDER2 = ParticleEmitter({Texture = 281983242, Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 4, Size2 = 6, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = A, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
- TORSOTHUNDER2.Enabled = false
- TORSOTHUNDER2.Rate = 5
- local B = IT("Attachment",RootPart)
- B.Position = VT(0,-3,0)
- local CHARGE = ParticleEmitter({Transparency1 = 1, Transparency2 = 0.5, Acel = VT(0,15,0), Texture = 301261210, Speed = 3, RotSpeed = NumberRange.new(-150, 150), Drag = -0.5, Size1 = 2, Size2 = 0, Lifetime1 = 1, Lifetime2 = 1.2, Parent = B, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
- CHARGE.ZOffset = 1.5
- CHARGE.Enabled = false
- CHARGE.Rate = 999
- local FF = IT("ForceField",Character)
- FF.Visible = false
- Humanoid.MaxHealth = 1200
- Humanoid.Health = 1200
- local HEALTHBAR = CreateFrame(WEAPONGUI, 0.5, 1, UD2(0.1, 0, 0.93, 0), UD2(0.26, 0, 0.02, 0), C3(0,0,0), C3(0, 0, 0),"Health Bar")
- local HEALTHCOVER = CreateFrame(HEALTHBAR, 0, 0, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), BRICKC"Shamrock".Color, C3(0, 0, 0),"Health Cover")
- local HEALTHTEXT = CreateLabel(HEALTHBAR, Humanoid.Health.."/"..Humanoid.MaxHealth, SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "HP")
- Character.Health:remove()
- --//=================================\\
- --|| DAMAGING
- --\\=================================//
- function ApplyDamage(Humanoid,Damage,TorsoPart)
- local defence = Instance.new("BoolValue",Humanoid.Parent)
- defence.Name = ("HitBy"..Player.Name)
- game:GetService("Debris"):AddItem(defence, 0.001)
- Damage = Damage * DAMAGEMULTIPLIER
- if Humanoid.Health ~= 0 then
- local CritChance = MRANDOM(1,100)
- if Damage > Humanoid.Health then
- Damage = math.ceil(Humanoid.Health)
- if Damage == 0 then
- Damage = 0.1
- end
- end
- Humanoid.Health = Humanoid.Health - Damage
- end
- end
- function AfterZap(Humanoid,Times,Dmg)
- coroutine.resume(coroutine.create(function()
- if Humanoid ~= nil then
- local ZAP = ParticleEmitter({Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 2, Size2 = 3, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = Humanoid.Torso, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
- ZAP.Rate = 75
- for i = 1, Times do
- wait(1)
- if Humanoid ~= nil and Humanoid.Health > 0 then
- Humanoid.Health = Humanoid.Health - Dmg
- CreateSound(SHOCKSOUND,Humanoid.Torso,1,MRANDOM(13,16)/10,false)
- else
- break
- end
- end
- ZAP.Enabled = false
- Debris:AddItem(ZAP,3)
- end
- end))
- end
- function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,DOESAFTERZAP,ZAPCOUNTER)
- local CHILDREN = workspace:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD.ClassName == "Model" and CHILD ~= Character then
- local HUM = CHILD:FindFirstChildOfClass("Humanoid")
- if HUM then
- local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
- if TORSO then
- if (TORSO.Position - POSITION).Magnitude <= RANGE then
- if DOESAFTERZAP == true then
- AfterZap(HUM,ZAPCOUNTER,math.ceil(MINDMG/7))
- end
- local DMG = MRANDOM(MINDMG,MAXDMG)
- ApplyDamage(HUM,DMG,TORSO)
- if FLING > 0 then
- for _, c in pairs(CHILD:GetChildren()) do
- if c:IsA("BasePart") then
- local bv = Instance.new("BodyVelocity")
- bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
- bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
- bv.Parent = c
- Debris:AddItem(bv,0.05)
- end
- end
- end
- end
- end
- end
- end
- end
- end
- --//=================================\\
- --|| ATTACK FUNCTIONS AND STUFF
- --\\=================================//
- local DECAL = IT("Decal",nil)
- function MagicRing(PART,CFRAME)
- local RING = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "MagicRing", VT(0,0,0),false)
- local WELD = CreateWeldOrSnapOrMotor("Weld", PART, PART, RING, CFRAME, CF(0, 0, 0))
- local MESH = IT("BlockMesh",RING)
- local BOTTOMTEXTURE = DECAL:Clone()
- BOTTOMTEXTURE.Parent = RING
- BOTTOMTEXTURE.Face = "Bottom"
- BOTTOMTEXTURE.Texture = "http://www.roblox.com/asset/?id=1563007449"
- BOTTOMTEXTURE.Name = "BottomTexture"
- local TOPTEXTURE = DECAL:Clone()
- TOPTEXTURE.Parent = RING
- TOPTEXTURE.Face = "Top"
- TOPTEXTURE.Texture = "http://www.roblox.com/asset/?id=1563008191"
- TOPTEXTURE.Name = "TopTexture"
- local T = ParticleEmitter({Transparency1 = 0.2, Transparency2 = 1, Texture = 1084975295, Speed = 0, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 0, Size2 = 10, Lifetime1 = 1, Lifetime2 = 1, Parent = RING, Emit = 25, Offset = 360, Enabled = false, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
- T.LockedToPart = true
- return RING,WELD,MESH
- end
- function Charge()
- ATTACK = true
- Rooted = true
- TORSOTHUNDER.Enabled = true
- TORSOTHUNDER2.Enabled = true
- CHARGE.Enabled = true
- local LOOP = CreateSound(516142778,Torso,0,1,true)
- local LOOP2 = CreateSound(1393698948,Torso,0,2,true)
- repeat
- Swait()
- if POWER < MAXPOWER then
- POWER = POWER + 1
- elseif POWER > MAXPOWER then
- POWER = MAXPOWER
- end
- if LOOP.Volume < 5 then
- LOOP.Volume = LOOP.Volume + 0.2
- end
- if LOOP2.Volume < 5 then
- LOOP2.Volume = LOOP2.Volume + 0.2
- end
- TORSOTHUNDER.Rate = MRANDOM(15,45)
- TORSOTHUNDER2.Rate = MRANDOM(15,45)
- Humanoid.Health = Humanoid.Health + 1
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
- until KEYHOLD == false or POWER == MAXPOWER and Humanoid.Health == Humanoid.MaxHealth
- CHARGE.Enabled = false
- TORSOTHUNDER.Enabled = false
- TORSOTHUNDER2.Enabled = false
- coroutine.resume(coroutine.create(function()
- repeat
- Swait()
- LOOP.Volume = LOOP.Volume - 0.2
- LOOP2.Volume = LOOP2.Volume - 0.2
- until LOOP.Volume <= 0
- LOOP:remove()
- end))
- ATTACK = false
- Rooted = false
- end
- function PoisonBolt()
- ATTACK = true
- Rooted = true
- local STRENGTH = 100
- local TIER = 1
- local GRAV = IT("BodyPosition",RootPart)
- GRAV.D = 250
- GRAV.P = 20000
- GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
- GRAV.Position = RootPart.Position
- local G = IT("BodyGyro",RootPart)
- G.D = 250
- G.P = 200000
- G.MaxTorque = VT(math.huge,math.huge,math.huge)
- local RING,WELD,MESH = MagicRing(RightArm,CF(0,-1.2,0))
- CreateSound(RINGSOUND,RING,5,1,false)
- repeat
- Swait()
- STRENGTH = STRENGTH + 0.3
- if STRENGTH > 200 then
- STRENGTH = 200
- end
- if MESH.Scale.X < 120 then
- MESH.Scale = MESH.Scale + VT(3,0,3)
- elseif MESH.Scale.X < 200 then
- MESH.Scale = MESH.Scale + VT(0.3,0,0.3)
- end
- G.cframe = CF(RootPart.Position,Mouse.Hit.p)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.2) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- until KEYHOLD == false and MESH.Scale.X >= 120
- if STRENGTH >= 150 and STRENGTH ~= 200 and POWER >= 35 then
- POWER = POWER - 35
- TIER = 2
- elseif STRENGTH == 200 and POWER >= 75 then
- POWER = POWER - 75
- TIER = 3
- end
- --print("STRENGTH:"..STRENGTH.."/TIER:"..TIER)
- if TIER == 1 then
- local ZAP = Lightning({Color = BRICKC"Dark indigo".Color, Start = RING.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 100, Branches = false})
- if ZAP.End ~= nil then
- ApplyAoE(ZAP.End,10,5,15,35,true,6)
- WACKYEFFECT({EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(8,8,8)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(ZAP.End), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = SHOCKSOUND, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 6})
- WACKYEFFECT({Time = 65, EffectType = "Cloud", Size = VT(1,1,1), Size2 = VT(5,5,5), Transparency = 0.5, Transparency2 = 1, CFrame = CF(ZAP.End) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-100,100)/150, RotationY = MRANDOM(-100,100)/150, RotationZ = MRANDOM(-100,100)/150, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 3})
- end
- elseif TIER == 2 then
- local ZAP = Lightning({Color = BRICKC"Dark indigo".Color, Start = RING.Position, End = Mouse.Hit.p, SegmentL = 2.5, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 200, Branches = false})
- if ZAP.End ~= nil then
- ApplyAoE(ZAP.End,15,15,25,35,true,8)
- WACKYEFFECT({EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(8,8,8)*4, Transparency = 0, Transparency2 = 1, CFrame = CF(ZAP.End), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = SHOCKSOUND, SoundPitch = MRANDOM(7,10)/10, SoundVolume = 6})
- WACKYEFFECT({Time = 75, EffectType = "Cloud", Size = VT(1,1,1), Size2 = VT(5,5,5)*2, Transparency = 0.5, Transparency2 = 1, CFrame = CF(ZAP.End) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-100,100)/150, RotationY = MRANDOM(-100,100)/150, RotationZ = MRANDOM(-100,100)/150, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 3})
- end
- elseif TIER == 3 then
- local ZAP = Lightning({Color = BRICKC"Dark indigo".Color, Start = RING.Position, End = Mouse.Hit.p, SegmentL = 3, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 300, Branches = true})
- if ZAP.End ~= nil then
- ApplyAoE(ZAP.End,20,15,25,35,true,12)
- WACKYEFFECT({EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(8,8,8)*8, Transparency = 0, Transparency2 = 1, CFrame = CF(ZAP.End), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = SHOCKSOUND, SoundPitch = MRANDOM(5,8)/10, SoundVolume = 6})
- WACKYEFFECT({Time = 125, EffectType = "Cloud", Size = VT(1,1,1), Size2 = VT(5,5,5)*4, Transparency = 0.5, Transparency2 = 1, CFrame = CF(ZAP.End) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-100,100)/150, RotationY = MRANDOM(-100,100)/150, RotationZ = MRANDOM(-100,100)/150, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 3})
- for i = 1, 4 do
- Lightning({Color = BRICKC"Dark indigo".Color, Start = ZAP.End, End = ZAP.End+VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)), SegmentL = 3, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 15, Branches = false})
- end
- end
- end
- wait(0.5)
- RING.Anchored = true
- WELD:remove()
- coroutine.resume(coroutine.create(function()
- for i = 1, 25 do
- Swait()
- RING.TopTexture.Transparency = RING.TopTexture.Transparency + 1/25
- RING.BottomTexture.Transparency = RING.BottomTexture.Transparency + 1/25
- MESH.Scale = MESH.Scale - VT(3,0,3)
- end
- RING:remove()
- end))
- ATTACK = false
- Rooted = false
- G:remove()
- GRAV:remove()
- end
- function ToxicStomp()
- ATTACK = true
- Rooted = false
- local GRAV = IT("BodyPosition",RootPart)
- GRAV.D = 250
- GRAV.P = 20000
- GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
- GRAV.Position = RootPart.Position
- local RING,WELD,MESH = MagicRing(RightLeg,CF(0,-1.2,0))
- CreateSound(RINGSOUND,RING,5,1,false)
- local STRENGTH = 100
- local TIER = 1
- repeat
- Swait()
- STRENGTH = STRENGTH + 0.3
- if STRENGTH > 200 then
- STRENGTH = 200
- end
- if MESH.Scale.X < 120 then
- MESH.Scale = MESH.Scale + VT(3,0,3)
- elseif MESH.Scale.X < 200 then
- MESH.Scale = MESH.Scale + VT(0.3,0,0.3)
- end
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.25, -0.65) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-15), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- until KEYHOLD == false and MESH.Scale.X >= 120
- if STRENGTH >= 150 and STRENGTH ~= 200 and POWER >= 45 then
- POWER = POWER - 45
- TIER = 2
- elseif STRENGTH == 200 and POWER >= 100 then
- POWER = POWER - 100
- TIER = 3
- end
- for i=0, 0.2, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.25, -0.65) * ANGLES(RAD(10), RAD(90), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-15), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- for i=0, 0.2, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.6) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.5) * ANGLES(RAD(20), RAD(90), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-25), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- coroutine.resume(coroutine.create(function()
- if TIER == 1 then
- local AOE = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "Stomp", VT(30,0,30))
- AOE.CFrame = CF(RightLeg.Position-VT(0,1,0))
- local PARTCL = ParticleEmitter({Texture = 281983280, Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 4, Size2 = 6, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = AOE, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
- PARTCL.Rate = 999
- CreateSound(304999618,AOE,5,1,false)
- CreateSound(130972023,AOE,4,1,false)
- ApplyAoE(AOE.Position,15,15,25,35,true,5)
- WACKYEFFECT({EffectType = "Wave", Size = VT(11,1,11), Size2 = VT(45,3,45), Transparency = 0, Transparency2 = 1, CFrame = CF(AOE.Position), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = nil, SoundPitch = MRANDOM(5,8)/10, SoundVolume = 6})
- wait(2)
- PARTCL.Enabled = false
- Debris:AddItem(AOE,2)
- elseif TIER == 2 then
- local AOE = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "Stomp", VT(40,0,40))
- AOE.CFrame = CF(RightLeg.Position-VT(0,1,0))
- local PARTCL = ParticleEmitter({Texture = 281983280, Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 4, Size2 = 6, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = AOE, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
- PARTCL.Rate = 999
- CreateSound(304999618,AOE,5,1,false)
- CreateSound(130972023,AOE,4,1,false)
- ApplyAoE(AOE.Position,20,25,35,35,true,6)
- WACKYEFFECT({EffectType = "Wave", Size = VT(11,1,11), Size2 = VT(55,3,55), Transparency = 0, Transparency2 = 1, CFrame = CF(AOE.Position), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = nil, SoundPitch = MRANDOM(5,8)/10, SoundVolume = 6})
- wait(2)
- PARTCL.Enabled = false
- Debris:AddItem(AOE,2)
- elseif TIER == 3 then
- local AOE = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "Stomp", VT(50,0,50))
- AOE.CFrame = CF(RightLeg.Position-VT(0,1,0))
- local PARTCL = ParticleEmitter({Texture = 281983280, Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 4, Size2 = 6, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = AOE, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
- PARTCL.Rate = 999
- CreateSound(304999618,AOE,5,1,false)
- CreateSound(130972023,AOE,4,1,false)
- for i = 1, 3 do
- ApplyAoE(AOE.Position,30,5,15,5,true,7)WACKYEFFECT({EffectType = "Wave", Size = VT(11,1,11), Size2 = VT(55,3,55), Transparency = 0, Transparency2 = 1, CFrame = CF(AOE.Position), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = nil, SoundPitch = MRANDOM(5,8)/10, SoundVolume = 6})
- wait(0.5)
- end
- wait(1.5)
- PARTCL.Enabled = false
- Debris:AddItem(AOE,2)
- end
- end))
- for i=0, 2, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.6) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.5) * ANGLES(RAD(20), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-25), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- RING.Anchored = true
- WELD:remove()
- coroutine.resume(coroutine.create(function()
- for i = 1, 25 do
- Swait()
- RING.TopTexture.Transparency = RING.TopTexture.Transparency + 1/25
- RING.BottomTexture.Transparency = RING.BottomTexture.Transparency + 1/25
- MESH.Scale = MESH.Scale - VT(3,0,3)
- end
- RING:remove()
- end))
- GRAV:remove()
- ATTACK = false
- Rooted = false
- end
- function ToxicDevastation()
- ATTACK = true
- Rooted = false
- Speed = 5
- local STRENGTH = 50
- local TIER = 1
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.15, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- local POS = RootPart.Position
- Rooted = true
- Speed = Walkspeed
- local TIMER = 0
- local bv = Instance.new("BodyVelocity")
- bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
- bv.velocity = CF(RootPart.Position,RootPart.Position+VT(0,5,0)).lookVector*150
- bv.Parent = RootPart
- WACKYEFFECT({EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(5,1,5), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position+VT(0,-3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = BRICKC"Pearl".Color, SoundID = 1112042117, SoundPitch = MRANDOM(5,8)/10, SoundVolume = 6})
- repeat
- Swait()
- TIMER = TIMER + 1
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
- until RootPart.Position.Y > POS.Y+80 or TIMER > 100
- local GRAV = IT("BodyPosition",RootPart)
- GRAV.D = 250
- GRAV.P = 20000
- GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
- GRAV.Position = RootPart.Position
- bv:remove()
- local G = IT("BodyGyro",RootPart)
- G.D = 250
- G.P = 200000
- G.MaxTorque = VT(math.huge,math.huge,math.huge)
- local RING,WELD,MESH = MagicRing(Torso,CF(0,3,0))
- CreateSound(RINGSOUND,RING,5,1,false)
- local ORB = CreatePart(3, Effects, "Neon", 0, 0, "Royal purple", "Ball", VT(3,3,3))
- MakeForm(ORB,"Ball")
- local LOOP = 0
- repeat
- Swait()
- LOOP = LOOP + 1
- ORB.CFrame = Torso.CFrame*CF(0,4+ORB.Size.X/2,0)
- STRENGTH = STRENGTH + 0.3
- if STRENGTH > 200 then
- STRENGTH = 200
- else
- ORB.Size = ORB.Size + VT(0.02,0.02,0.02)
- end
- if MESH.Scale.X < 120 then
- MESH.Scale = MESH.Scale + VT(5,0,5)
- elseif MESH.Scale.X < 200 then
- MESH.Scale = MESH.Scale + VT(0.6,0,0.6)
- end
- if LOOP == 4 then
- LOOP = 0
- POWER = POWER - 1
- end
- if MRANDOM(1,25) == 1 then
- Lightning({Color = ORB.Color, Start = ORB.Position, End = ORB.Position+VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)), SegmentL = 1, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = ORB.Size.X, Branches = false})
- end
- G.cframe = CF(RootPart.Position,Mouse.Hit.p)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- until (KEYHOLD == false and MESH.Scale.X >= 170) or POWER == 0
- if STRENGTH >= 150 and STRENGTH ~= 200 then
- TIER = 2
- elseif STRENGTH == 200 then
- TIER = 3
- end
- coroutine.resume(coroutine.create(function()
- ORB.CFrame = CF(ORB.Position,Mouse.Hit.p)
- CreateSound(1112042117,ORB,5,0.8,false)
- for i = 1, 200 do
- Swait()
- ORB.CFrame = ORB.CFrame*CF(0,0,-2)
- if MRANDOM(1,5) == 1 then
- Lightning({Color = ORB.Color, Start = ORB.Position, End = ORB.Position+VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)), SegmentL = 1, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = ORB.Size.X, Branches = false})
- end
- local HIT = Raycast(ORB.Position, ORB.CFrame.lookVector, ORB.Size.X/2, Character)
- if HIT ~= nil then
- ORB.Transparency = 1
- coroutine.resume(coroutine.create(function()
- local COLOR = ORB.Color
- local POS = ORB.Position
- local SIZE = ORB.Size
- local TIMES = 12 + TIER*3
- local FAKEORB = CreatePart(3, Effects, "Neon", 0, 0, "Royal purple", "Ball", ORB.Size)
- FAKEORB.CFrame = CF(POS)
- MakeForm(FAKEORB,"Ball")
- local TIME = 0
- ApplyAoE(FAKEORB.Position,30+(25*TIER),15,25,0,true,10)
- WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = FAKEORB.Size, Size2 = VT(35+(25*TIER),35+(25*TIER),35+(25*TIER)), Transparency = 0.8, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = COLOR, SoundID = 178452241, SoundPitch = 1, SoundVolume = 6})
- for i = 1, 5 do
- WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(35+(25*TIER),3,35+(25*TIER)), Transparency = 0.5, Transparency2 = 1, CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = COLOR, SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
- end
- for i = 1, TIMES*20 do
- TIME = TIME + 1
- wait()
- if MRANDOM(1,math.ceil(5+(i/15))) == 1 then
- Lightning({Color = ORB.Color, Start = FAKEORB.Position, End = FAKEORB.Position+VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)), SegmentL = 1, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = i/5, Branches = false})
- end
- FAKEORB.Size = FAKEORB.Size - SIZE/(TIMES*20)
- if TIME >= 20 then
- TIME = 0
- ApplyAoE(FAKEORB.Position,30+(25*TIER),15,25,0,true,10)
- WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = FAKEORB.Size, Size2 = VT(35+(25*TIER),35+(25*TIER),35+(25*TIER)), Transparency = 0.8, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = COLOR, SoundID = 178452241, SoundPitch = 1, SoundVolume = 6})
- for i = 1, 5 do
- WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(35+(25*TIER),3,35+(25*TIER)), Transparency = 0.5, Transparency2 = 1, CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = COLOR, SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
- end
- end
- end
- FAKEORB:remove()
- end))
- break
- end
- end
- ORB:remove()
- end))
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- coroutine.resume(coroutine.create(function()
- for i = 1, 25 do
- Swait()
- RING.TopTexture.Transparency = RING.TopTexture.Transparency + 1/25
- RING.BottomTexture.Transparency = RING.BottomTexture.Transparency + 1/25
- MESH.Scale = MESH.Scale - VT(3,0,3)
- end
- RING:remove()
- end))
- GRAV:remove()
- G:remove()
- ATTACK = false
- Rooted = false
- end
- --//=================================\\
- --|| ASSIGN THINGS TO KEYS
- --\\=================================//
- function MouseDown(Mouse)
- if ATTACK == false then
- end
- end
- function MouseUp(Mouse)
- HOLD = false
- end
- function KeyDown(Key)
- KEYHOLD = true
- if Key == "q" and ATTACK == false and POWER >= 50 then
- POWER = POWER - 50
- PoisonBolt()
- end
- if Key == "r" and ATTACK == false and POWER >= 125 then
- POWER = POWER - 125
- ToxicStomp()
- end
- if Key == "x" and ATTACK == false and POWER >= 250 then
- POWER = POWER - 250
- ToxicDevastation()
- end
- if string.byte(Key) == 48 and ATTACK == false and (POWER ~= MAXPOWER or Humanoid.Health ~= Humanoid.MaxHealth) then
- Charge()
- end
- if string.byte(Key) == 50 and ATTACK == false then
- if Walkspeed == 16 then
- Walkspeed = 30
- Speed = 30
- elseif Walkspeed == 30 then
- Walkspeed = 16
- Speed = 16
- end
- end
- end
- function KeyUp(Key)
- KEYHOLD = false
- end
- Mouse.Button1Down:connect(function(NEWKEY)
- MouseDown(NEWKEY)
- end)
- Mouse.Button1Up:connect(function(NEWKEY)
- MouseUp(NEWKEY)
- end)
- Mouse.KeyDown:connect(function(NEWKEY)
- KeyDown(NEWKEY)
- end)
- Mouse.KeyUp:connect(function(NEWKEY)
- KeyUp(NEWKEY)
- end)
- --//=================================\\
- --\\=================================//
- function unanchor()
- if UNANCHOR == true then
- g = Character:GetChildren()
- for i = 1, #g do
- if g[i].ClassName == "Part" then
- g[i].Anchored = false
- end
- end
- end
- end
- --//=================================\\
- --|| WRAP THE WHOLE SCRIPT UP
- --\\=================================//
- Humanoid.Changed:connect(function(Jump)
- if Jump == "Jump" and (Disable_Jump == true) then
- Humanoid.Jump = false
- end
- end)
- while true do
- Swait()
- script.Parent = WEAPONGUI
- ANIMATE.Parent = nil
- for _,v in next, Humanoid:GetPlayingAnimationTracks() do
- v:Stop();
- end
- SINE = SINE + CHANGE
- local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
- local TORSOVERTICALVELOCITY = RootPart.Velocity.y
- local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
- local WALKSPEEDVALUE = 5
- if ANIM == "Walk" and TORSOVELOCITY > 1 then
- if Humanoid.WalkSpeed <= 20 then
- RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.05 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * 1 / Animation_Speed)
- Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.05 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed)
- LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.05 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed)
- else
- RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / (2*1.3)))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * 1 / Animation_Speed)
- Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / (2*1.3)))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE*1.3) - 0.15 * COS(SINE / WALKSPEEDVALUE*(2*1.3)), -0.125 * COS(SINE / WALKSPEEDVALUE*1.3) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE*1.3)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(75 * COS(SINE / WALKSPEEDVALUE*1.3))), 0.5 / Animation_Speed)
- LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE*1.3) - 0.15 * COS(SINE / WALKSPEEDVALUE*(2*1.3)), 0.125 * COS(SINE / WALKSPEEDVALUE*1.3) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE*1.3)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(75 * COS(SINE / WALKSPEEDVALUE*1.3))), 0.5 / Animation_Speed)
- end
- elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
- RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- end
- if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
- ANIM = "Jump"
- if ATTACK == false then
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
- end
- elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
- ANIM = "Fall"
- if ATTACK == false then
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
- end
- elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
- ANIM = "Idle"
- if ATTACK == false then
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(5 + 1 * COS(SINE / 12))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-5 - 1 * COS(SINE / 12))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- end
- elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
- ANIM = "Walk"
- if ATTACK == false then
- if Humanoid.WalkSpeed <= 20 then
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.85 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.85 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
- elseif Humanoid.WalkSpeed > 20 then
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35), RAD(35), RAD(0)) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE*1.3)), RAD(0), RAD(2)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(35), RAD(-35), RAD(0)) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE*1.3)), RAD(0), RAD(-2)) * LEFTSHOULDERC0, 2 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(6)), 2 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-6)), 2 / Animation_Speed)
- end
- end
- end
- unanchor()
- if Rooted == false then
- Disable_Jump = false
- Humanoid.WalkSpeed = Speed
- elseif Rooted == true then
- Disable_Jump = true
- Humanoid.WalkSpeed = 0
- end
- sick.SoundId = "rbxassetid://598848368"
- sick.Looped = true
- sick.Pitch = 1
- sick.Volume = 3
- sick.Parent = Torso
- sick.Playing = true
- MANACOVER:TweenSize(UD2(1 * (POWER / MAXPOWER), 0, 1, 0), "Out", "Quad", 0.1, 0.1)
- MANATEXT.Text = POWER.."/"..MAXPOWER
- HEALTHCOVER:TweenSize(UD2(1 * (Humanoid.Health / Humanoid.MaxHealth), 0, 1, 0), "Out", "Quad", 0.1, 0.1)
- HEALTHTEXT.Text = math.ceil(Humanoid.Health).."/"..Humanoid.MaxHealth
- Humanoid.Health = Humanoid.Health + 0.05
- end
- --//=================================\\
- --\\=================================//
- --//====================================================\\--
- --|| END OF SCRIPT
- --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement