local username = "sharkythesandshark" if(script:FindFirstChild'Owner')then repeat wait() until script.Owner.Value end function GetPlr(user) for _,v in next, game:service'Players':players() do if(v.Name==user)then return v end end return nil end local Player = (script:FindFirstChild'Owner' and script:FindFirstChild'Owner'.Value or GetPlr(username)) pcall(game.Destroy,script:FindFirstChild'Owner') do local GUID = {} do GUID.IDs = {}; function GUID:new(len) local id; if(not len)then id = (tostring(function() end)) id = id:gsub("function: ","") else local function genID(len) local newID = "" for i = 1,len do newID = newID..string.char(math.random(48,90)) end return newID end repeat id = genID(len) until not GUID.IDs[id] local oid = id; id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end} GUID.IDs[oid]=true; end return id end end local AHB = Instance.new("BindableEvent") local FPS = 30 local TimeFrame = 0 local LastFrame = tick() local Frame = 1/FPS game:service'RunService'.Heartbeat:connect(function(s,p) TimeFrame = TimeFrame + s if(TimeFrame >= Frame)then for i = 1,math.floor(TimeFrame/Frame) do AHB:Fire() end LastFrame=tick() TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame) end end) function swait(dur) if(dur == 0 or typeof(dur) ~= 'number')then AHB.Event:wait() else for i = 1, dur*FPS do AHB.Event:wait() end end end local oPlayer = Player local Player = oPlayer local loudnesses={} script.Parent = Player.Character local CoAS = {Actions={}} local Event = Instance.new("RemoteEvent") Event.Name = "UserInputEvent" Event.Parent = Player.Character local Func = Instance.new("RemoteFunction") Func.Name = "GetClientProperty" Func.Parent = Player.Character local fakeEvent = function() local t = {_fakeEvent=true,Waited={},Connected={}} t.Connect = function(self,f) local ft={} ft={Disconnected=false;disconnect=function(s) if(self.Function==ft)then self.Function=nil end s.Disconnected=true end} ft.Disconnect=ft.disconnect ft.Func=function(...) for id,_ in next, t.Waited do t.Waited[id] = true end return f(...) end; table.insert(self.Connected,ft) return ft; end t.connect = t.Connect t.Wait = function() local guid = GUID:new(25) local waitingId = guid:Get() t.Waited[waitingId]=false repeat swait() until t.Waited[waitingId]==true t.Waited[waitingId]=nil; guid:Trash() end t.wait = t.Wait return t end local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()} local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} local Run = {RenderStepped=fakeEvent()} function CoAS:BindAction(name,fun,touch,...) CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}} end function CoAS:UnbindAction(name) CoAS.Actions[name] = nil end local function te(self,ev,...) local t = self[ev] if t and t._fakeEvent and t.Connected then for i,v in next, t.Connected do if(v.Func and not v.Disconnected)then v.Func(...) else t.Connected[i]=nil end end end end m.TrigEvent = te UsIS.TrigEvent = te Run.TrigEvent = te Event.OnServerEvent:Connect(function(plr,io) if plr~=Player then return end --[[table.foreach(io,print) print'---']] if io.Mouse then m.Target = io.Target m.Hit = io.Hit elseif io.KeyEvent then m:TrigEvent('Key'..io.KeyEvent,io.Key) elseif io.UserInputType == Enum.UserInputType.MouseButton1 then if io.UserInputState == Enum.UserInputState.Begin then m:TrigEvent("Button1Down") else m:TrigEvent("Button1Up") end end if(not io.KeyEvent and not io.Mouse)then for n,t in pairs(CoAS.Actions) do for _,k in pairs(t.Keys) do if k==io.KeyCode then t.Function(t.Name,io.UserInputState,io) end end end if io.UserInputState == Enum.UserInputState.Begin then UsIS:TrigEvent("InputBegan",io,false) else UsIS:TrigEvent("InputEnded",io,false) end end end) Func.OnServerInvoke = function(plr,inst,play) if plr~=Player then return end if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then loudnesses[inst]=play end end function GetClientProperty(inst,prop) if(prop == 'PlaybackLoudness' and loudnesses[inst])then return loudnesses[inst] elseif(prop == 'PlaybackLoudness')then return Func:InvokeClient(Player,'RegSound',inst) end return Func:InvokeClient(Player,inst,prop) end local oldGame = game; function GetFakePlayer() local oldPlayer = Player; local fakePlayer = newproxy(true) getmetatable(fakePlayer).__index = function(s,i) if(i == 'GetMouse')then return function() return m; end end return Player[i] end getmetatable(fakePlayer).__newindex = function(s,i,v) Player[i]=v end getmetatable(fakePlayer).__call=function(self,...) if(self == fakePlayer)then self = Player end local wh = {...} local name = table.remove(wh,1) for i,v in next, wh do wh[i]=v end if(name == 'GetMouse')then return m; end return self(name,unpack(wh)) end getmetatable(fakePlayer).__namecall=function(self,...) if(self == fakePlayer)then self = Player end local tuple={...} local name = table.remove(tuple,#tuple) if(name == 'GetMouse')then return m; else return self[name](self,unpack(tuple)) end end return fakePlayer end local oll = LoadLibrary; function LoadLibrary(libtard) local libtarddestroyed=oll(libtard) if(libtard=='RbxUtility')then local library={Create=function(obj) local inst = Instance.new(obj) return function(props) for prop,valu in next, props do inst[prop]=valu end return inst end end} setmetatable(library,{__index=libtarddestroyed,__newindex=function(s,i,v) libtarddestroyed[i]=v end}) return library else return libtarddestroyed end end fakePlayer = GetFakePlayer() local function GetService(s,i) local service = s:GetService(i) if(i == 'Players')then local oldService = service; local fakeService = newproxy(true) getmetatable(fakeService).__index = function(s,i) if(s == fakeService)then s=oldService end if(i == 'LocalPlayer' or i == 'localPlayer')then return fakePlayer elseif(i == 'oPlayer')then return oPlayer else return s[i] end end getmetatable(fakeService).__newindex = function(s,i,v) if(s == fakeService)then s=oldService end s[i]=v end getmetatable(fakeService).__call=function(self,...) if(self == fakeService)then self = oldService end local wh = {...} local name = table.remove(wh,1) for i,v in next, wh do wh[i]=v end return self(name,unpack(wh)) end getmetatable(fakeService).__namecall=function(self,...) if(self == fakeService)then self = oldService end local tuple={...} local name = table.remove(tuple,#tuple) return self[name](self,unpack(tuple)) end getmetatable(fakeService).__metatable = 'gay' return fakeService elseif(i == 'RunService')then local oldService = service; local fakeService = newproxy(true) getmetatable(fakeService).__index = function(s,i) if(s == fakeService)then s=oldService end return Run[i] or s[i] end getmetatable(fakeService).__newindex = function(s,i,v) if(s == fakeService)then s=oldService end s[i]=v end getmetatable(fakeService).__call=function(self,...) if(self == fakeService)then self = oldService end local wh = {...} local name = table.remove(wh,1) for i,v in next, wh do wh[i]=v end return self(name,unpack(wh)) end getmetatable(fakeService).__namecall=function(self,...) if(self == fakeService)then self = oldService end local tuple={...} local name = table.remove(tuple,#tuple) return self[name](self,unpack(tuple)) end getmetatable(fakeService).__metatable = 'gay' return fakeService elseif(i == 'UserInputService')then return UsIS elseif(i == 'ContextActionService')then return CoAS; else return service end end local new = Instance.new; Instance = {} Instance.new = function(inst,obje) local lp = GetService(oldGame,'Players').localPlayer local instance = new(inst) if(inst=='ObjectValue')then local fake = newproxy(true) getmetatable(fake).__index=function(self,index) if(self==fake)then self=instance end return self[index] end getmetatable(fake).__newindex=function(self,index,value) if(self==fake)then self=instance end if(index=='Value' and typeof(value)~='Instance' and value==fakePlayer)then self[index]=oPlayer else self[index]=value end end getmetatable(fake).__call=function(self,...) if(self == fake)then self = instance end local wh = {...} local name = table.remove(wh,1) for i,v in next, wh do if(v == fake)then v = instance end wh[i]=v end return self(name,unpack(wh)) end getmetatable(fake). __namecall=function(self,...) if(self == fake)then self = instance end local tuple={...} local name = table.remove(tuple,#tuple) return self[name](self,unpack(tuple)) end return fake else instance.Parent = obje return instance; end end local serviceFunctions={ service=true, GetService=true, } local fakeGame = newproxy(true) getmetatable(fakeGame).__index = function(s,i) if(s == fakeGame)then s=oldGame end local serv = GetService(oldGame,i) if serviceFunctions[i] then return GetService elseif(serv)then return serv else return s[i] end end getmetatable(fakeGame).__newindex = function(s,i,v) if(s == fakeGame)then s=oldGame end s[i]=v end getmetatable(fakeGame).__call=function(self,...) if(self == fakeGame)then self = oldGame end local wh = {...} local name = table.remove(wh,1) for i,v in next, wh do if(v == fakeGame)then v = oldGame end wh[i]=v end if serviceFunctions[name] then return GetService(self,unpack(wh)) else return self(name,unpack(wh)) end end getmetatable(fakeGame). __namecall=function(self,...) if(self == fakeGame)then self = oldGame end local tuple={...} local name = table.remove(tuple,#tuple) local funcToCall=self[name] if serviceFunctions[name] then return GetService(self,unpack(tuple)) else return self[name](self,unpack(tuple)) end end getmetatable(fakeGame).__metatable = 'gay' coroutine.wrap(function() while true do Run:TrigEvent('RenderStepped') swait() end end)() game=fakeGame UserInputService,ContextActionService = UsIS,CoAS end -- converter by Drahazar -- converted using Drahazar's Void SB Script Converter --//====================================================\\-- --|| 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",RootPart) 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 Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60) local Speed = 35 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 SPECIALITEMS = IT("Folder",Character) SPECIALITEMS.Name = "Special Items" local SPINSPEED = 1 --//=================================\\ --\\=================================// --//=================================\\ --|| 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.EmitterSize = VOLUME*5 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" or TYPE == "Box" then MSH = IT("BlockMesh",EFFECT) MSH.Scale = SIZE 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)) 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 EFFECT:FindFirstChildOfClass("Sound") == nil EFFECT:remove() end else if PLAYSSOUND == false then EFFECT:remove() else repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil 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 CreateNeonCircle(ATTACHPART,POSITION,SIZE,COLOR,MATERIAL,THICKNESS,WIDTH,ORBED,ORBPART) local PART = CreatePart(3, SPECIALITEMS, MATERIAL, 0, 1, COLOR, "CirclePart", VT(0,0,0),false) local ORB = nil for i = 1, 20 do local RingPiece = CreatePart(3, SPECIALITEMS, MATERIAL, 0, 0, COLOR, "CirclePart", VT(THICKNESS,WIDTH,SIZE*(2.6/2)),false) local RingWeld = CreateWeldOrSnapOrMotor("Weld", RingPiece, PART, RingPiece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/20)*i), RAD(0)), CF(0, 0, 0) * CF(SIZE*4, 0, 0)) if i == ORBPART and ORBED == true then ORB = CreatePart(3, SPECIALITEMS, MATERIAL, 0, 0, COLOR, "Orb", VT(0.8+WIDTH,0.8+WIDTH,0.8+WIDTH),false) MakeForm(ORB,"Ball") CreateWeldOrSnapOrMotor("Weld", RingPiece, RingPiece, ORB, CF(0,0,0) * ANGLES(RAD(0), RAD(0), RAD(0)),CF(0, 0, 0)) end end local PartWeld = CreateWeldOrSnapOrMotor("Weld", ATTACHPART, PART, ATTACHPART, POSITION * ANGLES(RAD(0), RAD(0), RAD(0)),CF(0, 0, 0)) return PartWeld, ORB end function CharacterFade(COLOR,TIMER) coroutine.resume(coroutine.create(function() local FADE = IT("Model",Effects) FADE.Name = "FadingEffect" for _, c in pairs(Character:GetChildren()) do if c.ClassName == "Part" and c ~= RootPart then local FADER = c:Clone() FADER.Color = COLOR FADER.CFrame = c.CFrame FADER.Parent = FADE FADER.Anchored = true FADER.Transparency = 0.25+c.Transparency FADER:BreakJoints() FADER.Material = "Neon" if FADER.Name == "Head" then FADER:ClearAllChildren() FADER.Size = VT(1,1,1) end FADER.CanCollide = false end end local TRANS = 0.75/TIMER for i = 1, TIMER do Swait() for _, c in pairs(FADE:GetChildren()) do if c.ClassName == "Part" then c.Transparency = c.Transparency + TRANS end end end FADE:remove() end)) end function ProjectileMovement(PROJECTILE,AIM,TIME) local HIT,POS = CastProperRay(PROJECTILE.Position,AIM,2000,Character) PROJECTILE.CFrame = CF(PROJECTILE.Position,POS) * ANGLES(RAD(0), RAD(0), RAD(MRANDOM(-90,90))) local HEIGHT = TIME/5 local DISTANCE = (PROJECTILE.Position - POS).Magnitude for i = 1, TIME do Swait() PROJECTILE.CFrame = PROJECTILE.CFrame * CF(0,(HEIGHT-(i/2.575))/100,-DISTANCE/TIME) end end function GetSphereArea(POS,DISTANCE) return CF(POS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-DISTANCE).p end function SHAKECAM(POSITION,RANGE,INTENSITY,TIME) local CHILDREN = workspace:GetDescendants() for index, CHILD in pairs(CHILDREN) do if CHILD.ClassName == "Model" 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 local CAMSHAKER = script.CamShake:Clone() CAMSHAKER.Shake.Value = INTENSITY CAMSHAKER.Timer.Value = TIME CAMSHAKER.Parent = CHILD CAMSHAKER.Disabled = false end end end end end end function GetRoot(MODEL,ROOT) if ROOT == true then return MODEL:FindFirstChild("HumanoidRootPart") or MODEL:FindFirstChild("Torso") or MODEL:FindFirstChild("UpperTorso") else return MODEL:FindFirstChild("Torso") or MODEL:FindFirstChild("UpperTorso") end end function Chatter(Text,Timer) local chat = coroutine.wrap(function() if Character:FindFirstChild("SpeechBoard")~= nil then Character:FindFirstChild("SpeechBoard"):destroy() end local naeeym2 = IT("BillboardGui",Character) naeeym2.Size = UD2(0,100,0,40) naeeym2.StudsOffset = VT(0,2,0) naeeym2.Adornee = Character.Head naeeym2.Name = "SpeechBoard" naeeym2.AlwaysOnTop = true local tecks2 = IT("TextLabel",naeeym2) tecks2.BackgroundTransparency = 1 tecks2.BorderSizePixel = 0 tecks2.Text = "" tecks2.Font = "Legacy" tecks2.TextSize = 15 tecks2.TextStrokeTransparency = 0 tecks2.TextColor3 = C3(1,1,1) tecks2.TextStrokeColor3 = C3(0,0,0) tecks2.Size = UDim2.new(1,0,0.5,0) local FINISHED = false coroutine.resume(coroutine.create(function() for i = 1,string.len(Text),1 do if naeeym2.Parent ~= Character then FINISHED = true end CreateSound(418252437, Head, 7, MRANDOM(8,12)/15, false) tecks2.Text = string.sub(Text,1,i) Swait(Timer) end FINISHED = true end)) repeat wait() until FINISHED == true wait(1) naeeym2.Name = "FadingDialogue" for i = 1, 45 do Swait() naeeym2.StudsOffset = naeeym2.StudsOffset + VT(0,(2-((2/45)*i))/45,0) tecks2.TextTransparency = tecks2.TextTransparency + 1/45 tecks2.TextStrokeTransparency = tecks2.TextTransparency end naeeym2:Destroy() end) chat() end function POSITION(PARENT) local grav = Instance.new("BodyPosition",PARENT) grav.D = 15 grav.P = 2000 grav.maxForce = Vector3.new(math.huge,math.huge,math.huge) return grav end --//=================================\\ --|| WEAPON CREATION --\\=================================// for _, c in pairs(Character:GetChildren()) do if c and c.Parent then if c.ClassName == "Accessory" then local ACCESSORY = c local HANDLE = c.Handle HANDLE.Parent = Character if c then if HANDLE:FindFirstChild("HatAttachment") or HANDLE:FindFirstChild("HairAttachment") then local WLD = weldBetween(Head,HANDLE) elseif HANDLE:FindFirstChild("FaceFrontAttachment") then HANDLE:remove() else local WLD = weldBetween(Torso,HANDLE) end end ACCESSORY:remove() end end end wait(0.1) local CUSTOMTAG = IT("BillboardGui",Character) CUSTOMTAG.AlwaysOnTop = true CUSTOMTAG.Size = UD2(2,15,2,15) CUSTOMTAG.StudsOffset = VT(0,1.2,0) CUSTOMTAG.MaxDistance = 75 CUSTOMTAG.Adornee = Character.Head CUSTOMTAG.Name = "Name" local TAGETXT = IT("TextLabel",CUSTOMTAG) TAGETXT.BackgroundTransparency = 1 TAGETXT.TextScaled = true TAGETXT.BorderSizePixel = 0 TAGETXT.Text = "Calamity" TAGETXT.Font = "Fantasy" TAGETXT.TextSize = 30 TAGETXT.TextStrokeTransparency = 0.5 TAGETXT.TextColor3 = C3(0,0,0) TAGETXT.TextStrokeColor3 = C3(1,1,1) TAGETXT.Size = UD2(1,0,0.5,0) TAGETXT.Parent = CUSTOMTAG local PARTICLES = {} local RINGS = {} local ORBS = {} local SPIN = true for _, c in pairs(script.Torso:GetChildren()) do c.Parent = Torso c.Enabled = true table.insert(PARTICLES,{c,c.Speed}) end script.Torso:remove() for i = 1, 4 do local WELD,ORB = CreateNeonCircle(RootPart,CF(0,0,0),(4+(i/1.3))/6,C3(1,1,1),"Neon",0,0,true,1) table.insert(RINGS,WELD) table.insert(ORBS,ORB) end local MASK = script.Mask MASK.Parent = SPECIALITEMS MASK:SetPrimaryPartCFrame(Head.CFrame*CF(-0.025,-0.08,-0.6)*ANGLES(RAD(-90),RAD(0),RAD(0))) MASK.Wood.Anchored = false local MASKP = MASK.Wood local EYE = MASK.Neon.Attachment.Flame local NEON = MASK.Neon weldBetween(Head,MASK.Wood) local SKILLTEXTCOLOR = C3(1,1,1) local SKILLFONT = "Legacy" local SKILLTEXTSIZE = 3 local ATTACKS = {"Mouse - Calamity Bomb","C - Singularity Beam","V - Catastrophic Ravage","B - Raw, Unfiltered Catastrophe","X - Supreme Cataclysm"} for i = 1, #ATTACKS do local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.74, 0, 0.97-(0.02*i), 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame") local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKS[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text") SKILLTEXT.TextXAlignment = "Right" end local BOOMSOUNDS = {1606719431,1606720250,1606720814} --//=================================\\ --|| DAMAGING --\\=================================// function ONESHOT(MODEL) MODEL:BreakJoints() for index, CHILD in pairs(MODEL:GetChildren()) do if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then if CHILD.Name == "Head" then WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Skull", Size = VT(CHILD.Size.Z,CHILD.Size.Y,CHILD.Size.Z)*3, Size2 = (VT(CHILD.Size.Z,CHILD.Size.Y,CHILD.Size.Z)*3)*MRANDOM(7,14)/10, Transparency = CHILD.Transparency, Transparency2 = 1, CFrame = CHILD.CFrame, MoveToPos = CHILD.Position+VT(0,MRANDOM(5,8)/1.5,0), RotationX = MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) else WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = CHILD.Size, Size2 = CHILD.Size*MRANDOM(7,14)/10, Transparency = CHILD.Transparency, Transparency2 = 1, CFrame = CHILD.CFrame, MoveToPos = CHILD.Position+VT(0,MRANDOM(5,8)/1.5,0), MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) end CHILD:remove() end end Debris:AddItem(MODEL,6) end function Scan(OBJECT,TABLE) for index, CHILD in pairs(OBJECT:GetChildren()) do if CHILD ~= Character then if CHILD.ClassName == "Model" or CHILD.ClassName == "Folder" then table.insert(TABLE,CHILD) Scan(CHILD,TABLE) end end end return TABLE end function ApplyAoE(POSITION,RANGE) local TABLE = {} local SCANNED = Scan(workspace,TABLE) for E = 1, #SCANNED do if SCANNED[E]:FindFirstChildOfClass("Humanoid") then local TORSO = GetRoot(SCANNED[E],false) if TORSO then if (TORSO.Position - POSITION).Magnitude <= RANGE then ONESHOT(SCANNED[E]) end end end end end --//=================================\\ --|| ATTACK FUNCTIONS AND STUFF --\\=================================// --[[coroutine.resume(coroutine.create(function() end))]] function CalamityBomb() ATTACK = true Rooted = false local FIRED = false repeat coroutine.resume(coroutine.create(function() local BOMB = ORBS[MRANDOM(1,#ORBS)]:Clone() BOMB.Parent = Effects BOMB.Anchored = true WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = BOMB.Size, Size2 = BOMB.Size*2, Transparency = 0.7, Transparency2 = 1, CFrame = CF(BOMB.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 8}) local POS = CF(BOMB.Position) + VT(0,15,0) repeat Swait() BOMB.CFrame = Clerp(BOMB.CFrame,POS,0.1) until FIRED == true local CORE = IT("Attachment",BOMB) for index, PR in pairs(script.Effects.Bullet:GetChildren()) do local P = PR:Clone() P.Parent = CORE P.Enabled = true end ProjectileMovement(BOMB,Mouse.Hit.p,25) for i = 1, 15 do local ANGLE = CF(BOMB.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))) WACKYEFFECT({Time = 60, EffectType = "Crystal", Size = VT(6,6,6), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,40,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) end ApplyAoE(BOMB.Position,15) SHAKECAM(BOMB.Position,50,6,13) WACKYEFFECT({EffectType = "Sphere", Size = VT(7,7,7), Size2 = VT(26,26,26), Transparency = 0.7, Transparency2 = 1, CFrame = CF(BOMB.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = 182765513, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 8}) WACKYEFFECT({EffectType = "Sphere", Size = VT(8,8,8), Size2 = VT(27,27,27), Transparency = 0, Transparency2 = 1, CFrame = CF(BOMB.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 174580476, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 7}) BOMB:remove() end)) for i=0, 0.1, 0.1 / Animation_Speed do Swait() RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(160), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-60), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) end FIRED = true for i=0, 0.2, 0.1 / Animation_Speed do Swait() RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(40)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(-40)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(90), RAD(-25), RAD(40 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(60), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) end until HOLD == false for i=0, 0.2, 0.1 / Animation_Speed do Swait() RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(40)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(-40)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(90), RAD(-25), RAD(40 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(60), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) end ATTACK = false Rooted = false end function SingularityBeam() ATTACK = true Rooted = false SPIN = false local CHARGING = true local FIRING = true local GYRO = IT("BodyGyro",RootPart) GYRO.D = 2 GYRO.P = 20000 GYRO.MaxTorque = VT(0,4000000,0) local TEXTS = {"I'll make you dissapear!","Vanish before my eyes, mortal!","You are nothing!"} Chatter(TEXTS[MRANDOM(1,#TEXTS)],0) coroutine.resume(coroutine.create(function() repeat Swait() GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p) until ATTACK == false GYRO:Remove() end)) local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(2,2,2),true) MakeForm(CHARGE,"Ball") local CORE = IT("Attachment",CHARGE) local P = script.Charge:Clone() P.Parent = CORE P.Enabled = true local BEAM = nil local NOSE = nil local DAMAGE = false CreateSound(342793847, CHARGE, 10, 1, false) CHARGE.Color = C3(0,0,0) coroutine.resume(coroutine.create(function() coroutine.resume(coroutine.create(function() repeat Swait() CHARGE.CFrame = CF(RootPart.CFrame*CF(0,0,-8).p,Mouse.Hit.p) if BEAM ~= nil then local HIT,POS = CastProperRay(CHARGE.Position,Mouse.Hit.p,1000,Character) local DISTANCE = (POS - CHARGE.Position).Magnitude BEAM.CFrame = CHARGE.CFrame*CF(0,0,-((DISTANCE/2)+15)) * ANGLES(RAD(-90), RAD(0), RAD(0)) BEAM.Size = VT(BEAM.Size.X,DISTANCE+15,BEAM.Size.Z) if BEAM.Size.X > 3 then for i = 1, 2 do local ANGLE = CF(BEAM.CFrame*CF(0,BEAM.Size.Y/2,0).p) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))) WACKYEFFECT({Time = 5, EffectType = "Crystal", Size = VT(6,2,6), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,40,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) end local ANGLE = BEAM.CFrame*CF(0,-BEAM.Size.Y/2,0) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)) * CF(0,0,BEAM.Size.X/1.7) WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,45,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,40,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 10, EffectType = "Wave", Size = VT(BEAM.Size.X,0,BEAM.Size.Z), Size2 = VT(BEAM.Size.X*3,6,BEAM.Size.Z*3), Transparency = 0.8, Transparency2 = 1, CFrame = BEAM.CFrame*CF(0,-BEAM.Size.Y/2,0) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) end if DAMAGE == true then ApplyAoE(POS,BEAM.Size.X/1.5) ApplyAoE(BEAM.CFrame*CF(0,BEAM.Size.Y/2,0).p,BEAM.Size.X/1.5) end end if NOSE ~= nil then NOSE.CFrame = BEAM.CFrame*CF(0,BEAM.Size.Y/2,0) end until ATTACK == false for i = 1, 50 do Swait() CHARGE.Size = CHARGE.Size - VT(2,2,2)/50 end CHARGE:remove() end)) local LOOP = 0 repeat Swait() LOOP = LOOP + 10 for E = 1, #RINGS do RINGS[E].C0 = Clerp(RINGS[E].C0, CF(0,-(3+E),0) * ANGLES(RAD(90), RAD(0), RAD(LOOP+(E*15))),0.1) end RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(70)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(-70)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(90), RAD(0), RAD(70)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) until CHARGING == false or ATTACK == false repeat Swait() LOOP = LOOP + 10 for E = 1, #RINGS do RINGS[E].C0 = Clerp(RINGS[E].C0, CF(0,-(3+E),0) * ANGLES(RAD(90), RAD(0), RAD(LOOP+(E*15))),0.1) end RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(10), RAD(70)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(-70)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(80), RAD(0), RAD(70)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) until FIRING == false or ATTACK == false end)) wait(3) P.Enabled = false BEAM = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(0,600,0),true) BEAM.Color = C3(0,0,0) MakeForm(BEAM,"Cyl") NOSE = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(0,0,0),true) NOSE.Color = C3(0,0,0) MakeForm(NOSE,"Ball") wait(1) CreateSound(138677306, Effects, 10, 1, false) CreateSound(415700134, Effects, 10, 1, false) for i = 1, 20 do Swait() BEAM.Size = BEAM.Size + VT(1,0,1) NOSE.Size = NOSE.Size + VT(1,1,1) end DAMAGE = true local TOUCH = BEAM.Touched:Connect(function(HIT) if HIT.Parent ~= Character and HIT.Parent:FindFirstChildOfClass("Humanoid") then ONESHOT(HIT.Parent) end end) wait(4) DAMAGE = false TOUCH:Disconnect() for i = 1, 20 do Swait() BEAM.Size = BEAM.Size - VT(1,0,1) NOSE.Size = NOSE.Size - VT(1,1,1) end BEAM:Remove() NOSE:Remove() SPIN = true ATTACK = false Rooted = false end function CatastrophicRavage() ATTACK = true Rooted = false for i=0, 1, 0.1 / Animation_Speed do Swait() RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * 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 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) end ATTACK = false Rooted = false end function RawUnfilteredCatastrophe() ATTACK = true Rooted = false for i=0, 1, 0.1 / Animation_Speed do Swait() RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * 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 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) end ATTACK = false Rooted = false end function SupremeCataclysm() ATTACK = true Rooted = true local POSE = "Back" local LOC = POSITION(RootPart) CreateSound(874376217, Effects, 10, 1, false) LOC.Position = RootPart.Position+VT(0,35,0) local BLACKHOLE = false for i=0, 1.5, 0.1 / Animation_Speed do Swait() RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * 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 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) end local POS = RootPart.Position + VT(0,40,0) local GYRO = IT("BodyGyro",RootPart) GYRO.D = 2 GYRO.P = 20000 GYRO.MaxTorque = VT(0,4000000,0) coroutine.resume(coroutine.create(function() repeat Swait() GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p) until ATTACK == false GYRO:Remove() end)) coroutine.resume(coroutine.create(function() repeat Swait() if BLACKHOLE == true then WACKYEFFECT({Time = 10, EffectType = "Sphere", Size = VT(10 + 3 * COS(SINE / 12),10 + 3 * COS(SINE / 12),10 + 3 * COS(SINE / 12))*2, Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 7}) local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character) if HITFLOOR then WACKYEFFECT({Time = 10, EffectType = "Wave", Size = VT(10,2,10), Size2 = VT(160,25,160), Transparency = 0.3, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) local MATERIAL = CreatePart(3, Effects, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "BLACKHOLE'D", VT(2,2,2)*MRANDOM(5,15)/10) MATERIAL.CFrame = CF(HITPOS-VT(0,5,0)) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)) * CF(0,0,MRANDOM(0,45)) if MRANDOM(1,5) == 1 then CreateSound(765590102, MATERIAL, 2, MRANDOM(8,12)/8, false) end coroutine.resume(coroutine.create(function() local Direction = CF(MATERIAL.Position,POS) local Distance = (MATERIAL.Position - POS).magnitude for i = 1, 45 do Swait() MATERIAL.CFrame = Direction*CF(0,(45/200)+((45/45)-((i*2)/45)),-Distance/45) Direction = MATERIAL.CFrame end MATERIAL:remove() end)) end end --WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(150 + 15 * COS(SINE / 12),0.1,150 + 15 * COS(SINE / 12)), Transparency = 0.9, Transparency2 = 1, CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) SPINSPEED = SPINSPEED + 5/400 if POSE == "Back" then RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(4), RAD(0), RAD(15)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(-15)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) end until ATTACK == false end)) wait(2) BLACKHOLE = true for i = 1, 15 do wait((2-((i/30)*2))/15) CreateSound(182765513, Effects, 10, 1, false) WACKYEFFECT({Time = 70, EffectType = "Sphere", Size = VT(45,45,45), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 7}) for i = 1, 5 do local ANGLE = CF(POS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))) WACKYEFFECT({Time = 60, EffectType = "Crystal", Size = VT(6,6,6), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,40,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) end end Chatter("...Dissapear!",0) local DESTROYER = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(0,0,0),true) DESTROYER.CFrame = CF(POS) MakeForm(DESTROYER,"Ball") DESTROYER.Color = C3(0,0,0) CreateSound(341301115, DESTROYER, 10, 1.5, false) coroutine.resume(coroutine.create(function() repeat Swait() ApplyAoE(DESTROYER.Position,DESTROYER.Size.X/1.5) local ANGLE = CF(DESTROYER.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))) WACKYEFFECT({Time = 30, EffectType = "Sphere", Size = VT(5,1,5), Size2 = VT(0,DESTROYER.Size.X/3,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,DESTROYER.Size.X,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 30, EffectType = "Sphere", Size = VT(4,1,4), Size2 = VT(0,DESTROYER.Size.X/3.1,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,DESTROYER.Size.X,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) until DESTROYER.Parent ~= Effects end)) for i = 1, 100 do Swait() DESTROYER.Size = DESTROYER.Size + VT(0.5,0.5,0.5) DESTROYER.Size = DESTROYER.Size + VT(0.15,0.15,0.15) * COS(SINE / 3) end POSE = "Manual" for i=0, 1, 0.1 / Animation_Speed do Swait() RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-14), RAD(0), RAD(15)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(25), RAD(-15)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.35 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-150), RAD(0), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), 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 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(14), RAD(0), RAD(15)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(25), RAD(-15)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(80), RAD(0), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) end coroutine.resume(coroutine.create(function() local IMPACT = false DESTROYER.CFrame = CF(DESTROYER.Position,Mouse.Hit.p) for i = 1, 800 do Swait() DESTROYER.CFrame = DESTROYER.CFrame * CF(0,0,-0.5) local HIT,POS = Raycast(DESTROYER.CFrame.p,DESTROYER.CFrame.lookVector,DESTROYER.Size.X/2,Character) if HIT then IMPACT = true break end end if IMPACT == false then DESTROYER.Parent = SPECIALITEMS local SIZE = DESTROYER.Size CreateSound(3264923, Effects, 10, 1, false) for i = 1, 25 do Swait() DESTROYER.Size = DESTROYER.Size - SIZE/25 end DESTROYER:remove() else local SIZE = DESTROYER.Size for i = 1, 15 do Swait() DESTROYER.Size = DESTROYER.Size - SIZE/35 end SHAKECAM(DESTROYER.Position,9999999999999999999999999999999,8,160) DESTROYER.Size = SIZE * 7 CreateSound(174580476, Effects, 10, 0.4, false) CreateSound(288641686, Effects, 10, 0.5, false) for index, CHILD in pairs(workspace:GetDescendants()) do if CHILD.ClassName ~= "Terrain" then if CHILD:IsA("BasePart") and CHILD:FindFirstAncestor(Player.Name) == nil then if (CHILD.Position - DESTROYER.Position).Magnitude <= DESTROYER.Size.X/2 and CHILD.Size.Magnitude < DESTROYER.Size.Magnitude/7 then CHILD:Destroy() end end end end for i = 1, 200 do Swait() DESTROYER.Size = DESTROYER.Size + VT(0.5,0.5,0.5)/5 DESTROYER.Color = C3(i/10,i/10,i/10) local HITFLOOR,HITPOS,NORMAL = Raycast(DESTROYER.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character) WACKYEFFECT({Time = 50, EffectType = "Wave", Size = VT(50,2,50), Size2 = VT(260,65,260), Transparency = 0.3, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) end DESTROYER.Parent = SPECIALITEMS local SIZE = DESTROYER.Size CreateSound(3264923, Effects, 10, 1, false) for i = 1, 25 do Swait() DESTROYER.Size = DESTROYER.Size - SIZE/25 end DESTROYER:remove() end end)) BLACKHOLE = false for i=0, 1, 0.1 / Animation_Speed do Swait() RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(14), RAD(0), RAD(15)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(25), RAD(-15)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(80), RAD(0), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) end SPINSPEED = 1 LOC:Remove() ATTACK = false Rooted = false end function Groan() ATTACK = true Rooted = true local SOUND = CreateSound(1544355717, Head, 10, 1, false) SOUND.EmitterSize = 500 repeat Swait() SOUND.Parent = Head local COLOR = (SOUND.PlaybackLoudness*4)/255 NEON.Color = C3(COLOR,COLOR,COLOR) RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-(COLOR*20) - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5 + 0.1 * COS(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(-25), RAD(-90)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.1 * COS(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(25), RAD(70)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) until SOUND.Playing == false SOUND:remove() ATTACK = false Rooted = false end function Laugh() ATTACK = true Rooted = true local SOUND = CreateSound(1359796082, Head, 10, 1, false) SOUND.EmitterSize = 250 repeat Swait() SOUND.Parent = Head local COLOR = (SOUND.PlaybackLoudness*4)/255 NEON.Color = C3(COLOR/6,COLOR/6,COLOR/6) if SOUND.TimePosition < 7 then RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-COLOR/2), RAD(0), RAD(-25)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 2.5 * COS(SINE / 12)), RAD(0), RAD(-5)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.35, -0.5) * ANGLES(RAD(150), RAD(3), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-(25+COLOR/2) + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-(5+COLOR/2) + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) elseif (SOUND.TimePosition < 9 and SOUND.TimePosition >= 7) or SOUND.TimePosition > 18 then RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-COLOR/2), RAD(0), RAD(0)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-(25+COLOR/2) + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-(5+COLOR/2) + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) else if COLOR < 4 then COLOR = 4 end RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-COLOR*4), RAD(0), RAD(0)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-COLOR*6 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(45-COLOR*2), RAD(-25), RAD(COLOR*15)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(45-COLOR*2), RAD(25), RAD(-COLOR*15)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-(25+COLOR*4) + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-(5+COLOR*4) + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) end until SOUND.Playing == false SOUND:remove() ATTACK = false Rooted = false end --//=================================\\ --|| ASSIGN THINGS TO KEYS --\\=================================// function MouseDown(Mouse) HOLD = true if ATTACK == false then CalamityBomb() end end function MouseUp(Mouse) HOLD = false end function KeyDown(Key) KEYHOLD = true if Key == "c" and ATTACK == false then SingularityBeam() end if Key == "v" and ATTACK == false then CatastrophicRavage() end if Key == "b" and ATTACK == false then RawUnfilteredCatastrophe() end if Key == "x" and ATTACK == false then SupremeCataclysm() end if Key == "y" and ATTACK == false then Groan() end if Key == "t" and ATTACK == false then Laugh() 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() for _, c in pairs(Character:GetChildren()) do if c:IsA("BasePart") and c ~= RootPart then c.Anchored = false end end if UNANCHOR == true then RootPart.Anchored = false else RootPart.Anchored = true 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/2 local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude local TORSOVERTICALVELOCITY = RootPart.Velocity.y Humanoid.HipHeight = 2.2 local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4+Humanoid.HipHeight, Character) if HITFLOOR == nil then ANIM = "Midair" if ATTACK == false then 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(15), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35 - 4 * COS(SINE / 6)), RAD(0), RAD(45 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35 - 4 * COS(SINE / 6)), RAD(0), RAD(-45 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25 + 5 * SIN(SINE / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(10), RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / 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 + 0.1 * COS(SINE / 12)) * 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 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) end elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then ANIM = "Walk" if ATTACK == false then RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5 + 0.1 * COS(SINE / 12), 0.4) * ANGLES(RAD(-37), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5 + 0.1 * COS(SINE / 12), 0.4) * ANGLES(RAD(-35), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) end end if SPIN == true then for E = 1, #RINGS do RINGS[E].C0 = Clerp(RINGS[E].C0,CF(0,0,0) * ANGLES(RAD((SINE*5)+(E*7)*SPINSPEED), RAD(15 * COS(SINE / 12)), RAD((SINE*15))-(E*15)*SPINSPEED),0.6) end end unanchor() Humanoid.MaxHealth = "inf" Humanoid.Health = "inf" if Rooted == false then Disable_Jump = false Humanoid.WalkSpeed = Speed elseif Rooted == true then Disable_Jump = true Humanoid.WalkSpeed = 0 end if sick.Parent ~= RootPart then sick = IT("Sound",RootPart) end Humanoid.DisplayDistanceType = "None" Humanoid.Name = "NONHUM" sick.SoundId = "rbxassetid://608726256" sick.Looped = true sick.Pitch = 1.2 sick.Volume = 4 sick.Playing = true TAGETXT.Rotation = MRANDOM(-10,10)/5 end --//=================================\\ --\\=================================// --//====================================================\\-- --|| END OF SCRIPT --\\====================================================//--