Advertisement
memberhero

Rex script

Jul 24th, 2018
548
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 78.13 KB | None | 0 0
  1. function sandbox(var,func)
  2. local env = getfenv(func)
  3. local newenv = setmetatable({},{
  4. __index = function(self,k)
  5. if k=="script" then
  6. return var
  7. else
  8. return env[k]
  9. end
  10. end,
  11. })
  12. setfenv(func,newenv)
  13. return func
  14. end
  15. function NS(...)
  16. local tab = {...}
  17. local fat = {}
  18. for i = 1, #tab do
  19. local v = tab[i]
  20. table.insert(fat,NumberSequenceKeypoint.new(v[1],v[2]))
  21. end
  22. return NumberSequence.new(fat);
  23. end
  24.  
  25. cors = {}
  26. mas = Instance.new("Model",game:GetService("Lighting"))
  27. ParticleEmitter0 = Instance.new("ParticleEmitter")
  28. ParticleEmitter1 = Instance.new("ParticleEmitter")
  29. ParticleEmitter2 = Instance.new("ParticleEmitter")
  30. ParticleEmitter0.Name = "Flames"
  31. ParticleEmitter0.Parent = mas
  32. ParticleEmitter0.Speed = NumberRange.new(0, 15)
  33. ParticleEmitter0.Rotation = NumberRange.new(0, 360)
  34. ParticleEmitter0.Enabled = false
  35. ParticleEmitter0.LightEmission = 1
  36. ParticleEmitter0.LightInfluence = 1
  37. ParticleEmitter0.Transparency = NumberSequence.new(1,0)
  38. ParticleEmitter0.ZOffset = 1
  39. ParticleEmitter0.Size = NumberSequence.new(10,0)
  40. ParticleEmitter0.EmissionDirection = Enum.NormalId.Back
  41. ParticleEmitter0.Lifetime = NumberRange.new(0, 2)
  42. ParticleEmitter0.Rate = 9999
  43. ParticleEmitter0.RotSpeed = NumberRange.new(-25, 25)
  44. ParticleEmitter0.SpreadAngle = Vector2.new(25, 25)
  45. ParticleEmitter0.VelocitySpread = 25
  46. ParticleEmitter0.Texture = "rbxasset://textures/particles/sparkles_main.dds"
  47. ParticleEmitter1.Name = "Death"
  48. ParticleEmitter1.Parent = mas
  49. ParticleEmitter1.Rotation = NumberRange.new(0, 360)
  50. ParticleEmitter1.Enabled = false
  51. ParticleEmitter1.LightEmission = 0.75
  52. ParticleEmitter1.Texture = "rbxasset://textures/particles/sparkles_main.dds"
  53. ParticleEmitter1.Transparency = NS({0,0.47540986537933},{.168,0.37704920768738},{.457,0.25683063268661},{.803,0.4426229596138},{.948,0.62841534614563},{1,1})
  54. ParticleEmitter1.ZOffset = 0.5
  55. ParticleEmitter1.Size = NS({0,1},{.656,1.8032789230347},{.843,1.4207655191422},{1,0})
  56. ParticleEmitter1.Acceleration = Vector3.new(0, 35, 0)
  57. ParticleEmitter1.Drag = 5
  58. ParticleEmitter1.EmissionDirection = Enum.NormalId.Right
  59. ParticleEmitter1.Lifetime = NumberRange.new(0, 1)
  60. ParticleEmitter1.Rate = 999
  61. ParticleEmitter1.RotSpeed = NumberRange.new(-56, 56)
  62. ParticleEmitter1.SpreadAngle = Vector2.new(360, 360)
  63. ParticleEmitter1.VelocitySpread = 360
  64. ParticleEmitter2.Name = "Wing"
  65. ParticleEmitter2.Parent = mas
  66. ParticleEmitter2.Rotation = NumberRange.new(0, 360)
  67. ParticleEmitter2.Enabled = false
  68. ParticleEmitter2.LightEmission = 1
  69. ParticleEmitter2.Texture = "rbxasset://textures/particles/explosion01_implosion_main.dds"
  70. ParticleEmitter2.Size = NS({0,0.05464494228363},{.193,1.0382515192032},{.352,1.3661205768585},{1,0})
  71. ParticleEmitter2.Acceleration = Vector3.new(0, -7, 15)
  72. ParticleEmitter2.Lifetime = NumberRange.new(0.80000001192093, 0.80000001192093)
  73. ParticleEmitter2.LockedToPart = true
  74. ParticleEmitter2.Rate = 300
  75.  
  76. for i,v in pairs(mas:GetChildren()) do
  77. v.Parent = script
  78. pcall(function() v:MakeJoints() end)
  79. end
  80. mas:Destroy()
  81. for i,v in pairs(cors) do
  82. spawn(function()
  83. pcall(v)
  84. end)
  85. end
  86.  
  87.  
  88. New = function(Object, Parent, Name, Data)
  89. local Object = Instance.new(Object)
  90. for Index, Value in pairs(Data or {}) do
  91. Object[Index] = Value
  92. end
  93. Object.Parent = Parent
  94. Object.Name = Name
  95. return Object
  96. end
  97.  
  98. --|| CREATED BY SHACKLUSTER Edit by lololol10ki
  99. --\\====================================================//--
  100.  
  101. warn("DONT LEAK IT!")
  102.  
  103. wait(0.2)
  104.  
  105.  
  106.  
  107. Player = game:GetService("Players").LocalPlayer
  108. PlayerGui = Player.PlayerGui
  109. Cam = workspace.CurrentCamera
  110. Backpack = Player.Backpack
  111. Character = Player.Character
  112. Humanoid = Character.Humanoid
  113. Mouse = Player:GetMouse()
  114. RootPart = Character["HumanoidRootPart"]
  115. Torso = Character["Torso"]
  116. Head = Character["Head"]
  117. RightArm = Character["Right Arm"]
  118. LeftArm = Character["Left Arm"]
  119. RightLeg = Character["Right Leg"]
  120. LeftLeg = Character["Left Leg"]
  121. RootJoint = RootPart["RootJoint"]
  122. Neck = Torso["Neck"]
  123. RightShoulder = Torso["Right Shoulder"]
  124. LeftShoulder = Torso["Left Shoulder"]
  125. RightHip = Torso["Right Hip"]
  126. LeftHip = Torso["Left Hip"]
  127. local sick = Instance.new("Sound",Character)
  128. sick.SoundId = "rbxassetid://195900687"
  129. sick.Looped = true
  130. sick.Pitch = 1
  131. sick.Volume = 3
  132. sick:Play()
  133.  
  134. IT = Instance.new
  135. CF = CFrame.new
  136. VT = Vector3.new
  137. RAD = math.rad
  138. C3 = Color3.new
  139. UD2 = UDim2.new
  140. BRICKC = BrickColor.new
  141. ANGLES = CFrame.Angles
  142. EULER = CFrame.fromEulerAnglesXYZ
  143. COS = math.cos
  144. ACOS = math.acos
  145. SIN = math.sin
  146. ASIN = math.asin
  147. ABS = math.abs
  148. MRANDOM = math.random
  149. FLOOR = math.floor
  150.  
  151. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  152. local NEWMESH = IT(MESH)
  153. if MESH == "SpecialMesh" then
  154. NEWMESH.MeshType = MESHTYPE
  155. if MESHID ~= "nil" and MESHID ~= "" then
  156. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  157. end
  158. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  159. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  160. end
  161. end
  162. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  163. NEWMESH.Scale = SCALE
  164. NEWMESH.Parent = PARENT
  165. return NEWMESH
  166. end
  167.  
  168. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  169. local NEWPART = IT("Part")
  170. NEWPART.formFactor = FORMFACTOR
  171. NEWPART.Reflectance = REFLECTANCE
  172. NEWPART.Transparency = TRANSPARENCY
  173. NEWPART.CanCollide = false
  174. NEWPART.Locked = true
  175. NEWPART.Anchored = true
  176. if ANCHOR == false then
  177. NEWPART.Anchored = false
  178. end
  179. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  180. NEWPART.Name = NAME
  181. NEWPART.Size = SIZE
  182. NEWPART.Position = Torso.Position
  183. NEWPART.Material = MATERIAL
  184. NEWPART:BreakJoints()
  185. NEWPART.Parent = PARENT
  186. return NEWPART
  187. end
  188.  
  189. --//=================================\\
  190. --|| CUSTOMIZATION
  191. --\\=================================//
  192.  
  193. Player_Size = 1 --Size of the player.
  194. Animation_Speed = 3
  195. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  196.  
  197. local Speed = 16
  198. local Effects2 = {}
  199.  
  200. --//=================================\\
  201. --|| END OF CUSTOMIZATION
  202. --\\=================================//
  203.  
  204. local function weldBetween(a, b)
  205. local weldd = Instance.new("ManualWeld")
  206. weldd.Part0 = a
  207. weldd.Part1 = b
  208. weldd.C0 = CFrame.new()
  209. weldd.C1 = b.CFrame:inverse() * a.CFrame
  210. weldd.Parent = a
  211. return weldd
  212. end
  213.  
  214. --//=================================\\
  215. --|| USEFUL VALUES
  216. --\\=================================//
  217.  
  218. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  219. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  220. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  221. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  222. local CHANGEDEFENSE = 0
  223. local CHANGEDAMAGE = 0
  224. local CHANGEMOVEMENT = 0
  225. local ANIM = "Idle"
  226. local ATTACK = false
  227. local EQUIPPED = false
  228. local HOLD = false
  229. local COMBO = 1
  230. local Rooted = false
  231. local SINE = 0
  232. local KEYHOLD = false
  233. local CHANGE = 2 / Animation_Speed
  234. local WALKINGANIM = false
  235. local WALK = 0
  236. local VALUE1 = false
  237. local VALUE2 = false
  238. local ROBLOXIDLEANIMATION = IT("Animation")
  239. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  240. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  241. --ROBLOXIDLEANIMATION.Parent = Humanoid
  242. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  243. WEAPONGUI.Name = "Weapon GUI"
  244. local Effects = IT("Folder", Character)
  245. Effects.Name = "Effects"
  246. local ANIMATOR = Humanoid.Animator
  247. local ANIMATE = Character.Animate
  248. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  249. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  250. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  251. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  252. local UNANCHOR = true
  253.  
  254. local SKILLTEXTCOLOR = C3(128,0,128)
  255. local EXTRATRANS = 0
  256.  
  257. --//=================================\\
  258. --\\=================================//
  259.  
  260.  
  261. --//=================================\\
  262. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  263. --\\=================================//
  264.  
  265. ArtificialHB = Instance.new("BindableEvent", script)
  266. ArtificialHB.Name = "ArtificialHB"
  267.  
  268. script:WaitForChild("ArtificialHB")
  269.  
  270. frame = Frame_Speed
  271. tf = 0
  272. allowframeloss = false
  273. tossremainder = false
  274. lastframe = tick()
  275. script.ArtificialHB:Fire()
  276.  
  277. game:GetService("RunService").Heartbeat:connect(function(s, p)
  278. tf = tf + s
  279. if tf >= frame then
  280. if allowframeloss then
  281. script.ArtificialHB:Fire()
  282. lastframe = tick()
  283. else
  284. for i = 1, math.floor(tf / frame) do
  285. script.ArtificialHB:Fire()
  286. end
  287. lastframe = tick()
  288. end
  289. if tossremainder then
  290. tf = 0
  291. else
  292. tf = tf - frame * math.floor(tf / frame)
  293. end
  294. end
  295. end)
  296.  
  297. --//=================================\\
  298. --\\=================================//
  299.  
  300.  
  301.  
  302.  
  303.  
  304. --//=================================\\
  305. --|| SOME FUNCTIONS
  306. --\\=================================//
  307.  
  308. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  309. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  310. end
  311. function PositiveAngle(NUMBER)
  312. if NUMBER >= 0 then
  313. NUMBER = 0
  314. end
  315. return NUMBER
  316. end
  317. function NegativeAngle(NUMBER)
  318. if NUMBER <= 0 then
  319. NUMBER = 0
  320. end
  321. return NUMBER
  322. end
  323. function Swait(NUMBER)
  324. if NUMBER == 0 or NUMBER == nil then
  325. ArtificialHB.Event:wait()
  326. else
  327. for i = 1, NUMBER do
  328. ArtificialHB.Event:wait()
  329. end
  330. end
  331. end
  332. function QuaternionFromCFrame(cf)
  333. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  334. local trace = m00 + m11 + m22
  335. if trace > 0 then
  336. local s = math.sqrt(1 + trace)
  337. local recip = 0.5 / s
  338. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  339. else
  340. local i = 0
  341. if m00 < m11 then
  342. i = 1
  343. end
  344. if m22 > (i == 0 and m00 or m11) then
  345. i = 2
  346. end
  347. if i == 0 then
  348. local s = math.sqrt(m00 - m11 - m22 + 1)
  349. local recip = 0.5 / s
  350. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  351. elseif i == 1 then
  352. local s = math.sqrt(m11 - m22 - m00 + 1)
  353. local recip = 0.5 / s
  354. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  355. elseif i == 2 then
  356. local s = math.sqrt(m22 - m00 - m11 + 1)
  357. local recip = 0.5 / s
  358. return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  359. end
  360. end
  361. end
  362. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  363. local xs, ys, zs = x + x, y + y, z + z
  364. local wx, wy, wz = w * xs, w * ys, w * zs
  365. local xx = x * xs
  366. local xy = x * ys
  367. local xz = x * zs
  368. local yy = y * ys
  369. local yz = y * zs
  370. local zz = z * zs
  371. 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))
  372. end
  373. function QuaternionSlerp(a, b, t)
  374. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  375. local startInterp, finishInterp
  376. if cosTheta >= 1.0E-4 then
  377. if 1 - cosTheta > 1.0E-4 then
  378. local theta = ACOS(cosTheta)
  379. local invSinTheta = 1 / SIN(theta)
  380. startInterp = SIN((1 - t) * theta) * invSinTheta
  381. finishInterp = SIN(t * theta) * invSinTheta
  382. else
  383. startInterp = 1 - t
  384. finishInterp = t
  385. end
  386. elseif 1 + cosTheta > 1.0E-4 then
  387. local theta = ACOS(-cosTheta)
  388. local invSinTheta = 1 / SIN(theta)
  389. startInterp = SIN((t - 1) * theta) * invSinTheta
  390. finishInterp = SIN(t * theta) * invSinTheta
  391. else
  392. startInterp = t - 1
  393. finishInterp = t
  394. end
  395. 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
  396. end
  397. function Clerp(a, b, t)
  398. local qa = {
  399. QuaternionFromCFrame(a)
  400. }
  401. local qb = {
  402. QuaternionFromCFrame(b)
  403. }
  404. local ax, ay, az = a.x, a.y, a.z
  405. local bx, by, bz = b.x, b.y, b.z
  406. local _t = 1 - t
  407. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  408. end
  409. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  410. local frame = IT("Frame")
  411. frame.BackgroundTransparency = TRANSPARENCY
  412. frame.BorderSizePixel = BORDERSIZEPIXEL
  413. frame.Position = POSITION
  414. frame.Size = SIZE
  415. frame.BackgroundColor3 = COLOR
  416. frame.BorderColor3 = BORDERCOLOR
  417. frame.Name = NAME
  418. frame.Parent = PARENT
  419. return frame
  420. end
  421. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  422. local label = IT("TextLabel")
  423. label.BackgroundTransparency = 1
  424. label.Size = UD2(1, 0, 1, 0)
  425. label.Position = UD2(0, 0, 0, 0)
  426. label.TextColor3 = TEXTCOLOR
  427. label.TextStrokeTransparency = STROKETRANSPARENCY
  428. label.TextTransparency = TRANSPARENCY
  429. label.FontSize = TEXTFONTSIZE
  430. label.Font = TEXTFONT
  431. label.BorderSizePixel = BORDERSIZEPIXEL
  432. label.TextScaled = false
  433. label.Text = TEXT
  434. label.Name = NAME
  435. label.Parent = PARENT
  436. return label
  437. end
  438. function NoOutlines(PART)
  439. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  440. end
  441. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  442. local NEWWELD = IT(TYPE)
  443. NEWWELD.Part0 = PART0
  444. NEWWELD.Part1 = PART1
  445. NEWWELD.C0 = C0
  446. NEWWELD.C1 = C1
  447. NEWWELD.Parent = PARENT
  448. return NEWWELD
  449. end
  450. local S = IT("Sound")
  451. function CreateSound(ID, PARENT, VOLUME, PITCH)
  452. local NEWSOUND
  453. coroutine.resume(coroutine.create(function()
  454. NEWSOUND = S:Clone()
  455. NEWSOUND.Parent = PARENT
  456. NEWSOUND.Volume = VOLUME
  457. NEWSOUND.Pitch = PITCH
  458. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id=" .. ID
  459. Swait()
  460. NEWSOUND:play()
  461. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  462. end))
  463. return NEWSOUND
  464. end
  465. function CFrameFromTopBack(at, top, back)
  466. local right = top:Cross(back)
  467. 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)
  468. end
  469. function CreateWave(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
  470. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
  471. local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "20329976", "", SIZE, VT(0, 0, -SIZE.X / 8))
  472. wave.CFrame = CFRAME
  473. coroutine.resume(coroutine.create(function(PART)
  474. for i = 1, WAIT do
  475. Swait()
  476. mesh.Scale = mesh.Scale + GROW
  477. mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
  478. if DOESROT == true then
  479. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
  480. end
  481. wave.Transparency = wave.Transparency + 0.5 / WAIT
  482. if wave.Transparency > 0.99 then
  483. wave:remove()
  484. end
  485. end
  486. end))
  487. end
  488. function CreateRing(SIZE, DOESROT, ROT, WAIT, CFRAME, COLOR, GROW)
  489. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
  490. local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0, 0, 0))
  491. wave.CFrame = CFRAME
  492. coroutine.resume(coroutine.create(function(PART)
  493. for i = 1, WAIT do
  494. Swait()
  495. mesh.Scale = mesh.Scale + GROW
  496. if DOESROT == true then
  497. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
  498. end
  499. wave.Transparency = wave.Transparency + 0.5 / WAIT
  500. if wave.Transparency > 0.99 then
  501. wave:remove()
  502. end
  503. end
  504. end))
  505. end
  506.  
  507. function Slice(KIND, SIZE, WAIT, CFRAME, COLOR, GROW)
  508. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
  509. local mesh
  510. if KIND == "Base" then
  511. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0, SIZE / 10, SIZE / 10), VT(0, 0, 0))
  512. elseif KIND == "Thin" then
  513. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
  514. elseif KIND == "Round" then
  515. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
  516. end
  517. wave.CFrame = CFRAME
  518. coroutine.resume(coroutine.create(function(PART)
  519. for i = 1, WAIT do
  520. Swait()
  521. mesh.Scale = mesh.Scale + GROW / 10
  522. wave.Transparency = wave.Transparency + 0.5 / WAIT
  523. if wave.Transparency > 0.99 then
  524. wave:remove()
  525. end
  526. end
  527. end))
  528. end
  529. function AddChildrenToTable(FROM, PARENT, DIST, TABLE)
  530. for _, c in pairs(PARENT:GetChildren()) do
  531. if c.ClassName == "Model" then
  532. if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then
  533. local HUMANOID = c:FindFirstChildOfClass("Humanoid")
  534. local TORSO = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
  535. if DIST > (TORSO.Position - FROM).Magnitude then
  536. table.insert(TABLE, c)
  537. end
  538. AddChildrenToTable(FROM, c, DIST, TABLE)
  539. elseif c.ClassName == "Folder" then
  540. AddChildrenToTable(FROM, c, DIST, TABLE)
  541. end
  542. end
  543. end
  544. end
  545. function MagicSphere(SIZE, WAIT, CFRAME, COLOR, GROW)
  546. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
  547. local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0, 0, 0))
  548. wave.CFrame = CFRAME
  549. coroutine.resume(coroutine.create(function(PART)
  550. for i = 1, WAIT do
  551. Swait()
  552. mesh.Scale = mesh.Scale + GROW
  553. wave.Transparency = wave.Transparency + 1 / WAIT
  554. if wave.Transparency > 0.99 then
  555. wave:remove()
  556. end
  557. end
  558. end))
  559. end
  560. function MakeForm(PART, TYPE)
  561. if TYPE == "Cyl" then
  562. local MSH = IT("CylinderMesh", PART)
  563. elseif TYPE == "Ball" then
  564. local MSH = IT("SpecialMesh", PART)
  565. MSH.MeshType = "Sphere"
  566. elseif TYPE == "Wedge" then
  567. local MSH = IT("SpecialMesh", PART)
  568. MSH.MeshType = "Wedge"
  569. end
  570. end
  571. function FireArc(Part, ToLocation, AmountOfTime, Height, DoesCourontine)
  572. if DoesCourontine == false then
  573. local Direction = CF(Part.Position, ToLocation)
  574. local Distance = (Part.Position - ToLocation).magnitude
  575. for i = 1, AmountOfTime do
  576. Swait()
  577. Part.CFrame = Direction * CF(0, AmountOfTime / 200 + (AmountOfTime / Height - i * 2 / Height), -Distance / AmountOfTime)
  578. Direction = Part.CFrame
  579. end
  580. Part:remove()
  581. elseif DoesCourontine == true then
  582. coroutine.resume(coroutine.create(function()
  583. local Direction = CF(Part.Position, ToLocation)
  584. local Distance = (Part.Position - ToLocation).magnitude
  585. for i = 1, AmountOfTime do
  586. Swait()
  587. Part.CFrame = Direction * CF(0, AmountOfTime / 200 + (AmountOfTime / Height - i * 2 / Height), -Distance / AmountOfTime)
  588. Direction = Part.CFrame
  589. end
  590. Part:remove()
  591. end))
  592. end
  593. end
  594. function CheckTableForString(Table, String)
  595. for i, v in pairs(Table) do
  596. if string.find(string.lower(String), string.lower(v)) then
  597. return true
  598. end
  599. end
  600. return false
  601. end
  602. function CheckIntangible(Hit)
  603. local ProjectileNames = {
  604. "Water",
  605. "Arrow",
  606. "Projectile",
  607. "Effect",
  608. "Rail",
  609. "Lightning",
  610. "Bullet"
  611. }
  612. if Hit and Hit.Parent and (not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid") then
  613. return true
  614. end
  615. return false
  616. end
  617. Debris = game:GetService("Debris")
  618. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  619. local Direction = CFrame.new(StartPos, Vec).lookVector
  620. local Ignore = type(Ignore) == "table" and Ignore or {Ignore}
  621. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  622. if RayHit and CheckIntangible(RayHit) then
  623. if DelayIfHit then
  624. wait()
  625. end
  626. RayHit, RayPos, RayNormal = CastZapRay(RayPos + Vec * 0.01, Vec, Length - (StartPos - RayPos).magnitude, Ignore, DelayIfHit)
  627. end
  628. return RayHit, RayPos, RayNormal
  629. end
  630. function turnto(position)
  631. RootPart.CFrame = CFrame.new(RootPart.CFrame.p, VT(position.X, RootPart.Position.Y, position.Z)) * CFrame.new(0, 0, 0)
  632. end
  633.  
  634. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  635. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  636. end
  637.  
  638. function PositiveAngle(NUMBER)
  639. if NUMBER >= 0 then
  640. NUMBER = 0
  641. end
  642. return NUMBER
  643. end
  644.  
  645. function NegativeAngle(NUMBER)
  646. if NUMBER <= 0 then
  647. NUMBER = 0
  648. end
  649. return NUMBER
  650. end
  651.  
  652. function Swait(NUMBER)
  653. if NUMBER == 0 or NUMBER == nil then
  654. ArtificialHB.Event:wait()
  655. else
  656. for i = 1, NUMBER do
  657. ArtificialHB.Event:wait()
  658. end
  659. end
  660. end
  661.  
  662. function QuaternionFromCFrame(cf)
  663. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  664. local trace = m00 + m11 + m22
  665. if trace > 0 then
  666. local s = math.sqrt(1 + trace)
  667. local recip = 0.5 / s
  668. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  669. else
  670. local i = 0
  671. if m11 > m00 then
  672. i = 1
  673. end
  674. if m22 > (i == 0 and m00 or m11) then
  675. i = 2
  676. end
  677. if i == 0 then
  678. local s = math.sqrt(m00 - m11 - m22 + 1)
  679. local recip = 0.5 / s
  680. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  681. elseif i == 1 then
  682. local s = math.sqrt(m11 - m22 - m00 + 1)
  683. local recip = 0.5 / s
  684. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  685. elseif i == 2 then
  686. local s = math.sqrt(m22 - m00 - m11 + 1)
  687. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  688. end
  689. end
  690. end
  691.  
  692. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  693. local xs, ys, zs = x + x, y + y, z + z
  694. local wx, wy, wz = w * xs, w * ys, w * zs
  695. local xx = x * xs
  696. local xy = x * ys
  697. local xz = x * zs
  698. local yy = y * ys
  699. local yz = y * zs
  700. local zz = z * zs
  701. 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))
  702. end
  703.  
  704. function QuaternionSlerp(a, b, t)
  705. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  706. local startInterp, finishInterp;
  707. if cosTheta >= 0.0001 then
  708. if (1 - cosTheta) > 0.0001 then
  709. local theta = ACOS(cosTheta)
  710. local invSinTheta = 1 / SIN(theta)
  711. startInterp = SIN((1 - t) * theta) * invSinTheta
  712. finishInterp = SIN(t * theta) * invSinTheta
  713. else
  714. startInterp = 1 - t
  715. finishInterp = t
  716. end
  717. else
  718. if (1 + cosTheta) > 0.0001 then
  719. local theta = ACOS(-cosTheta)
  720. local invSinTheta = 1 / SIN(theta)
  721. startInterp = SIN((t - 1) * theta) * invSinTheta
  722. finishInterp = SIN(t * theta) * invSinTheta
  723. else
  724. startInterp = t - 1
  725. finishInterp = t
  726. end
  727. end
  728. 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
  729. end
  730.  
  731. function Clerp(a, b, t)
  732. local qa = {QuaternionFromCFrame(a)}
  733. local qb = {QuaternionFromCFrame(b)}
  734. local ax, ay, az = a.x, a.y, a.z
  735. local bx, by, bz = b.x, b.y, b.z
  736. local _t = 1 - t
  737. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  738. end
  739.  
  740. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  741. local frame = IT("Frame")
  742. frame.BackgroundTransparency = TRANSPARENCY
  743. frame.BorderSizePixel = BORDERSIZEPIXEL
  744. frame.Position = POSITION
  745. frame.Size = SIZE
  746. frame.BackgroundColor3 = COLOR
  747. frame.BorderColor3 = BORDERCOLOR
  748. frame.Name = NAME
  749. frame.Parent = PARENT
  750. return frame
  751. end
  752.  
  753. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  754. local label = IT("TextLabel")
  755. label.BackgroundTransparency = 1
  756. label.Size = UD2(1, 0, 1, 0)
  757. label.Position = UD2(0, 0, 0, 0)
  758. label.TextColor3 = TEXTCOLOR
  759. label.TextStrokeTransparency = STROKETRANSPARENCY
  760. label.TextTransparency = TRANSPARENCY
  761. label.FontSize = TEXTFONTSIZE
  762. label.Font = TEXTFONT
  763. label.BorderSizePixel = BORDERSIZEPIXEL
  764. label.TextScaled = false
  765. label.Text = TEXT
  766. label.Name = NAME
  767. label.Parent = PARENT
  768. return label
  769. end
  770.  
  771. function NoOutlines(PART)
  772. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  773. end
  774.  
  775.  
  776. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  777. local NEWWELD = IT(TYPE)
  778. NEWWELD.Part0 = PART0
  779. NEWWELD.Part1 = PART1
  780. NEWWELD.C0 = C0
  781. NEWWELD.C1 = C1
  782. NEWWELD.Parent = PARENT
  783. return NEWWELD
  784. end
  785.  
  786. function AddChildrenToTable(FROM, PARENT, DIST, TABLE)
  787. for _, c in pairs(PARENT:GetChildren()) do
  788. if c.ClassName == "Model" then
  789. if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then
  790. local HUMANOID = c:FindFirstChildOfClass("Humanoid")
  791. local TORSO = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
  792. if DIST > (TORSO.Position - FROM).Magnitude then
  793. table.insert(TABLE, c)
  794. end
  795. AddChildrenToTable(FROM, c, DIST, TABLE)
  796. elseif c.ClassName == "Folder" then
  797. AddChildrenToTable(FROM, c, DIST, TABLE)
  798. end
  799. end
  800. end
  801. end
  802.  
  803. function CreateSound(ID, PARENT, VOLUME, PITCH)
  804. local NEWSOUND = nil
  805. coroutine.resume(coroutine.create(function()
  806. NEWSOUND = IT("Sound", PARENT)
  807. NEWSOUND.Volume = VOLUME
  808. NEWSOUND.Pitch = PITCH
  809. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  810. Swait()
  811. NEWSOUND:play()
  812. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  813. end))
  814. return NEWSOUND
  815. end
  816.  
  817. function CFrameFromTopBack(at, top, back)
  818. local right = top:Cross(back)
  819. 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)
  820. end
  821.  
  822. function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  823. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  824. wave.Color = COLOR
  825. local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  826. wave.CFrame = CFRAME
  827. coroutine.resume(coroutine.create(function(PART)
  828. for i = 1, WAIT do
  829. Swait()
  830. mesh.Scale = mesh.Scale + GROW
  831. mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  832. if DOESROT == true then
  833. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  834. end
  835. wave.Transparency = wave.Transparency + (0.5/WAIT)
  836. if wave.Transparency > 0.99 then
  837. wave:remove()
  838. end
  839. end
  840. end))
  841. end
  842.  
  843.  
  844.  
  845. function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
  846. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  847. local mesh = nil
  848. if KIND == "Base" then
  849. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  850. elseif KIND == "Thin" then
  851. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  852. elseif KIND == "Round" then
  853. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  854. end
  855. wave.CFrame = CFRAME
  856. coroutine.resume(coroutine.create(function(PART)
  857. for i = 1, WAIT do
  858. Swait()
  859. mesh.Scale = mesh.Scale + GROW/10
  860. wave.Transparency = wave.Transparency + (0.5/WAIT)
  861. if wave.Transparency > 0.99 then
  862. wave:remove()
  863. end
  864. end
  865. end))
  866. end
  867. local DECAL = IT("Decal")
  868. function MakeRing()
  869. local RING = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Eggplant"), "MagicRing", VT(0, 0, 0), true)
  870. local MSH = IT("BlockMesh", RING)
  871. local TOP = DECAL:Clone()
  872. local BOTTOM = DECAL:Clone()
  873. TOP.Parent = RING
  874. BOTTOM.Parent = RING
  875. TOP.Face = "Top"
  876. BOTTOM.Face = "Bottom"
  877. TOP.Texture = "http://www.roblox.com/asset/?id=153700391"
  878. BOTTOM.Texture = "http://www.roblox.com/asset/?id=153700391"
  879. local function REMOVE()
  880. coroutine.resume(coroutine.create(function()
  881. local SIZE = MSH.Scale.X
  882. for i = 1, 35 do
  883. Swait()
  884. MSH.Scale = MSH.Scale - VT(SIZE, 0, SIZE) / 60
  885. TOP.Transparency = TOP.Transparency + 0.02857142857142857
  886. BOTTOM.Transparency = BOTTOM.Transparency + 0.02857142857142857
  887. RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(-5), RAD(0))
  888. end
  889. RING:remove()
  890. end))
  891. end
  892. return RING, MSH, REMOVE
  893. end
  894.  
  895. function WACKYEFFECT(Table)
  896. local TYPE = Table.EffectType or "Sphere"
  897. local SIZE = Table.Size or VT(1, 1, 1)
  898. local ENDSIZE = Table.Size2 or VT(0, 0, 0)
  899. local TRANSPARENCY = Table.Transparency or 0
  900. local ENDTRANSPARENCY = Table.Transparency2 or 1
  901. local CFRAME = Table.CFrame or Torso.CFrame
  902. local MOVEDIRECTION = Table.MoveToPos or nil
  903. local ROTATION1 = Table.RotationX or 0
  904. local ROTATION2 = Table.RotationY or 0
  905. local ROTATION3 = Table.RotationZ or 0
  906. local MATERIAL = Table.Material or "Neon"
  907. local COLOR = Table.Color or C3(1, 1, 1)
  908. local TIME = Table.Time or 45
  909. local SOUNDID = Table.SoundID or nil
  910. local SOUNDPITCH = Table.SoundPitch or nil
  911. local SOUNDVOLUME = Table.SoundVolume or nil
  912. coroutine.resume(coroutine.create(function()
  913. local PLAYSSOUND = false
  914. local SOUND
  915. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1, 1, 1), true)
  916. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  917. PLAYSSOUND = true
  918. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  919. end
  920. EFFECT.Color = COLOR
  921. local MSH
  922. if TYPE == "Sphere" then
  923. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0, 0, 0))
  924. elseif TYPE == "Block" then
  925. MSH = IT("BlockMesh", EFFECT)
  926. MSH.Scale = VT(SIZE.X, SIZE.X, SIZE.X)
  927. elseif TYPE == "Wave" then
  928. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0, 0, -SIZE.X / 8))
  929. elseif TYPE == "Ring" then
  930. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X, SIZE.X, 0.1), VT(0, 0, 0))
  931. elseif TYPE == "Slash" then
  932. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
  933. elseif TYPE == "Round Slash" then
  934. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
  935. elseif TYPE == "Swirl" then
  936. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0, 0, 0))
  937. elseif TYPE == "Skull" then
  938. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0, 0, 0))
  939. elseif TYPE == "Crystal" then
  940. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0, 0, 0))
  941. end
  942. if MSH ~= nil then
  943. local MOVESPEED
  944. if MOVEDIRECTION ~= nil then
  945. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude / TIME
  946. end
  947. local GROWTH = SIZE - ENDSIZE
  948. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  949. if TYPE == "Block" then
  950. EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  951. else
  952. EFFECT.CFrame = CFRAME
  953. end
  954. for LOOP = 1, TIME + 1 do
  955. Swait()
  956. MSH.Scale = MSH.Scale - GROWTH / TIME
  957. if TYPE == "Wave" then
  958. MSH.Offset = VT(0, 0, -MSH.Scale.X / 8)
  959. end
  960. EFFECT.Transparency = EFFECT.Transparency - TRANS / TIME
  961. if TYPE == "Block" then
  962. EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  963. else
  964. EFFECT.CFrame = EFFECT.CFrame * ANGLES(RAD(ROTATION1), RAD(ROTATION2), RAD(ROTATION3))
  965. end
  966. if MOVEDIRECTION ~= nil then
  967. local ORI = EFFECT.Orientation
  968. EFFECT.CFrame = CF(EFFECT.Position, MOVEDIRECTION) * CF(0, 0, -MOVESPEED)
  969. EFFECT.Orientation = ORI
  970. end
  971. end
  972. if PLAYSSOUND == false then
  973. EFFECT:remove()
  974. else
  975. repeat
  976. Swait()
  977. until SOUND.Playing == false
  978. EFFECT:remove()
  979. end
  980. elseif PLAYSSOUND == false then
  981. EFFECT:remove()
  982. else
  983. repeat
  984. Swait()
  985. until SOUND.Playing == false
  986. EFFECT:remove()
  987. end
  988. end))
  989. end
  990.  
  991. function MakeForm(PART,TYPE)
  992. if TYPE == "Cyl" then
  993. local MSH = IT("CylinderMesh",PART)
  994. elseif TYPE == "Ball" then
  995. local MSH = IT("SpecialMesh",PART)
  996. MSH.MeshType = "Sphere"
  997. elseif TYPE == "Wedge" then
  998. local MSH = IT("SpecialMesh",PART)
  999. MSH.MeshType = "Wedge"
  1000. end
  1001. end
  1002.  
  1003. function CheckTableForString(Table, String)
  1004. for i, v in pairs(Table) do
  1005. if string.find(string.lower(String), string.lower(v)) then
  1006. return true
  1007. end
  1008. end
  1009. return false
  1010. end
  1011.  
  1012. function CheckIntangible(Hit)
  1013. local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  1014. if Hit and Hit.Parent then
  1015. if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  1016. return true
  1017. end
  1018. end
  1019. return false
  1020. end
  1021.  
  1022. Debris = game:GetService("Debris")
  1023.  
  1024. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  1025. local Direction = CFrame.new(StartPos, Vec).lookVector
  1026. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  1027. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  1028. if RayHit and CheckIntangible(RayHit) then
  1029. if DelayIfHit then
  1030. wait()
  1031. end
  1032. RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  1033. end
  1034. return RayHit, RayPos, RayNormal
  1035. end
  1036.  
  1037. function FireArc(Part,ToLocation,AmountOfTime,Height,DoesCourontine)
  1038. if DoesCourontine == false then
  1039. local Direction = CF(Part.Position,ToLocation)
  1040. local Distance = (Part.Position - ToLocation).magnitude
  1041. for i = 1, AmountOfTime do
  1042. Swait()
  1043. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  1044. Direction = Part.CFrame
  1045. end
  1046. Part:remove()
  1047. elseif DoesCourontine == true then
  1048. coroutine.resume(coroutine.create(function()
  1049. local Direction = CF(Part.Position,ToLocation)
  1050. local Distance = (Part.Position - ToLocation).magnitude
  1051. for i = 1, AmountOfTime do
  1052. Swait()
  1053. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  1054. Direction = Part.CFrame
  1055. end
  1056. Part:remove()
  1057. end))
  1058. end
  1059. end
  1060.  
  1061. function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
  1062. local TORSO = Torso
  1063. local HUM = Humanoid
  1064. if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
  1065. coroutine.wrap(function()
  1066. VT = Vector3.new
  1067. MRANDOM = math.random
  1068. local A = TIME
  1069. local B = INTENSITY
  1070. local C = true
  1071. local HUMANOID = Humanoid
  1072. local TIMER = A or 35
  1073. local SHAKE = B or 5
  1074. local FADE = C or true
  1075. if HUMANOID then
  1076. local FADER = SHAKE / TIMER
  1077. for i = 1, TIMER do
  1078. wait()
  1079. HUMANOID.CameraOffset = VT(MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10)
  1080. end
  1081. HUMANOID.CameraOffset = VT(0, 0, 0)
  1082. end
  1083.  
  1084. end)()
  1085. end
  1086. end
  1087.  
  1088. function turnto(position)
  1089. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1090. end
  1091.  
  1092. function CreateRing(SIZE, DOESROT, ROT, WAIT, CFRAME, COLOR, GROW)
  1093. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
  1094. local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0, 0, 0))
  1095. wave.CFrame = CFRAME
  1096. coroutine.resume(coroutine.create(function(PART)
  1097. for i = 1, WAIT do
  1098. Swait()
  1099. mesh.Scale = mesh.Scale + GROW
  1100. if DOESROT == true then
  1101. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
  1102. end
  1103. wave.Transparency = wave.Transparency + 0.5 / WAIT
  1104. if wave.Transparency > 0.99 then
  1105. wave:remove()
  1106. end
  1107. end
  1108. end))
  1109. end
  1110.  
  1111. --//=================================\\
  1112. --|| WEAPON CREATION
  1113. --\\=================================//
  1114.  
  1115. local naeeym2 = Instance.new("BillboardGui",Character)
  1116. naeeym2.AlwaysOnTop = true
  1117. naeeym2.Size = UDim2.new(5,35,2,15)
  1118. naeeym2.StudsOffset = Vector3.new(0,3,0)
  1119. naeeym2.Adornee = Character.Head
  1120. naeeym2.Name = "Name"
  1121. naeeym2.PlayerToHideFrom = Player
  1122. local tecks2 = Instance.new("TextLabel",naeeym2)
  1123. tecks2.BackgroundTransparency = 1
  1124. tecks2.TextScaled = true
  1125. tecks2.BorderSizePixel = 0
  1126. tecks2.Text = "Dominus Rex"
  1127. tecks2.Font = "Fantasy"
  1128. tecks2.TextSize = 30
  1129. tecks2.TextStrokeTransparency = 0
  1130. tecks2.TextColor3 = Color3.new(170,0,255)
  1131. tecks2.TextStrokeColor3 = Color3.new(0,0,0)
  1132. tecks2.Size = UDim2.new(1,0,0.5,0)
  1133. tecks2.Parent = naeeym2
  1134.  
  1135. local top = Instance.new("Shirt")
  1136. top.ShirtTemplate = "rbxassetid://131708604"
  1137. top.Parent = Character
  1138. top.Name = "Cloth"
  1139. local bottom = Instance.new("Pants")
  1140. bottom.PantsTemplate = "rbxassetid://131708657"
  1141. bottom.Parent = Character
  1142. bottom.Name = "Cloth"
  1143.  
  1144. function Transparency(TRANS)
  1145. tecks2.TextTransparency = TRANS
  1146. tecks2.TextStrokeTransparency = TRANS
  1147. for _, c in pairs(Character:GetChildren()) do
  1148. if c.ClassName == "Part" and c ~= RootPart then
  1149. c.Transparency = TRANS
  1150. if c:FindFirstChildOfClass("Decal") then
  1151. c:FindFirstChildOfClass("Decal").Transparency = TRANS
  1152. end
  1153. elseif c.ClassName == "Accessory" then
  1154. c.Handle.Transparency = TRANS
  1155. elseif c.ClassName == "Model" then
  1156. for _, q in pairs(c:GetChildren()) do
  1157. if q.ClassName == "Part" then
  1158. q.Transparency = TRANS
  1159. if q:FindFirstChildOfClass("Decal") then
  1160. q:FindFirstChildOfClass("Decal").Transparency = TRANS
  1161. end
  1162. end
  1163. end
  1164. end
  1165. end
  1166. end
  1167.  
  1168. local DParticles = script.Death
  1169. DParticles:remove()
  1170. DParticles.Name = "ArchangelDeathParticles"
  1171. local BODY = {}
  1172.  
  1173. local BODY = {}
  1174. for _, c in pairs(Character:GetDescendants()) do
  1175. if c:IsA("BasePart") and c.Name ~= "Handle" then
  1176. if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  1177. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1178. end
  1179. table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
  1180. elseif c:IsA("JointInstance") then
  1181. table.insert(BODY,{c,c.Parent,nil,nil,nil})
  1182. end
  1183. end
  1184. for e = 1, #BODY do
  1185. if BODY[e] ~= nil then
  1186. local STUFF = BODY[e]
  1187. local PART = STUFF[1]
  1188. local PARENT = STUFF[2]
  1189. local MATERIAL = STUFF[3]
  1190. local COLOR = STUFF[4]
  1191. local TRANSPARENCY = STUFF[5]
  1192. if PART.ClassName == "Part" and PART ~= RootPart then
  1193. PART.Material = MATERIAL
  1194. PART.Color = COLOR
  1195. PART.Transparency = TRANSPARENCY
  1196. end
  1197. PART.AncestryChanged:Connect(function()
  1198. PART.Parent = PARENT
  1199. end)
  1200. end
  1201. end
  1202. function refit()
  1203. Character.Parent = workspace
  1204. for e = 1, #BODY do
  1205. if BODY[e] ~= nil then
  1206. local STUFF = BODY[e]
  1207. local PART = STUFF[1]
  1208. local PARENT = STUFF[2]
  1209. local MATERIAL = STUFF[3]
  1210. local COLOR = STUFF[4]
  1211. local TRANSPARENCY = STUFF[5]
  1212. if PART:IsA("BasePart") and PART ~= RootPart then
  1213. PART.Material = MATERIAL
  1214. PART.Color = COLOR
  1215. PART.Transparency = TRANSPARENCY+EXTRATRANS
  1216. end
  1217. if PART.Parent ~= PARENT then
  1218. Humanoid:remove()
  1219. PART.Parent = PARENT
  1220. Humanoid = IT("Humanoid",Character)
  1221.  
  1222. end
  1223. end
  1224. end
  1225. end
  1226.  
  1227. Humanoid.Died:connect(function()
  1228. refit()
  1229. end)
  1230.  
  1231. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.8, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 1 Frame")
  1232. local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.5, 0, 0.8, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 2 Frame")
  1233. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 3 Frame")
  1234. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.5, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 4 Frame")
  1235. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.1, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 5 Frame")
  1236. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Space Beam", SKILLTEXTCOLOR, 7, "Antique", 0, 2, 0.5, "Text 1")
  1237. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Space Blades", SKILLTEXTCOLOR, 7, "Antique", 0, 2, 0.5, "Text 2")
  1238. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Supernova", SKILLTEXTCOLOR, 7, "Antique", 0, 2, 0.5, "Text 3")
  1239. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[F] Orbital Beam", SKILLTEXTCOLOR, 7, "Antique", 0, 2, 0.5, "Text 4")
  1240. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[R] Sky Blast", SKILLTEXTCOLOR, 12, "Antique", 0, 2, 0.5, "Text 5")
  1241. local SKILLEFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.2, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill Warp Frame")
  1242. local SKILLETEXT = CreateLabel(SKILLEFRAME, "[Q] Black Hole Hop", SKILLTEXTCOLOR, 7, "Antique", 0, 2, 0, "Text Warp")
  1243.  
  1244. --//=================================\\
  1245. --|| DAMAGING
  1246. --\\=================================//
  1247.  
  1248. function killnearest(position, range, maxstrength)
  1249. for i, v in ipairs(workspace:GetChildren()) do
  1250. local body = v:GetChildren()
  1251. for part = 1, #body do
  1252. if (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character and range > (body[part].Position - position).Magnitude then
  1253. if v.ClassName == "Model" then
  1254. v:BreakJoints()
  1255. end
  1256. local bv = Instance.new("BodyVelocity")
  1257. bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  1258. bv.velocity = CF(position, body[part].Position).lookVector * maxstrength
  1259. bv.Parent = body[part]
  1260. Debris:AddItem(bv, 0.2)
  1261. end
  1262. end
  1263. if v.ClassName == "Part" and v.Anchored == false and range > (v.Position - position).Magnitude then
  1264. v.Velocity = CFrame.new(position, v.Position).lookVector * 5 * maxstrength
  1265. end
  1266. end
  1267. end
  1268. function Transparency(TRANS)
  1269. tecks2.TextTransparency = TRANS
  1270. tecks2.TextStrokeTransparency = TRANS
  1271. for _, c in pairs(Character:GetChildren()) do
  1272. if c.ClassName == "Part" and c ~= RootPart then
  1273. c.Transparency = TRANS
  1274. if c:FindFirstChildOfClass("Decal") then
  1275. c:FindFirstChildOfClass("Decal").Transparency = TRANS
  1276. end
  1277. elseif c.ClassName == "Accessory" then
  1278. c.Handle.Transparency = TRANS
  1279. elseif c.ClassName == "Model" then
  1280. for _, q in pairs(c:GetChildren()) do
  1281. if q.ClassName == "Part" then
  1282. q.Transparency = TRANS
  1283. if q:FindFirstChildOfClass("Decal") then
  1284. q:FindFirstChildOfClass("Decal").Transparency = TRANS
  1285. end
  1286. end
  1287. end
  1288. end
  1289. end
  1290. end
  1291.  
  1292. function ApplyAoE(POSITION, RANGE)
  1293. local PARTS = {}
  1294. for index, CHILD in pairs(workspace:GetDescendants()) do
  1295. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1296. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1297. if HUM then
  1298. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1299. if TORSO and HUM.Health > 0 and RANGE >= (TORSO.Position - POSITION).Magnitude then
  1300. CHILD:BreakJoints()
  1301. for index, PART in pairs(CHILD:GetChildren()) do
  1302. if PART:IsA("BasePart") and PART.Name ~= "HumanoidRootPart" then
  1303. local P = DParticles:Clone()
  1304. P.Parent = PART
  1305. P.Enabled = true
  1306. P.Color = ColorSequence.new(PART.Color, C3(1, 1, 1))
  1307. PART.Anchored = true
  1308. table.insert(PARTS, {PART, P})
  1309. end
  1310. end
  1311. end
  1312. end
  1313. elseif CHILD:IsA("BasePart") and CHILD.Parent.Parent ~= Character and CHILD.Parent:FindFirstChildOfClass("Humanoid") == nil and CHILD:FindFirstChild("ewdfrfgrwefd") == nil and CHILD.Size.Magnitude < RANGE * 2 and CHILD.Size.Magnitude < 200 and RANGE > (CHILD.Position - POSITION).Magnitude then
  1314. local FOLDER = IT("Folder", CHILD)
  1315. FOLDER.Name = "ewdfrfgrwefd"
  1316. local P = DParticles:Clone()
  1317. P.Parent = CHILD
  1318. P.Enabled = true
  1319. CHILD:BreakJoints()
  1320. CHILD.CanCollide = false
  1321. CHILD.Anchored = true
  1322. P.Rate = math.ceil(CHILD.Size.Magnitude / 2)
  1323. P.Color = ColorSequence.new(CHILD.Color, C3(1, 1, 1))
  1324. table.insert(PARTS, {CHILD, P})
  1325. end
  1326. end
  1327. coroutine.resume(coroutine.create(function()
  1328. if #PARTS > 0 then
  1329. for i = 1, 85 do
  1330. Swait()
  1331. for E = 1, #PARTS do
  1332. local F = PARTS[E]
  1333. local A = F[1]
  1334. local B = F[2]
  1335. A.Transparency = A.Transparency + 0.011764705882352941
  1336. B.Rate = math.ceil(B.Rate * 1.2)
  1337. for index, E in pairs(A:GetChildren()) do
  1338. if E:IsA("Decal") or E:IsA("Texture") then
  1339. E.Transparency = E.Transparency + 0.011764705882352941
  1340. elseif E:IsA("JointInstance") then
  1341. E:remove()
  1342. elseif E:IsA("Light") or E:IsA("ParticleEmitter") and E ~= B and E.Name ~= "ArchangelDeathParticles" or E:IsA("Fire") or E:IsA("Sparkles") or E:IsA("Smoke") then
  1343. E.Enabled = false
  1344. end
  1345. end
  1346. end
  1347. end
  1348. for E = 1, #PARTS do
  1349. local F = PARTS[E]
  1350. local A = F[1]
  1351. local B = F[2]
  1352. B.Enabled = false
  1353. Debris:AddItem(A, 3)
  1354. end
  1355. end
  1356. end))
  1357. end
  1358.  
  1359. --//=================================\\
  1360. --|| ATTACK FUNCTIONS AND STUFF
  1361. --\\=================================//
  1362.  
  1363.  
  1364. function Lunar_Blast()
  1365. local HITBODIES = {}
  1366. local CENTER = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Eggplant", "CenterPart", VT(0,0,0))
  1367. local HITFLOOR,ECH,NORMAL = Raycast(Mouse.Hit.p+VT(0,2,0), (CF(Mouse.Hit.p, Mouse.Hit.p + VT(0, -1, 0))).lookVector, 10000000, Character)
  1368. CENTER.CFrame = CF(ECH)
  1369. local RAY = CreatePart(3, Effects, "Neon", 0, 1, "Eggplant", "Laser01", VT(25,99999,25))
  1370. RAY.Color = C3(128,0,128)
  1371. MakeForm(RAY,"Cyl")
  1372. RAY.CFrame = CF(ECH)
  1373. for i = 1, 75 do
  1374. Swait()
  1375. RAY.Transparency = RAY.Transparency - 1/75
  1376. RAY.Size = RAY.Size - VT(25/75,0,25/75)
  1377. MagicSphere(VT(1,1,1),15,CF(ECH)*CF(MRANDOM(-15,15),MRANDOM(0,100),MRANDOM(-15,15)),C3(128,0,128),VT(0,0,0))
  1378. end
  1379. killnearest(ECH,25,25)
  1380. MagicSphere(VT(0,0,0),55,CF(ECH),C3(128,0,128),VT(2,2,2))
  1381. for i = 1, 25 do
  1382. MagicSphere(VT(1,1,1),i*3,CF(ECH)*CF(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)),C3(128,0,128),VT(0,0,0))
  1383. end
  1384. CreateSound("168586621", CENTER, 10, 0.8)
  1385. RAY:remove()
  1386. Debris:AddItem(CENTER,5)
  1387. end
  1388.  
  1389. function Orbital_Devastor()
  1390. local HITBODIES = {}
  1391. local CENTER = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Eggplant", "CenterPart", VT(0, 0, 0))
  1392. local HITFLOOR, ECH, NORMAL = Raycast(Mouse.Hit.p + VT(0, 2, 0), CF(Mouse.Hit.p, Mouse.Hit.p + VT(0, -1, 0)).lookVector, 10000000, Character)
  1393. CENTER.CFrame = CF(ECH)
  1394. local RAY = CreatePart(3, Effects, "Neon", 0, 1, "Eggplant", "Laser01", VT(25, 99999, 25))
  1395. MakeForm(RAY, "Cyl")
  1396. local RAY2 = CreatePart(3, Effects, "Neon", 0, 1, "Really black", "Laser01", VT(28, 99999, 28))
  1397. MakeForm(RAY2, "Cyl")
  1398. RAY.CFrame = CF(ECH)
  1399. RAY2.CFrame = CF(ECH)
  1400. CreateSound("1368573150", CENTER, 10, 0.8)
  1401. for i = 1, 100 do
  1402. Swait()
  1403. RAY.Transparency = RAY.Transparency - 0.01
  1404. RAY.Size = RAY.Size - VT(0.25, 0, 0.25)
  1405. RAY2.Transparency = RAY2.Transparency - 0.012
  1406. RAY2.Size = RAY2.Size - VT(0.28, 0, 0.28)
  1407. end
  1408. for i = 1, 5 do
  1409. CreateRing(VT(i / 10, i / 10, 0), false, 0, 25, CF(ECH) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180))), C3(MRANDOM(128) / 0, 0,128), VT(i / 5, i / 5, 0))
  1410. end
  1411. RAY:remove()
  1412. RAY2:remove()
  1413. CreateSound("1368637781", CENTER, 10, 0.8)
  1414. MagicSphere(VT(0, 0, 0), 15, CF(ECH), "Eggplant", VT(8, 8, 8))
  1415. MagicSphere(VT(1, 1, 1), 25, CF(ECH), "Really black", VT(8, 8, 8))
  1416. AddChildrenToTable(ECH, workspace, 80, HITBODIES)
  1417. Debris:AddItem(CENTER, 5)
  1418. CreateSound("414517163", CENTER, 10, 0.8)
  1419. for i = 1, 5 do
  1420. Slice("Round", 0, 35, CF(ECH) * ANGLES(RAD(MRANDOM(-18, 18)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-18, 18))), "Eggplant", VT(0.5, 0, 0.5))
  1421. end
  1422. for e = 1, #HITBODIES do
  1423. if HITBODIES[e] ~= nil then
  1424. local BOD = HITBODIES[e]
  1425. local TORS = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
  1426. if TORS then
  1427. BOD:BreakJoints()
  1428. for _, c in pairs(BOD:GetChildren()) do
  1429. if c.ClassName == "Part" or c.ClassName == "MeshPart" then
  1430. local bv = Instance.new("BodyVelocity")
  1431. bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  1432. bv.velocity = CF(ECH, c.Position).lookVector * 250
  1433. bv.Parent = c
  1434. Debris:AddItem(bv, 0.2)
  1435. end
  1436. end
  1437. end
  1438. end
  1439. end
  1440. end
  1441.  
  1442. function Star_Cutter()
  1443. local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 7 * Player_Size, Character)
  1444. if HITFLOOR ~= nil then
  1445. ATTACK = true
  1446. Rooted = true
  1447. local GYRO = IT("BodyGyro",RootPart)
  1448. GYRO.D = 100
  1449. GYRO.P = 2000
  1450. GYRO.MaxTorque = VT(0,4000000,0)
  1451. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1452. CreateSound("429459101", RightArm, 10, 0.8)
  1453. for i=0, 3.5, 0.1 / Animation_Speed do
  1454. Swait()
  1455. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1456. Slice("Thin",0.3,5,RightArm.CFrame * CF(0,-1.1,0) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Eggplant",VT(-0.01,0,-0.01))
  1457. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1458. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1459. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-45), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(32 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1460. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(5), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1461. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1462. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1463. end
  1464. GYRO:remove()
  1465. for i=0, 0.15, 0.1 / Animation_Speed do
  1466. Swait()
  1467. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1468. Slice("Thin",0.3,5,RightArm.CFrame * CF(0,-1.1,0) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Eggplant",VT(-0.01,0,-0.01))
  1469. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(85 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1470. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-85 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1471. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(90 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1472. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(5), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1473. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1474. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1475. end
  1476. local BOMBSPOTS = {}
  1477. for i = 1, 25 do
  1478. local SPOT = CreatePart(3, Effects, "Neon", 0, 0, "Eggplant", "Blade", VT(8,1,8))
  1479. SPOT.Color = SKILLTEXTCOLOR
  1480. SPOT.CFrame = RootPart.CFrame*CF((MRANDOM(-15,15)/40)*i,-5,-i*5)
  1481. table.insert(BOMBSPOTS,SPOT)
  1482. MakeForm(SPOT,"Cyl")
  1483. end
  1484. for i=0, 0.2, 0.1 / Animation_Speed do
  1485. Swait()
  1486. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(85 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1487. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-85 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1488. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(145), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-15 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1489. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1490. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1491. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1492. end
  1493. ATTACK = false
  1494. Rooted = false
  1495. coroutine.resume(coroutine.create(function()
  1496. Swait(3)
  1497. for i = 1, #BOMBSPOTS do
  1498. if BOMBSPOTS[i] ~= nil then
  1499. local E = BOMBSPOTS[i]
  1500. coroutine.resume(coroutine.create(function()
  1501. local BLADE = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Eggplant", "Blade", VT(0,0,0))
  1502. BLADE.Color = SKILLTEXTCOLOR
  1503. CreateMesh("SpecialMesh", BLADE, "FileMesh", "93108071", "", VT(0.6,1,0.4)*3, VT(0,0,0))
  1504. CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], BLADE, 4, 0.6)
  1505. BLADE.CFrame = E.CFrame*CF(0,-3,0)*ANGLES(RAD(MRANDOM(-15,15)),RAD(90),RAD(MRANDOM(-15,15)))
  1506. for i = 1, 10 do
  1507. Swait()
  1508. MagicSphere(VT(1,1,1)/5,65,CF(E.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,MRANDOM(3,6),0),C3(128,0,128),VT(0,0,0))
  1509. killnearest(BLADE.Position,6,80)
  1510. BLADE.CFrame = BLADE.CFrame*CF(0,0.3,0)
  1511. BLADE.Transparency = BLADE.Transparency - 0.1
  1512. end
  1513. Swait(45)
  1514. for i = 1, 100 do
  1515. Swait()
  1516. BLADE.Transparency = BLADE.Transparency + 0.01
  1517. E.Transparency = E.Transparency + 0.01
  1518. end
  1519. BLADE:remove()
  1520. E:remove()
  1521. end))
  1522. end
  1523. end
  1524. end))
  1525. end
  1526. end
  1527.  
  1528. function Supernova()
  1529. local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 7 * Player_Size, Character)
  1530. if HITFLOOR ~= nil then
  1531. local HITBODIES = {}
  1532. ATTACK = true
  1533. Rooted = true
  1534. local ABSOLUTE = CreatePart(3, Effects, "Neon", 0, 1, "Eggplant", "Star", VT(0,0,0))
  1535. MakeForm(ABSOLUTE,"Ball")
  1536. CreateSound("429459101", ABSOLUTE, 10, 1)
  1537. for i=0, 4, 0.1 / Animation_Speed do
  1538. Swait()
  1539. ABSOLUTE.Size = ABSOLUTE.Size + VT(0.2,0.2,0.2)
  1540. ABSOLUTE.CFrame = RootPart.CFrame*CF(0,5+(ABSOLUTE.Size.Y/2),0)
  1541. ABSOLUTE.Transparency = ABSOLUTE.Transparency - 0.01
  1542. local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, "Eggplant", "Star", VT(1,1,1))
  1543. MakeForm(CHARGE,"Ball")
  1544. CHARGE.Color = C3(128,0,128)
  1545. CHARGE.CFrame = CF(RootPart.Position) * CF(MRANDOM(-15,15),-6,MRANDOM(-15,15))
  1546. FireArc(CHARGE,ABSOLUTE.Position,45,45,true)
  1547. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1548. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1549. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1550. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1551. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1552. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1553. end
  1554. CreateSound("907330103", Head, 10, 1.2)
  1555. for i = 1, 75 do
  1556. Swait()
  1557. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1558. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1559. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1560. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1561. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1562. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1563. end
  1564. coroutine.resume(coroutine.create(function()
  1565. for i = 1, 13 do
  1566. for e = 1, 8 do
  1567. Swait()
  1568. MagicSphere(VT(1,1,1),15,CF(ABSOLUTE.Position)*CF(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)),C3(128,0,128),VT(0,0,0))
  1569. CreateSwirl(ABSOLUTE.Size/2,15,CF(HITPOS),true,15,BRICKC"Eggplant".Color,VT(i,0.3,i)*2)
  1570. end
  1571. for i = 1, 5 do
  1572. Slice("Round",0,35,CF(ABSOLUTE.Position)*ANGLES(RAD(MRANDOM(-18,18)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-18,18))),C3(128,0,128),VT(i,0,i)/3)
  1573. Slice("Thin",i,55,ABSOLUTE.CFrame * CF(0,-1.1,0) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),C3(128,0,128),VT(0,0,0))
  1574. end
  1575. CreateSwirl(ABSOLUTE.Size/2,25,CF(ABSOLUTE.Position),true,-25,BRICKC"Eggplant".Color,VT(i,i*2,i))
  1576. CreateSwirl(ABSOLUTE.Size/2,55,CF(ABSOLUTE.Position),true,25,C3(0.05,0.05,0.15),VT(i,i*2,i))
  1577. CreateSound("168586621", ABSOLUTE, 4, 0.8)
  1578. CreateSound("201858144", ABSOLUTE, 10, 0.8)
  1579. killnearest(ABSOLUTE.Position,i*18,i)
  1580. ABSOLUTE.Size = ABSOLUTE.Size*0.9
  1581. MagicSphere(ABSOLUTE.Size,25,CF(ABSOLUTE.Position),BRICKC"Eggplant".Color,VT(i,i,i)/1.1)
  1582. MagicSphere(ABSOLUTE.Size,45,CF(ABSOLUTE.Position),C3(0.05,0.05,0.15),VT(i,i,i))
  1583. end
  1584. ABSOLUTE.Transparency = 1
  1585. Debris:AddItem(ABSOLUTE,10)
  1586. end))
  1587. ATTACK = false
  1588. Rooted = false
  1589. end
  1590. end
  1591.  
  1592. local Decal = IT("Decal")
  1593.  
  1594. function Astral_Hop()
  1595. ATTACK = true
  1596. Rooted = false
  1597. local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Eggplant", "Warphole", VT(0,0,0))
  1598. O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(0),RAD(0))
  1599. local decal = Decal:Clone()
  1600. decal.Parent = O1
  1601. decal.Face = "Top"
  1602. decal.Texture = "http://www.roblox.com/asset/?id=153700391"
  1603. local decal2 = Decal:Clone()
  1604. decal2.Parent = O1
  1605. decal2.Face = "Bottom"
  1606. decal2.Texture = "http://www.roblox.com/asset/?id=153700391"
  1607. local O2 = CreatePart(3, Effects, "Neon", 0, 1, "Eggplant", "Warphole", VT(0,0,0))
  1608. local POS = VT(RootPart.Position.X,Mouse.Hit.p.Y+6,RootPart.Position.Z)
  1609. O2.CFrame = CF(Mouse.Hit.p+VT(0,6,0),POS)*ANGLES(RAD(90),RAD(0),RAD(0))
  1610. local ROOT = CreatePart(3, Effects, "Neon", 0, 1, "Eggplant", "Warphole", VT(0,0,0))
  1611. ROOT.CFrame = CF(O2.Position,RootPart.Position)
  1612. local decal = Decal:Clone()
  1613. decal.Parent = O2
  1614. decal.Face = "Top"
  1615. decal.Texture = "http://www.roblox.com/asset/?id=153700391"
  1616. local decal2 = Decal:Clone()
  1617. decal2.Parent = O2
  1618. decal2.Face = "Bottom"
  1619. decal2.Texture = "http://www.roblox.com/asset/?id=153700391"
  1620. CreateSound("84005018", O1, 10, 0.7)
  1621. CreateSound("84005018", O2, 10, 0.7)
  1622. for i = 1, 75 do
  1623. Swait()
  1624. O1.Size = O1.Size + VT(0.1,0,0.1)
  1625. O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(i),RAD(0))
  1626. O2.Size = O2.Size + VT(0.1,0,0.1)
  1627. O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  1628. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1629. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1630. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1631. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1632. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1633. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1634. end
  1635. Rooted = true
  1636. UNANCHOR = false
  1637. RootPart.Anchored = true
  1638. VALUE1 = true
  1639. for i = 1, 15 do
  1640. Transparency(i/15)
  1641. Swait()
  1642. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.13)
  1643. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1644. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1645. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1646. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1647. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1648. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1649. end
  1650. RootPart.CFrame = ROOT.CFrame
  1651. ROOT:remove()
  1652. for i = 1, 15 do
  1653. Transparency(1-(i/15))
  1654. Swait()
  1655. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.5)
  1656. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1657. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1658. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1659. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1660. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1661. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1662. end
  1663. VALUE1 = false
  1664. coroutine.resume(coroutine.create(function()
  1665. for i = 1, 75 do
  1666. Swait()
  1667. O1.Size = O1.Size - VT(0.1,0,0.1)
  1668. O1.CFrame = O1.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  1669. O2.Size = O2.Size - VT(0.1,0,0.1)
  1670. O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  1671. end
  1672. O1:remove()
  1673. O2:remove()
  1674. end))
  1675. UNANCHOR = true
  1676. RootPart.Anchored = false
  1677. ATTACK = false
  1678. Rooted = false
  1679. end
  1680.  
  1681. function Taunt()
  1682. ATTACK = true
  1683. Rooted = true
  1684. local ROAR = CreateSound("907332040", Head, 10, 0.9)
  1685. Swait()
  1686. repeat
  1687. Swait()
  1688. ROAR.Parent = Head
  1689. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1690. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  1691. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5 + 0.025 * COS(SINE / 12), -1) * ANGLES(RAD(0), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-90 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1692. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.025 * COS(SINE / 12), -1) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1693. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1694. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1695. until ROAR.Playing == false
  1696. ATTACK = false
  1697. Rooted = false
  1698. end
  1699.  
  1700. function Smite()
  1701. local RING, MESH, DELET = MakeRing()
  1702. local POS = Mouse.Hit.p
  1703. RING.CFrame = CF(Mouse.Hit.p + VT(MRANDOM(-25, 25), 200, MRANDOM(-25, 25)), Mouse.Hit.p) * ANGLES(RAD(90), RAD(0), RAD(0))
  1704. for i = 1, 45 do
  1705. Swait()
  1706. MESH.Scale = MESH.Scale + VT(12, 0, 12)
  1707. RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  1708. end
  1709. local HITFLOOR, HITPOS = Raycast(RING.Position, CF(RING.Position, RING.CFrame * CF(0, -1, 0).p).lookVector, 500, Character)
  1710. if HITFLOOR then
  1711. local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Eggplant"), "Beam", VT(0, 0, 0), true)
  1712. MakeForm(BEAM, "Cyl")
  1713. local DIST = (RING.Position - HITPOS).Magnitude
  1714. BEAM.Size = VT(0, DIST, 0)
  1715. BEAM.CFrame = CF(RING.Position, HITPOS) * CF(0, 0, -DIST / 2) * ANGLES(RAD(90), RAD(0), RAD(0))
  1716. for i = 1, 5 do
  1717. WACKYEFFECT({
  1718. EffectType = "Wave",
  1719. Size = VT(25, 0, 25),
  1720. Size2 = VT(40, 0, 40) + VT(i * 6, i / 5, i * 6),
  1721. Transparency = 0,
  1722. Transparency2 = 1,
  1723. CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
  1724. MoveToPos = nil,
  1725. RotationX = 0,
  1726. RotationY = 3,
  1727. RotationZ = 0,
  1728. Material = "Neon",
  1729. Color = C3(128, 0, 128),
  1730. SoundID = nil,
  1731. SoundPitch = nil,
  1732. SoundVolume = nil
  1733. })
  1734. WACKYEFFECT({
  1735. EffectType = "Round Slash",
  1736. Size = VT(3, 0, 3) / 13,
  1737. Size2 = (VT(3, 0, 3) + VT(i, 0, i)) / 5,
  1738. Transparency = 0,
  1739. Transparency2 = 1,
  1740. CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
  1741. MoveToPos = nil,
  1742. RotationX = 0,
  1743. RotationY = 0,
  1744. RotationZ = 0,
  1745. Material = "Neon",
  1746. Color = C3(128, 0, 128),
  1747. SoundID = nil,
  1748. SoundPitch = nil,
  1749. SoundVolume = nil
  1750. })
  1751. WACKYEFFECT({
  1752. Time = 35,
  1753. EffectType = "Sphere",
  1754. Size = VT(22, 22, 22),
  1755. Size2 = VT(45, 45, 45) + VT(i * 5, i * 5, i * 5),
  1756. Transparency = 0,
  1757. Transparency2 = 1,
  1758. CFrame = CF(HITPOS),
  1759. MoveToPos = nil,
  1760. RotationX = 0,
  1761. RotationY = 0,
  1762. RotationZ = 0,
  1763. Material = "Neon",
  1764. Color = C3(128, 0, 128),
  1765. SoundID = 459523898,
  1766. SoundPitch = MRANDOM(9, 12) / 10,
  1767. SoundVolume = 10
  1768. })
  1769. end
  1770. SHAKECAM(HITPOS, 100, 8, 15)
  1771. ApplyAoE(HITPOS, 50)
  1772. for i = 1, 25 do
  1773. Swait()
  1774. BEAM.Size = BEAM.Size + VT(0.5, 0, 0.5)
  1775. BEAM.Transparency = BEAM.Transparency + 0.04
  1776. end
  1777. BEAM:remove()
  1778. end
  1779. wait(0.2)
  1780. DELET()
  1781. end
  1782.  
  1783. --//=================================\\
  1784. --|| ASSIGN THINGS TO KEYS
  1785. --\\=================================//
  1786.  
  1787. function MouseDown(Mouse)
  1788. if ATTACK == false then
  1789. end
  1790. end
  1791.  
  1792. function MouseUp(Mouse)
  1793. HOLD = false
  1794. end
  1795.  
  1796. function KeyDown(Key)
  1797. KEYHOLD = true
  1798. if Key == "z" and ATTACK == false then
  1799. Lunar_Blast()
  1800. end
  1801.  
  1802. if Key == "b" and ATTACK == false then
  1803. Star_Cutter()
  1804. end
  1805.  
  1806. if Key == "f" and ATTACK == false then
  1807. Orbital_Devastor()
  1808. end
  1809.  
  1810. if Key == "r" and ATTACK == false then
  1811. Smite()
  1812. end
  1813.  
  1814. if Key == "c" and ATTACK == false then
  1815. Supernova()
  1816. end
  1817.  
  1818. if Key == "t" and ATTACK == false then
  1819. Taunt()
  1820. end
  1821.  
  1822. if Key == "q" and ATTACK == false then
  1823. Astral_Hop()
  1824. end
  1825. end
  1826.  
  1827. function KeyUp(Key)
  1828. KEYHOLD = false
  1829. end
  1830.  
  1831. Mouse.Button1Down:connect(function(NEWKEY)
  1832. MouseDown(NEWKEY)
  1833. end)
  1834. Mouse.Button1Up:connect(function(NEWKEY)
  1835. MouseUp(NEWKEY)
  1836. end)
  1837. Mouse.KeyDown:connect(function(NEWKEY)
  1838. KeyDown(NEWKEY)
  1839. end)
  1840. Mouse.KeyUp:connect(function(NEWKEY)
  1841. KeyUp(NEWKEY)
  1842. end)
  1843.  
  1844. --//=================================\\
  1845. --\\=================================//
  1846.  
  1847.  
  1848. function unanchor()
  1849. if UNANCHOR == true then
  1850. g = Character:GetChildren()
  1851. for i = 1, #g do
  1852. if g[i].ClassName == "Part" then
  1853. g[i].Anchored = false
  1854. end
  1855. end
  1856. end
  1857. end
  1858.  
  1859.  
  1860. --//=================================\\
  1861. --|| WRAP THE WHOLE SCRIPT UP
  1862. --\\=================================//
  1863.  
  1864. Humanoid.Changed:connect(function(Jump)
  1865. if Jump == "Jump" and (Disable_Jump == true) then
  1866. Humanoid.Jump = false
  1867. end
  1868. end)
  1869.  
  1870. Humanoid.HipHeight = 2
  1871. Head:ClearAllChildren()
  1872. local FF = IT("ForceField",Character)
  1873. FF.Visible = false
  1874. Speed = 35
  1875.  
  1876.  
  1877.  
  1878. local FOUNDFORGOTTEN = false
  1879.  
  1880. while true do
  1881. Swait()
  1882. ANIMATE.Parent = nil
  1883. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  1884. IDLEANIMATION:Play()
  1885. SINE = SINE + CHANGE
  1886. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1887. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1888. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  1889. local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 7 * Player_Size, Character)
  1890. if ATTACK == false then
  1891. if TORSOVELOCITY < 1 then
  1892. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(35 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1893. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1894. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(35), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1895. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.35 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(35), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1896. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(25 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1897. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(25 - 2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1898. elseif TORSOVELOCITY > 1 then
  1899. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1900. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1901. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1902. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.35 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1903. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1904. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1905. end
  1906. end
  1907. unanchor()
  1908. Humanoid.MaxHealth = "inf"
  1909. Humanoid.Health = "inf"
  1910. if Rooted == false then
  1911. Disable_Jump = false
  1912. Humanoid.WalkSpeed = Speed
  1913. elseif Rooted == true then
  1914. Disable_Jump = true
  1915. Humanoid.WalkSpeed = 0
  1916. end
  1917. for _, c in pairs(Character:GetChildren()) do
  1918. if c.ClassName == "Part" then
  1919. c.Material = "Neon"
  1920. if c:FindFirstChildOfClass("ParticleEmitter") then
  1921. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  1922. end
  1923. if c == Torso then
  1924. c.Color = C3(128,0,128)
  1925. elseif c == RightArm then
  1926. c.Color = C3(0.05,0.05,0.15)
  1927. elseif c == LeftArm then
  1928. c.Color = C3(0.05,0.05,0.15)
  1929. elseif c == RightLeg then
  1930. c.Color = C3(0,0,0.05)
  1931. elseif c == LeftLeg then
  1932. c.Color = C3(0,0,0.05)
  1933. elseif c == Head then
  1934. if c:FindFirstChild("Dominus") == nil then
  1935. local M = CreateMesh("SpecialMesh", c, "FileMesh", "21057410", "250577405", VT(1,1,1)*1.1, VT(0,0,0))
  1936. M.Name = "Dominus"
  1937. end
  1938. if c:FindFirstChild("face") then
  1939. c.face:remove()
  1940. end
  1941. end
  1942. elseif c.ClassName == "Shirt" or c.ClassName == "Pants" or c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
  1943.  
  1944. end
  1945. end
  1946. FF.Parent = Character
  1947. sick.Parent = Character
  1948. refit()
  1949. Humanoid.HipHeight = 2
  1950. script.Parent = WEAPONGUI
  1951. Character.Parent = workspace
  1952. Humanoid.PlatformStand = false
  1953. Humanoid.Name = "Astra"
  1954. if VALUE2 == false then
  1955. Slice("Thin", 0.1, 5, RightArm.CFrame * CF(0, -1.1, 0) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180))), C3(128,0,128), VT(-0.01, 0, -0.01))
  1956. FOUNDFORGOTTEN = false
  1957. end
  1958. Humanoid.DisplayDistanceType = "None"
  1959. for _, c in pairs(workspace:GetChildren()) do
  1960. if c.ClassName == "Model" then
  1961. for _, q in pairs(c:GetChildren()) do
  1962. if q.Name == ("Forgotten Dominus") then
  1963. FOUNDFORGOTTEN = true
  1964. end
  1965. end
  1966. end
  1967. end
  1968. if FOUNDFORGOTTEN == true then
  1969. sick:Stop()
  1970. else
  1971. sick.Playing = true
  1972. end
  1973. if VALUE1 == false then
  1974. MagicSphere(VT(1,1,1)/5,35,CF(Torso.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,MRANDOM(3,6),0),C3(128,0,128),VT(0,0,0))
  1975. end
  1976. end
  1977.  
  1978. --//=================================\\
  1979. --\\=================================//
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985. --//====================================================\\--
  1986. --|| END OF SCRIPT
  1987. --\\====================================================/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement