ColorblindRBLX

Sun is a deadly lazer

Sep 2nd, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 58.08 KB | None | 0 0
  1. --//====================================================\\--
  2. --||               CREATED BY SHACKLUSTER
  3. --\\====================================================//--
  4.  
  5. Player = game:GetService("Players").LocalPlayer
  6. PlayerGui = Player.PlayerGui
  7. Cam = workspace.CurrentCamera
  8. Backpack = Player.Backpack
  9. Character = Player.Character
  10. Humanoid = Character.Humanoid
  11. Mouse = Player:GetMouse()
  12. RootPart = Character["HumanoidRootPart"]
  13. Torso = Character["Torso"]
  14. Head = Character["Head"]
  15. RightArm = Character["Right Arm"]
  16. LeftArm = Character["Left Arm"]
  17. RightLeg = Character["Right Leg"]
  18. LeftLeg = Character["Left Leg"]
  19. RootJoint = RootPart["RootJoint"]
  20. Neck = Torso["Neck"]
  21. RightShoulder = Torso["Right Shoulder"]
  22. LeftShoulder = Torso["Left Shoulder"]
  23. RightHip = Torso["Right Hip"]
  24. LeftHip = Torso["Left Hip"]
  25.  
  26. IT = Instance.new
  27. CF = CFrame.new
  28. VT = Vector3.new
  29. RAD = math.rad
  30. C3 = Color3.new
  31. UD2 = UDim2.new
  32. BRICKC = BrickColor.new
  33. ANGLES = CFrame.Angles
  34. EULER = CFrame.fromEulerAnglesXYZ
  35. COS = math.cos
  36. ACOS = math.acos
  37. SIN = math.sin
  38. ASIN = math.asin
  39. ABS = math.abs
  40. MRANDOM = math.random
  41. FLOOR = math.floor
  42.  
  43. --//=================================\\
  44. --||          USEFUL VALUES
  45. --\\=================================//
  46.  
  47. Animation_Speed = 3
  48. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  49. local Speed = 16
  50. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  51. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  52. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  53. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  54. local DAMAGEMULTIPLIER = 1
  55. local ANIM = "Idle"
  56. local ATTACK = false
  57. local EQUIPPED = false
  58. local HOLD = false
  59. local COMBO = 1
  60. local Rooted = false
  61. local SINE = 0
  62. local KEYHOLD = false
  63. local CHANGE = 2 / Animation_Speed
  64. local WALKINGANIM = false
  65. local VALUE1 = false
  66. local VALUE2 = false
  67. local ROBLOXIDLEANIMATION = IT("Animation")
  68. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  69. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  70. --ROBLOXIDLEANIMATION.Parent = Humanoid
  71. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  72. WEAPONGUI.Name = "Weapon GUI"
  73. local Effects = IT("Folder", Character)
  74. Effects.Name = "Effects"
  75. local ANIMATOR = Humanoid.Animator
  76. local ANIMATE = Character.Animate
  77. local UNANCHOR = true
  78. local CUSTOMANGLES = true
  79.  
  80. --//=================================\\
  81. --\\=================================//
  82.  
  83.  
  84. --//=================================\\
  85. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  86. --\\=================================//
  87.  
  88. ArtificialHB = Instance.new("BindableEvent", script)
  89. ArtificialHB.Name = "ArtificialHB"
  90.  
  91. script:WaitForChild("ArtificialHB")
  92.  
  93. frame = Frame_Speed
  94. tf = 0
  95. allowframeloss = false
  96. tossremainder = false
  97. lastframe = tick()
  98. script.ArtificialHB:Fire()
  99.  
  100. game:GetService("RunService").Heartbeat:connect(function(s, p)
  101.     tf = tf + s
  102.     if tf >= frame then
  103.         if allowframeloss then
  104.             ArtificialHB:Fire()
  105.             lastframe = tick()
  106.         else
  107.             for i = 1, math.floor(tf / frame) do
  108.                 ArtificialHB:Fire()
  109.             end
  110.             lastframe = tick()
  111.         end
  112.         if tossremainder then
  113.             tf = 0
  114.         else
  115.             tf = tf - frame * math.floor(tf / frame)
  116.         end
  117.     end
  118. end)
  119.  
  120. --//=================================\\
  121. --\\=================================//
  122.  
  123. --//=================================\\
  124. --||          SOME FUNCTIONS
  125. --\\=================================//
  126.  
  127. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  128.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  129. end
  130.  
  131. function PositiveAngle(NUMBER)
  132.     if NUMBER >= 0 then
  133.         NUMBER = 0
  134.     end
  135.     return NUMBER
  136. end
  137.  
  138. function NegativeAngle(NUMBER)
  139.     if NUMBER <= 0 then
  140.         NUMBER = 0
  141.     end
  142.     return NUMBER
  143. end
  144.  
  145. function Swait(NUMBER)
  146.     if NUMBER == 0 or NUMBER == nil then
  147.         ArtificialHB.Event:wait()
  148.     else
  149.         for i = 1, NUMBER do
  150.             ArtificialHB.Event:wait()
  151.         end
  152.     end
  153. end
  154.  
  155. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  156.     local NEWMESH = IT(MESH)
  157.     if MESH == "SpecialMesh" then
  158.         NEWMESH.MeshType = MESHTYPE
  159.         if MESHID ~= "nil" and MESHID ~= "" then
  160.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  161.         end
  162.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  163.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  164.         end
  165.     end
  166.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  167.     NEWMESH.Scale = SCALE
  168.     NEWMESH.Parent = PARENT
  169.     return NEWMESH
  170. end
  171.  
  172. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  173.     local NEWPART = IT("Part")
  174.     NEWPART.formFactor = FORMFACTOR
  175.     NEWPART.Reflectance = REFLECTANCE
  176.     NEWPART.Transparency = TRANSPARENCY
  177.     NEWPART.CanCollide = false
  178.     NEWPART.Locked = true
  179.     NEWPART.Anchored = true
  180.     if ANCHOR == false then
  181.         NEWPART.Anchored = false
  182.     end
  183.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  184.     NEWPART.Name = NAME
  185.     NEWPART.Size = SIZE
  186.     NEWPART.Position = Torso.Position
  187.     NEWPART.Material = MATERIAL
  188.     NEWPART:BreakJoints()
  189.     NEWPART.Parent = PARENT
  190.     return NEWPART
  191. end
  192.  
  193.     local function weldBetween(a, b)
  194.         local weldd = Instance.new("ManualWeld")
  195.         weldd.Part0 = a
  196.         weldd.Part1 = b
  197.         weldd.C0 = CFrame.new()
  198.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  199.         weldd.Parent = a
  200.         return weldd
  201.     end
  202.  
  203.  
  204. function QuaternionFromCFrame(cf)
  205.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  206.     local trace = m00 + m11 + m22
  207.     if trace > 0 then
  208.         local s = math.sqrt(1 + trace)
  209.         local recip = 0.5 / s
  210.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  211.     else
  212.         local i = 0
  213.         if m11 > m00 then
  214.             i = 1
  215.         end
  216.         if m22 > (i == 0 and m00 or m11) then
  217.             i = 2
  218.         end
  219.         if i == 0 then
  220.             local s = math.sqrt(m00 - m11 - m22 + 1)
  221.             local recip = 0.5 / s
  222.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  223.         elseif i == 1 then
  224.             local s = math.sqrt(m11 - m22 - m00 + 1)
  225.             local recip = 0.5 / s
  226.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  227.         elseif i == 2 then
  228.             local s = math.sqrt(m22 - m00 - m11 + 1)
  229.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  230.         end
  231.     end
  232. end
  233.  
  234. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  235.     local xs, ys, zs = x + x, y + y, z + z
  236.     local wx, wy, wz = w * xs, w * ys, w * zs
  237.     local xx = x * xs
  238.     local xy = x * ys
  239.     local xz = x * zs
  240.     local yy = y * ys
  241.     local yz = y * zs
  242.     local zz = z * zs
  243.     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))
  244. end
  245.  
  246. function QuaternionSlerp(a, b, t)
  247.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  248.     local startInterp, finishInterp;
  249.     if cosTheta >= 0.0001 then
  250.         if (1 - cosTheta) > 0.0001 then
  251.             local theta = ACOS(cosTheta)
  252.             local invSinTheta = 1 / SIN(theta)
  253.             startInterp = SIN((1 - t) * theta) * invSinTheta
  254.             finishInterp = SIN(t * theta) * invSinTheta
  255.         else
  256.             startInterp = 1 - t
  257.             finishInterp = t
  258.         end
  259.     else
  260.         if (1 + cosTheta) > 0.0001 then
  261.             local theta = ACOS(-cosTheta)
  262.             local invSinTheta = 1 / SIN(theta)
  263.             startInterp = SIN((t - 1) * theta) * invSinTheta
  264.             finishInterp = SIN(t * theta) * invSinTheta
  265.         else
  266.             startInterp = t - 1
  267.             finishInterp = t
  268.         end
  269.     end
  270.     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
  271. end
  272.  
  273. function Clerp(a, b, t)
  274.     local qa = {QuaternionFromCFrame(a)}
  275.     local qb = {QuaternionFromCFrame(b)}
  276.     local ax, ay, az = a.x, a.y, a.z
  277.     local bx, by, bz = b.x, b.y, b.z
  278.     local _t = 1 - t
  279.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  280. end
  281.  
  282. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  283.     local frame = IT("Frame")
  284.     frame.BackgroundTransparency = TRANSPARENCY
  285.     frame.BorderSizePixel = BORDERSIZEPIXEL
  286.     frame.Position = POSITION
  287.     frame.Size = SIZE
  288.     frame.BackgroundColor3 = COLOR
  289.     frame.BorderColor3 = BORDERCOLOR
  290.     frame.Name = NAME
  291.     frame.Parent = PARENT
  292.     return frame
  293. end
  294.  
  295. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  296.     local label = IT("TextLabel")
  297.     label.BackgroundTransparency = 1
  298.     label.Size = UD2(1, 0, 1, 0)
  299.     label.Position = UD2(0, 0, 0, 0)
  300.     label.TextColor3 = TEXTCOLOR
  301.     label.TextStrokeTransparency = STROKETRANSPARENCY
  302.     label.TextTransparency = TRANSPARENCY
  303.     label.FontSize = TEXTFONTSIZE
  304.     label.Font = TEXTFONT
  305.     label.BorderSizePixel = BORDERSIZEPIXEL
  306.     label.TextScaled = false
  307.     label.Text = TEXT
  308.     label.Name = NAME
  309.     label.Parent = PARENT
  310.     return label
  311. end
  312.  
  313. function NoOutlines(PART)
  314.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  315. end
  316.  
  317. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  318.     local NEWWELD = IT(TYPE)
  319.     NEWWELD.Part0 = PART0
  320.     NEWWELD.Part1 = PART1
  321.     NEWWELD.C0 = C0
  322.     NEWWELD.C1 = C1
  323.     NEWWELD.Parent = PARENT
  324.     return NEWWELD
  325. end
  326.  
  327. local S = IT("Sound")
  328. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  329.     local NEWSOUND = nil
  330.     coroutine.resume(coroutine.create(function()
  331.         NEWSOUND = S:Clone()
  332.         NEWSOUND.Parent = PARENT
  333.         NEWSOUND.Volume = VOLUME
  334.         NEWSOUND.Pitch = PITCH
  335.         NEWSOUND.SoundId = "rbxassetid://"..ID
  336.         NEWSOUND:play()
  337.         if DOESLOOP == true then
  338.             NEWSOUND.Looped = true
  339.         else
  340.             repeat wait(1) until NEWSOUND.Playing == false
  341.             NEWSOUND:remove()
  342.         end
  343.     end))
  344.     return NEWSOUND
  345. end
  346.  
  347. function CFrameFromTopBack(at, top, back)
  348.     local right = top:Cross(back)
  349.     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)
  350. end
  351.  
  352. --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, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  353. function WACKYEFFECT(Table)
  354.     local TYPE = (Table.EffectType or "Sphere")
  355.     local SIZE = (Table.Size or VT(1,1,1))
  356.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  357.     local TRANSPARENCY = (Table.Transparency or 0)
  358.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  359.     local CFRAME = (Table.CFrame or Torso.CFrame)
  360.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  361.     local ROTATION1 = (Table.RotationX or 0)
  362.     local ROTATION2 = (Table.RotationY or 0)
  363.     local ROTATION3 = (Table.RotationZ or 0)
  364.     local MATERIAL = (Table.Material or "Neon")
  365.     local COLOR = (Table.Color or C3(1,1,1))
  366.     local TIME = (Table.Time or 45)
  367.     local SOUNDID = (Table.SoundID or nil)
  368.     local SOUNDPITCH = (Table.SoundPitch or nil)
  369.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  370.     local USEBOOMERANGMATH = (Table.UseBoomerangMath or false)
  371.     local BOOMERANG = (Table.Boomerang or 0)
  372.     local SIZEBOOMERANG = (Table.SizeBoomerang or 0)
  373.     coroutine.resume(coroutine.create(function()
  374.         local PLAYSSOUND = false
  375.         local SOUND = nil
  376.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  377.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  378.             PLAYSSOUND = true
  379.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  380.         end
  381.         EFFECT.Color = COLOR
  382.         local MSH = nil
  383.         if TYPE == "Sphere" then
  384.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  385.         elseif TYPE == "Block" or TYPE == "Box" then
  386.             MSH = IT("BlockMesh",EFFECT)
  387.             MSH.Scale = SIZE
  388.         elseif TYPE == "Wave" then
  389.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  390.         elseif TYPE == "Ring" then
  391.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  392.         elseif TYPE == "Slash" then
  393.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  394.         elseif TYPE == "Round Slash" then
  395.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  396.         elseif TYPE == "Swirl" then
  397.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "168892432", "", SIZE, VT(0,0,0))
  398.         elseif TYPE == "Skull" then
  399.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  400.         elseif TYPE == "Crystal" then
  401.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  402.         end
  403.         if MSH ~= nil then
  404.             local BOOMR1 = 1+BOOMERANG/50
  405.             local BOOMR2 = 1+SIZEBOOMERANG/50
  406.             local MOVESPEED = nil
  407.             if MOVEDIRECTION ~= nil then
  408.                 if USEBOOMERANGMATH == true then
  409.                     MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)*BOOMR1
  410.                 else
  411.                     MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)
  412.                 end
  413.             end
  414.             local GROWTH = nil
  415.             if USEBOOMERANGMATH == true then
  416.                 GROWTH = (SIZE - ENDSIZE)*(BOOMR2+1)
  417.             else
  418.                 GROWTH = (SIZE - ENDSIZE)
  419.             end
  420.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  421.             if TYPE == "Block" then
  422.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  423.             else
  424.                 EFFECT.CFrame = CFRAME
  425.             end
  426.             if USEBOOMERANGMATH == true then
  427.                 for LOOP = 1, TIME+1 do
  428.                     Swait()
  429.                     MSH.Scale = MSH.Scale - (VT((GROWTH.X)*((1 - (LOOP/TIME)*BOOMR2)),(GROWTH.Y)*((1 - (LOOP/TIME)*BOOMR2)),(GROWTH.Z)*((1 - (LOOP/TIME)*BOOMR2)))*BOOMR2)/TIME
  430.                     if TYPE == "Wave" then
  431.                         MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
  432.                     end
  433.                     EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  434.                     if TYPE == "Block" then
  435.                         EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  436.                     else
  437.                         EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  438.                     end
  439.                     if MOVEDIRECTION ~= nil then
  440.                         local ORI = EFFECT.Orientation
  441.                         EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-(MOVESPEED)*((1 - (LOOP/TIME)*BOOMR1)))
  442.                         EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
  443.                     end
  444.                 end
  445.             else
  446.                 for LOOP = 1, TIME+1 do
  447.                     Swait()
  448.                     MSH.Scale = MSH.Scale - GROWTH/TIME
  449.                     if TYPE == "Wave" then
  450.                         MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
  451.                     end
  452.                     EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  453.                     if TYPE == "Block" then
  454.                         EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  455.                     else
  456.                         EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  457.                     end
  458.                     if MOVEDIRECTION ~= nil then
  459.                         local ORI = EFFECT.Orientation
  460.                         EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  461.                         EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
  462.                     end
  463.                 end
  464.             end
  465.             EFFECT.Transparency = 1
  466.             if PLAYSSOUND == false then
  467.                 EFFECT:remove()
  468.             else
  469.                 repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
  470.                 EFFECT:remove()
  471.             end
  472.         else
  473.             if PLAYSSOUND == false then
  474.                 EFFECT:remove()
  475.             else
  476.                 repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
  477.                 EFFECT:remove()
  478.             end
  479.         end
  480.     end))
  481. end
  482.  
  483. function MakeForm(PART,TYPE)
  484.     if TYPE == "Cyl" then
  485.         local MSH = IT("CylinderMesh",PART)
  486.     elseif TYPE == "Ball" then
  487.         local MSH = IT("SpecialMesh",PART)
  488.         MSH.MeshType = "Sphere"
  489.     elseif TYPE == "Wedge" then
  490.         local MSH = IT("SpecialMesh",PART)
  491.         MSH.MeshType = "Wedge"
  492.     end
  493. end
  494.  
  495. Debris = game:GetService("Debris")
  496.  
  497. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  498.     local DIRECTION = CF(StartPos,EndPos).lookVector
  499.     local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  500.     return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, DIRECTION * Distance), Ignore)
  501. end
  502.  
  503. local Particle = IT("ParticleEmitter",nil)
  504. Particle.Enabled = false
  505. Particle.LightEmission = 0.8
  506. Particle.Rate = 150
  507. Particle.ZOffset = 1
  508. Particle.Rotation = NumberRange.new(-180, 180)
  509.  
  510. --ParticleEmitter({Speed = 2, RotSpeed = NumberRange.new(-5, 5), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 1, Lifetime2 = 0, Parent = Torso, Emit = 10, Offset = 360, Enabled = false, Color1 = C3(1,1,1), Color2 = C3(1,1,1), Texture = ""})
  511. function ParticleEmitter(Table)
  512.     local PRTCL = Particle:Clone()
  513.     local Color1 = Table.Color1 or C3(1,1,1)
  514.     local Color2 = Table.Color2 or C3(1,1,1)
  515.     local Speed = Table.Speed or 5
  516.     local Drag = Table.Drag or 0
  517.     local Size1 = Table.Size1 or 1
  518.     local Size2 = Table.Size2 or 5
  519.     local Lifetime1 = Table.Lifetime1 or 1
  520.     local Lifetime2 = Table.Lifetime2 or 1.5
  521.     local Parent = Table.Parent or Torso
  522.     local Emit = Table.Emit or 100
  523.     local Offset = Table.Offset or 360
  524.     local Acel = Table.Acel or VT(0,0,0)
  525.     local Enabled = Table.Enabled or false
  526.     local Texture = Table.Texture or "281983280"
  527.     local RotS = Table.RotSpeed or NumberRange.new(-15, 15)
  528.     local Trans1 = Table.Transparency1 or 0
  529.     local Trans2 = Table.Transparency2 or 0
  530.     PRTCL.Parent = Parent
  531.     PRTCL.RotSpeed = RotS
  532.     PRTCL.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,Trans1),NumberSequenceKeypoint.new(1,Trans2)})
  533.     PRTCL.Texture = "http://www.roblox.com/asset/?id="..Texture
  534.     PRTCL.Color = ColorSequence.new(Color1,Color2)
  535.     PRTCL.Size = NumberSequence.new(Size1,Size2)
  536.     PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  537.     PRTCL.Speed = NumberRange.new(Speed)
  538.     PRTCL.VelocitySpread = Offset
  539.     PRTCL.Drag = Drag
  540.     PRTCL.Acceleration = Acel
  541.     if Enabled == false then
  542.         PRTCL:Emit(Emit)
  543.         Debris:AddItem(PRTCL,Lifetime2)
  544.     else
  545.         PRTCL.Enabled = true
  546.     end
  547.     return PRTCL
  548. end
  549.  
  550. function AttackGyro()
  551.     local GYRO = IT("BodyGyro",RootPart)
  552.     GYRO.D = 15
  553.     GYRO.P = 200000
  554.     GYRO.MaxTorque = VT(0,4000000,0)
  555.     GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  556.     coroutine.resume(coroutine.create(function()
  557.         repeat
  558.             Swait()
  559.             GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  560.         until ATTACK == false
  561.         GYRO:Remove()
  562.     end))
  563. end
  564.  
  565. --//=================================\\
  566. --||        GUIS AND MISC
  567. --\\=================================//
  568.  
  569. local CAMTYPE = Cam.CameraType
  570. Cam.CameraType = Enum.CameraType.Scriptable
  571.  
  572. local ATTACKS = {2035463713,2035463980,2035464212,2035464495}
  573.  
  574. local BMUSIC = IT("Sound",RootPart)
  575. local VOLUME = 4.5
  576. local PITCH = 1.15
  577. local SONGID = 904882921
  578. local INTROD = false
  579. local SUN = CreatePart(3, nil, "Neon", 0, 0, BRICKC("New Yeller"), "Sun", VT(17,17,17), true)
  580. MakeForm(SUN,"Ball")
  581. local SUNFLOAT = true
  582. local CUSTOMCAM = true
  583.  
  584. --//=================================\\
  585. --||            DAMAGING
  586. --\\=================================//
  587.  
  588. function ApplyAoE(POSITION,RANGE,FLING,KILLME)
  589.     for index, CHILD in pairs(workspace:GetDescendants()) do
  590.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  591.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  592.             if HUM then
  593.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  594.                 if TORSO and HUM.Health > 0 then
  595.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then     
  596.                         CHILD:BreakJoints()
  597.                         local HED = CHILD:FindFirstChild("Head")
  598.                         if HED and MRANDOM(1,15) == 1 then
  599.                             CreateSound(527749592, HED, 4, MRANDOM(9,11)/10, false)
  600.                         end
  601.                         if FLING > 0 then
  602.                             for _, c in pairs(CHILD:GetChildren()) do
  603.                                 if c:IsA("BasePart") then
  604.                                     local bv = Instance.new("BodyVelocity")
  605.                                     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  606.                                     bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  607.                                     bv.Parent = c
  608.                                     Debris:AddItem(bv,0.05)
  609.                                 end
  610.                             end
  611.                         end
  612.                     end
  613.                 end
  614.             end
  615.         end
  616.     end
  617.     if KILLME == true then
  618.         Character:BreakJoints()
  619.         for _, c in pairs(Character:GetChildren()) do
  620.             if c:IsA("BasePart") then
  621.                 local bv = Instance.new("BodyVelocity")
  622.                 bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  623.                 bv.velocity = CF(POSITION,c.Position).lookVector*FLING
  624.                 bv.Parent = c
  625.                 Debris:AddItem(bv,0.05)
  626.             end
  627.         end
  628.     end
  629. end
  630.  
  631. --//=================================\\
  632. --||    ATTACK FUNCTIONS AND STUFF
  633. --\\=================================//
  634.  
  635. function Intro()
  636.     ATTACK = true
  637.     Rooted = true
  638.     Humanoid.WalkSpeed = 0
  639.     Disable_Jump = true
  640.     local INTROSOUND = CreateSound(862484466, Effects, 6, 1, false)
  641.     coroutine.resume(coroutine.create(function()
  642.         repeat
  643.             Swait()
  644.             if CUSTOMANGLES == true then
  645.                 Cam.CFrame = Clerp(Cam.CFrame, Head.CFrame * CF(0,0,-4) * ANGLES(RAD(0), RAD(180), RAD(0)), 0.2)
  646.             end
  647.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  648.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  649.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  650.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  651.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(-11), RAD(0), RAD(0)), 1 / Animation_Speed)
  652.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-11), RAD(0), RAD(0)), 1 / Animation_Speed)
  653.         until INTROSOUND.TimePosition >= 2.15
  654.         SUN.Parent = Effects
  655.         local CORE = IT("Attachment",SUN)
  656.         SUN.Color = C3(1,85/255,0)
  657.         SUN.CFrame = RootPart.CFrame*CF(0,-14,11)
  658.         local P = ParticleEmitter({Transparency1 = 1, Transparency2 = 1, Speed = 1, Acel = VT(0,0,0), RotSpeed = NumberRange.new(-5, 5), Drag = 0.1, Size1 = 3, Size2 = 5, Lifetime1 = 0.1, Lifetime2 = 0.2, Parent = CORE, Emit = 10, Offset = 180, Enabled = true, Color1 = C3(1,85/255,0), Color2 = C3(1,85/255,0), Texture = 296874871})
  659.         P.LockedToPart = true
  660.         P.Rate = 12
  661.         local P = ParticleEmitter({Transparency1 = 1, Transparency2 = 1, Speed = 1, Acel = VT(0,0,0), RotSpeed = NumberRange.new(-5, 5), Drag = 0.1, Size1 = 3, Size2 = 5, Lifetime1 = 0.1, Lifetime2 = 0.2, Parent = CORE, Emit = 10, Offset = 180, Enabled = true, Color1 = C3(1,85/255,0), Color2 = C3(1,85/255,0), Texture = 296874871})
  662.         P.Rate = 12
  663.         repeat
  664.             Swait()
  665.             SUN.CFrame = Clerp(SUN.CFrame,RootPart.CFrame*CF(0,14,11),0.04)
  666.             local HITFLOOR,SUNPOS = Raycast(SUN.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 23, Character)
  667.             if HITFLOOR then
  668.                 local DISTANCE = (SUNPOS - SUN.Position).Magnitude
  669.                 local SIZE = (23 - DISTANCE)*2
  670.             end
  671.             if CUSTOMANGLES == true then
  672.                 Cam.CFrame = Clerp(Cam.CFrame, Head.CFrame * CF(0,5,-15) * ANGLES(RAD(5), RAD(180), RAD(0)), 0.2)
  673.             end
  674.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.03 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  675.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  676.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(150), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  677.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(150), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  678.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  679.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  680.         until ATTACK == false
  681.         CUSTOMCAM = false
  682.         for i = 1, #ATTACKS do
  683.             local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.65, 0, 0.95-(0.17*i), 0), UD2(0.26, 0, 0.17, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
  684.             local IMAGE = IT("ImageLabel",SKILLFRAME)
  685.             IMAGE.Size = UD2(1,0,1,0)
  686.             IMAGE.Image = "rbxassetid://"..ATTACKS[i]
  687.             IMAGE.BackgroundTransparency = 1
  688.             IMAGE.ImageTransparency = 1
  689.             for i = 1, 10 do
  690.                 Swait()
  691.                 IMAGE.ImageTransparency = IMAGE.ImageTransparency - 1/10
  692.             end
  693.         end
  694.     end))
  695.     repeat
  696.         Swait()
  697.         INTROSOUND.Parent = Effects
  698.     until INTROSOUND.Playing == false
  699.     INTROSOUND:Destroy()
  700.     ATTACK = false
  701.     Rooted = false
  702. end
  703. function DeadlyLaser()
  704.     CreateSound(811841430, SUN, 8, MRANDOM(7,13)/10, false)
  705.     local HIT,POS = CastProperRay(SUN.Position,Mouse.Hit.p,1000,Character)
  706.     local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Gold"), "Beam", VT(0,0,0), true)
  707.     BEAM.Color = SUN.Color
  708.     MakeForm(BEAM,"Cyl")
  709.     local DIST = (SUN.Position - POS).Magnitude
  710.     BEAM.Size = VT(0,DIST,0)
  711.     BEAM.CFrame = CF(SUN.Position,POS)*CF(0,0,-DIST/2) * ANGLES(RAD(90), RAD(0), RAD(0))
  712.     if HIT ~= nil then
  713.         if HIT.Parent.ClassName == "Model" then
  714.             if HIT.Parent:FindFirstChildOfClass("Humanoid") then
  715.                 if HIT.Parent:FindFirstChildOfClass("Humanoid").Health > 0 then
  716.                     local HED = HIT.Parent:FindFirstChild("Head")
  717.                     if HED and MRANDOM(1,15) == 1 then
  718.                         CreateSound(527749592, HED, 4, MRANDOM(9,11)/10, false)
  719.                     end
  720.                     HIT.Parent:BreakJoints()
  721.                 end
  722.             end
  723.         end
  724.     end
  725.     for i = 1, 15 do
  726.         Swait()
  727.         BEAM.Size = BEAM.Size + VT(0.25,0,0.25)
  728.         BEAM.Transparency = BEAM.Transparency + 1/15
  729.     end
  730.     BEAM:remove()
  731. end
  732. function SolarFlares()
  733.     ATTACK = true
  734.     Rooted = true
  735.     SUNFLOAT = false
  736.     CUSTOMCAM = true
  737.     for i=0, 1, 0.1 / Animation_Speed do
  738.         Swait()
  739.         if CUSTOMANGLES == true then
  740.             Cam.CFrame = Clerp(Cam.CFrame, RootPart.CFrame * ANGLES(RAD(-45), RAD(0), RAD(0))*CF(0,0,65), 0.1)
  741.         end
  742.         SUN.CFrame = Clerp(SUN.CFrame,RootPart.CFrame*CF(0,18 + 4 * SIN(SINE / 12),0),0.035)
  743.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.03 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  744.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  745.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(150), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  746.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(150), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  747.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  748.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  749.     end
  750.     local CFRAME = RootPart.CFrame * ANGLES(RAD(-90), RAD(0), RAD(0))*CF(0,0,125)
  751.     coroutine.resume(coroutine.create(function()
  752.         repeat
  753.             Swait()
  754.             if CUSTOMANGLES == true then
  755.                 Cam.CFrame = Clerp(Cam.CFrame, CFRAME, 0.1)
  756.             end
  757.             SUN.CFrame = Clerp(SUN.CFrame,RootPart.CFrame*CF(0,18 + 4 * SIN(SINE / 12),0),0.035)
  758.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.03 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  759.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  760.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.45 + 0.05 * SIN(SINE / 12), -0.45) * ANGLES(RAD(90), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  761.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.45 + 0.05 * SIN(SINE / 12), -0.45) * ANGLES(RAD(90), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  762.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  763.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  764.         until ATTACK == false
  765.     end))
  766.     AttackGyro()
  767.     wait(0.2)
  768.     for i = 1, 15 do
  769.         Swait()
  770.         coroutine.resume(coroutine.create(function()
  771.             local SPEED = MRANDOM(5,32)/10
  772.             local FLARE = CreatePart(3, Effects, "Neon", 0, 0, SUN.BrickColor, "Sun", VT(5,5,5), true)
  773.             FLARE.Color = C3(1,85/255,0)
  774.             MakeForm(FLARE,"Ball")
  775.             CreateSound(463598785, FLARE, 1.2, MRANDOM(7,13)/8, false)
  776.             FLARE.CFrame = CF(SUN.Position,Mouse.Hit.p) * ANGLES(RAD(MRANDOM(-5,5)*2), RAD(MRANDOM(-5,5)*2), RAD(0))
  777.             local P = ParticleEmitter({Transparency1 = 1, Transparency2 = 1, Speed = 1, Acel = VT(0,0,0), RotSpeed = NumberRange.new(-5, 5), Drag = 0.1, Size1 = 3, Size2 = 5, Lifetime1 = 0.1, Lifetime2 = 0.2, Parent = CORE, Emit = 10, Offset = 180, Enabled = true, Color1 = C3(1,85/255,0), Color2 = C3(1,85/255,0), Texture = 296874871})
  778.             for i = 1, 500 do
  779.                 Swait()
  780.                 P.Enabled = true
  781.                 local HIT,HITPOS = Raycast(FLARE.Position, FLARE.CFrame.lookVector, FLARE.Size.Z/2, Character)
  782.                 if HIT then
  783.                     break
  784.                 else
  785.                     FLARE.CFrame = FLARE.CFrame*CF(0,0,-SPEED)
  786.                     if MRANDOM(1,3) == 1 then
  787.                         WACKYEFFECT({Time = 25, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(0.025,0,0.025), Transparency = 0.85, Transparency2 = 1, CFrame = FLARE.CFrame*CF(0,0,-FLARE.Size.X/1.5) * ANGLES(RAD(90), RAD(MRANDOM(0,360)), RAD(0)) * ANGLES(RAD(MRANDOM(-15,15)), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0.1, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 45})
  788.                     end
  789.                 end
  790.             end
  791.             CreateSound(165970126, FLARE, 0.8, MRANDOM(7,13)/8, false)
  792.             CreateSound(174580476, FLARE, 1.6, MRANDOM(7,13)/10, false)
  793.             P.Enabled = false
  794.             ApplyAoE(FLARE.Position,14,125)
  795.             Debris:AddItem(FLARE,5)
  796.             FLARE.Transparency = 1
  797.             WACKYEFFECT({EffectType = "Sphere", Size = FLARE.Size, Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = CF(FLARE.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FLARE.Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  798.             ParticleEmitter({Transparency1 = 1, Transparency2 = 1, Speed = 1, Acel = VT(0,0,0), RotSpeed = NumberRange.new(-5, 5), Drag = 0.1, Size1 = 3, Size2 = 5, Lifetime1 = 0.1, Lifetime2 = 0.2, Parent = CORE, Emit = 10, Offset = 180, Enabled = true, Color1 = C3(1,85/255,0), Color2 = C3(1,85/255,0), Texture = 296874871})
  799.         end))
  800.     end
  801.     wait(0.1)
  802.     CUSTOMCAM = false
  803.     SUNFLOAT = true
  804.     ATTACK = false
  805.     Rooted = false
  806. end
  807. function SolarSmash()
  808.     local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  809.     if HITFLOOR then
  810.         ATTACK = true
  811.         Rooted = false
  812.         CUSTOMCAM = true
  813.         SUNFLOAT = false
  814.         for i=0, 0.2, 0.1 / Animation_Speed do
  815.             Swait()
  816.             if CUSTOMANGLES == true then
  817.                 Cam.CFrame = Clerp(Cam.CFrame, RootPart.CFrame * ANGLES(RAD(-45), RAD(0), RAD(0))*CF(0,0,65), 0.1)
  818.             end
  819.             SUN.CFrame = Clerp(SUN.CFrame,RootPart.CFrame*CF(0,18 + 4 * SIN(SINE / 12),6),0.035)
  820.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.03 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  821.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  822.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(150), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  823.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(150), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  824.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  825.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  826.         end
  827.         coroutine.resume(coroutine.create(function()
  828.             repeat
  829.                 Swait()
  830.                 if CUSTOMANGLES == true then
  831.                     Cam.CFrame = Clerp(Cam.CFrame, RootPart.CFrame * ANGLES(RAD(-75), RAD(0), RAD(0))*CF(0,6,65), 0.1)
  832.                 end
  833.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.03 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  834.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  835.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.45 + 0.05 * SIN(SINE / 12), -0.45) * ANGLES(RAD(35), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  836.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.45 + 0.05 * SIN(SINE / 12), -0.45) * ANGLES(RAD(35), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  837.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  838.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  839.             until ATTACK == false
  840.         end))
  841.         local CFRAME = RootPart.CFrame*CF(0,-2,-17)
  842.         for i = 1, 10 do
  843.             Swait()
  844.             SUN.CFrame = Clerp(SUN.CFrame,CFRAME, 0.25)
  845.         end
  846.         ApplyAoE(SUN.Position,65,225)
  847.         ParticleEmitter({Transparency1 = 1, Transparency2 = 1, Speed = 1, Acel = VT(0,0,0), RotSpeed = NumberRange.new(-5, 5), Drag = 0.1, Size1 = 3, Size2 = 5, Lifetime1 = 0.1, Lifetime2 = 0.2, Parent = CORE, Emit = 10, Offset = 180, Enabled = true, Color1 = C3(1,85/255,0), Color2 = C3(1,85/255,0), Texture = 296874871})
  848.         for i = 1, 8 do
  849.             WACKYEFFECT({Time = 30+(i*25), EffectType = "Wave", Size = VT(15,0,15), Size2 = VT(120,0,120), Transparency = 0.6, Transparency2 = 1, CFrame = CF(SUN.Position-VT(0,5,0)) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)) * ANGLES(RAD(MRANDOM(-15,15)), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0.1, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SUN.Color, SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 22})
  850.         end
  851.         for i = 1, 5 do
  852.             WACKYEFFECT({Time = 50+(i*25), EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(1.5,0,1.5), Transparency = 0, Transparency2 = 1, CFrame = CF(SUN.Position-VT(0,5,0)) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)) * ANGLES(RAD(MRANDOM(-15,15)), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0.1, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 3})
  853.         end
  854.         WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = SUN.Size, Size2 = SUN.Size*6, Transparency = 0, Transparency2 = 1, CFrame = CF(SUN.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SUN.Color, SoundID = 168513088, SoundPitch = 1, SoundVolume = 5, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 3})
  855.         WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = SUN.Size, Size2 = SUN.Size*5.5, Transparency = 0, Transparency2 = 1, CFrame = CF(SUN.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SUN.Color, SoundID = 201858144, SoundPitch = 1, SoundVolume = 3, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  856.         local bv = Instance.new("BodyVelocity")
  857.         bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  858.         bv.velocity = CF(CFRAME.p-VT(0,12,0),RootPart.Position).lookVector*125
  859.         bv.Parent = RootPart
  860.         Debris:AddItem(bv,0.02)
  861.         CUSTOMCAM = false
  862.         for i = 1, 5 do
  863.             Swait()
  864.             SUN.CFrame = Clerp(SUN.CFrame,CFRAME, 0.1)
  865.         end
  866.         SUNFLOAT = true
  867.         ATTACK = false
  868.         Rooted = false
  869.     end
  870. end
  871. function SolarEruption()
  872.     ATTACK = true
  873.     Rooted = true
  874.     CUSTOMCAM = true
  875.     local ANIMA = "HoldUp"
  876.     coroutine.resume(coroutine.create(function()
  877.         repeat
  878.             Swait()
  879.             if ANIMA == "HoldUp" then
  880.                 if CUSTOMANGLES == true then
  881.                     Cam.CFrame = Clerp(Cam.CFrame, RootPart.CFrame * ANGLES(RAD(-45), RAD(0), RAD(0))*CF(0,0,65), 0.1)
  882.                 end
  883.                 SUN.CFrame = Clerp(SUN.CFrame,RootPart.CFrame*CF(0,28 + 4 * SIN(SINE / 12),6),0.035)
  884.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.03 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  885.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  886.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.85 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(160 + 3 * SIN(SINE / 12)), RAD(5), RAD(-15 + 3 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  887.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  888.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-11), RAD(0), RAD(0)), 1 / Animation_Speed)
  889.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-11), RAD(0), RAD(0)), 1 / Animation_Speed)
  890.             elseif ANIMA == "Fire" then
  891.                 if CUSTOMANGLES == true then
  892.                     Cam.CFrame = Clerp(Cam.CFrame, RootPart.CFrame * CF(0,135,0) * ANGLES(RAD(-90), RAD(0), RAD(0)), 0.2)
  893.                 end
  894.                 SUN.CFrame = Clerp(SUN.CFrame,RootPart.CFrame*CF(0,35,0),0.2)
  895.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.03 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  896.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  897.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.65 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(170), RAD(5), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  898.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(170), RAD(-5), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  899.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  900.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(-85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  901.             end
  902.         until ATTACK == false
  903.     end))
  904.     CreateSound(201858045, SUN, 1.8, MRANDOM(7,13)/10, false)
  905.     CreateSound(278641993, SUN, 3, MRANDOM(7,13)/10, false)
  906.     CreateSound(278641993, SUN, 2.5, MRANDOM(7,13)/10, false)
  907.     for i = 1, 150 do
  908.         Swait()
  909.         WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(85,0,85), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.8, CFrame = CF(SUN.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 = SUN.Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  910.         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(45,45,45), Size2 = VT(0,0,0), Transparency = 0.95, Transparency2 = 1, CFrame = CF(SUN.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SUN.Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  911.     end
  912.     wait(0.1)
  913.     UNANCHOR = false
  914.     ANIMA = "Fire"
  915.     wait(0.4)
  916.     ApplyAoE(SUN.Position,25,75)
  917.     WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = SUN.Size, Size2 = SUN.Size*4, Transparency = 0, Transparency2 = 1, CFrame = CF(SUN.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SUN.Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 3})
  918.     WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = SUN.Size, Size2 = SUN.Size*3.5, Transparency = 0, Transparency2 = 1, CFrame = CF(SUN.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SUN.Color, SoundID = 401056199, SoundPitch = 1, SoundVolume = 7, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  919.     coroutine.resume(coroutine.create(function()
  920.         for i = 1, 32 do
  921.             Swait()
  922.             coroutine.resume(coroutine.create(function()
  923.                 local FLARE = CreatePart(3, Effects, "Neon", 0, 0, SUN.BrickColor, "Sun", VT(5,5,5), false)
  924.                 FLARE.CanCollide = true
  925.                 FLARE.Color = C3(1,85/255,0)
  926.                 MakeForm(FLARE,"Ball")
  927.                 Debris:AddItem(FLARE,10)
  928.                 CreateSound(463598785, FLARE, 1.2, MRANDOM(7,13)/8, false)
  929.                 local P = ParticleEmitter({Transparency1 = 1, Transparency2 = 1, Speed = 1, Acel = VT(0,0,0), RotSpeed = NumberRange.new(-5, 5), Drag = 0.1, Size1 = 3, Size2 = 5, Lifetime1 = 0.1, Lifetime2 = 0.2, Parent = CORE, Emit = 10, Offset = 180, Enabled = true, Color1 = C3(1,85/255,0), Color2 = C3(1,85/255,0), Texture = 296874871})
  930.                 FLARE.CFrame = CF(SUN.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  931.                 FLARE.Velocity = CF(SUN.Position,CF(SUN.Position)*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(MRANDOM(-60,60),25,MRANDOM(-60,60)).p).lookVector*MRANDOM(25,250)
  932.                 TOUCH = FLARE.Touched:Connect(function(TOC)
  933.                     if TOC.Parent ~= Character and TOC.Parent.Parent ~= Character then
  934.                         FLARE.Anchored = true
  935.                         FLARE:ClearAllChildren()
  936.                         CreateSound(165970126, FLARE, 0.8, MRANDOM(7,13)/8, false)
  937.                         CreateSound(174580476, FLARE, 1.6, MRANDOM(7,13)/10, false)
  938.                         FLARE.CanCollide = false
  939.                         ApplyAoE(FLARE.Position,14,125)
  940.                         FLARE.Transparency = 1
  941.                         WACKYEFFECT({EffectType = "Sphere", Size = FLARE.Size, Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = CF(FLARE.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FLARE.Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  942.                         ParticleEmitter({Transparency1 = 1, Transparency2 = 1, Speed = 1, Acel = VT(0,0,0), RotSpeed = NumberRange.new(-5, 5), Drag = 0.1, Size1 = 3, Size2 = 5, Lifetime1 = 0.1, Lifetime2 = 0.2, Parent = CORE, Emit = 10, Offset = 180, Enabled = true, Color1 = C3(1,85/255,0), Color2 = C3(1,85/255,0), Texture = 296874871})
  943.                         TOUCH:Disconnect()
  944.                     end
  945.                 end)
  946.             end))
  947.         end
  948.     end))
  949.     wait(1.5)
  950.     UNANCHOR = true
  951.     CUSTOMCAM = false
  952.     ATTACK = false
  953.     Rooted = false
  954. end
  955. function Nebula()
  956.     ATTACK = true
  957.     Rooted = false
  958.     CUSTOMCAM = true
  959.     local DEAD = false
  960.     coroutine.resume(coroutine.create(function()
  961.         while true do
  962.             Swait()
  963.             if DEAD == false then
  964.                 if CUSTOMANGLES == true then
  965.                     Cam.CFrame = Clerp(Cam.CFrame, RootPart.CFrame * CF(0,435,0) * ANGLES(RAD(-90), RAD(0), RAD(0)), 0.01)
  966.                 end
  967.                 SUN.CFrame = Clerp(SUN.CFrame,RootPart.CFrame*CF(0,35,0),0.2)
  968.             end
  969.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  970.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  971.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.85 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(160), RAD(5), RAD(-15)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  972.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  973.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  974.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  975.         end
  976.     end))
  977.     wait(1)
  978.     CreateSound(201858045, SUN, 1.8, MRANDOM(7,13)/10, false)
  979.     CreateSound(278641993, SUN, 3, MRANDOM(7,13)/10, false)
  980.     CreateSound(278641993, SUN, 2.5, MRANDOM(7,13)/10, false)
  981.     for i = 1, 250 do
  982.         Swait()
  983.         WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(2,0,2), Size2 = VT(32,2.5,32), Transparency = 0.75, Transparency2 = 1, CFrame = CF(RootPart.CFrame*CF(0,-4,0).p) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 1, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 22})
  984.         WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(85,0,85), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.8, CFrame = CF(SUN.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 = SUN.Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  985.         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(45,45,45), Size2 = VT(0,0,0), Transparency = 0.95, Transparency2 = 1, CFrame = CF(SUN.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SUN.Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  986.     end
  987.     wait(1)
  988.     for i = 1, 3 do
  989.         wait(0.65)
  990.         WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = SUN.Size, Size2 = VT(250,250,250), Transparency = 0.5, Transparency2 = 1, CFrame = CF(SUN.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SUN.Color, SoundID = 852135845, SoundPitch = 1-(i/10), SoundVolume = 5, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  991.     end
  992.     wait(0.65)
  993.     ApplyAoE(SUN.Position,9999999999999999,125,true)
  994.     SUN:ClearAllChildren()
  995.     SUN.Transparency = 1
  996.     CreateSound(385545047, Effects, 2.5, 1.4, false)
  997.     CreateSound(385545047, Effects, 2.5, 1, false)
  998.     CreateSound(435742675, Effects, 2.5, 1.5, false)
  999.     CreateSound(231917744, Effects, 2.5, 1.5, false)
  1000.     CreateSound(401056199, Effects, 2.5, 1, false)
  1001.     ParticleEmitter({Transparency1 = 1, Transparency2 = 1, Speed = 25, Acel = VT(0,0,0), RotSpeed = NumberRange.new(5, 5), Drag = -1, Size1 = 5, Size2 = 6, Lifetime1 = 0.1, Lifetime2 = 1, Parent = SUN, Emit = 20, Offset = 180, Enabled = false, Color1 = C3(1,85/255,0), Color2 = BRICKC"Royal purple".Color, Texture = 296874871})
  1002.     for i = 1, 3 do
  1003.         WACKYEFFECT({Time = 175, EffectType = "Sphere", Size = SUN.Size, Size2 = VT(250,250,250)+(VT(i,i,i)*180), Transparency = 0.5, Transparency2 = 1, CFrame = CF(SUN.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Royal purple".Color, SoundID = nil, SoundPitch = 1-(i/10), SoundVolume = 5, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  1004.     end
  1005.     for i = 1, 15 do
  1006.         WACKYEFFECT({Time = 100+(i*35), EffectType = "Wave", Size = VT(15,0,15), Size2 = VT(120,5,120)+(VT(i,0,i)*70), Transparency = 0.6, Transparency2 = 1, CFrame = CF(SUN.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)) * ANGLES(RAD(MRANDOM(-15,15)), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 1, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Pink".Color, SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 22})
  1007.     end
  1008.     DEAD = true
  1009.     Cam.CameraType = CAMTYPE
  1010.     Cam.CameraSubject = Humanoid
  1011.     INTROD = false
  1012. end
  1013. function Taunt()
  1014.     ATTACK = true
  1015.     Rooted = true
  1016.     CUSTOMCAM = true
  1017.     CreateSound(160212768, Head, 10, 1, false)
  1018.     for i=0, 3, 0.1 / Animation_Speed do
  1019.         Swait()
  1020.         if CUSTOMANGLES == true then
  1021.             Cam.CFrame = Clerp(Cam.CFrame, RootPart.CFrame * CF(7,1.5,6) * ANGLES(RAD(-4), RAD(15), RAD(0)), 0.2)
  1022.         end
  1023.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.03 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 1 / Animation_Speed)
  1024.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(35)), 1 / Animation_Speed)
  1025.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1026.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.3, 0.5 + 0.05 * SIN(SINE / 12), -0.3) * ANGLES(RAD(90), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1027.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1028.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  1029.     end
  1030.     CUSTOMCAM = false
  1031.     ATTACK = false
  1032.     Rooted = false
  1033. end
  1034.  
  1035. --//=================================\\
  1036. --||      ASSIGN THINGS TO KEYS
  1037. --\\=================================//
  1038.  
  1039. function MouseDown(Mouse)
  1040.     if ATTACK == false then
  1041.         DeadlyLaser()
  1042.     end
  1043. end
  1044.  
  1045. function MouseUp(Mouse)
  1046. HOLD = false
  1047. end
  1048.  
  1049. function KeyDown(Key)
  1050.     KEYHOLD = true
  1051.     if Key == "z" and ATTACK == false then
  1052.         SolarFlares()
  1053.     end
  1054.  
  1055.     if Key == "c" and ATTACK == false then
  1056.         SolarSmash()
  1057.     end
  1058.  
  1059.     if Key == "v" and ATTACK == false then
  1060.         SolarEruption()
  1061.     end
  1062.  
  1063.     if Key == "x" and ATTACK == false then
  1064.         Nebula()
  1065.     end
  1066.  
  1067.     if Key == "t" and ATTACK == false then
  1068.         Taunt()
  1069.     end
  1070.  
  1071.     if Key == "q" and ATTACK == false then
  1072.         if CUSTOMANGLES == true then
  1073.             CUSTOMANGLES = false
  1074.             Cam.CameraSubject = Humanoid
  1075.         else
  1076.             CUSTOMANGLES = true
  1077.         end
  1078.     end
  1079. end
  1080.  
  1081. function KeyUp(Key)
  1082.     KEYHOLD = false
  1083. end
  1084.  
  1085.     Mouse.Button1Down:connect(function(NEWKEY)
  1086.         MouseDown(NEWKEY)
  1087.     end)
  1088.     Mouse.Button1Up:connect(function(NEWKEY)
  1089.         MouseUp(NEWKEY)
  1090.     end)
  1091.     Mouse.KeyDown:connect(function(NEWKEY)
  1092.         KeyDown(NEWKEY)
  1093.     end)
  1094.     Mouse.KeyUp:connect(function(NEWKEY)
  1095.         KeyUp(NEWKEY)
  1096.     end)
  1097.  
  1098. --//=================================\\
  1099. --\\=================================//
  1100.  
  1101. function unanchor()
  1102.     for _, c in pairs(Character:GetChildren()) do
  1103.         if c:IsA("BasePart") and c ~= RootPart then
  1104.             c.Anchored = false
  1105.         end
  1106.     end
  1107.     if UNANCHOR == true then
  1108.         RootPart.Anchored = false
  1109.     else
  1110.         RootPart.Anchored = true
  1111.     end
  1112. end
  1113.  
  1114. --//=================================\\
  1115. --||    WRAP THE WHOLE SCRIPT UP
  1116. --\\=================================//
  1117.  
  1118. Humanoid.Changed:connect(function(Jump)
  1119.     if Jump == "Jump" and (Disable_Jump == true) then
  1120.         Humanoid.Jump = false
  1121.     end
  1122. end)
  1123.  
  1124. while true do
  1125.     Swait()
  1126.     script.Parent = WEAPONGUI
  1127.     ANIMATE.Parent = nil
  1128.     for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1129.         v:Stop();
  1130.     end
  1131.     SINE = SINE + CHANGE
  1132.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1133.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1134.     local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1135.     local WALKSPEEDVALUE = 8 / (Humanoid.WalkSpeed / 16)
  1136.     if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1137.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0.1 * COS(SINE / (WALKSPEEDVALUE/2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1138.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1139.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.25 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10+50 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
  1140.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.25 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-10+50 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
  1141.     elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1142.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1143.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1144.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / Animation_Speed)
  1145.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / Animation_Speed)
  1146.     end
  1147.     if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1148.         ANIM = "Jump"
  1149.         if ATTACK == false then
  1150.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1151.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1152.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(25 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1153.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-25 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1154.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1155.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1156.         end
  1157.     elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1158.         ANIM = "Fall"
  1159.         if ATTACK == false then
  1160.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1161.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1162.             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)
  1163.             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)
  1164.             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)
  1165.             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)
  1166.         end
  1167.     elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1168.         ANIM = "Idle"
  1169.         if ATTACK == false then
  1170.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.03 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 1 / Animation_Speed)
  1171.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(35)), 1 / Animation_Speed)
  1172.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1173.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1174.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1175.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-12), RAD(0), RAD(0)), 1 / Animation_Speed)
  1176.         end
  1177.     elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1178.         ANIM = "Walk"
  1179.         if ATTACK == false then
  1180.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(5), RAD(0), RAD(-15-7 * COS(SINE / (WALKSPEEDVALUE)))), 1 / Animation_Speed)
  1181.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(15+7 * COS(SINE / (WALKSPEEDVALUE)))), 1 / Animation_Speed)
  1182.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1183.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1184.             RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(105), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  1185.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  1186.         end
  1187.     end
  1188.     unanchor()
  1189.     if INTROD == true then
  1190.         if SUNFLOAT == true then
  1191.             SUN.CFrame = Clerp(SUN.CFrame,Torso.CFrame*CF(0,14 + 4 * SIN(SINE / 12),11),0.035)
  1192.         end
  1193.         local HITFLOOR,SUNPOS = Raycast(SUN.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 23, Character)
  1194.         if HITFLOOR then
  1195.             local DISTANCE = (SUNPOS - SUN.Position).Magnitude
  1196.             local SIZE = (23 - DISTANCE)*2
  1197.         end
  1198.     end
  1199.     Humanoid.MaxHealth = 500
  1200.     Humanoid.Health = 500
  1201.     if Rooted == false then
  1202.         Disable_Jump = false
  1203.         Humanoid.WalkSpeed = Speed
  1204.     elseif Rooted == true then
  1205.         Disable_Jump = true
  1206.         Humanoid.WalkSpeed = 0
  1207.     end
  1208.     BMUSIC.SoundId = "rbxassetid://"..SONGID
  1209.     BMUSIC.Looped = true
  1210.     BMUSIC.Pitch = PITCH
  1211.     BMUSIC.Volume = VOLUME
  1212.     BMUSIC.Playing = INTROD
  1213.     if BMUSIC.Parent ~= RootPart then
  1214.         BMUSIC = IT("Sound",RootPart)
  1215.     end
  1216.     Humanoid.Name = "THE_SUN_IS_A_DEADLY_LASER"
  1217.     if INTROD == false and ATTACK == false then
  1218.         Intro()
  1219.         INTROD = true
  1220.     end
  1221.     local VELOC = -RootPart.RotVelocity.Y
  1222.     if VELOC < -35 then
  1223.         VELOC = -35
  1224.     elseif VELOC > 35 then
  1225.         VELOC = 35
  1226.     end
  1227.     if CUSTOMANGLES == true then
  1228.         Cam.CameraType = Enum.CameraType.Scriptable
  1229.         if CUSTOMCAM == false then
  1230.             Cam.CFrame = Clerp(Cam.CFrame, RootPart.CFrame * ANGLES(RAD(-5), RAD(0), RAD(VELOC)) * CF(12,7,25), 0.15)
  1231.         end
  1232.     else
  1233.         Cam.CameraType = CAMTYPE
  1234.     end
  1235. end
  1236.  
  1237. --//=================================\\
  1238. --\\=================================//
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244. --//====================================================\\--
  1245. --||                     END OF SCRIPT
  1246. --\\====================================================//--
Add Comment
Please, Sign In to add comment