Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --coolallball
- --[[ World eater Script ]]--
- --[[ Declarations ]]--
- wait(.0000000000000000000001)
- local Player = game:GetService("Players").LocalPlayer
- local Character = Player.Character
- local Head = Character.Head
- local Torso = Character.Torso
- local Right_Arm = Character["Right Arm"]
- local Right_Leg = Character["Right Leg"]
- local Left_Arm = Character["Left Arm"]
- local Left_Leg = Character["Left Leg"]
- local Humanoid = Character.Humanoid
- local Animation = "Idle"
- local Mouse = Player:GetMouse()
- local LeftShoulder = Torso["Left Shoulder"]
- local Left_Hip = Torso["Left Hip"]
- local RightShoulder = Torso["Right Shoulder"]
- local Right_Hip = Torso["Right Hip"]
- local Root = Character.HumanoidRootPart
- local RootJoint = Root.RootJoint
- local Attacking = false
- local CanAttack = true
- local Anim = "Idle"
- local Combo = 1
- local Blocking = false
- local MaxDestruction = 1000
- local Destruction = 0
- local MaxBlock = 100
- local Effects = {}
- local Color = "Bright yellow"
- local Invert = false
- local Idle = 0
- local Equipped = false
- local Running = false
- local Unseathed = false
- local Shard = "None"
- Humanoid.MaxHealth = 3000
- Humanoid.Health = 3000
- local WorldEaterTheme = Instance.new("Sound",Character)
- WorldEaterTheme.Name = "WorldEaterTheme"
- WorldEaterTheme.Looped = true
- WorldEaterTheme.SoundId = "http://www.roblox.com/asset?id=149981769"
- WorldEaterTheme:Play()
- Left_Shoulder = Instance.new("Weld", Torso)
- Left_Shoulder.Part0 = Torso
- Left_Shoulder.Part1 = Left_Arm
- Left_Shoulder.Name = "Left Shoulder"
- Left_Shoulder.C0 = CFrame.new(-1.5,0,0)
- Right_Shoulder = Instance.new("Weld", Torso)
- Right_Shoulder.Part0 = Torso
- Right_Shoulder.Part1 = Right_Arm
- Right_Shoulder.Name = "Right Shoulder"
- Right_Shoulder.C0 = CFrame.new(1.5,0,0)
- LeftShoulder.Parent = nil
- RightShoulder.Parent = nil
- Humanoid.WalkSpeed = 10
- local RootCFrame = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14)
- Necko = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- Necko2 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- Right_Hip_C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- Left_Hip_C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- Movemment = 1
- Walk = 0
- Animator = Humanoid.Animator
- --Animate = Character.Animate
- Animator.Parent = nil
- --Animate.Parent = nil
- local Services = {
- SoundService = game:GetService("SoundService");
- Players = game:GetService("Players");
- Debris = game:GetService("Debris");
- Workspace = game:GetService("Workspace");
- Lighting = game:GetService("Lighting");
- HttpService = game:GetService("HttpService");
- InsertService = game:GetService("InsertService");
- }
- local ManaBarGUI = Instance.new("ScreenGui", Player.PlayerGui)
- ManaBarGUI.Name = "ManaBarGUI"
- local ManaBarP1 = Instance.new("Frame", ManaBarGUI)
- ManaBarP1.Name = "ManaBarPart1"
- ManaBarP1.Size = UDim2.new(0,300,0,20)
- ManaBarP1.Position = UDim2.new(0,350,0.1,0)
- ManaBarP1.BackgroundColor3 = BrickColor.Black().Color
- local ManaBarP2 = Instance.new("Frame", ManaBarP1)
- ManaBarP2.Name = "ManaBarPart2"
- ManaBarP2.Size = UDim2.new(0,300,0,20)
- ManaBarP2.Position = UDim2.new(0,0,0,0)
- ManaBarP2.BackgroundColor3 = BrickColor.new("Black").Color
- local ManaBarText = Instance.new("TextLabel", ManaBarP1)
- ManaBarText.Name = "ManaBarText"
- ManaBarText.Size = UDim2.new(0,300,0,20)
- ManaBarText.Position = UDim2.new(0,0,-1.5,0)
- ManaBarText.TextScaled = true
- ManaBarText.Text = "<{[ Destruction ]}> 0 <{[ Destruction ]}>"
- ManaBarText.BackgroundTransparency = 1
- ManaBarText.TextStrokeTransparency = 0
- ManaBarText.TextStrokeColor3 = Color3.new(1,1,1)
- ManaBarText.TextColor3 = Color3.new(0,0,0)
- ManaBarText.Font = "Garamond"
- local WorldEaterGui = Instance.new("BillboardGui", Head)
- WorldEaterGui.ExtentsOffset = Vector3.new(0,5,0)
- WorldEaterGui.Adornee = Head
- WorldEaterGui.AlwaysOnTop = true
- WorldEaterGui.Enabled = true
- WorldEaterGui.Size = UDim2.new(0, 200,0, 50)
- local WorldEaterText = Instance.new("TextLabel", WorldEaterGui)
- WorldEaterText.BackgroundTransparency = 1
- WorldEaterText.Font = "Garamond"
- WorldEaterText.Size = UDim2.new(0, 200,0, 50)
- WorldEaterText.TextStrokeColor3 = BrickColor.Red().Color
- WorldEaterText.TextStrokeTransparency = 0
- WorldEaterText.TextColor3 = BrickColor.Black().Color
- WorldEaterText.TextScaled = true
- WorldEaterText.Text = "World Eater"
- --------[[ Mesh Ids ]]--------
- SpikeMeshId = 1033714
- SpikeBallId = 9982590
- StarMeshId = 45428961
- CrystalMeshId = 9756362
- --[[ Essential Functions ]]--
- function NoOutlines(Part)
- Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
- end
- local CreatePart = function(Parent, Name, Color, Size, Material, Transparency, Shape)
- local Part = Instance.new("Part", Parent)
- Part.Name = Name
- Part.BrickColor = BrickColor.new(Color)
- Part.Size = Size
- Part.Material = Material
- Part.Transparency = Transparency
- Part.Shape = Shape
- Part.CanCollide = false
- NoOutlines(Part)
- return Part
- end
- local CreateMesh = function(Parent, Scale, Shape)
- local Mesh = Instance.new("BlockMesh", Parent)
- Mesh.Scale = Scale
- return Mesh
- end
- local CreateWedge = function(Parent, Name, Color, Size, Material, Transparency)
- local WedgePart = Instance.new("WedgePart", Parent)
- WedgePart.Name = Name
- WedgePart.BrickColor = BrickColor.new(Color)
- WedgePart.Size = Size
- WedgePart.Material = Material
- WedgePart.Transparency = Transparency
- WedgePart.CanCollide = false
- NoOutlines(WedgePart)
- return WedgePart
- end
- local CreateWeld = function(Parent, Cframe, P1 , P0)
- local Weld = Instance.new("Weld", Parent)
- Weld.Part0 = P0
- Weld.Part1 = P1
- Weld.Name = P0.Name .. "To" .. P1.Name
- Weld.C0 = Cframe
- return Weld
- end
- local CreateVelocity = function(Parent,Velocity,Force)
- local BodyVelocity = Instance.new("BodyVelocity", Parent)
- BodyVelocity.Velocity = Velocity
- BodyVelocity.MaxForce = Force
- return BodyVelocity
- end
- local CreateCrystal = function(Parent, Name, Color, Size, Material, Transparency, Scale)
- local Part = Instance.new("Part", Parent)
- Part.Name = Name
- Part.BrickColor = BrickColor.new(Color)
- Part.Size = Size
- Part.Material = Material
- Part.Transparency = Transparency
- Part.CanCollide = false
- NoOutlines(Part)
- local Mesh = Instance.new("SpecialMesh", Part)
- Mesh.MeshId = "http://www.roblox.com/asset?id=" .. CrystalMeshId
- Mesh.Scale = Scale
- return Mesh and Part
- end
- local MakeSFX = function(Parent, Id, Volume, Pitch, Type)
- local SFX = Instance.new("Sound", Parent)
- SFX.SoundId = "http://www.roblox.com/asset?id=" .. Id
- SFX.Name = "SFX"
- SFX:Play()
- SFX.Volume = Volume
- SFX.Pitch = Pitch
- SFX.PlayOnRemove = true
- SFX:Remove()
- if Type == "Echo" then
- Instance.new("EchoSoundEffect", SFX)
- end
- end
- local CreateSpike = function(Parent, Name, Color, Size, Material, Transparency, Scale)
- local Part = Instance.new("Part", Parent)
- Part.Name = Name
- Part.BrickColor = BrickColor.new(Color)
- Part.Size = Size
- Part.Material = Material
- Part.Transparency = Transparency
- Part.CanCollide = false
- NoOutlines(Part)
- local Mesh = Instance.new("SpecialMesh", Part)
- Mesh.MeshId = "http://www.roblox.com/asset?id=" .. SpikeMeshId
- Mesh.Scale = Scale
- return Mesh and Part
- end
- CircleEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
- local Part = Instance.new("Part", Parent)
- Part.Transparency = Transparency
- Part.Name = "CircleEffect"
- Part.Size = Vector3.new()
- Part.Anchored = true
- Part.CanCollide = false
- Part.Position = Position
- Part.BrickColor = BrickColor.new(Brickcolor)
- Part.Material = Material
- NoOutlines(Part)
- local Mesh = Instance.new("SpecialMesh", Part)
- Mesh.MeshType = "Sphere"
- Mesh.Scale = Vector3.new(DSX, DSY, DSZ)
- Services.Debris:AddItem(Part, Time)
- table.insert(Effects, {Part, "Circle", Time, SX, SY, SZ})
- end
- BlockEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
- local Part = Instance.new("Part", Parent)
- Part.Transparency = Transparency
- Part.Name = "BlockEffect"
- Part.Size = Vector3.new()
- Part.Anchored = true
- Part.Position = Position
- Part.CanCollide = false
- Part.BrickColor = BrickColor.new(Brickcolor)
- Part.Material = Material
- NoOutlines(Part)
- local Mesh = Instance.new("BlockMesh", Part)
- Mesh.Scale = Vector3.new(DSX, DSY, DSZ)
- Services.Debris:AddItem(Part, Time)
- table.insert(Effects, {Part, "Block", Time, SX, SY, SZ})
- end
- --[[ Damage function ]]--
- function DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max)
- local HitHumanoid = Hit.Parent.Humanoid
- local Damage = math.random(Min, Max)
- coroutine.resume(coroutine.create(function()
- HitHumanoid:TakeDamage(Damage)
- end))
- if Type == "Shrink" then
- MakeSFX(Hit.Parent.Torso, 209527235, 1, 1)
- for i,v in pairs(Hit.Parent:children()) do
- if v:IsA("Part") then
- coroutine.resume(coroutine.create(function()
- for i = 1,100 do
- wait()
- v.Size = v.Size - Vector3.new(0.05,0.05,0.05)
- v.Transparency = v.Transparency + 0.05
- end
- end))
- end
- end
- end
- if Type == "Normal" then
- local Push = CreateVelocity(Hit.Parent.Torso, Torso.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
- Services.Debris:AddItem(Push, 0)
- DamageLabel(Hit.Parent, Damage, Hit)
- elseif Type == "Ranged" then
- local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
- Services.Debris:AddItem(Push, 0)
- DamageLabel(Hit.Parent, Damage, Hit)
- elseif Type == "Impale" then
- local Spike = CreateSpike(Services.Workspace, "D e a t h", "Black", Vector3.new(), "SmoothPlastic", 0, Vector3.new(1,20,1))
- Spike.Anchored = true
- Spike.Rotation = Vector3.new(math.random(-50,50), 0 , math.random(-50,50))
- Spike.Position = Hit.Parent.Torso.Position
- Services.Debris:AddItem(Spike, 30)
- Hit.Parent:BreakJoints()
- Hit.Parent.Torso.Position = Spike.Position + Vector3.new(0,5,0)
- Hit.Parent.Torso.Anchored = true
- MakeSFX(Spike, 306247724, 1,1)
- MakeSFX(Hit.Parent.Torso, 209527175, 10,1)
- elseif Type == "Knockdown" then
- local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
- DamageLabel(Hit.Parent, Damage, Hit)
- Services.Debris:AddItem(Push, 0.3)
- coroutine.resume(coroutine.create(function()
- HitHumanoid.PlatformStand = true
- wait(1)
- HitHumanoid.PlatformStand = false
- end))
- end
- if HitSFX == "Penetration" then
- MakeSFX(Hit, 199149269, 1 , 1)
- elseif HitSFX == "Punch" then
- MakeSFX(Hit, 278062209, 1 , 1)
- end
- end
- function DamageLabel(HitCharacter, DamageDealt, Hit)
- local DamageShowingPart = CreatePart(Services.Workspace, "ShowDamage", "Bright yellow", Vector3.new(0.8,0.8,0.8), "Neon", 1, "Block")
- DamageShowingPart.Position = HitCharacter.Head.Position
- local DamageGui = Instance.new("BillboardGui", DamageShowingPart)
- DamageGui.Name = "Damage"
- DamageGui.AlwaysOnTop = true
- DamageGui.Size = UDim2.new(5, 0, 5, 0)
- local DamageNumber = Instance.new("TextLabel", DamageGui)
- DamageNumber.Size = UDim2.new(1,0,1,0)
- if Hit.Parent:FindFirstChild("Head") then
- DamageNumber.TextStrokeColor3 = Hit.Parent.Head.BrickColor.Color
- DamageNumber.TextColor3 = Hit.BrickColor.Color
- end
- DamageNumber.TextStrokeTransparency = 0
- DamageNumber.BackgroundTransparency = 1
- DamageNumber.Font = "SourceSansBold"
- DamageNumber.TextScaled = true
- DamageNumber.Text = DamageDealt
- local BodyVelocity = Instance.new("BodyVelocity", DamageShowingPart)
- BodyVelocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
- BodyVelocity.Velocity = Vector3.new(0,2,0)
- Services.Debris:AddItem(DamageShowingPart, 3)
- end
- function ValidateDamage(Part, Distance ,Min , Max, Type, HitSFX, Knockback)
- for _,WorkspaceChildren in pairs(workspace:children()) do
- local HitHumanoid = WorkspaceChildren:findFirstChild("Humanoid")
- if HitHumanoid ~= nil then
- local Hit = WorkspaceChildren:findFirstChild("Torso")
- if Hit ~= nil then
- local Target = Hit.Position - Part.Position
- local Magnitude = Target.magnitude
- if Magnitude <= Distance and WorkspaceChildren.Name ~= Player.Name then
- local HitBlock = Hit.Parent:FindFirstChild("Block")
- if HitBlock ~= nil and HitBlock:FindFirstChild("BlockDurability") and HitBlock.Value == true then
- local HitBlock2 = Hit.Parent.Block.BlockDurability
- if HitBlock2.Value > 15 then
- local HitN = math.random(1,5)
- HitBlock2.Value = HitBlock2.Value - 15
- if HitN == 1 then
- MakeSFX(Hit ,199148971, 0.5, 1)
- end
- if HitN == 2 then
- MakeSFX(Hit ,199149025, 0.5, 1)
- end
- if HitN == 3 then
- MakeSFX(Hit ,199149072, 0.5, 1)
- end
- if HitN == 4 then
- MakeSFX(Hit ,199149109, 0.5, 1)
- end
- if HitN == 5 then
- MakeSFX(Hit ,199149119, 0.5, 1)
- end
- return
- end
- end
- DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max)
- end
- end
- end
- end
- end
- local Cloak = Instance.new("Part", Character)
- Cloak.Name = "Cloak"
- Cloak.CanCollide = false
- Cloak.BrickColor = BrickColor.new("Institutional white")
- local CloakMesh = Instance.new("SpecialMesh", Cloak)
- CloakMesh.MeshId = "http://www.roblox.com/asset?id=16150814"
- CloakMesh.TextureId = "http://www.roblox.com/asset?id=16150799"
- local CloakWeld = CreateWeld(Cloak, CFrame.new(0,0,0) * CFrame.Angles(0,0,0), Head , Cloak, "ArkusToCharacter")
- for i,v in pairs(Character:children()) do
- if v:IsA("Accessory") then
- v:Remove()
- elseif v:IsA("Shirt") then
- v:Remove()
- elseif v:IsA("Pants") then
- v:Remove()
- elseif v:IsA("BodyColors") then
- Head.BrickColor =BrickColor.new("Really black")
- Torso.BrickColor = BrickColor.new("Really black")
- Right_Arm.BrickColor = BrickColor.new("Really black")
- Right_Leg.BrickColor = BrickColor.new("Really black")
- Left_Arm.BrickColor = BrickColor.new("Really black")
- Left_Leg.BrickColor = BrickColor.new("Really black")
- v.HeadColor = BrickColor.new("Really black")
- v.TorsoColor = BrickColor.new("Really black")
- v.RightArmColor = BrickColor.new("Really black")
- v.LeftArmColor = BrickColor.new("Really black")
- v.RightLegColor = BrickColor.new("Really black")
- v.LeftLegColor = BrickColor.new("Really black")
- end
- end
- --[[ CLerp Declarations ]]--
- 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 QuaternionFromCFrame(cf) -- dis one
- 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 = math.acos(cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((1-t)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = 1-t
- finishInterp = t
- end
- else
- if (1+cosTheta) > 0.0001 then
- local theta = math.acos(-cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((t-1)*theta)*invSinTheta
- finishInterp = math.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 RayCast(Pos, Dir, Max, Ignore)
- return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
- end
- function Bars()
- --[[ Mana Bar ]]--
- if Destruction ~= MaxDestruction then
- Destruction = Destruction + 1
- end
- if Destruction >= MaxDestruction then
- Destruction = Destruction
- end
- ManaBarText.Text = "<{[ Destruction ]}> <|"..Destruction.."|> <{[ Destruction ]}>"
- ManaBarP2.Size = UDim2.new(Destruction / Destruction,0,0,20)
- end
- local EyeReference = CreatePart(Character, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
- local EyeReferenceWeld = CreateWeld(EyeReference, CFrame.new(0.15,-0.1,-0.7), EyeReference, Head)
- coroutine.resume(coroutine.create(function()
- while wait(3) do
- CircleEffect(EyeReference.Position, Services.Workspace, 1, 1, 1, 1, 1, 1, 0.5, "Bright red", "Neon", 0.5)
- end
- end))
- --[[ Attacks ]]--
- function Attack1()
- Attacking = true
- MakeSFX(EyeReference, 341336274, 1,1)
- wait(0.3)
- local Reference = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
- local ReferenceWeld = CreateWeld(Reference, CFrame.new(0,0.5,-5), Reference, Root)
- local Reference2 = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
- local Reference2Weld = CreateWeld(Reference2, CFrame.new(0,0.5,-2), Reference2, Root)
- for i = 1,10 do
- wait()
- RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,-1.6),0.5)
- Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,1.3),0.2)
- Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, 0) * CFrame.Angles(0,0,0.2), 0.3)
- Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(0,0,-1.6), 0.4)
- Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0) * CFrame.Angles(0,1.6,0),0.3)
- Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0) * CFrame.Angles(0,-1.6,0),0.3)
- end
- CircleEffect(Reference2.Position, Services.Workspace, 50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
- wait(0.5)
- CircleEffect(Reference2.Position, Services.Workspace, 50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
- wait(0.5)
- CircleEffect(Reference2.Position, Services.Workspace, 50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
- wait(0.5)
- CircleEffect(Reference2.Position, Services.Workspace, 50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
- wait(0.5)
- MakeSFX(Reference, 306247724, 1,1)
- CircleEffect(Reference.Position, Services.Workspace, 1, 1, 1, 5, 5, 5, 5, "Bright red", "Neon", 0.5)
- ValidateDamage(Reference, 10 ,10 , 14, "Shrink", "Penetration", 5)
- Attacking = false
- end
- function Attack2()
- Attacking = true
- Humanoid.WalkSpeed = 0
- Humanoid.JumpPower = 0
- for i = 1,25 do
- wait()
- RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(-0.5,0,0),0.2)
- Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.5,0,0),0.3)
- Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1, 1, 0) * CFrame.Angles(3.2,0,-0.6), 0.3)
- Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1, 1, 0) * CFrame.Angles(3.2,0,0.6), 0.3)
- Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,-0.3),0.2)
- Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,-0.5)*CFrame.Angles(0,-1.6,0),0.2)
- end
- MakeSFX(Torso, 142070127, 1, 1)
- ValidateDamage(Torso, 60 ,23, 26, "Knockdown", "Penetration", 15)
- local Hit, Position = RayCast(Torso.Position,(CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector,100,Character)
- if Hit ~= nil then
- local Reference = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
- Reference.Anchored = true
- Reference.CFrame = CFrame.new(Position)
- CircleEffect(Reference.Position, Services.Workspace, 1, 1, 1, 5, 5, 5, 5, "Bright red", "Neon", 0.5)
- game:GetService("Debris"):AddItem(Reference,0.1)
- for i=1,50 do
- local Ground = CreatePart(Services.Workspace, "Ground", Hit.BrickColor.Color, Vector3.new(math.random(1,3), math.random(1,3), math.random(1,3)), Hit.Material, 0, "Block")
- Ground.Anchored = true
- Ground.CanCollide = true
- Ground.CFrame = CFrame.new(Position) * CFrame.new(math.random(-30,30), 0, math.random(-30,30)) * CFrame.Angles(math.random(-50,50),math.random(-50,50), math.random(-50,50))
- game:GetService("Debris"):AddItem(Ground,10)
- end
- end
- for i = 1,25 do
- wait()
- RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.5)
- Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.5,0,0),0.3)
- Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0.1) * CFrame.Angles(-0.2,0,0), 0.3)
- Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0.1) * CFrame.Angles(-0.2,0,0), 0.3)
- Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,-0.3),0.2)
- Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,-0.5)*CFrame.Angles(0,-1.6,0),0.2)
- end
- Attacking = false
- Humanoid.WalkSpeed = 16
- Humanoid.JumpPower = 50
- end
- function Attack3()
- Humanoid.WalkSpeed = 0
- Humanoid.JumpPower = 0
- Attacking = true
- wait(1)
- MakeSFX(Torso, 341336274, 1, 1.2)
- CircleEffect(Torso.Position, Services.Workspace, 1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
- wait(1)
- MakeSFX(Torso, 341336274, 1, 1.2)
- CircleEffect(Torso.Position, Services.Workspace, 1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
- wait(1)
- MakeSFX(Torso, 341336274, 1, 1.2)
- CircleEffect(Torso.Position, Services.Workspace, 1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
- ValidateDamage(Torso, 60 ,0, 0, "Impale", "Penetration", 15)
- Humanoid.WalkSpeed = 16
- Humanoid.JumpPower = 50
- Attacking = false
- end
- Mouse.Button1Down:connect(function()
- if not Attacking then
- if Combo == 1 then
- Combo = 2
- Attack1()
- elseif Combo == 2 then
- Attack2()
- Combo = 3
- elseif Combo == 3 then
- Attack3()
- Combo = 1
- end
- end
- end)
- --[[ CLerp Animations ]]--
- Change1 = 0
- Change2 = 0
- Change3 = 0
- Change4 = 0
- while true do
- wait()
- local Torvel = (Root.Velocity*Vector3.new(1,0,1)).magnitude
- local Velderp = Root.Velocity.y
- HitFloor,PosFloor = RayCast(Root.Position,(CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector,4,Character)
- Bars()
- if Torvel < 1 and HitFloor ~= nil and Attacking == false then
- Anim = "Idle"
- RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
- Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,-0.3,0),0.3)
- Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, 0) * CFrame.Angles(0,0,0.2), 0.3)
- Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.1, 0) * CFrame.Angles(0,0,-0.2), 0.3)
- Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0) * CFrame.Angles(-0.1,0,0),0.2)
- Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0) * CFrame.Angles(-0.1,0,0),0.2)
- end
- if 2 < Torvel and Torvel < 22 and HitFloor ~= nil and Attacking == false then
- Anim = "Walking"
- if Invert == false then
- Change1 = Change1 + 0.1
- elseif Invert == true then
- Change1 = Change1 - 0.1
- end
- if Change1 > 0.5 then
- Invert = true
- elseif Change1 < -0.5 then
- Invert = false
- end
- if Attacking == false then
- RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
- Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,-0.3,0),0.3)
- Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, -Change1) * CFrame.Angles(Change1,0,0), 0.3)
- Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, Change1) * CFrame.Angles(-Change1,0,0), 0.3)
- Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-Change1 / 4)*CFrame.Angles(Change1,1.6,0),0.2)
- Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,Change1 / 4)*CFrame.Angles(-Change1,-1.6,0),0.2)
- end
- end
- if Root.Velocity.y > 1 and HitFloor == nil and Attacking == false then
- Anim = "Jump"
- RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
- Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.5,0,0),0.3)
- Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0.2) * CFrame.Angles(-0.4,0,0.2), 0.3)
- Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0.2) * CFrame.Angles(-0.4,0,-0.2), 0.3)
- Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-0.2)*CFrame.Angles(-0.2,1.6,0),0.2)
- Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
- end
- if Root.Velocity.y < -1 and HitFloor == nil and Attacking == false then
- Anim = "Fall"
- RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
- Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.5,0,0),0.3)
- Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, -0.2) * CFrame.Angles(0.4,0,0.2), 0.3)
- Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, -0.2) * CFrame.Angles(0.4,0,-0.2), 0.3)
- Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-0.2)*CFrame.Angles(-0.2,1.6,0),0.2)
- Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
- end
- if #Effects > 0 then
- for E = 1, #Effects do
- if Effects[E]~=nil then
- local Effect = Effects[E]
- if Effect ~= nil then
- local Part = Effect[1]
- local Mode = Effect[2]
- local Time = Effect[3]
- local SizeX = Effect[4]
- local SizeY = Effect[5]
- local SizeZ = Effect[6]
- if Effect[1].Transparency <= 1 then
- if Effect[2] == "Block" then
- Effect[1].CFrame = Effect[1].CFrame * CFrame.Angles(math.random(-50,50),math.random(-50,50),math.random(-50,50))
- Mesh = Effect[1]:FindFirstChild("Mesh")
- if Mesh ~= nil then
- Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
- end
- elseif Effect[2] == "Circle" then
- if Effect[1]:FindFirstChild("Mesh") ~= nil then
- Mesh=Effect[1].Mesh
- Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
- end
- Effect[1].Transparency = Effect[1].Transparency + 0.05
- else
- Part.Parent=nil
- table.remove(Effects, E)
- end
- end
- end
- end
- end
- end
- end
- WorldEaterText.Text = "Get Ready"
- wait(5)
- if game.Players.LocalPlayer.Character.Animate.Disabled==false then
- game.Players.LocalPlayer.Character.Animate.Disabled=true
- end
- wait()
- local Player=game.Players.LocalPlayer
- repeat wait()
- until Player
- local Char=Player.Character
- repeat wait()
- until Char
- local CurrentEffects={}
- local CurrentDamages={}
- local Human=Char.Humanoid
- --local LArm=Char["Left Arm"]
- --local RArm=Char["Right Arm"]
- ---local LLeg=Char["Left Leg"]
- ---local RLeg=Char["Right Leg"]
- local Torso=Char.Torso
- ---local RS=Torso["Right Shoulder"]
- ---local LS=Torso["Left Shoulder"]
- ---local RH=Torso["Right Hip"]
- ---local LH=Torso["Left Hip"]
- local Head=Char.Head
- --local Neck=Torso.Neck
- local RootPart=Char.HumanoidRootPart
- local RootJoint=RootPart.RootJoint
- local equipped=false
- local Debounce=false
- local Anim="Idle"
- local chat = game:GetService("Chat")
- local Mouse=Player:GetMouse()
- local Lighting=game.Lighting
- local cf=CFrame.new
- local v3=Vector3.new
- local c3=Color3.new
- local it=Instance.new
- local angles=CFrame.Angles
- local rad=math.rad
- local ran=math.random
- local huge=math.huge
- local attacking=false
- local attacktype=1
- local Portalling=false
- local p = game.Players.LocalPlayer
- local char = p.Character
- local mouse = p:GetMouse()
- local larm = char["Left Arm"]
- local rarm = char["Right Arm"]
- local lleg = char["Left Leg"]
- local rleg = char["Right Leg"]
- local hed = char.Head
- local torso = char.Torso
- local hum = char.Humanoid
- local cam = game.Workspace.CurrentCamera
- local root = char.HumanoidRootPart
- local deb = false
- local shot = 0
- local debris=game:service"Debris"
- local l = game:GetService("Lighting")
- local rs = game:GetService("RunService").RenderStepped
- necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0)
- LSC0=cf(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0)
- RSC0=cf(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- ROOTC0 = cf(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- r=game:service'RunService'.RenderStepped
- clerp=function(a,b,t)
- return a:lerp(b,t)
- end
- local Rainbow = { --This is the main color set. Try to use more than just a few, make it fade in order as well
- "Lime green",
- }
- Debounces = {
- CanAttack = true;
- NoIdl = false;
- Slashing = false;
- Slashed = false;
- RPunch = false;
- Invisible = false;
- RPunched = false;
- LPunch = false;
- LPunched = false;
- }
- local Touche = {char.Name, }
- function genWeld(a,b)
- local w = Instance.new("Weld",a)
- w.Part0 = a
- w.Part1 = b
- return w
- end
- function weld(a, b)
- local weld = Instance.new("Weld")
- weld.Name = "W"
- weld.Part0 = a
- weld.Part1 = b
- weld.C0 = a.CFrame:inverse() * b.CFrame
- weld.Parent = a
- return weld;
- end
- ----------------------------------------------------
- function Lerp(c1,c2,al)
- local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
- local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
- for i,v in pairs(com1) do
- com1[i] = v+(com2[i]-v)*al
- end
- return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
- end
- ----------------------------------------------------
- newWeld = function(wp0, wp1, wc0x, wc0y, wc0z)
- local wld = Instance.new("Weld", wp1)
- wld.Part0 = wp0
- wld.Part1 = wp1
- wld.C0 = CFrame.new(wc0x, wc0y, wc0z)
- end
- ----------------------------------------------------
- function weld5(part0, part1, c0, c1)
- weeld=Instance.new("Weld", part0)
- weeld.Part0=part0
- weeld.Part1=part1
- weeld.C0=c0
- weeld.C1=c1
- return weeld
- end
- ----------------------------------------------------
- function HasntTouched(plrname)
- local ret = true
- for _, v in pairs(Touche) do
- if v == plrname then
- ret = false
- end
- end
- return ret
- end
- ----------------------------------------------------
- newWeld(torso, larm, -1.5, 0.5, 0)
- larm.Weld.C1 = CFrame.new(0, 0.5, 0)
- newWeld(torso, rarm, 1.5, 0.5, 0)
- rarm.Weld.C1 = CFrame.new(0, 0.5, 0)
- newWeld(torso, hed, 0, 1.5, 0)
- newWeld(torso, lleg, -0.5, -1, 0)
- lleg.Weld.C1 = CFrame.new(0, 1, 0)
- newWeld(torso, rleg, 0.5, -1, 0)
- rleg.Weld.C1 = CFrame.new(0, 1, 0)
- newWeld(root, torso, 0, -1, 0)
- torso.Weld.C1 = CFrame.new(0, -1, 0)
- p = Instance.new("Part")
- p.BrickColor = BrickColor.new("Lime green")
- p.Transparency = 1
- TorsoColor = p.BrickColor
- local Transforming = true
- Human.WalkSpeed = 0
- local fx = Instance.new("Part",Torso)
- wit = p.BrickColor.Color
- wit2 = Color3.new(0,255,0)
- local glowz = Instance.new("ParticleEmitter",fx)
- glowz.LightEmission = 1
- glowz.Texture = "rbxassetid://284205403"
- glowz.Color = ColorSequence.new(wit)
- glowz.Size = NumberSequence.new(5)
- glowz.Speed = NumberRange.new(25,50)
- glowz.LockedToPart = false
- glowz.Transparency = NumberSequence.new(0.75)
- glowz.RotSpeed = NumberRange.new(-2000,2000)
- glowz.Lifetime = NumberRange.new(1)
- glowz.Rate = 50000
- glowz.VelocitySpread = 9001
- local glowz2 = Instance.new("ParticleEmitter",fx)
- glowz2.LightEmission = 0.5
- glowz.Texture = "rbxassetid://284205403"
- glowz2.Color = ColorSequence.new(wit2)
- glowz2.Size = NumberSequence.new(5)
- glowz2.Speed = NumberRange.new(25,50)
- glowz2.LockedToPart = false
- glowz2.Transparency = NumberSequence.new(0.75)
- glowz2.RotSpeed = NumberRange.new(-2000,2000)
- glowz2.Lifetime = NumberRange.new(1)
- glowz2.Rate = 50000
- glowz2.VelocitySpread = 9001
- fx.Anchored = true
- fx.Material = "Neon"
- fx.CanCollide = false
- fx.Locked = true
- fx.Transparency = 1
- fx.Material = "Neon"
- fx.Size = Vector3.new(1,1,1)
- fx.TopSurface = "SmoothNoOutlines"
- fx.BottomSurface = "SmoothNoOutlines"
- fx.BrickColor = BrickColor.new("Really black")
- fxm = Instance.new("SpecialMesh",fx)
- fxm.MeshType = "Sphere"
- local sa2 = Instance.new("Sound",Torso)
- sa2.SoundId = "rbxassetid://93724183"
- sa2.Pitch = 0.5
- sa2.Volume = 5
- sa2.Looped = false
- sa2:Play()
- local value = 1
- fxm.Scale = Vector3.new(1,1,1)
- for i = 1, 20 do rs:wait()
- value = value - 0.05
- fx.Transparency = fx.Transparency - (1/20)
- fx.CFrame = Torso.CFrame
- fxm.Scale = fxm.Scale + Vector3.new(value,value,value)
- rs:wait()
- end
- ----------------------------------------------------
- GroundWave1 = function()
- local HandCF = CFrame.new(root.Position - Vector3.new(0,3,0)) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
- local Colors = {"Pastel blue-green", "Really black"}
- local wave = Instance.new("Part", Torso)
- wave.BrickColor = BrickColor.new(Colors[math.random(1,#Colors)])
- wave.Anchored = true
- wave.CanCollide = false
- wave.Locked = true
- wave.Size = Vector3.new(1, 1, 1)
- wave.TopSurface = "Smooth"
- wave.BottomSurface = "Smooth"
- wave.Transparency = 0.35
- wave.CFrame = HandCF
- wm = Instance.new("SpecialMesh", wave)
- wm.MeshId = "rbxassetid://3270017"
- coroutine.wrap(function()
- for i = 1, 30, 1 do
- wm.Scale = Vector3.new(50, 50, 1 + i*50)
- wave.Size = wm.Scale
- wave.CFrame = HandCF
- wave.Transparency = i/30
- wait()
- end
- wait()
- wave:Destroy()
- end)()
- end
- ----------------------------------------------------
- GroundWave3 = function()
- local HandCF = CFrame.new(root.Position - Vector3.new(0,3,0)) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
- local Colors = {"Lime green", "Lime green"}
- local wave = Instance.new("Part", torso)
- wave.BrickColor = BrickColor.new(Colors[math.random(1,#Colors)])
- wave.Anchored = true
- wave.CanCollide = false
- wave.Locked = true
- wave.Size = Vector3.new(1, 1, 1)
- wave.TopSurface = "Smooth"
- wave.BottomSurface = "Smooth"
- wave.Transparency = 0.35
- wave.CFrame = HandCF
- wm = Instance.new("SpecialMesh", wave)
- wm.MeshId = "rbxassetid://3270017"
- coroutine.wrap(function()
- for i = 1, 14, 1 do
- wm.Scale = Vector3.new(1 + i*1.1, 1 + i*1.1, 1)
- wave.Size = wm.Scale
- wave.CFrame = HandCF
- wave.Transparency = i/14
- wait()
- end
- wait()
- wave:Destroy()
- end)()
- end
- local acos = math.acos
- local sqrt = math.sqrt
- local Vec3 = Vector3.new
- local fromAxisAngle = CFrame.fromAxisAngle
- local function toAxisAngle(CFr)
- local X,Y,Z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = CFr:components()
- local Angle = math.acos((R00+R11+R22-1)/2)
- local A = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
- A = A == 0 and 0.00001 or A
- local B = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
- B = B == 0 and 0.00001 or B
- local C = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
- C = C == 0 and 0.00001 or C
- local x = (R21-R12)/sqrt(A)
- local y = (R02-R20)/sqrt(B)
- local z = (R10-R01)/sqrt(C)
- return Vec3(x,y,z),Angle
- end
- local acos = math.acos
- local sqrt = math.sqrt
- local Vec3 = Vector3.new
- local fromAxisAngle = CFrame.fromAxisAngle
- local function toAxisAngle(CFr)
- local X,Y,Z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = CFr:components()
- local Angle = math.acos((R00+R11+R22-1)/2)
- local A = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
- A = A == 0 and 0.00001 or A
- local B = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
- B = B == 0 and 0.00001 or B
- local C = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
- C = C == 0 and 0.00001 or C
- local x = (R21-R12)/sqrt(A)
- local y = (R02-R20)/sqrt(B)
- local z = (R10-R01)/sqrt(C)
- return Vec3(x,y,z),Angle
- end
- function ApplyTrig(Num,Func)
- local Min,Max = Func(0),Func(1)
- local i = Func(Num)
- return (i-Min)/(Max-Min)
- --[[if Func == "sin" then
- return (math.sin((1-Num)*math.pi)+1)/2
- elseif Func == "cos" then
- return (math.cos((1-Num)*math.pi)+1)/2
- end]]
- end
- function LerpCFrame(CFrame1,CFrame2,Num)
- local Vec,Ang = toAxisAngle(CFrame1:inverse()*CFrame2)
- return CFrame1*fromAxisAngle(Vec,Ang*Num) + (CFrame2.p-CFrame1.p)*Num
- end
- function Crater(Torso,Radius)
- Spawn(function()
- local Ray = Ray.new(Torso.Position,Vector3.new(0,-1,0)*10)
- local Ignore = {}
- for i,v in pairs(game:GetService("Players"):GetPlayers()) do
- if v.Character ~= nil then
- Ignore[#Ignore+1] = v.Character
- end
- end
- local Hit,Pos,SurfaceNorm = workspace:FindPartOnRayWithIgnoreList(Ray,Ignore)
- if Hit == nil then return end
- local Parts = {}
- for i = 1,360,10 do
- local P = Instance.new("Part",Torso.Parent)
- P.Anchored = true
- P.FormFactor = "Custom"
- P.BrickColor = BrickColor.new("Lime green")
- P.Material = "Granite"
- P.TopSurface = "Smooth"
- P.BottomSurface = "Smooth"
- P.Size = Vector3.new(5,10,10)*(math.random(80,100)/100)
- P.CFrame = ((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,7,0))*CFrame.Angles(math.rad(math.random(-50,50)),math.rad(math.random(-50,50)),math.rad(math.random(-50,50)))
- Parts[#Parts+1] = {P,P.CFrame,((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,1,0))*CFrame.Angles(0,math.rad(i),0)*CFrame.new(0,0,-Radius)*CFrame.Angles(math.rad(math.random(-50,-20)),math.rad(math.random(-15,15)),math.rad(math.random(-15,15))),P.Size}
- if math.random(0,5) == 0 then -- rubble
- local P = Instance.new("Part",Torso.Parent)
- P.Anchored = true
- P.FormFactor = "Custom"
- P.BrickColor = BrickColor.new("Lime green")
- P.Material = Hit.Material
- P.TopSurface = "Smooth"
- P.BottomSurface = "Smooth"
- P.Size = Vector3.new(5,5,5)*(math.random(80,100)/100)
- P.CFrame = ((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,2.5,0))*CFrame.Angles(math.rad(math.random(-50,50)),math.rad(math.random(-50,50)),math.rad(math.random(-50,50)))
- Parts[#Parts+1] = {P,P.CFrame,(CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))*CFrame.Angles(0,math.rad(i),0)*CFrame.new(0,0,-Radius-8)*CFrame.Angles(math.rad(math.random(-90,90)),math.rad(math.random(-90,90)),math.rad(math.random(-90,90))),P.Size}
- end
- end
- for i = 0,1,0.05 do
- for i2,v in pairs(Parts) do
- v[1].CFrame = LerpCFrame(v[2],v[3],ApplyTrig(i,math.cos))
- end
- wait(0.02)
- end
- for i,v in pairs(Parts) do
- if v[1].Size.X > 2.1 then
- v[1].CFrame = v[1].CFrame+Vector3.new(0,2,0)
- end
- v[1].Anchored = false
- end
- for i = 0,1,0.05 do
- for i2,v in pairs(Parts) do
- v[1].Transparency = i
- if i == 1 then
- v[1]:Destroy()
- elseif i >= 0.25 then
- v[1].CanCollide = false
- end
- end
- wait(0.02)
- end
- Parts = nil
- end)
- end
- GroundWave = function()
- if Transforming == true then
- local value = 5
- local value2 = 10
- local value3 = 20
- local sa2 = Instance.new("Sound",Torso)
- sa2.SoundId = "rbxassetid://393621716"
- sa2.Pitch = 1
- sa2.Volume = 10
- sa2.Looped = false
- sa2:Play()
- local wave = Instance.new("Part", Torso)
- local glowz = Instance.new("ParticleEmitter",wave)
- glowz.LightEmission = 1
- glowz.Texture = "rbxassetid://284205403"
- glowz.Color = ColorSequence.new(wit)
- glowz.Size = NumberSequence.new(30)
- glowz.Speed = NumberRange.new(25,100)
- glowz.LockedToPart = false
- glowz.Transparency = NumberSequence.new(0.75)
- glowz.RotSpeed = NumberRange.new(-2000,2000)
- glowz.Lifetime = NumberRange.new(1)
- glowz.Rate = 50000
- glowz.VelocitySpread = 9001
- local glowz2 = Instance.new("ParticleEmitter",wave)
- glowz2.LightEmission = 1
- glowz.Texture = "rbxassetid://284205403"
- glowz2.Color = ColorSequence.new(wit)
- glowz2.Size = NumberSequence.new(30)
- glowz2.Speed = NumberRange.new(25,100)
- glowz2.LockedToPart = false
- glowz2.Transparency = NumberSequence.new(0.75)
- glowz2.RotSpeed = NumberRange.new(-2000,2000)
- glowz2.Lifetime = NumberRange.new(1)
- glowz2.Rate = 50000
- glowz2.VelocitySpread = 9001
- wave.BrickColor = BrickColor.new("Really black")
- wave.Anchored = true
- wave.CanCollide = false
- wave.Locked = true
- wave.Size = Vector3.new(1, 1, 1)
- wave.TopSurface = "Smooth"
- wave.BottomSurface = "Smooth"
- wave.Transparency = 0.35
- wave.CFrame = fx.CFrame
- wave.Material = "Neon"
- wm = Instance.new("SpecialMesh", wave)
- wm.MeshType = "Sphere"
- wm.Scale = Vector3.new(1,1,1)
- local wave2 = Instance.new("Part", Torso)
- wave2.BrickColor = TorsoColor
- wave2.Anchored = true
- wave2.CanCollide = false
- wave2.Locked = true
- wave2.Size = Vector3.new(1, 1, 1)
- wave2.TopSurface = "Smooth"
- wave2.BottomSurface = "Smooth"
- wave2.Transparency = 0.35
- wave2.CFrame = fx.CFrame
- wave2.Material = "Neon"
- wm2 = Instance.new("SpecialMesh", wave2)
- wm2.MeshType = "FileMesh"
- wm2.MeshId = "http://www.roblox.com/asset/?id=3270017"
- wm2.Scale = Vector3.new(1,1,1)
- local wave3 = Instance.new("Part", Torso)
- wave3.BrickColor = BrickColor.new("Really black")
- wave3.Anchored = true
- wave3.CanCollide = false
- wave3.Locked = true
- wave3.Size = Vector3.new(1, 1, 1)
- wave3.TopSurface = "Smooth"
- wave3.BottomSurface = "Smooth"
- wave3.Transparency = 0.35
- wave3.CFrame = fx.CFrame
- wave3.Material = "Neon"
- wm3 = Instance.new("SpecialMesh", wave3)
- wm3.MeshType = "FileMesh"
- wm3.MeshId = "http://www.roblox.com/asset/?id=3270017"
- wm3.Scale = Vector3.new(1,1,1)
- coroutine.wrap(function()
- for i = 1, 18, 1 do
- value = value - 0.5
- value2 = value2 - 0.75*1.5
- value3 = value3 - 0.475*1.5
- wm.Scale = wm.Scale + Vector3.new(value*3.5,value*3.5,value*3.5)
- wm2.Scale = wm.Scale + Vector3.new(value2*3.5,value2*3.5,0.5)
- wm3.Scale = wm.Scale + Vector3.new(value3*3.5,value3*3.5,0.25)
- --wave.Size = wm.Scale
- wave.CFrame = fx.CFrame
- wave.Transparency = i/14
- --wave2.Size = wm2.Scale
- wave2.CFrame = fx.CFrame
- wave2.Rotation = Vector3.new(90, 0, 0)
- wave2.Transparency = i/14
- --wave3.Size = wm3.Scale
- wave3.CFrame = fx.CFrame
- wave3.Rotation = Vector3.new(90, 0, 0)
- wave3.Transparency = i/14
- wait()
- glowz.Rate = 0
- glowz2.Rate = 0
- end
- wait()
- wave:Destroy()
- wave2:Destroy()
- wave3:Destroy()
- end)()
- elseif Transforming == false then
- wait()
- end
- end
- for i = 1, 100 do rs:wait()
- fx.CFrame = Torso.CFrame
- end
- spawn(function()
- while wait(1) do
- GroundWave()
- end
- end)
- wait(4)
- Transforming = false
- local value2 = 1
- for i = 1, 20 do rs:wait()
- value2 = value2 - 0.05
- glowz.Rate = 0
- glowz2.Rate = 0
- fx.Transparency = fx.Transparency + (1/20)
- fx.CFrame = torso.CFrame
- fxm.Scale = fxm.Scale + Vector3.new(value2,value2,value2)
- rs:wait()
- end
- glowz:Destroy()
- glowz2:Destroy()
- local HandCF = CFrame.new(root.Position - Vector3.new(0,3,0)) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
- local valuer = 5
- local valuer2 = 10
- local valuer3 = 15
- local sa2 = Instance.new("Sound",torso)
- sa2.SoundId = "rbxassetid://130972023"
- sa2.Pitch = 1
- sa2.Volume = 5
- sa2.Looped = false
- sa2:Play()
- local sar2 = Instance.new("Sound",torso)
- sar2.SoundId = "rbxassetid://153274423"
- sar2.Pitch = 1
- sar2.Volume = 5
- sar2.Looped = false
- sar2:Play()
- local Mus = Instance.new("Sound",torso)
- Mus.SoundId = "rbxassetid://397952612"
- Mus.Pitch = 1
- Mus.Volume = 6
- Mus.Looped = true
- Mus:Play()
- Crater(torso,67)
- local wave = Instance.new("Part", torso)
- wave.BrickColor = TorsoColor
- wave.Anchored = true
- wave.CanCollide = false
- wave.Locked = true
- wave.Size = Vector3.new(1, 1, 1)
- wave.TopSurface = "Smooth"
- wave.BottomSurface = "Smooth"
- wave.Transparency = 0.35
- wave.CFrame = HandCF
- wm = Instance.new("SpecialMesh", wave)
- wm.MeshId = "rbxassetid://3270017"
- local wave2 = Instance.new("Part", torso)
- wave2.BrickColor = BrickColor.new("Really black")
- wave2.Anchored = true
- wave2.CanCollide = false
- wave2.Locked = true
- wave2.Size = Vector3.new(1, 1, 1)
- wave2.TopSurface = "Smooth"
- wave2.BottomSurface = "Smooth"
- wave2.Transparency = 0.35
- wave2.CFrame = HandCF
- wm2 = Instance.new("SpecialMesh", wave2)
- wm2.MeshId = "rbxassetid://3270017"
- local wave3 = Instance.new("Part", torso)
- wave3.BrickColor = TorsoColor
- wave3.Anchored = true
- wave3.CanCollide = false
- wave3.Locked = true
- wave3.Size = Vector3.new(1, 1, 1)
- wave3.TopSurface = "Smooth"
- wave3.BottomSurface = "Smooth"
- wave3.Transparency = 0.35
- wave3.CFrame = HandCF
- wm3 = Instance.new("SpecialMesh", wave3)
- wm3.MeshId = "rbxassetid://3270017"
- coroutine.wrap(function()
- for i = 1, 14, 1 do
- valuer = valuer - 0.35
- valuer2 = valuer - 0.45
- valuer3 = valuer3 - 0.475
- wm.Scale = wm.Scale + Vector3.new(valuer*2.5,valuer*2.5, 1 + i*200)
- wave.Size = wm.Scale
- wave.CFrame = HandCF
- wave.Transparency = i/14
- wm2.Scale = wm2.Scale + Vector3.new(valuer2*2.5,valuer2*2.5, 0 + i*10)
- wave2.Size = wm2.Scale
- wave2.CFrame = HandCF
- wave2.Transparency = i/14
- wm3.Scale = wm3.Scale + Vector3.new(valuer3*2.5,valuer3*2.5, 1)
- wave3.Size = wm2.Scale
- wave3.CFrame = HandCF
- wave3.Transparency = i/14
- wait()
- end
- wait()
- wave:Destroy()
- wave2:Destroy()
- end)()
- hum.WalkSpeed = 16
- spawn(function()
- while wait(2)
- do
- GroundWave3()
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement