Advertisement
arsem

Untitled

Jun 21st, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 73.40 KB | None | 0 0
  1. -- FE template created by MintyLatios (V3rm) aka Drahazar (ROBLOX)
  2. local username = "tyredsfdsdre"
  3.  
  4. if(script:FindFirstChild'Owner')then
  5. repeat wait() until script.Owner.Value
  6. end
  7. function GetPlr(user)
  8. for _,v in next, game:service'Players':players() do
  9. if(v.Name==user)then
  10. return v
  11. end
  12. end
  13. return nil
  14. end
  15.  
  16. local Player = (script:FindFirstChild'Owner' and script:FindFirstChild'Owner'.Value or GetPlr(username))
  17. pcall(game.Destroy,script:FindFirstChild'Owner')
  18. local FakeMouse = script.FakeMouse:Clone();
  19. FakeMouse.Parent = Player.Character;
  20. script.FakeMouse:Destroy()
  21. do
  22. local GUID = {}
  23. do
  24. GUID.IDs = {};
  25. function GUID:new(len)
  26. local id;
  27. if(not len)then
  28. id = (tostring(function() end))
  29. id = id:gsub("function: ","")
  30. else
  31. local function genID(len)
  32. local newID = ""
  33. for i = 1,len do
  34. newID = newID..string.char(math.random(48,90))
  35. end
  36. return newID
  37. end
  38. repeat id = genID(len) until not GUID.IDs[id]
  39. local oid = id;
  40. id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end}
  41. GUID.IDs[oid]=true;
  42. end
  43. return id
  44. end
  45. end
  46.  
  47. local AHB = Instance.new("BindableEvent")
  48.  
  49. local FPS = 30
  50.  
  51. local TimeFrame = 0
  52.  
  53. local LastFrame = tick()
  54. local Frame = 1/FPS
  55.  
  56. game:service'RunService'.Heartbeat:connect(function(s,p)
  57. TimeFrame = TimeFrame + s
  58. if(TimeFrame >= Frame)then
  59. for i = 1,math.floor(TimeFrame/Frame) do
  60. AHB:Fire()
  61. end
  62. LastFrame=tick()
  63. TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame)
  64. end
  65. end)
  66.  
  67.  
  68. function swait(dur)
  69. if(dur == 0 or typeof(dur) ~= 'number')then
  70. AHB.Event:wait()
  71. else
  72. for i = 1, dur*FPS do
  73. AHB.Event:wait()
  74. end
  75. end
  76. end
  77.  
  78. local oPlayer = Player
  79. local Player = oPlayer
  80.  
  81. local loudnesses={}
  82. script.Parent = Player.Character
  83. local CoAS = {Actions={}}
  84. local Event = Instance.new("RemoteEvent")
  85. Event.Name = "UserInputEvent"
  86. Event.Parent = Player.Character
  87. local Func = Instance.new("RemoteFunction")
  88. Func.Name = "GetClientProperty"
  89. Func.Parent = Player.Character
  90. local fakeEvent = function()
  91. local t = {_fakeEvent=true,Waited={},Connected={}}
  92. t.Connect = function(self,f)
  93. local ft={}
  94. ft={Disconnected=false;disconnect=function(s) if(self.Function==ft)then self.Function=nil end s.Disconnected=true end}
  95. ft.Disconnect=ft.disconnect
  96.  
  97. ft.Func=function(...)
  98. for id,_ in next, t.Waited do
  99. t.Waited[id] = true
  100. end
  101. return f(...)
  102. end;
  103.  
  104. table.insert(self.Connected,ft)
  105. return ft;
  106. end
  107. t.connect = t.Connect
  108. t.Wait = function()
  109. local guid = GUID:new(25)
  110. local waitingId = guid:Get()
  111. t.Waited[waitingId]=false
  112. repeat swait() until t.Waited[waitingId]==true
  113. t.Waited[waitingId]=nil;
  114. guid:Trash()
  115. end
  116. t.wait = t.Wait
  117. return t
  118. end
  119. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  120. local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  121. local Run = {RenderStepped=fakeEvent()}
  122.  
  123. function CoAS:BindAction(name,fun,touch,...)
  124. CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
  125. end
  126. function CoAS:UnbindAction(name)
  127. CoAS.Actions[name] = nil
  128. end
  129. local function te(self,ev,...)
  130. local t = self[ev]
  131. if t and t._fakeEvent and t.Connected then
  132. for i,v in next, t.Connected do
  133. if(v.Func and not v.Disconnected)then
  134. v.Func(...)
  135. else
  136. t.Connected[i]=nil
  137. end
  138. end
  139. end
  140. end
  141. m.TrigEvent = te
  142. UsIS.TrigEvent = te
  143. Run.TrigEvent = te
  144. Event.OnServerEvent:Connect(function(plr,io)
  145. if plr~=Player then return end
  146. --[[table.foreach(io,print)
  147. print'---']]
  148. if io.Mouse then
  149. m.Target = io.Target
  150. m.Hit = io.Hit
  151. elseif io.KeyEvent then
  152. m:TrigEvent('Key'..io.KeyEvent,io.Key)
  153. elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
  154. if io.UserInputState == Enum.UserInputState.Begin then
  155. m:TrigEvent("Button1Down")
  156. else
  157. m:TrigEvent("Button1Up")
  158. end
  159. end
  160. if(not io.KeyEvent and not io.Mouse)then
  161.  
  162. for n,t in pairs(CoAS.Actions) do
  163. for _,k in pairs(t.Keys) do
  164. if k==io.KeyCode then
  165. t.Function(t.Name,io.UserInputState,io)
  166. end
  167. end
  168. end
  169. if io.UserInputState == Enum.UserInputState.Begin then
  170. UsIS:TrigEvent("InputBegan",io,false)
  171. else
  172. UsIS:TrigEvent("InputEnded",io,false)
  173. end
  174. end
  175. end)
  176.  
  177. Func.OnServerInvoke = function(plr,inst,play)
  178. if plr~=Player then return end
  179. if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
  180. loudnesses[inst]=play
  181. end
  182. end
  183.  
  184. function GetClientProperty(inst,prop)
  185. if(prop == 'PlaybackLoudness' and loudnesses[inst])then
  186. return loudnesses[inst]
  187. elseif(prop == 'PlaybackLoudness')then
  188. return Func:InvokeClient(Player,'RegSound',inst)
  189. end
  190. return Func:InvokeClient(Player,inst,prop)
  191. end
  192. local oldGame = game;
  193. function GetFakePlayer()
  194. local oldPlayer = Player;
  195. local fakePlayer = newproxy(true)
  196. getmetatable(fakePlayer).__index = function(s,i)
  197. if(i == 'GetMouse')then
  198. return function() return m; end
  199. end
  200. return Player[i]
  201. end
  202. getmetatable(fakePlayer).__newindex = function(s,i,v)
  203. Player[i]=v
  204. end
  205. getmetatable(fakePlayer).__call=function(self,...)
  206. if(self == fakePlayer)then self = Player end
  207. local wh = {...}
  208. local name = table.remove(wh,1)
  209. for i,v in next, wh do
  210. wh[i]=v
  211. end
  212. if(name == 'GetMouse')then
  213. return m;
  214. end
  215. return self(name,unpack(wh))
  216. end
  217. getmetatable(fakePlayer).__namecall=function(self,...)
  218. if(self == fakePlayer)then self = Player end
  219. local tuple={...}
  220. local name = table.remove(tuple,#tuple)
  221.  
  222. if(name == 'GetMouse')then
  223. return m;
  224. else
  225. return self[name](self,unpack(tuple))
  226. end
  227. end
  228.  
  229. return fakePlayer
  230. end
  231. local oll = LoadLibrary;
  232. function LoadLibrary(libtard)
  233. local libtarddestroyed=oll(libtard)
  234. if(libtard=='RbxUtility')then
  235. local library={Create=function(obj)
  236. local inst = Instance.new(obj)
  237. return function(props)
  238. for prop,valu in next, props do
  239. inst[prop]=valu
  240. end
  241. return inst
  242. end
  243. end}
  244. setmetatable(library,{__index=libtarddestroyed,__newindex=function(s,i,v) libtarddestroyed[i]=v end})
  245.  
  246. return library
  247. else
  248. return libtarddestroyed
  249. end
  250. end
  251. fakePlayer = GetFakePlayer()
  252. local function GetService(s,i)
  253. local service = s:GetService(i)
  254. if(i == 'Players')then
  255. local oldService = service;
  256. local fakeService = newproxy(true)
  257. getmetatable(fakeService).__index = function(s,i)
  258. if(s == fakeService)then s=oldService end
  259. if(i == 'LocalPlayer' or i == 'localPlayer')then
  260. return fakePlayer
  261. elseif(i == 'oPlayer')then
  262. return oPlayer
  263. else
  264. return s[i]
  265. end
  266. end
  267. getmetatable(fakeService).__newindex = function(s,i,v)
  268. if(s == fakeService)then s=oldService end
  269. s[i]=v
  270. end
  271. getmetatable(fakeService).__call=function(self,...)
  272. if(self == fakeService)then self = oldService end
  273. local wh = {...}
  274. local name = table.remove(wh,1)
  275. for i,v in next, wh do
  276. wh[i]=v
  277. end
  278. return self(name,unpack(wh))
  279. end
  280. getmetatable(fakeService).__namecall=function(self,...)
  281. if(self == fakeService)then self = oldService end
  282. local tuple={...}
  283. local name = table.remove(tuple,#tuple)
  284.  
  285. return self[name](self,unpack(tuple))
  286. end
  287. getmetatable(fakeService).__metatable = 'gay'
  288. return fakeService
  289. elseif(i == 'RunService')then
  290. local oldService = service;
  291. local fakeService = newproxy(true)
  292. getmetatable(fakeService).__index = function(s,i)
  293. if(s == fakeService)then s=oldService end
  294. return Run[i] or s[i]
  295. end
  296. getmetatable(fakeService).__newindex = function(s,i,v)
  297. if(s == fakeService)then s=oldService end
  298. s[i]=v
  299. end
  300. getmetatable(fakeService).__call=function(self,...)
  301. if(self == fakeService)then self = oldService end
  302. local wh = {...}
  303. local name = table.remove(wh,1)
  304. for i,v in next, wh do
  305. wh[i]=v
  306. end
  307. return self(name,unpack(wh))
  308. end
  309. getmetatable(fakeService).__namecall=function(self,...)
  310. if(self == fakeService)then self = oldService end
  311. local tuple={...}
  312. local name = table.remove(tuple,#tuple)
  313.  
  314. return self[name](self,unpack(tuple))
  315. end
  316. getmetatable(fakeService).__metatable = 'gay'
  317. return fakeService
  318. elseif(i == 'UserInputService')then
  319. return UsIS
  320. elseif(i == 'ContextActionService')then
  321. return CoAS;
  322. else
  323. return service
  324. end
  325. end
  326.  
  327. local new = Instance.new;
  328. Instance = {}
  329. Instance.new = function(inst,obje)
  330. local lp = GetService(oldGame,'Players').localPlayer
  331. local instance = new(inst)
  332. if(inst=='ObjectValue')then
  333. local fake = newproxy(true)
  334. getmetatable(fake).__index=function(self,index)
  335. if(self==fake)then self=instance end
  336. return self[index]
  337. end
  338. getmetatable(fake).__newindex=function(self,index,value)
  339. if(self==fake)then self=instance end
  340. if(index=='Value' and typeof(value)~='Instance' and value==fakePlayer)then
  341. self[index]=oPlayer
  342. else
  343. self[index]=value
  344. end
  345. end
  346. getmetatable(fake).__call=function(self,...)
  347. if(self == fake)then self = instance end
  348. local wh = {...}
  349. local name = table.remove(wh,1)
  350. for i,v in next, wh do
  351. if(v == fake)then v = instance end
  352. wh[i]=v
  353. end
  354. return self(name,unpack(wh))
  355. end
  356. getmetatable(fake). __namecall=function(self,...)
  357. if(self == fake)then self = instance end
  358. local tuple={...}
  359. local name = table.remove(tuple,#tuple)
  360. return self[name](self,unpack(tuple))
  361. end
  362. return fake
  363. else
  364. instance.Parent = obje
  365. return instance;
  366. end
  367.  
  368. end
  369. local serviceFunctions={
  370. service=true,
  371. GetService=true,
  372. }
  373. local fakeGame = newproxy(true)
  374. getmetatable(fakeGame).__index = function(s,i)
  375. if(s == fakeGame)then s=oldGame end
  376. local serv = GetService(oldGame,i)
  377. if serviceFunctions[i] then
  378. return GetService
  379. elseif(serv)then
  380. return serv
  381. else
  382. return s[i]
  383. end
  384. end
  385. getmetatable(fakeGame).__newindex = function(s,i,v)
  386. if(s == fakeGame)then s=oldGame end
  387. s[i]=v
  388. end
  389. getmetatable(fakeGame).__call=function(self,...)
  390. if(self == fakeGame)then self = oldGame end
  391. local wh = {...}
  392. local name = table.remove(wh,1)
  393. for i,v in next, wh do
  394. if(v == fakeGame)then v = oldGame end
  395. wh[i]=v
  396. end
  397. if serviceFunctions[name] then
  398. return GetService(self,unpack(wh))
  399. else
  400. return self(name,unpack(wh))
  401. end
  402. end
  403. getmetatable(fakeGame). __namecall=function(self,...)
  404. if(self == fakeGame)then self = oldGame end
  405. local tuple={...}
  406. local name = table.remove(tuple,#tuple)
  407.  
  408. local funcToCall=self[name]
  409.  
  410. if serviceFunctions[name] then
  411. return GetService(self,unpack(tuple))
  412. else
  413. return self[name](self,unpack(tuple))
  414. end
  415. end
  416. getmetatable(fakeGame).__metatable = 'gay'
  417.  
  418. coroutine.wrap(function()
  419. while true do
  420. Run:TrigEvent('RenderStepped')
  421. swait()
  422. end
  423. end)()
  424. game=fakeGame
  425. UserInputService,ContextActionService = UsIS,CoAS
  426. end
  427.  
  428. -- converter by Drahazar
  429. -- converted using Drahazar's Void SB Script Converter
  430.  
  431. --//====================================================\\--
  432. --|| CREATED BY SHACKLUSTER
  433. --\\====================================================//--
  434.  
  435. wait(0.2)
  436.  
  437. Player = game:GetService("Players").LocalPlayer
  438. PlayerGui = Player.PlayerGui
  439. Cam = workspace.CurrentCamera
  440. Backpack = Player.Backpack
  441. Character = Player.Character
  442. Humanoid = Character.Humanoid
  443. Mouse = Player:GetMouse()
  444. RootPart = Character["HumanoidRootPart"]
  445. Torso = Character["Torso"]
  446. Head = Character["Head"]
  447. RightArm = Character["Right Arm"]
  448. LeftArm = Character["Left Arm"]
  449. RightLeg = Character["Right Leg"]
  450. LeftLeg = Character["Left Leg"]
  451. RootJoint = RootPart["RootJoint"]
  452. Neck = Torso["Neck"]
  453. RightShoulder = Torso["Right Shoulder"]
  454. LeftShoulder = Torso["Left Shoulder"]
  455. RightHip = Torso["Right Hip"]
  456. LeftHip = Torso["Left Hip"]
  457. local sick = Instance.new("Sound",RootPart)
  458.  
  459. IT = Instance.new
  460. CF = CFrame.new
  461. VT = Vector3.new
  462. RAD = math.rad
  463. C3 = Color3.new
  464. UD2 = UDim2.new
  465. BRICKC = BrickColor.new
  466. ANGLES = CFrame.Angles
  467. EULER = CFrame.fromEulerAnglesXYZ
  468. COS = math.cos
  469. ACOS = math.acos
  470. SIN = math.sin
  471. ASIN = math.asin
  472. ABS = math.abs
  473. MRANDOM = math.random
  474. FLOOR = math.floor
  475.  
  476. --//=================================\\
  477. --|| USEFUL VALUES
  478. --\\=================================//
  479.  
  480. Animation_Speed = 3
  481. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  482. local Speed = 35
  483. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  484. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  485. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  486. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  487. local DAMAGEMULTIPLIER = 1
  488. local ANIM = "Idle"
  489. local ATTACK = false
  490. local EQUIPPED = false
  491. local HOLD = false
  492. local COMBO = 1
  493. local Rooted = false
  494. local SINE = 0
  495. local KEYHOLD = false
  496. local CHANGE = 2 / Animation_Speed
  497. local WALKINGANIM = false
  498. local VALUE1 = false
  499. local VALUE2 = false
  500. local ROBLOXIDLEANIMATION = IT("Animation")
  501. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  502. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  503. --ROBLOXIDLEANIMATION.Parent = Humanoid
  504. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  505. WEAPONGUI.Name = "Weapon GUI"
  506. local Effects = IT("Folder", Character)
  507. Effects.Name = "Effects"
  508. local ANIMATOR = Humanoid.Animator
  509. local ANIMATE = Character.Animate
  510. local UNANCHOR = true
  511. local SPECIALITEMS = IT("Folder",Character)
  512. SPECIALITEMS.Name = "Special Items"
  513. local SPINSPEED = 1
  514.  
  515. --//=================================\\
  516. --\\=================================//
  517.  
  518.  
  519. --//=================================\\
  520. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  521. --\\=================================//
  522.  
  523. ArtificialHB = Instance.new("BindableEvent", script)
  524. ArtificialHB.Name = "ArtificialHB"
  525.  
  526. script:WaitForChild("ArtificialHB")
  527.  
  528. frame = Frame_Speed
  529. tf = 0
  530. allowframeloss = false
  531. tossremainder = false
  532. lastframe = tick()
  533. script.ArtificialHB:Fire()
  534.  
  535. game:GetService("RunService").Heartbeat:connect(function(s, p)
  536. tf = tf + s
  537. if tf >= frame then
  538. if allowframeloss then
  539. script.ArtificialHB:Fire()
  540. lastframe = tick()
  541. else
  542. for i = 1, math.floor(tf / frame) do
  543. script.ArtificialHB:Fire()
  544. end
  545. lastframe = tick()
  546. end
  547. if tossremainder then
  548. tf = 0
  549. else
  550. tf = tf - frame * math.floor(tf / frame)
  551. end
  552. end
  553. end)
  554.  
  555. --//=================================\\
  556. --\\=================================//
  557.  
  558. --//=================================\\
  559. --|| SOME FUNCTIONS
  560. --\\=================================//
  561.  
  562. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  563. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  564. end
  565.  
  566. function PositiveAngle(NUMBER)
  567. if NUMBER >= 0 then
  568. NUMBER = 0
  569. end
  570. return NUMBER
  571. end
  572.  
  573. function NegativeAngle(NUMBER)
  574. if NUMBER <= 0 then
  575. NUMBER = 0
  576. end
  577. return NUMBER
  578. end
  579.  
  580. function Swait(NUMBER)
  581. if NUMBER == 0 or NUMBER == nil then
  582. ArtificialHB.Event:wait()
  583. else
  584. for i = 1, NUMBER do
  585. ArtificialHB.Event:wait()
  586. end
  587. end
  588. end
  589.  
  590. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  591. local NEWMESH = IT(MESH)
  592. if MESH == "SpecialMesh" then
  593. NEWMESH.MeshType = MESHTYPE
  594. if MESHID ~= "nil" and MESHID ~= "" then
  595. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  596. end
  597. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  598. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  599. end
  600. end
  601. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  602. NEWMESH.Scale = SCALE
  603. NEWMESH.Parent = PARENT
  604. return NEWMESH
  605. end
  606.  
  607. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  608. local NEWPART = IT("Part")
  609. NEWPART.formFactor = FORMFACTOR
  610. NEWPART.Reflectance = REFLECTANCE
  611. NEWPART.Transparency = TRANSPARENCY
  612. NEWPART.CanCollide = false
  613. NEWPART.Locked = true
  614. NEWPART.Anchored = true
  615. if ANCHOR == false then
  616. NEWPART.Anchored = false
  617. end
  618. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  619. NEWPART.Name = NAME
  620. NEWPART.Size = SIZE
  621. NEWPART.Position = Torso.Position
  622. NEWPART.Material = MATERIAL
  623. NEWPART:BreakJoints()
  624. NEWPART.Parent = PARENT
  625. return NEWPART
  626. end
  627.  
  628. local function weldBetween(a, b)
  629. local weldd = Instance.new("ManualWeld")
  630. weldd.Part0 = a
  631. weldd.Part1 = b
  632. weldd.C0 = CFrame.new()
  633. weldd.C1 = b.CFrame:inverse() * a.CFrame
  634. weldd.Parent = a
  635. return weldd
  636. end
  637.  
  638.  
  639. function QuaternionFromCFrame(cf)
  640. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  641. local trace = m00 + m11 + m22
  642. if trace > 0 then
  643. local s = math.sqrt(1 + trace)
  644. local recip = 0.5 / s
  645. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  646. else
  647. local i = 0
  648. if m11 > m00 then
  649. i = 1
  650. end
  651. if m22 > (i == 0 and m00 or m11) then
  652. i = 2
  653. end
  654. if i == 0 then
  655. local s = math.sqrt(m00 - m11 - m22 + 1)
  656. local recip = 0.5 / s
  657. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  658. elseif i == 1 then
  659. local s = math.sqrt(m11 - m22 - m00 + 1)
  660. local recip = 0.5 / s
  661. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  662. elseif i == 2 then
  663. local s = math.sqrt(m22 - m00 - m11 + 1)
  664. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  665. end
  666. end
  667. end
  668.  
  669. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  670. local xs, ys, zs = x + x, y + y, z + z
  671. local wx, wy, wz = w * xs, w * ys, w * zs
  672. local xx = x * xs
  673. local xy = x * ys
  674. local xz = x * zs
  675. local yy = y * ys
  676. local yz = y * zs
  677. local zz = z * zs
  678. 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))
  679. end
  680.  
  681. function QuaternionSlerp(a, b, t)
  682. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  683. local startInterp, finishInterp;
  684. if cosTheta >= 0.0001 then
  685. if (1 - cosTheta) > 0.0001 then
  686. local theta = ACOS(cosTheta)
  687. local invSinTheta = 1 / SIN(theta)
  688. startInterp = SIN((1 - t) * theta) * invSinTheta
  689. finishInterp = SIN(t * theta) * invSinTheta
  690. else
  691. startInterp = 1 - t
  692. finishInterp = t
  693. end
  694. else
  695. if (1 + cosTheta) > 0.0001 then
  696. local theta = ACOS(-cosTheta)
  697. local invSinTheta = 1 / SIN(theta)
  698. startInterp = SIN((t - 1) * theta) * invSinTheta
  699. finishInterp = SIN(t * theta) * invSinTheta
  700. else
  701. startInterp = t - 1
  702. finishInterp = t
  703. end
  704. end
  705. 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
  706. end
  707.  
  708. function Clerp(a, b, t)
  709. local qa = {QuaternionFromCFrame(a)}
  710. local qb = {QuaternionFromCFrame(b)}
  711. local ax, ay, az = a.x, a.y, a.z
  712. local bx, by, bz = b.x, b.y, b.z
  713. local _t = 1 - t
  714. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  715. end
  716.  
  717. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  718. local frame = IT("Frame")
  719. frame.BackgroundTransparency = TRANSPARENCY
  720. frame.BorderSizePixel = BORDERSIZEPIXEL
  721. frame.Position = POSITION
  722. frame.Size = SIZE
  723. frame.BackgroundColor3 = COLOR
  724. frame.BorderColor3 = BORDERCOLOR
  725. frame.Name = NAME
  726. frame.Parent = PARENT
  727. return frame
  728. end
  729.  
  730. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  731. local label = IT("TextLabel")
  732. label.BackgroundTransparency = 1
  733. label.Size = UD2(1, 0, 1, 0)
  734. label.Position = UD2(0, 0, 0, 0)
  735. label.TextColor3 = TEXTCOLOR
  736. label.TextStrokeTransparency = STROKETRANSPARENCY
  737. label.TextTransparency = TRANSPARENCY
  738. label.FontSize = TEXTFONTSIZE
  739. label.Font = TEXTFONT
  740. label.BorderSizePixel = BORDERSIZEPIXEL
  741. label.TextScaled = false
  742. label.Text = TEXT
  743. label.Name = NAME
  744. label.Parent = PARENT
  745. return label
  746. end
  747.  
  748. function NoOutlines(PART)
  749. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  750. end
  751.  
  752. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  753. local NEWWELD = IT(TYPE)
  754. NEWWELD.Part0 = PART0
  755. NEWWELD.Part1 = PART1
  756. NEWWELD.C0 = C0
  757. NEWWELD.C1 = C1
  758. NEWWELD.Parent = PARENT
  759. return NEWWELD
  760. end
  761.  
  762. local S = IT("Sound")
  763. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  764. local NEWSOUND = nil
  765. coroutine.resume(coroutine.create(function()
  766. NEWSOUND = S:Clone()
  767. NEWSOUND.EmitterSize = VOLUME*5
  768. NEWSOUND.Parent = PARENT
  769. NEWSOUND.Volume = VOLUME
  770. NEWSOUND.Pitch = PITCH
  771. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  772. NEWSOUND:play()
  773. if DOESLOOP == true then
  774. NEWSOUND.Looped = true
  775. else
  776. repeat wait(1) until NEWSOUND.Playing == false
  777. NEWSOUND:remove()
  778. end
  779. end))
  780. return NEWSOUND
  781. end
  782.  
  783. function CFrameFromTopBack(at, top, back)
  784. local right = top:Cross(back)
  785. 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)
  786. end
  787.  
  788. --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})
  789. function WACKYEFFECT(Table)
  790. local TYPE = (Table.EffectType or "Sphere")
  791. local SIZE = (Table.Size or VT(1,1,1))
  792. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  793. local TRANSPARENCY = (Table.Transparency or 0)
  794. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  795. local CFRAME = (Table.CFrame or Torso.CFrame)
  796. local MOVEDIRECTION = (Table.MoveToPos or nil)
  797. local ROTATION1 = (Table.RotationX or 0)
  798. local ROTATION2 = (Table.RotationY or 0)
  799. local ROTATION3 = (Table.RotationZ or 0)
  800. local MATERIAL = (Table.Material or "Neon")
  801. local COLOR = (Table.Color or C3(1,1,1))
  802. local TIME = (Table.Time or 45)
  803. local SOUNDID = (Table.SoundID or nil)
  804. local SOUNDPITCH = (Table.SoundPitch or nil)
  805. local SOUNDVOLUME = (Table.SoundVolume or nil)
  806. coroutine.resume(coroutine.create(function()
  807. local PLAYSSOUND = false
  808. local SOUND = nil
  809. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  810. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  811. PLAYSSOUND = true
  812. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  813. end
  814. EFFECT.Color = COLOR
  815. local MSH = nil
  816. if TYPE == "Sphere" then
  817. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  818. elseif TYPE == "Block" or TYPE == "Box" then
  819. MSH = IT("BlockMesh",EFFECT)
  820. MSH.Scale = SIZE
  821. elseif TYPE == "Wave" then
  822. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  823. elseif TYPE == "Ring" then
  824. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  825. elseif TYPE == "Slash" then
  826. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  827. elseif TYPE == "Round Slash" then
  828. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  829. elseif TYPE == "Swirl" then
  830. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  831. elseif TYPE == "Skull" then
  832. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  833. elseif TYPE == "Crystal" then
  834. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  835. end
  836. if MSH ~= nil then
  837. local MOVESPEED = nil
  838. if MOVEDIRECTION ~= nil then
  839. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  840. end
  841. local GROWTH = SIZE - ENDSIZE
  842. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  843. if TYPE == "Block" then
  844. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  845. else
  846. EFFECT.CFrame = CFRAME
  847. end
  848. for LOOP = 1, TIME+1 do
  849. Swait()
  850. MSH.Scale = MSH.Scale - GROWTH/TIME
  851. if TYPE == "Wave" then
  852. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  853. end
  854. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  855. if TYPE == "Block" then
  856. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  857. else
  858. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  859. end
  860. if MOVEDIRECTION ~= nil then
  861. local ORI = EFFECT.Orientation
  862. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  863. EFFECT.Orientation = ORI
  864. end
  865. end
  866. if PLAYSSOUND == false then
  867. EFFECT:remove()
  868. else
  869. repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
  870. EFFECT:remove()
  871. end
  872. else
  873. if PLAYSSOUND == false then
  874. EFFECT:remove()
  875. else
  876. repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
  877. EFFECT:remove()
  878. end
  879. end
  880. end))
  881. end
  882.  
  883. function MakeForm(PART,TYPE)
  884. if TYPE == "Cyl" then
  885. local MSH = IT("CylinderMesh",PART)
  886. elseif TYPE == "Ball" then
  887. local MSH = IT("SpecialMesh",PART)
  888. MSH.MeshType = "Sphere"
  889. elseif TYPE == "Wedge" then
  890. local MSH = IT("SpecialMesh",PART)
  891. MSH.MeshType = "Wedge"
  892. end
  893. end
  894.  
  895. Debris = game:GetService("Debris")
  896.  
  897. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  898. local DIRECTION = CF(StartPos,EndPos).lookVector
  899. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  900. end
  901.  
  902. function CreateNeonCircle(ATTACHPART,POSITION,SIZE,COLOR,MATERIAL,THICKNESS,WIDTH,ORBED,ORBPART)
  903. local PART = CreatePart(3, SPECIALITEMS, MATERIAL, 0, 1, COLOR, "CirclePart", VT(0,0,0),false)
  904. local ORB = nil
  905. for i = 1, 20 do
  906. local RingPiece = CreatePart(3, SPECIALITEMS, MATERIAL, 0, 0, COLOR, "CirclePart", VT(THICKNESS,WIDTH,SIZE*(2.6/2)),false)
  907. 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))
  908. if i == ORBPART and ORBED == true then
  909. ORB = CreatePart(3, SPECIALITEMS, MATERIAL, 0, 0, COLOR, "Orb", VT(0.8+WIDTH,0.8+WIDTH,0.8+WIDTH),false)
  910. MakeForm(ORB,"Ball")
  911. CreateWeldOrSnapOrMotor("Weld", RingPiece, RingPiece, ORB, CF(0,0,0) * ANGLES(RAD(0), RAD(0), RAD(0)),CF(0, 0, 0))
  912. end
  913. end
  914. local PartWeld = CreateWeldOrSnapOrMotor("Weld", ATTACHPART, PART, ATTACHPART, POSITION * ANGLES(RAD(0), RAD(0), RAD(0)),CF(0, 0, 0))
  915. return PartWeld, ORB
  916. end
  917.  
  918. function CharacterFade(COLOR,TIMER)
  919. coroutine.resume(coroutine.create(function()
  920. local FADE = IT("Model",Effects)
  921. FADE.Name = "FadingEffect"
  922. for _, c in pairs(Character:GetChildren()) do
  923. if c.ClassName == "Part" and c ~= RootPart then
  924. local FADER = c:Clone()
  925. FADER.Color = COLOR
  926. FADER.CFrame = c.CFrame
  927. FADER.Parent = FADE
  928. FADER.Anchored = true
  929. FADER.Transparency = 0.25+c.Transparency
  930. FADER:BreakJoints()
  931. FADER.Material = "Neon"
  932. if FADER.Name == "Head" then
  933. FADER:ClearAllChildren()
  934. FADER.Size = VT(1,1,1)
  935. end
  936. FADER.CanCollide = false
  937. end
  938. end
  939. local TRANS = 0.75/TIMER
  940. for i = 1, TIMER do
  941. Swait()
  942. for _, c in pairs(FADE:GetChildren()) do
  943. if c.ClassName == "Part" then
  944. c.Transparency = c.Transparency + TRANS
  945. end
  946. end
  947. end
  948. FADE:remove()
  949. end))
  950. end
  951.  
  952. function ProjectileMovement(PROJECTILE,AIM,TIME)
  953. local HIT,POS = CastProperRay(PROJECTILE.Position,AIM,2000,Character)
  954. PROJECTILE.CFrame = CF(PROJECTILE.Position,POS) * ANGLES(RAD(0), RAD(0), RAD(MRANDOM(-90,90)))
  955. local HEIGHT = TIME/5
  956. local DISTANCE = (PROJECTILE.Position - POS).Magnitude
  957. for i = 1, TIME do
  958. Swait()
  959. PROJECTILE.CFrame = PROJECTILE.CFrame * CF(0,(HEIGHT-(i/2.575))/100,-DISTANCE/TIME)
  960. end
  961. end
  962.  
  963. function GetSphereArea(POS,DISTANCE)
  964. return CF(POS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-DISTANCE).p
  965. end
  966.  
  967. function SHAKECAM(POSITION,RANGE,INTENSITY,TIME)
  968. local CHILDREN = workspace:GetDescendants()
  969. for index, CHILD in pairs(CHILDREN) do
  970. if CHILD.ClassName == "Model" then
  971. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  972. if HUM then
  973. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  974. if TORSO then
  975. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  976. local CAMSHAKER = script.CamShake:Clone()
  977. CAMSHAKER.Shake.Value = INTENSITY
  978. CAMSHAKER.Timer.Value = TIME
  979. CAMSHAKER.Parent = CHILD
  980. CAMSHAKER.Disabled = false
  981. end
  982. end
  983. end
  984. end
  985. end
  986. end
  987.  
  988. function GetRoot(MODEL,ROOT)
  989. if ROOT == true then
  990. return MODEL:FindFirstChild("HumanoidRootPart") or MODEL:FindFirstChild("Torso") or MODEL:FindFirstChild("UpperTorso")
  991. else
  992. return MODEL:FindFirstChild("Torso") or MODEL:FindFirstChild("UpperTorso")
  993. end
  994. end
  995.  
  996. function Chatter(Text,Timer)
  997. local chat = coroutine.wrap(function()
  998. if Character:FindFirstChild("SpeechBoard")~= nil then
  999. Character:FindFirstChild("SpeechBoard"):destroy()
  1000. end
  1001. local naeeym2 = IT("BillboardGui",Character)
  1002. naeeym2.Size = UD2(0,100,0,40)
  1003. naeeym2.StudsOffset = VT(0,2,0)
  1004. naeeym2.Adornee = Character.Head
  1005. naeeym2.Name = "SpeechBoard"
  1006. naeeym2.AlwaysOnTop = true
  1007. local tecks2 = IT("TextLabel",naeeym2)
  1008. tecks2.BackgroundTransparency = 1
  1009. tecks2.BorderSizePixel = 0
  1010. tecks2.Text = ""
  1011. tecks2.Font = "Legacy"
  1012. tecks2.TextSize = 15
  1013. tecks2.TextStrokeTransparency = 0
  1014. tecks2.TextColor3 = C3(1,1,1)
  1015. tecks2.TextStrokeColor3 = C3(0,0,0)
  1016. tecks2.Size = UDim2.new(1,0,0.5,0)
  1017. local FINISHED = false
  1018. coroutine.resume(coroutine.create(function()
  1019. for i = 1,string.len(Text),1 do
  1020. if naeeym2.Parent ~= Character then
  1021. FINISHED = true
  1022. end
  1023. CreateSound(418252437, Head, 7, MRANDOM(8,12)/15, false)
  1024. tecks2.Text = string.sub(Text,1,i)
  1025. Swait(Timer)
  1026. end
  1027. FINISHED = true
  1028. end))
  1029. repeat wait() until FINISHED == true
  1030. wait(1)
  1031. naeeym2.Name = "FadingDialogue"
  1032. for i = 1, 45 do
  1033. Swait()
  1034. naeeym2.StudsOffset = naeeym2.StudsOffset + VT(0,(2-((2/45)*i))/45,0)
  1035. tecks2.TextTransparency = tecks2.TextTransparency + 1/45
  1036. tecks2.TextStrokeTransparency = tecks2.TextTransparency
  1037. end
  1038. naeeym2:Destroy()
  1039. end)
  1040. chat()
  1041. end
  1042.  
  1043. function POSITION(PARENT)
  1044. local grav = Instance.new("BodyPosition",PARENT)
  1045. grav.D = 15
  1046. grav.P = 2000
  1047. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1048. return grav
  1049. end
  1050.  
  1051. --//=================================\\
  1052. --|| WEAPON CREATION
  1053. --\\=================================//
  1054.  
  1055. for _, c in pairs(Character:GetChildren()) do
  1056. if c and c.Parent then
  1057. if c.ClassName == "Accessory" then
  1058. local ACCESSORY = c
  1059. local HANDLE = c.Handle
  1060. HANDLE.Parent = Character
  1061. if c then
  1062. if HANDLE:FindFirstChild("HatAttachment") or HANDLE:FindFirstChild("HairAttachment") then
  1063. local WLD = weldBetween(Head,HANDLE)
  1064. elseif HANDLE:FindFirstChild("FaceFrontAttachment") then
  1065. HANDLE:remove()
  1066. else
  1067. local WLD = weldBetween(Torso,HANDLE)
  1068. end
  1069. end
  1070. ACCESSORY:remove()
  1071. end
  1072. end
  1073. end
  1074. wait(0.1)
  1075. local CUSTOMTAG = IT("BillboardGui",Character)
  1076. CUSTOMTAG.AlwaysOnTop = true
  1077. CUSTOMTAG.Size = UD2(2,15,2,15)
  1078. CUSTOMTAG.StudsOffset = VT(0,1.2,0)
  1079. CUSTOMTAG.MaxDistance = 75
  1080. CUSTOMTAG.Adornee = Character.Head
  1081. CUSTOMTAG.Name = "Name"
  1082. local TAGETXT = IT("TextLabel",CUSTOMTAG)
  1083. TAGETXT.BackgroundTransparency = 1
  1084. TAGETXT.TextScaled = true
  1085. TAGETXT.BorderSizePixel = 0
  1086. TAGETXT.Text = "Calamity"
  1087. TAGETXT.Font = "Fantasy"
  1088. TAGETXT.TextSize = 30
  1089. TAGETXT.TextStrokeTransparency = 0.5
  1090. TAGETXT.TextColor3 = C3(0,0,0)
  1091. TAGETXT.TextStrokeColor3 = C3(1,1,1)
  1092. TAGETXT.Size = UD2(1,0,0.5,0)
  1093. TAGETXT.Parent = CUSTOMTAG
  1094. local PARTICLES = {}
  1095. local RINGS = {}
  1096. local ORBS = {}
  1097. local SPIN = true
  1098. for _, c in pairs(script.Torso:GetChildren()) do
  1099. c.Parent = Torso
  1100. c.Enabled = true
  1101. table.insert(PARTICLES,{c,c.Speed})
  1102. end
  1103. script.Torso:remove()
  1104. for i = 1, 4 do
  1105. local WELD,ORB = CreateNeonCircle(RootPart,CF(0,0,0),(4+(i/1.3))/6,C3(1,1,1),"Neon",0,0,true,1)
  1106. table.insert(RINGS,WELD)
  1107. table.insert(ORBS,ORB)
  1108. end
  1109. local MASK = script.Mask
  1110. MASK.Parent = SPECIALITEMS
  1111. MASK:SetPrimaryPartCFrame(Head.CFrame*CF(-0.025,-0.08,-0.6)*ANGLES(RAD(-90),RAD(0),RAD(0)))
  1112. MASK.Wood.Anchored = false
  1113. local MASKP = MASK.Wood
  1114. local EYE = MASK.Neon.Attachment.Flame
  1115. local NEON = MASK.Neon
  1116. weldBetween(Head,MASK.Wood)
  1117.  
  1118. local SKILLTEXTCOLOR = C3(1,1,1)
  1119. local SKILLFONT = "Legacy"
  1120. local SKILLTEXTSIZE = 3
  1121.  
  1122. local ATTACKS = {"Mouse - Calamity Bomb","C - Singularity Beam","V - Catastrophic Ravage","B - Raw, Unfiltered Catastrophe","X - Supreme Cataclysm"}
  1123.  
  1124. for i = 1, #ATTACKS do
  1125. 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")
  1126. local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKS[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
  1127. SKILLTEXT.TextXAlignment = "Right"
  1128. end
  1129. local BOOMSOUNDS = {1606719431,1606720250,1606720814}
  1130.  
  1131. --//=================================\\
  1132. --|| DAMAGING
  1133. --\\=================================//
  1134.  
  1135. function ONESHOT(MODEL)
  1136. MODEL:BreakJoints()
  1137. for index, CHILD in pairs(MODEL:GetChildren()) do
  1138. if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
  1139. if CHILD.Name == "Head" then
  1140. 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})
  1141. else
  1142. 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})
  1143. end
  1144. CHILD:remove()
  1145. end
  1146. end
  1147. Debris:AddItem(MODEL,6)
  1148. end
  1149.  
  1150. function Scan(OBJECT,TABLE)
  1151. for index, CHILD in pairs(OBJECT:GetChildren()) do
  1152. if CHILD ~= Character then
  1153. if CHILD.ClassName == "Model" or CHILD.ClassName == "Folder" then
  1154. table.insert(TABLE,CHILD)
  1155. Scan(CHILD,TABLE)
  1156. end
  1157. end
  1158. end
  1159. return TABLE
  1160. end
  1161.  
  1162. function ApplyAoE(POSITION,RANGE)
  1163. local TABLE = {}
  1164. local SCANNED = Scan(workspace,TABLE)
  1165. for E = 1, #SCANNED do
  1166. if SCANNED[E]:FindFirstChildOfClass("Humanoid") then
  1167. local TORSO = GetRoot(SCANNED[E],false)
  1168. if TORSO then
  1169. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1170. ONESHOT(SCANNED[E])
  1171. end
  1172. end
  1173. end
  1174. end
  1175. end
  1176.  
  1177. --//=================================\\
  1178. --|| ATTACK FUNCTIONS AND STUFF
  1179. --\\=================================//
  1180.  
  1181. --[[coroutine.resume(coroutine.create(function()
  1182. end))]]
  1183. function CalamityBomb()
  1184. ATTACK = true
  1185. Rooted = false
  1186. local FIRED = false
  1187. repeat
  1188. coroutine.resume(coroutine.create(function()
  1189. local BOMB = ORBS[MRANDOM(1,#ORBS)]:Clone()
  1190. BOMB.Parent = Effects
  1191. BOMB.Anchored = true
  1192. 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})
  1193. local POS = CF(BOMB.Position) + VT(0,15,0)
  1194. repeat
  1195. Swait()
  1196. BOMB.CFrame = Clerp(BOMB.CFrame,POS,0.1)
  1197. until FIRED == true
  1198. local CORE = IT("Attachment",BOMB)
  1199. for index, PR in pairs(script.Effects.Bullet:GetChildren()) do
  1200. local P = PR:Clone()
  1201. P.Parent = CORE
  1202. P.Enabled = true
  1203. end
  1204. ProjectileMovement(BOMB,Mouse.Hit.p,25)
  1205. for i = 1, 15 do
  1206. local ANGLE = CF(BOMB.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
  1207. 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})
  1208. end
  1209. ApplyAoE(BOMB.Position,15)
  1210. SHAKECAM(BOMB.Position,50,6,13)
  1211. 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})
  1212. 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})
  1213. BOMB:remove()
  1214. end))
  1215. for i=0, 0.1, 0.1 / Animation_Speed do
  1216. Swait()
  1217. 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)
  1218. 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)
  1219. 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)
  1220. 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)
  1221. 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)
  1222. 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)
  1223. end
  1224. FIRED = true
  1225. for i=0, 0.2, 0.1 / Animation_Speed do
  1226. Swait()
  1227. 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)
  1228. 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)
  1229. 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)
  1230. 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)
  1231. 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)
  1232. 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)
  1233. end
  1234. until HOLD == false
  1235. for i=0, 0.2, 0.1 / Animation_Speed do
  1236. Swait()
  1237. 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)
  1238. 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)
  1239. 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)
  1240. 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)
  1241. 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)
  1242. 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)
  1243. end
  1244. ATTACK = false
  1245. Rooted = false
  1246. end
  1247. function SingularityBeam()
  1248. ATTACK = true
  1249. Rooted = false
  1250. SPIN = false
  1251. local CHARGING = true
  1252. local FIRING = true
  1253. local GYRO = IT("BodyGyro",RootPart)
  1254. GYRO.D = 2
  1255. GYRO.P = 20000
  1256. GYRO.MaxTorque = VT(0,4000000,0)
  1257. local TEXTS = {"I'll make you dissapear!","Vanish before my eyes, mortal!","You are nothing!"}
  1258. Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
  1259. coroutine.resume(coroutine.create(function()
  1260. repeat
  1261. Swait()
  1262. GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  1263. until ATTACK == false
  1264. GYRO:Remove()
  1265. end))
  1266. local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(2,2,2),true)
  1267. MakeForm(CHARGE,"Ball")
  1268. local CORE = IT("Attachment",CHARGE)
  1269. local P = script.Charge:Clone()
  1270. P.Parent = CORE
  1271. P.Enabled = true
  1272. local BEAM = nil
  1273. local NOSE = nil
  1274. local DAMAGE = false
  1275. CreateSound(342793847, CHARGE, 10, 1, false)
  1276. CHARGE.Color = C3(0,0,0)
  1277. coroutine.resume(coroutine.create(function()
  1278. coroutine.resume(coroutine.create(function()
  1279. repeat
  1280. Swait()
  1281. CHARGE.CFrame = CF(RootPart.CFrame*CF(0,0,-8).p,Mouse.Hit.p)
  1282. if BEAM ~= nil then
  1283. local HIT,POS = CastProperRay(CHARGE.Position,Mouse.Hit.p,1000,Character)
  1284. local DISTANCE = (POS - CHARGE.Position).Magnitude
  1285. BEAM.CFrame = CHARGE.CFrame*CF(0,0,-((DISTANCE/2)+15)) * ANGLES(RAD(-90), RAD(0), RAD(0))
  1286. BEAM.Size = VT(BEAM.Size.X,DISTANCE+15,BEAM.Size.Z)
  1287. if BEAM.Size.X > 3 then
  1288. for i = 1, 2 do
  1289. 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)))
  1290. 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})
  1291. end
  1292. 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)
  1293. 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})
  1294. 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})
  1295. end
  1296. if DAMAGE == true then
  1297. ApplyAoE(POS,BEAM.Size.X/1.5)
  1298. ApplyAoE(BEAM.CFrame*CF(0,BEAM.Size.Y/2,0).p,BEAM.Size.X/1.5)
  1299. end
  1300. end
  1301. if NOSE ~= nil then
  1302. NOSE.CFrame = BEAM.CFrame*CF(0,BEAM.Size.Y/2,0)
  1303. end
  1304. until ATTACK == false
  1305. for i = 1, 50 do
  1306. Swait()
  1307. CHARGE.Size = CHARGE.Size - VT(2,2,2)/50
  1308. end
  1309. CHARGE:remove()
  1310. end))
  1311. local LOOP = 0
  1312. repeat
  1313. Swait()
  1314. LOOP = LOOP + 10
  1315. for E = 1, #RINGS do
  1316. RINGS[E].C0 = Clerp(RINGS[E].C0, CF(0,-(3+E),0) * ANGLES(RAD(90), RAD(0), RAD(LOOP+(E*15))),0.1)
  1317. end
  1318. 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)
  1319. 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)
  1320. 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)
  1321. 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)
  1322. 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)
  1323. 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)
  1324. until CHARGING == false or ATTACK == false
  1325. repeat
  1326. Swait()
  1327. LOOP = LOOP + 10
  1328. for E = 1, #RINGS do
  1329. RINGS[E].C0 = Clerp(RINGS[E].C0, CF(0,-(3+E),0) * ANGLES(RAD(90), RAD(0), RAD(LOOP+(E*15))),0.1)
  1330. end
  1331. 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)
  1332. 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)
  1333. 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)
  1334. 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)
  1335. 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)
  1336. 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)
  1337. until FIRING == false or ATTACK == false
  1338. end))
  1339. wait(3)
  1340. P.Enabled = false
  1341. BEAM = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(0,600,0),true)
  1342. BEAM.Color = C3(0,0,0)
  1343. MakeForm(BEAM,"Cyl")
  1344. NOSE = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(0,0,0),true)
  1345. NOSE.Color = C3(0,0,0)
  1346. MakeForm(NOSE,"Ball")
  1347. wait(1)
  1348. CreateSound(138677306, Effects, 10, 1, false)
  1349. CreateSound(415700134, Effects, 10, 1, false)
  1350. for i = 1, 20 do
  1351. Swait()
  1352. BEAM.Size = BEAM.Size + VT(1,0,1)
  1353. NOSE.Size = NOSE.Size + VT(1,1,1)
  1354. end
  1355. DAMAGE = true
  1356. local TOUCH = BEAM.Touched:Connect(function(HIT)
  1357. if HIT.Parent ~= Character and HIT.Parent:FindFirstChildOfClass("Humanoid") then
  1358. ONESHOT(HIT.Parent)
  1359. end
  1360. end)
  1361. wait(4)
  1362. DAMAGE = false
  1363. TOUCH:Disconnect()
  1364. for i = 1, 20 do
  1365. Swait()
  1366. BEAM.Size = BEAM.Size - VT(1,0,1)
  1367. NOSE.Size = NOSE.Size - VT(1,1,1)
  1368. end
  1369. BEAM:Remove()
  1370. NOSE:Remove()
  1371. SPIN = true
  1372. ATTACK = false
  1373. Rooted = false
  1374. end
  1375. function CatastrophicRavage()
  1376. ATTACK = true
  1377. Rooted = false
  1378. for i=0, 1, 0.1 / Animation_Speed do
  1379. Swait()
  1380. 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)
  1381. 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)
  1382. 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)
  1383. 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)
  1384. 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)
  1385. 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)
  1386. end
  1387. ATTACK = false
  1388. Rooted = false
  1389. end
  1390. function RawUnfilteredCatastrophe()
  1391. ATTACK = true
  1392. Rooted = false
  1393. for i=0, 1, 0.1 / Animation_Speed do
  1394. Swait()
  1395. 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)
  1396. 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)
  1397. 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)
  1398. 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)
  1399. 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)
  1400. 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)
  1401. end
  1402. ATTACK = false
  1403. Rooted = false
  1404. end
  1405. function SupremeCataclysm()
  1406. ATTACK = true
  1407. Rooted = true
  1408. local POSE = "Back"
  1409. local LOC = POSITION(RootPart)
  1410. CreateSound(874376217, Effects, 10, 1, false)
  1411. LOC.Position = RootPart.Position+VT(0,35,0)
  1412. local BLACKHOLE = false
  1413. for i=0, 1.5, 0.1 / Animation_Speed do
  1414. Swait()
  1415. 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)
  1416. 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)
  1417. 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)
  1418. 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)
  1419. 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)
  1420. 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)
  1421. end
  1422. local POS = RootPart.Position + VT(0,40,0)
  1423. local GYRO = IT("BodyGyro",RootPart)
  1424. GYRO.D = 2
  1425. GYRO.P = 20000
  1426. GYRO.MaxTorque = VT(0,4000000,0)
  1427. coroutine.resume(coroutine.create(function()
  1428. repeat
  1429. Swait()
  1430. GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  1431. until ATTACK == false
  1432. GYRO:Remove()
  1433. end))
  1434. coroutine.resume(coroutine.create(function()
  1435. repeat
  1436. Swait()
  1437. if BLACKHOLE == true then
  1438. 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})
  1439. local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character)
  1440. if HITFLOOR then
  1441. 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})
  1442. local MATERIAL = CreatePart(3, Effects, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "BLACKHOLE'D", VT(2,2,2)*MRANDOM(5,15)/10)
  1443. MATERIAL.CFrame = CF(HITPOS-VT(0,5,0)) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)) * CF(0,0,MRANDOM(0,45))
  1444. if MRANDOM(1,5) == 1 then
  1445. CreateSound(765590102, MATERIAL, 2, MRANDOM(8,12)/8, false)
  1446. end
  1447. coroutine.resume(coroutine.create(function()
  1448. local Direction = CF(MATERIAL.Position,POS)
  1449. local Distance = (MATERIAL.Position - POS).magnitude
  1450. for i = 1, 45 do
  1451. Swait()
  1452. MATERIAL.CFrame = Direction*CF(0,(45/200)+((45/45)-((i*2)/45)),-Distance/45)
  1453. Direction = MATERIAL.CFrame
  1454. end
  1455. MATERIAL:remove()
  1456. end))
  1457. end
  1458. end
  1459. --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})
  1460. SPINSPEED = SPINSPEED + 5/400
  1461. if POSE == "Back" then
  1462. 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)
  1463. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(-15)), 1 / Animation_Speed)
  1464. 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)
  1465. 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)
  1466. 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)
  1467. 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)
  1468. end
  1469. until ATTACK == false
  1470. end))
  1471. wait(2)
  1472. BLACKHOLE = true
  1473. for i = 1, 15 do
  1474. wait((2-((i/30)*2))/15)
  1475. CreateSound(182765513, Effects, 10, 1, false)
  1476. 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})
  1477. for i = 1, 5 do
  1478. local ANGLE = CF(POS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
  1479. 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})
  1480. end
  1481. end
  1482. Chatter("...Dissapear!",0)
  1483. local DESTROYER = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(0,0,0),true)
  1484. DESTROYER.CFrame = CF(POS)
  1485. MakeForm(DESTROYER,"Ball")
  1486. DESTROYER.Color = C3(0,0,0)
  1487. CreateSound(341301115, DESTROYER, 10, 1.5, false)
  1488. coroutine.resume(coroutine.create(function()
  1489. repeat
  1490. Swait()
  1491. ApplyAoE(DESTROYER.Position,DESTROYER.Size.X/1.5)
  1492. local ANGLE = CF(DESTROYER.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
  1493. 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})
  1494. 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})
  1495. until DESTROYER.Parent ~= Effects
  1496. end))
  1497. for i = 1, 100 do
  1498. Swait()
  1499. DESTROYER.Size = DESTROYER.Size + VT(0.5,0.5,0.5)
  1500. DESTROYER.Size = DESTROYER.Size + VT(0.15,0.15,0.15) * COS(SINE / 3)
  1501. end
  1502. POSE = "Manual"
  1503. for i=0, 1, 0.1 / Animation_Speed do
  1504. Swait()
  1505. 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)
  1506. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(25), RAD(-15)), 1 / Animation_Speed)
  1507. 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)
  1508. 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)
  1509. 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)
  1510. 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)
  1511. end
  1512. for i=0, 0.2, 0.1 / Animation_Speed do
  1513. Swait()
  1514. 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)
  1515. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(25), RAD(-15)), 1 / Animation_Speed)
  1516. 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)
  1517. 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)
  1518. 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)
  1519. 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)
  1520. end
  1521. coroutine.resume(coroutine.create(function()
  1522. local IMPACT = false
  1523. DESTROYER.CFrame = CF(DESTROYER.Position,Mouse.Hit.p)
  1524. for i = 1, 800 do
  1525. Swait()
  1526. DESTROYER.CFrame = DESTROYER.CFrame * CF(0,0,-0.5)
  1527. local HIT,POS = Raycast(DESTROYER.CFrame.p,DESTROYER.CFrame.lookVector,DESTROYER.Size.X/2,Character)
  1528. if HIT then
  1529. IMPACT = true
  1530. break
  1531. end
  1532. end
  1533. if IMPACT == false then
  1534. DESTROYER.Parent = SPECIALITEMS
  1535. local SIZE = DESTROYER.Size
  1536. CreateSound(3264923, Effects, 10, 1, false)
  1537. for i = 1, 25 do
  1538. Swait()
  1539. DESTROYER.Size = DESTROYER.Size - SIZE/25
  1540. end
  1541. DESTROYER:remove()
  1542. else
  1543. local SIZE = DESTROYER.Size
  1544. for i = 1, 15 do
  1545. Swait()
  1546. DESTROYER.Size = DESTROYER.Size - SIZE/35
  1547. end
  1548. SHAKECAM(DESTROYER.Position,9999999999999999999999999999999,8,160)
  1549. DESTROYER.Size = SIZE * 7
  1550. CreateSound(174580476, Effects, 10, 0.4, false)
  1551. CreateSound(288641686, Effects, 10, 0.5, false)
  1552. for index, CHILD in pairs(workspace:GetDescendants()) do
  1553. if CHILD.ClassName ~= "Terrain" then
  1554. if CHILD:IsA("BasePart") and CHILD:FindFirstAncestor(Player.Name) == nil then
  1555. if (CHILD.Position - DESTROYER.Position).Magnitude <= DESTROYER.Size.X/2 and CHILD.Size.Magnitude < DESTROYER.Size.Magnitude/7 then
  1556. CHILD:Destroy()
  1557. end
  1558. end
  1559. end
  1560. end
  1561. for i = 1, 200 do
  1562. Swait()
  1563. DESTROYER.Size = DESTROYER.Size + VT(0.5,0.5,0.5)/5
  1564. DESTROYER.Color = C3(i/10,i/10,i/10)
  1565. local HITFLOOR,HITPOS,NORMAL = Raycast(DESTROYER.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character)
  1566. 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})
  1567. end
  1568. DESTROYER.Parent = SPECIALITEMS
  1569. local SIZE = DESTROYER.Size
  1570. CreateSound(3264923, Effects, 10, 1, false)
  1571. for i = 1, 25 do
  1572. Swait()
  1573. DESTROYER.Size = DESTROYER.Size - SIZE/25
  1574. end
  1575. DESTROYER:remove()
  1576. end
  1577. end))
  1578. BLACKHOLE = false
  1579. for i=0, 1, 0.1 / Animation_Speed do
  1580. Swait()
  1581. 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)
  1582. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(25), RAD(-15)), 1 / Animation_Speed)
  1583. 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)
  1584. 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)
  1585. 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)
  1586. 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)
  1587. end
  1588. SPINSPEED = 1
  1589. LOC:Remove()
  1590. ATTACK = false
  1591. Rooted = false
  1592. end
  1593. function Groan()
  1594. ATTACK = true
  1595. Rooted = true
  1596. local SOUND = CreateSound(1544355717, Head, 10, 1, false)
  1597. SOUND.EmitterSize = 500
  1598. repeat
  1599. Swait()
  1600. SOUND.Parent = Head
  1601. local COLOR = (SOUND.PlaybackLoudness*4)/255
  1602. NEON.Color = C3(COLOR,COLOR,COLOR)
  1603. 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)
  1604. 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)
  1605. 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)
  1606. 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)
  1607. 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)
  1608. 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)
  1609. until SOUND.Playing == false
  1610. SOUND:remove()
  1611. ATTACK = false
  1612. Rooted = false
  1613. end
  1614. function Laugh()
  1615. ATTACK = true
  1616. Rooted = true
  1617. local SOUND = CreateSound(1359796082, Head, 10, 1, false)
  1618. SOUND.EmitterSize = 250
  1619. repeat
  1620. Swait()
  1621. SOUND.Parent = Head
  1622. local COLOR = (SOUND.PlaybackLoudness*4)/255
  1623. NEON.Color = C3(COLOR/6,COLOR/6,COLOR/6)
  1624. if SOUND.TimePosition < 7 then
  1625. 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)
  1626. 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)
  1627. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.35, -0.5) * ANGLES(RAD(150), RAD(3), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1628. 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)
  1629. 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)
  1630. 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)
  1631. elseif (SOUND.TimePosition < 9 and SOUND.TimePosition >= 7) or SOUND.TimePosition > 18 then
  1632. 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)
  1633. 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)
  1634. 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)
  1635. 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)
  1636. 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)
  1637. 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)
  1638. else
  1639. if COLOR < 4 then
  1640. COLOR = 4
  1641. end
  1642. 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)
  1643. 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)
  1644. 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)
  1645. 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)
  1646. 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)
  1647. 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)
  1648. end
  1649. until SOUND.Playing == false
  1650. SOUND:remove()
  1651. ATTACK = false
  1652. Rooted = false
  1653. end
  1654.  
  1655. --//=================================\\
  1656. --|| ASSIGN THINGS TO KEYS
  1657. --\\=================================//
  1658.  
  1659. function MouseDown(Mouse)
  1660. HOLD = true
  1661. if ATTACK == false then
  1662. CalamityBomb()
  1663. end
  1664. end
  1665.  
  1666. function MouseUp(Mouse)
  1667. HOLD = false
  1668. end
  1669.  
  1670. function KeyDown(Key)
  1671. KEYHOLD = true
  1672. if Key == "c" and ATTACK == false then
  1673. SingularityBeam()
  1674. end
  1675.  
  1676. if Key == "v" and ATTACK == false then
  1677. CatastrophicRavage()
  1678. end
  1679.  
  1680. if Key == "b" and ATTACK == false then
  1681. RawUnfilteredCatastrophe()
  1682. end
  1683.  
  1684. if Key == "x" and ATTACK == false then
  1685. SupremeCataclysm()
  1686. end
  1687.  
  1688. if Key == "y" and ATTACK == false then
  1689. Groan()
  1690. end
  1691. if Key == "t" and ATTACK == false then
  1692. Laugh()
  1693. end
  1694. end
  1695.  
  1696. function KeyUp(Key)
  1697. KEYHOLD = false
  1698. end
  1699.  
  1700. Mouse.Button1Down:connect(function(NEWKEY)
  1701. MouseDown(NEWKEY)
  1702. end)
  1703. Mouse.Button1Up:connect(function(NEWKEY)
  1704. MouseUp(NEWKEY)
  1705. end)
  1706. Mouse.KeyDown:connect(function(NEWKEY)
  1707. KeyDown(NEWKEY)
  1708. end)
  1709. Mouse.KeyUp:connect(function(NEWKEY)
  1710. KeyUp(NEWKEY)
  1711. end)
  1712.  
  1713. --//=================================\\
  1714. --\\=================================//
  1715.  
  1716. function unanchor()
  1717. for _, c in pairs(Character:GetChildren()) do
  1718. if c:IsA("BasePart") and c ~= RootPart then
  1719. c.Anchored = false
  1720. end
  1721. end
  1722. if UNANCHOR == true then
  1723. RootPart.Anchored = false
  1724. else
  1725. RootPart.Anchored = true
  1726. end
  1727. end
  1728.  
  1729. --//=================================\\
  1730. --|| WRAP THE WHOLE SCRIPT UP
  1731. --\\=================================//
  1732.  
  1733. Humanoid.Changed:connect(function(Jump)
  1734. if Jump == "Jump" and (Disable_Jump == true) then
  1735. Humanoid.Jump = false
  1736. end
  1737. end)
  1738.  
  1739. while true do
  1740. Swait()
  1741. script.Parent = WEAPONGUI
  1742. ANIMATE.Parent = nil
  1743. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1744. v:Stop();
  1745. end
  1746. SINE = SINE + CHANGE/2
  1747. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1748. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1749. Humanoid.HipHeight = 2.2
  1750. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4+Humanoid.HipHeight, Character)
  1751. if HITFLOOR == nil then
  1752. ANIM = "Midair"
  1753. if ATTACK == false then
  1754. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1755. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1756. 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)
  1757. 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)
  1758. 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)
  1759. 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)
  1760. end
  1761. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1762. ANIM = "Idle"
  1763. if ATTACK == false then
  1764. 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)
  1765. 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)
  1766. 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)
  1767. 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)
  1768. 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)
  1769. 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)
  1770. end
  1771. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1772. ANIM = "Walk"
  1773. if ATTACK == false then
  1774. 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)
  1775. 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)
  1776. 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)
  1777. 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)
  1778. 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)
  1779. 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)
  1780. end
  1781. end
  1782. if SPIN == true then
  1783. for E = 1, #RINGS do
  1784. 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)
  1785. end
  1786. end
  1787. unanchor()
  1788. Humanoid.MaxHealth = "inf"
  1789. Humanoid.Health = "inf"
  1790. if Rooted == false then
  1791. Disable_Jump = false
  1792. Humanoid.WalkSpeed = Speed
  1793. elseif Rooted == true then
  1794. Disable_Jump = true
  1795. Humanoid.WalkSpeed = 0
  1796. end
  1797. if sick.Parent ~= RootPart then
  1798. sick = IT("Sound",RootPart)
  1799. end
  1800. Humanoid.DisplayDistanceType = "None"
  1801. Humanoid.Name = "NONHUM"
  1802. sick.SoundId = "rbxassetid://608726256"
  1803. sick.Looped = true
  1804. sick.Pitch = 1.2
  1805. sick.Volume = 4
  1806. sick.Playing = true
  1807. TAGETXT.Rotation = MRANDOM(-10,10)/5
  1808. end
  1809.  
  1810. --//=================================\\
  1811. --\\=================================//
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817. --//====================================================\\--
  1818. --|| END OF SCRIPT
  1819. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement