ColorblindRBLX

Abyss Eye (FE'd)

Sep 1st, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 70.64 KB | None | 0 0
  1. --//====================================================\\--
  2. --||               ONLY 90s KIDS REMEMBER
  3. --||              ABYSS EYE BY SHACKLUSTER
  4. --\\====================================================//--
  5.  
  6. local ToolName = "MeshPartAccessory"
  7.  
  8. Player = game:GetService("Players").LocalPlayer
  9. PlayerGui = Player.PlayerGui
  10. Cam = workspace.CurrentCamera
  11. Backpack = Player.Backpack
  12. Character = Player.Character
  13. Humanoid = Character.Humanoid
  14. Mouse = Player:GetMouse()
  15. RootPart = Character["HumanoidRootPart"]
  16. Torso = Character["Torso"]
  17. Head = Character["Head"]
  18. RightArm = Character["Right Arm"]
  19. LeftArm = Character["Left Arm"]
  20. RightLeg = Character["Right Leg"]
  21. LeftLeg = Character["Left Leg"]
  22. RootJoint = RootPart["RootJoint"]
  23. Neck = Torso["Neck"]
  24. RightShoulder = Torso["Right Shoulder"]
  25. LeftShoulder = Torso["Left Shoulder"]
  26. RightHip = Torso["Right Hip"]
  27. LeftHip = Torso["Left Hip"]
  28.  
  29. IT = Instance.new
  30. CF = CFrame.new
  31. VT = Vector3.new
  32. RAD = math.rad
  33. C3 = Color3.new
  34. UD2 = UDim2.new
  35. BRICKC = BrickColor.new
  36. ANGLES = CFrame.Angles
  37. EULER = CFrame.fromEulerAnglesXYZ
  38. COS = math.cos
  39. ACOS = math.acos
  40. SIN = math.sin
  41. ASIN = math.asin
  42. ABS = math.abs
  43. MRANDOM = math.random
  44. FLOOR = math.floor
  45.  
  46. for _,v in pairs(Character:GetChildren()) do
  47.     if v:IsA("BasePart") then
  48.         v.Anchored = true
  49.     end
  50. end
  51. --//=================================\\
  52. --||          USEFUL VALUES
  53. --\\=================================//
  54.  
  55. Animation_Speed = 3
  56. local Speed = 25
  57. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  58. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  59. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  60. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  61. local DAMAGEMULTIPLIER = 1
  62. local ANIM = "Idle"
  63. local ATTACK = false
  64. local EQUIPPED = false
  65. local HOLD = false
  66. local COMBO = 1
  67. local Rooted = false
  68. local SINE = 0
  69. local KEYHOLD = false
  70. local CHANGE = 2 / Animation_Speed
  71. local WALKINGANIM = false
  72. local VALUE1 = false
  73. local VALUE2 = false
  74. local ROBLOXIDLEANIMATION = IT("Animation")
  75. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  76. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  77. --ROBLOXIDLEANIMATION.Parent = Humanoid
  78. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  79. WEAPONGUI.Name = "Weapon GUI"
  80. local Effects = IT("Folder", Character)
  81. Effects.Name = "Effects"
  82. local ANIMATOR = Humanoid.Animator
  83. local ANIMATE = Character.Animate
  84. local UNANCHOR = true
  85. local FADERS = true
  86.  
  87. --//=================================\\
  88. --\\=================================//
  89.  
  90. --//=================================\\
  91. --||          SOME FUNCTIONS
  92. --\\=================================//
  93.  
  94. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  95.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  96. end
  97.  
  98. function PositiveAngle(NUMBER)
  99.     if NUMBER >= 0 then
  100.         NUMBER = 0
  101.     end
  102.     return NUMBER
  103. end
  104.  
  105. function NegativeAngle(NUMBER)
  106.     if NUMBER <= 0 then
  107.         NUMBER = 0
  108.     end
  109.     return NUMBER
  110. end
  111.  
  112. function Swait(NUMBER)
  113.     if NUMBER == 0 or NUMBER == nil then
  114.         game:GetService("RunService").RenderStepped:wait()
  115.     else
  116.         for i = 1, NUMBER do
  117.             game:GetService("RunService").RenderStepped:wait()
  118.         end
  119.     end
  120. end
  121.  
  122. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  123.     local NEWMESH = IT(MESH)
  124.     if MESH == "SpecialMesh" then
  125.         NEWMESH.MeshType = MESHTYPE
  126.         if MESHID ~= "nil" and MESHID ~= "" then
  127.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  128.         end
  129.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  130.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  131.         end
  132.     end
  133.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  134.     NEWMESH.Scale = SCALE
  135.     NEWMESH.Parent = PARENT
  136.     return NEWMESH
  137. end
  138.  
  139. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  140.     local NEWPART = IT("Part")
  141.     NEWPART.formFactor = FORMFACTOR
  142.     NEWPART.Reflectance = REFLECTANCE
  143.     NEWPART.Transparency = TRANSPARENCY
  144.     NEWPART.CanCollide = false
  145.     NEWPART.Locked = true
  146.     NEWPART.Anchored = true
  147.     if ANCHOR == false then
  148.         NEWPART.Anchored = false
  149.     end
  150.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  151.     NEWPART.Name = NAME
  152.     NEWPART.Size = SIZE
  153.     NEWPART.Position = Torso.Position
  154.     NEWPART.Material = MATERIAL
  155.     NEWPART:BreakJoints()
  156.     NEWPART.Parent = PARENT
  157.     return NEWPART
  158. end
  159.  
  160.     local function weldBetween(a, b)
  161.         local weldd = Instance.new("ManualWeld")
  162.         weldd.Part0 = a
  163.         weldd.Part1 = b
  164.         weldd.C0 = CFrame.new()
  165.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  166.         weldd.Parent = a
  167.         return weldd
  168.     end
  169.  
  170.  
  171. function QuaternionFromCFrame(cf)
  172.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  173.     local trace = m00 + m11 + m22
  174.     if trace > 0 then
  175.         local s = math.sqrt(1 + trace)
  176.         local recip = 0.5 / s
  177.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  178.     else
  179.         local i = 0
  180.         if m11 > m00 then
  181.             i = 1
  182.         end
  183.         if m22 > (i == 0 and m00 or m11) then
  184.             i = 2
  185.         end
  186.         if i == 0 then
  187.             local s = math.sqrt(m00 - m11 - m22 + 1)
  188.             local recip = 0.5 / s
  189.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  190.         elseif i == 1 then
  191.             local s = math.sqrt(m11 - m22 - m00 + 1)
  192.             local recip = 0.5 / s
  193.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  194.         elseif i == 2 then
  195.             local s = math.sqrt(m22 - m00 - m11 + 1)
  196.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  197.         end
  198.     end
  199. end
  200.  
  201. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  202.     local xs, ys, zs = x + x, y + y, z + z
  203.     local wx, wy, wz = w * xs, w * ys, w * zs
  204.     local xx = x * xs
  205.     local xy = x * ys
  206.     local xz = x * zs
  207.     local yy = y * ys
  208.     local yz = y * zs
  209.     local zz = z * zs
  210.     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))
  211. end
  212.  
  213. function QuaternionSlerp(a, b, t)
  214.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  215.     local startInterp, finishInterp;
  216.     if cosTheta >= 0.0001 then
  217.         if (1 - cosTheta) > 0.0001 then
  218.             local theta = ACOS(cosTheta)
  219.             local invSinTheta = 1 / SIN(theta)
  220.             startInterp = SIN((1 - t) * theta) * invSinTheta
  221.             finishInterp = SIN(t * theta) * invSinTheta
  222.         else
  223.             startInterp = 1 - t
  224.             finishInterp = t
  225.         end
  226.     else
  227.         if (1 + cosTheta) > 0.0001 then
  228.             local theta = ACOS(-cosTheta)
  229.             local invSinTheta = 1 / SIN(theta)
  230.             startInterp = SIN((t - 1) * theta) * invSinTheta
  231.             finishInterp = SIN(t * theta) * invSinTheta
  232.         else
  233.             startInterp = t - 1
  234.             finishInterp = t
  235.         end
  236.     end
  237.     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
  238. end
  239.  
  240. function Clerp(a, b, t)
  241.     local qa = {QuaternionFromCFrame(a)}
  242.     local qb = {QuaternionFromCFrame(b)}
  243.     local ax, ay, az = a.x, a.y, a.z
  244.     local bx, by, bz = b.x, b.y, b.z
  245.     local _t = 1 - t
  246.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  247. end
  248.  
  249. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  250.     local frame = IT("Frame")
  251.     frame.BackgroundTransparency = TRANSPARENCY
  252.     frame.BorderSizePixel = BORDERSIZEPIXEL
  253.     frame.Position = POSITION
  254.     frame.Size = SIZE
  255.     frame.BackgroundColor3 = COLOR
  256.     frame.BorderColor3 = BORDERCOLOR
  257.     frame.Name = NAME
  258.     frame.Parent = PARENT
  259.     return frame
  260. end
  261.  
  262. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  263.     local label = IT("TextLabel")
  264.     label.BackgroundTransparency = 1
  265.     label.Size = UD2(1, 0, 1, 0)
  266.     label.Position = UD2(0, 0, 0, 0)
  267.     label.TextColor3 = TEXTCOLOR
  268.     label.TextStrokeTransparency = STROKETRANSPARENCY
  269.     label.TextTransparency = TRANSPARENCY
  270.     label.FontSize = TEXTFONTSIZE
  271.     label.Font = TEXTFONT
  272.     label.BorderSizePixel = BORDERSIZEPIXEL
  273.     label.TextScaled = false
  274.     label.Text = TEXT
  275.     label.Name = NAME
  276.     label.Parent = PARENT
  277.     return label
  278. end
  279.  
  280. function NoOutlines(PART)
  281.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  282. end
  283.  
  284. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  285.     local NEWWELD = IT(TYPE)
  286.     NEWWELD.Part0 = PART0
  287.     NEWWELD.Part1 = PART1
  288.     NEWWELD.C0 = C0
  289.     NEWWELD.C1 = C1
  290.     NEWWELD.Parent = PARENT
  291.     return NEWWELD
  292. end
  293.  
  294. local S = IT("Sound")
  295. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  296.     local NEWSOUND = nil
  297.     coroutine.resume(coroutine.create(function()
  298.         NEWSOUND = S:Clone()
  299.         NEWSOUND.Parent = PARENT
  300.         NEWSOUND.Volume = VOLUME
  301.         NEWSOUND.Pitch = PITCH
  302.         NEWSOUND.SoundId = "rbxassetid://"..ID
  303.         NEWSOUND:play()
  304.         if DOESLOOP == true then
  305.             NEWSOUND.Looped = true
  306.         else
  307.             repeat wait(1) until NEWSOUND.Playing == false
  308.             NEWSOUND:remove()
  309.         end
  310.     end))
  311.     return NEWSOUND
  312. end
  313.  
  314. function CFrameFromTopBack(at, top, back)
  315.     local right = top:Cross(back)
  316.     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)
  317. end
  318.  
  319. function R_RANDOM(CFRAME,DIST)
  320.     return CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-DIST)
  321. end
  322.  
  323. --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})
  324. function WACKYEFFECT(Table)
  325.     local TYPE = (Table.EffectType or "Sphere")
  326.     local SIZE = (Table.Size or VT(1,1,1))
  327.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  328.     local TRANSPARENCY = (Table.Transparency or 0)
  329.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  330.     local CFRAME = (Table.CFrame or Torso.CFrame)
  331.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  332.     local ROTATION1 = (Table.RotationX or 0)
  333.     local ROTATION2 = (Table.RotationY or 0)
  334.     local ROTATION3 = (Table.RotationZ or 0)
  335.     local MATERIAL = (Table.Material or "Neon")
  336.     local COLOR = (Table.Color or C3(1,1,1))
  337.     local TIME = (Table.Time or 45)
  338.     local SOUNDID = (Table.SoundID or nil)
  339.     local SOUNDPITCH = (Table.SoundPitch or nil)
  340.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  341.     local USEBOOMERANGMATH = (Table.UseBoomerangMath or false)
  342.     local BOOMERANG = (Table.Boomerang or 0)
  343.     local SIZEBOOMERANG = (Table.SizeBoomerang or 0)
  344.     coroutine.resume(coroutine.create(function()
  345.         local PLAYSSOUND = false
  346.         local SOUND = nil
  347.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  348.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  349.             PLAYSSOUND = true
  350.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  351.         end
  352.         EFFECT.Color = COLOR
  353.         local MSH = nil
  354.         if TYPE == "Sphere" then
  355.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  356.         elseif TYPE == "Block" or TYPE == "Box" then
  357.             MSH = IT("BlockMesh",EFFECT)
  358.             MSH.Scale = SIZE
  359.         elseif TYPE == "Wave" then
  360.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  361.         elseif TYPE == "Ring" then
  362.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  363.         elseif TYPE == "Slash" then
  364.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  365.         elseif TYPE == "Round Slash" then
  366.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  367.         elseif TYPE == "Swirl" then
  368.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "168892432", "", SIZE, VT(0,0,0))
  369.         elseif TYPE == "Skull" then
  370.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  371.         elseif TYPE == "Crystal" then
  372.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  373.         end
  374.         if MSH ~= nil then
  375.             local BOOMR1 = 1+BOOMERANG/50
  376.             local BOOMR2 = 1+SIZEBOOMERANG/50
  377.             local MOVESPEED = nil
  378.             if MOVEDIRECTION ~= nil then
  379.                 if USEBOOMERANGMATH == true then
  380.                     MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)*BOOMR1
  381.                 else
  382.                     MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)
  383.                 end
  384.             end
  385.             local GROWTH = nil
  386.             if USEBOOMERANGMATH == true then
  387.                 GROWTH = (SIZE - ENDSIZE)*(BOOMR2+1)
  388.             else
  389.                 GROWTH = (SIZE - ENDSIZE)
  390.             end
  391.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  392.             if TYPE == "Block" then
  393.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  394.             else
  395.                 EFFECT.CFrame = CFRAME
  396.             end
  397.             if USEBOOMERANGMATH == true then
  398.                 for LOOP = 1, TIME+1 do
  399.                     Swait()
  400.                     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
  401.                     if TYPE == "Wave" then
  402.                         MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
  403.                     end
  404.                     EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  405.                     if TYPE == "Block" then
  406.                         EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  407.                     else
  408.                         EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  409.                     end
  410.                     if MOVEDIRECTION ~= nil then
  411.                         local ORI = EFFECT.Orientation
  412.                         EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-(MOVESPEED)*((1 - (LOOP/TIME)*BOOMR1)))
  413.                         EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
  414.                     end
  415.                 end
  416.             else
  417.                 for LOOP = 1, TIME+1 do
  418.                     Swait()
  419.                     MSH.Scale = MSH.Scale - GROWTH/TIME
  420.                     if TYPE == "Wave" then
  421.                         MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
  422.                     end
  423.                     EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  424.                     if TYPE == "Block" then
  425.                         EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  426.                     else
  427.                         EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  428.                     end
  429.                     if MOVEDIRECTION ~= nil then
  430.                         local ORI = EFFECT.Orientation
  431.                         EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  432.                         EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
  433.                     end
  434.                 end
  435.             end
  436.             EFFECT.Transparency = 1
  437.             if PLAYSSOUND == false then
  438.                 EFFECT:remove()
  439.             else
  440.                 repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
  441.                 EFFECT:remove()
  442.             end
  443.         else
  444.             if PLAYSSOUND == false then
  445.                 EFFECT:remove()
  446.             else
  447.                 repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
  448.                 EFFECT:remove()
  449.             end
  450.         end
  451.     end))
  452. end
  453.  
  454. function MakeForm(PART,TYPE)
  455.     if TYPE == "Cyl" then
  456.         local MSH = IT("CylinderMesh",PART)
  457.     elseif TYPE == "Ball" then
  458.         local MSH = IT("SpecialMesh",PART)
  459.         MSH.MeshType = "Sphere"
  460.     elseif TYPE == "Wedge" then
  461.         local MSH = IT("SpecialMesh",PART)
  462.         MSH.MeshType = "Wedge"
  463.     end
  464. end
  465.  
  466. Debris = game:GetService("Debris")
  467.  
  468. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  469.     local DIRECTION = CF(StartPos,EndPos).lookVector
  470.     local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  471.     return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, DIRECTION * Distance), Ignore)
  472. end
  473.  
  474. local DECAL = IT("Decal")
  475. function MagicRing()
  476.     local RING = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "MagicRing", VT(0,0,0),true)
  477.     local MESH = IT("BlockMesh",RING)
  478.     local BOTTOMTEXTURE = DECAL:Clone()
  479.     BOTTOMTEXTURE.Parent = RING
  480.     BOTTOMTEXTURE.Face = "Bottom"
  481.     BOTTOMTEXTURE.Name = "BottomTexture"
  482.     local TOPTEXTURE = DECAL:Clone()
  483.     TOPTEXTURE.Parent = RING
  484.     TOPTEXTURE.Face = "Top"
  485.     TOPTEXTURE.Name = "TopTexture"
  486.     BOTTOMTEXTURE.Texture = "http://www.roblox.com/asset/?id=1208118228"
  487.     TOPTEXTURE.Texture = "http://www.roblox.com/asset/?id=1208118228"
  488.     BOTTOMTEXTURE.Color3 = C3(0,0,0)
  489.     TOPTEXTURE.Color3 = C3(0,0,0)
  490.     return RING,MESH,TOPTEXTURE,BOTTOMTEXTURE
  491. end
  492.  
  493. function CharacterFade(COLOR,TIMER,MOVEDIRECTION,PARENT)
  494.     coroutine.resume(coroutine.create(function()
  495.         local FADE = IT("Model",Effects)
  496.         if PARENT ~= nil then
  497.             FADE.Parent = PARENT
  498.         end
  499.         FADE.Name = "FadingEffect"
  500.         for _, c in pairs(Character:GetChildren()) do
  501.             if c.ClassName == "Part" then
  502.                 c.CanCollide = false
  503.                 local FADER = CreatePart(3, FADE, "Neon", 0, 0.75, BRICKC("Pearl"), c.Name, c.Size, true)
  504.                 FADER.CFrame = c.CFrame
  505.                 FADER.Color = COLOR
  506.                 if FADER.Name == "Head" then
  507.                     Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FADER
  508.                 elseif FADER.Name == "HumanoidRootPart" then
  509.                     FADE.PrimaryPart = FADER
  510.                     FADER.Transparency = 1
  511.                 end
  512.             end
  513.         end
  514.         local TRANS = 0.25/TIMER
  515.         local DIST = nil
  516.         if MOVEDIRECTION ~= nil then
  517.             DIST = (FADE.PrimaryPart.Position - MOVEDIRECTION).Magnitude
  518.         end
  519.         for i = 1, TIMER do
  520.             Swait()
  521.             for _, c in pairs(FADE:GetChildren()) do
  522.                 if c.ClassName == "Part" then
  523.                     c.Transparency = c.Transparency + TRANS
  524.                 end
  525.             end
  526.             if MOVEDIRECTION ~= nil then
  527.                 local ORI = FADE.PrimaryPart.Orientation
  528.                 FADE:SetPrimaryPartCFrame(CF(CF(FADE.PrimaryPart.Position,MOVEDIRECTION)*CF(0,0,-DIST/TIMER).p) * ANGLES(RAD(ORI.X), RAD(ORI.Y), RAD(ORI.Z)))
  529.             end
  530.         end
  531.         FADE:remove()
  532.     end))
  533. end
  534.  
  535. --//=================================\\
  536. --||        GUIS AND MISC
  537. --\\=================================//
  538.  
  539. local EYE = CreatePart(3, Character, "Neon", 0, 0, BRICKC("Really black"), "TheEye", VT(0.16,0.16,0.16), true)
  540. MakeForm(EYE,"Ball")
  541. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(-0.15, 0.2, -0.57) * ANGLES(RAD(0), RAD(15), RAD(0)) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  542. local BLADE = CreatePart(3, Effects, "Fabric", 0, 0, BRICKC("Really black"), "Abyssal_Sword", VT(1, 7.6, 1), true)
  543. CreateMesh("SpecialMesh", BLADE, "FileMesh", "93117521", "1015990846", VT(1,1,1), VT(0,0,0))
  544. BLADE.CFrame = RootPart.CFrame * CF(0.4,1,4) * ANGLES(RAD(195), RAD(15), RAD(15))
  545.  
  546. BLADE.Transparency = 1
  547. local athp = Instance.new("Attachment",BLADE)
  548. local atho = Instance.new("Attachment",BLADE)
  549.  
  550. if ToolName then
  551.     Character[ToolName].Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
  552.     Character[ToolName].Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho
  553.     atho.Rotation = Vector3.new(0,0,-135)
  554. end
  555.  
  556. local SKILLTEXTCOLOR = C3(0,0,0)
  557. local SKILLFONT = "Fantasy"
  558. local SKILLTEXTSIZE = 4
  559. local SKILLTEXTSIZE2 = 12
  560.  
  561. local ATTACKS = {"Abyssal Shriek - Z","Abyssal Dash - X","Shadow Cloak - C","Black Blast - V","Nightmare Fall - Q"}
  562.  
  563. for i = 1, #ATTACKS do
  564.     local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.74, 0, 0.97-(0.04*i), 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
  565.     local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKS[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Skill text")
  566.     SKILLTEXT.TextXAlignment = "Right"
  567.     SKILLTEXT.Rotation = i*3
  568. end
  569.  
  570. local BMUSIC = IT("Sound",RootPart)
  571. local VOLUME = 5
  572. local PITCH = 1
  573. local SONGID = 1074563286
  574. local A = IT("Attachment",Torso)
  575.  
  576. coroutine.resume(coroutine.create(function()
  577.     while wait(1) do
  578.         if FADERS == true then
  579.             coroutine.resume(coroutine.create(function()
  580.                 local R,M,T,B = MagicRing()
  581.                 R.Anchored = false
  582.                 CreateWeldOrSnapOrMotor("Weld", EYE, EYE, R, CF(0,0,0), CF(0, 0, 0))
  583.                 local R2,M2,T2,B2 = MagicRing()
  584.                 R2.Anchored = false
  585.                 CreateWeldOrSnapOrMotor("Weld", EYE, EYE, R2, CF(0,0,0), CF(0, 0, 0))
  586.                 for i = 1, 35 do
  587.                     Swait()
  588.                     M.Scale = M.Scale + VT(1,0,1)*1.2
  589.                     T.Transparency = i/35
  590.                     B.Transparency = i/35
  591.                     M2.Scale = M2.Scale + VT(1,0,1)*0.6
  592.                     T2.Transparency = i/35
  593.                     B2.Transparency = i/35
  594.                 end
  595.                 R:Remove()
  596.                 R2:Remove()
  597.             end))
  598.         end
  599.     end
  600. end))
  601.  
  602. --//=================================\\
  603. --||            DAMAGING
  604. --\\=================================//
  605.  
  606. function ApplyDamage(Humanoid,Damage)
  607.     return true
  608. end
  609.  
  610. function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  611.     for index, CHILD in pairs(workspace:GetDescendants()) do
  612.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  613.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  614.             if HUM then
  615.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  616.                 if TORSO then
  617.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  618.                         if FLING > 0 then
  619.                             for _, c in pairs(CHILD: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,TORSO.Position).lookVector*FLING
  624.                                     bv.Parent = c
  625.                                     Debris:AddItem(bv,0.05)
  626.                                 end
  627.                             end
  628.                         end
  629.                     end
  630.                 end
  631.             end
  632.         end
  633.     end
  634. end
  635.  
  636. --//=================================\\
  637. --||    ATTACK FUNCTIONS AND STUFF
  638. --\\=================================//
  639.  
  640. function Melee()
  641.     ATTACK = true
  642.     BLADE.CanCollide = true
  643.     Rooted = false
  644.     EQUIPPED = true
  645.     local HIT = function()
  646.         local HITS = {}
  647.         local TOUCH = BLADE.Touched:Connect(function(hit)
  648.             if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent ~= Character then
  649.                 local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
  650.                 local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
  651.                 if TORSO and HUM.Health > 0 then
  652.                     local PASS = true
  653.                     for i = 1, #HITS do
  654.                         if HITS[i] == hit.Parent then
  655.                             PASS = false
  656.                         end
  657.                     end
  658.                     table.insert(HITS,hit.Parent)
  659.                         if PASS == true then
  660.                         ApplyDamage(HUM,MRANDOM(15,25))
  661.                     end
  662.                 end
  663.             end
  664.         end)
  665.         return TOUCH
  666.     end
  667.     if COMBO == 1 then
  668.         for i=0, 0.35, 0.1 / Animation_Speed do
  669.             Swait()
  670.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
  671.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  672.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  673.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  674.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  675.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  676.             BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
  677.         end
  678.         CreateSound(1489705211,BLADE,MRANDOM(7,8),MRANDOM(8,13)/12,false)
  679.         local TOUCHED = HIT()
  680.         for i=0, 0.5, 0.1 / Animation_Speed do
  681.             Swait()
  682.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  683.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 0.9 / Animation_Speed)
  684.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.8, 0.5, -0.7) * ANGLES(RAD(0), RAD(0), RAD(-90)) * ANGLES(RAD(15), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 0.6 / Animation_Speed)
  685.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  686.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  687.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  688.             BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
  689.         end
  690.         TOUCHED:Disconnect()
  691.         COMBO = 2
  692.     elseif COMBO == 2 then
  693.         for i=0, 0.35, 0.1 / Animation_Speed do
  694.             Swait()
  695.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  696.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  697.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(160), RAD(0), RAD(-5)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  698.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  699.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  700.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  701.             BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
  702.         end
  703.         CreateSound(1489705211,BLADE,MRANDOM(7,8),MRANDOM(8,13)/12,false)
  704.         local TOUCHED = HIT()
  705.         for i=0, 0.35, 0.1 / Animation_Speed do
  706.             Swait()
  707.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  708.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 0.8 / Animation_Speed)
  709.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.25, -0.5) * ANGLES(RAD(85), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  710.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  711.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  712.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  713.             BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
  714.         end
  715.         TOUCHED:Disconnect()
  716.         for i=0, 0.2, 0.1 / Animation_Speed do
  717.             Swait()
  718.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  719.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 0.8 / Animation_Speed)
  720.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.25, -0.5) * ANGLES(RAD(85), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  721.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  722.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  723.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  724.             BLADE.CFrame = Clerp(BLADE.CFrame,RootPart.CFrame*CF(4,0.3,0) * ANGLES(RAD(195), RAD(-25), RAD(15)),0.4)
  725.         end
  726.         COMBO = 1
  727.     end
  728.     coroutine.resume(coroutine.create(function()
  729.         for i = 1, 50 do
  730.             Swait()
  731.             if ATTACK == true then
  732.                 break
  733.             end
  734.         end
  735.         if ATTACK == false then
  736.             COMBO = 1
  737.         end
  738.     end))
  739.     BLADE.CanCollide = false
  740.     ATTACK = false
  741.     Rooted = false
  742.     EQUIPPED = false
  743. end
  744. function AbyssalShriek()
  745.     if ANIM ~= "Fall" and ANIM ~= "Jump" then
  746.         ATTACK = true
  747.         Rooted = true
  748.         for i=0, 0.2, 0.1 / Animation_Speed do
  749.             Swait()
  750.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  751.             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)
  752.             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)
  753.             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)
  754.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-15)), 1 / Animation_Speed)
  755.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(15)), 1 / Animation_Speed)
  756.         end
  757.         coroutine.resume(coroutine.create(function()
  758.             repeat
  759.                 Swait()
  760.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  761.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5))), 1 / Animation_Speed)
  762.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(-15+MRANDOM(-5,5)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  763.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(15+MRANDOM(-5,5)), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  764.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.1) * ANGLES(RAD(0), RAD(85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(-12)), 1 / Animation_Speed)
  765.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.1) * ANGLES(RAD(0), RAD(-85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(12)), 1 / Animation_Speed)
  766.             until ATTACK == false
  767.         end))
  768.         WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position+VT(0,1.5,0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 15})
  769.         CreateSound(199978176,Head,5,1,false)
  770.         for i = 1, 60 do
  771.             Swait()
  772.             ApplyAoE(RootPart.Position,17,1,1,0,false)
  773.             local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4+Humanoid.HipHeight, Character)
  774.             if HITFLOOR then
  775.                 WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(20,1,20), Size2 = VT(25+MRANDOM(0,8),7,25+MRANDOM(0,8)), Transparency = 0.95, Transparency2 = 1, CFrame = CF(HITPOS)*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  776.             end
  777.             local SIZE = VT(1,3,1)
  778.             WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = SIZE*MRANDOM(10,65)/10, Transparency = 0.5, Transparency2 = 1, CFrame = CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,MRANDOM(1,17),MRANDOM(0,12)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 5})
  779.         end
  780.         wait(0.2)
  781.         ATTACK = false
  782.         Rooted = false
  783.     end
  784. end
  785. function AbyssalDash()
  786.     ATTACK = true
  787.     Rooted = true
  788.     UNANCHOR = false
  789.     for i=0, 0.4, 0.1 / Animation_Speed do
  790.         Swait()
  791.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  792.         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)
  793.         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)
  794.         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)
  795.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-15)), 1 / Animation_Speed)
  796.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(15)), 1 / Animation_Speed)
  797.     end
  798.     CreateSound(1177785010,Torso,2,1,false)
  799.     CreateSound(971125740,Torso,5,1,false)
  800.     WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 331666014, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  801.     for index, CHILD in pairs(Character:GetChildren()) do
  802.         if CHILD:IsA("BasePart") then
  803.             CHILD.Transparency = CHILD.Transparency + 1
  804.         elseif CHILD:IsA("Accessory") then
  805.             CHILD.Handle.Transparency = CHILD.Handle.Transparency + 1
  806.         end
  807.     end
  808.     local HITS = {}
  809.     for i=0, 1, 0.1 / Animation_Speed do
  810.         Swait()
  811.         for index, CHILD in pairs(workspace:GetDescendants()) do
  812.             if CHILD.ClassName == "Model" and CHILD ~= Character then
  813.                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  814.                 if HUM then
  815.                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  816.                     if TORSO then
  817.                         if (TORSO.Position - RootPart.Position).Magnitude <= 25 then
  818.                             local PASS = true
  819.                             for E = 1, #HITS do
  820.                                 if HITS[E] == CHILD then
  821.                                     PASS = false
  822.                                 end
  823.                             end
  824.                             if PASS == true then
  825.                                 local DMG = MRANDOM(25,45)
  826.                                 ApplyDamage(HUM,DMG)
  827.                                 table.insert(HITS,CHILD)
  828.                             end
  829.                         end
  830.                     end
  831.                 end
  832.             end
  833.         end
  834.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(25,0,25), Transparency = 0.8, Transparency2 = 1, CFrame = RootPart.CFrame*CF(0,0,-6) * ANGLES(RAD(-90), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 50})
  835.         for i = 1, 2 do
  836.             RootPart.CFrame = RootPart.CFrame*CF(0,0,-1)
  837.             CharacterFade(C3(0,0,0),25,R_RANDOM(Torso.CFrame,1.25).p)
  838.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(65), RAD(0), RAD(0)), 1 / Animation_Speed)
  839.             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)
  840.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(-25), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  841.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(-25), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  842.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  843.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  844.         end
  845.     end
  846.     for index, CHILD in pairs(Character:GetChildren()) do
  847.         if CHILD:IsA("BasePart") then
  848.             CHILD.Transparency = CHILD.Transparency - 1
  849.         elseif CHILD:IsA("Accessory") then
  850.             CHILD.Handle.Transparency = CHILD.Handle.Transparency - 1
  851.         end
  852.     end
  853.     for i=1, 25 do
  854.         Swait()
  855.         RootPart.CFrame = RootPart.CFrame*CF(0,0,-((25-i)/25))
  856.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  857.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  858.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-35), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  859.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-35), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  860.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-45)), 1 / Animation_Speed)
  861.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-25), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  862.     end
  863.     UNANCHOR = true
  864.     ATTACK = false
  865.     Rooted = false
  866. end
  867. function ShadowCloak()
  868.     if ANIM ~= "Fall" and ANIM ~= "Jump" then
  869.         ATTACK = true
  870.         Rooted = false
  871.         UNANCHOR = false
  872.         FADERS = false
  873.         coroutine.resume(coroutine.create(function()
  874.             coroutine.resume(coroutine.create(function()
  875.                 for i=1, 25 do
  876.                     Swait()
  877.                     RootPart.CFrame = RootPart.CFrame*CF(0,(25-i)/25,0)
  878.                 end
  879.             end))
  880.             repeat
  881.                 Swait()
  882.                 BLADE.Transparency = Torso.Transparency
  883.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  884.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5))), 1 / Animation_Speed)
  885.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(-15+MRANDOM(-5,5)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  886.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(15+MRANDOM(-5,5)), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  887.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.1) * ANGLES(RAD(0), RAD(85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(-12)), 1 / Animation_Speed)
  888.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.1) * ANGLES(RAD(0), RAD(-85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(12)), 1 / Animation_Speed)
  889.             until ATTACK == false
  890.         end))
  891.         WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,1,25), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 814168787, SoundPitch = 0.6, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 12})
  892.         WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,1,25), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 814168787, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  893.         for i = 1, 50 do
  894.             Swait()
  895.             CharacterFade(C3(0,0,0),12,R_RANDOM(Torso.CFrame,1.25).p)
  896.             for index, CHILD in pairs(Character:GetChildren()) do
  897.                 if CHILD:IsA("BasePart") then
  898.                     CHILD.Transparency = CHILD.Transparency + 1/50
  899.                 elseif CHILD:IsA("Accessory") then
  900.                     CHILD.Handle.Transparency = CHILD.Handle.Transparency + 1/50
  901.                 end
  902.             end
  903.         end
  904.         for i = 1, 25 do
  905.             Swait()
  906.             CharacterFade(C3(0,0,0),12,R_RANDOM(Torso.CFrame,1.25).p)
  907.         end
  908.         RootPart.CFrame = CF(Mouse.Hit.p+VT(0,12,0)) * ANGLES(RAD(0), RAD(RootPart.Orientation.Y), RAD(0))
  909.         for i = 1, 5 do
  910.             WACKYEFFECT({Time = 50, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(0.3,0,0.3), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
  911.         end
  912.         ApplyAoE(Torso.Position,15,12,22,150,false)
  913.         CreateSound(331666014,Torso,5,1,false)
  914.         for i = 1, 12 do
  915.             Swait()
  916.             CharacterFade(C3(0,0,0),12,R_RANDOM(Torso.CFrame,1.25).p)
  917.         end
  918.         for i = 1, 50 do
  919.             Swait()
  920.             CharacterFade(C3(0,0,0),12,R_RANDOM(Torso.CFrame,1.25).p)
  921.             for index, CHILD in pairs(Character:GetChildren()) do
  922.                 if CHILD:IsA("BasePart") then
  923.                     CHILD.Transparency = CHILD.Transparency - 1/50
  924.                 elseif CHILD:IsA("Accessory") then
  925.                     CHILD.Handle.Transparency = CHILD.Handle.Transparency - 1/50
  926.                 end
  927.             end
  928.         end
  929.         UNANCHOR = true
  930.         ATTACK = false
  931.         Rooted = false
  932.         FADERS = true
  933.     end
  934. end
  935. function BlackBlast()
  936.     if ANIM ~= "Fall" and ANIM ~= "Jump" then
  937.         ATTACK = true
  938.         Rooted = true
  939.         local GYRO = IT("BodyGyro",RootPart)
  940.         GYRO.D = 25
  941.         GYRO.P = 20000
  942.         GYRO.MaxTorque = VT(0,4000000,0)
  943.         GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  944.         CreateSound(429459101,Torso,5,1.5,false)
  945.         local GYROING = true
  946.         coroutine.resume(coroutine.create(function()
  947.             repeat
  948.                 Swait()
  949.                 GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  950.             until GYROING == false
  951.             GYRO:Remove()
  952.         end))
  953.         for i=0, 1, 0.1 / Animation_Speed do
  954.             Swait()
  955.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  956.             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)
  957.             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)
  958.             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)
  959.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-15)), 1 / Animation_Speed)
  960.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(15)), 1 / Animation_Speed)
  961.         end
  962.         for i = 1, 13 do
  963.             WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(i,0,i)*2, Transparency = 0.8, Transparency2 = 1, CFrame = RootPart.CFrame*CF(0,0,7.5-i) * ANGLES(RAD(-90), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 50})
  964.         end
  965.         CreateSound(1368637781,Torso,5,1.5,false)
  966.         WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(12,12,12), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 331666014, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  967.         for index, CHILD in pairs(Character:GetChildren()) do
  968.             if CHILD:IsA("BasePart") then
  969.                 CHILD.Transparency = CHILD.Transparency + 1
  970.             elseif CHILD:IsA("Accessory") then
  971.                 CHILD.Handle.Transparency = CHILD.Handle.Transparency + 1
  972.             end
  973.         end
  974.         GYROING = false
  975.         coroutine.resume(coroutine.create(function()
  976.             coroutine.resume(coroutine.create(function()
  977.                 for i=1, 25 do
  978.                     Swait()
  979.                     RootPart.CFrame = RootPart.CFrame*CF(0,0,(25-i)/25)
  980.                 end
  981.             end))
  982.             repeat
  983.                 Swait()
  984.                 CharacterFade(C3(0,0,0),12,R_RANDOM(Torso.CFrame,1.25).p)
  985.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  986.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5))), 1 / Animation_Speed)
  987.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(-15+MRANDOM(-5,5)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  988.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(15+MRANDOM(-5,5)), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  989.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.1) * ANGLES(RAD(0), RAD(85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(-12)), 1 / Animation_Speed)
  990.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.1) * ANGLES(RAD(0), RAD(-85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(12)), 1 / Animation_Speed)
  991.             until ATTACK == false
  992.         end))
  993.         coroutine.resume(coroutine.create(function()
  994.             local BULLETCFRAME = RootPart.CFrame
  995.             local EXPLODED = false
  996.             coroutine.resume(coroutine.create(function()
  997.                 repeat
  998.                     Swait()
  999.                     WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(10,10,10), Transparency = 0.3, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  1000.                     WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(25,25,25), Transparency = 0.8, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  1001.                 until EXPLODED == true
  1002.             end))
  1003.             for i=1, 50 do
  1004.                 Swait()
  1005.                 BULLETCFRAME = BULLETCFRAME*CF(0,0,-((50-i)/15))
  1006.                 local RAY,HIT,NORM = Raycast(BULLETCFRAME.p,BULLETCFRAME.lookVector,7,Character)
  1007.                 if RAY then
  1008.                     ApplyAoE(BULLETCFRAME.p,25,12,54,350,false)
  1009.                     WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(160,0,160), Transparency = 0.6, Transparency2 = 1, CFrame = CF(HIT,HIT+NORM) * ANGLES(RAD(-90), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 765590102, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 10})
  1010.                     break
  1011.                 end
  1012.             end
  1013.             wait(0.5)
  1014.             WACKYEFFECT({Time = 85, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(75,75,75), Transparency = 0, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 401056199, SoundPitch = 0.7, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  1015.             WACKYEFFECT({Time = 85, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(50,50,50), Transparency = 0, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 401056199, SoundPitch = 1, SoundVolume = 10, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  1016.             for E = 1, 3 do
  1017.                 for i = 1, 5 do
  1018.                     WACKYEFFECT({Time = 50, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(E,0,E)/2, Transparency = 0, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
  1019.                 end
  1020.             end
  1021.             ApplyAoE(BULLETCFRAME.p,125,25,75,250,false)
  1022.             EXPLODED = true
  1023.             for i = 1, 15 do
  1024.                 Swait()
  1025.                 WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(160,0,160), Transparency = 0.6, Transparency2 = 1, CFrame = BULLETCFRAME * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 1, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
  1026.             end
  1027.         end))
  1028.         wait(0.5)
  1029.         for index, CHILD in pairs(Character:GetChildren()) do
  1030.             if CHILD:IsA("BasePart") then
  1031.                 CHILD.Transparency = CHILD.Transparency - 1
  1032.             elseif CHILD:IsA("Accessory") then
  1033.                 CHILD.Handle.Transparency = CHILD.Handle.Transparency - 1
  1034.             end
  1035.         end
  1036.         ATTACK = false
  1037.         Rooted = false
  1038.     end
  1039. end
  1040. function NightmareFall()
  1041.     if ANIM ~= "Fall" and ANIM ~= "Jump" and DAMAGEMULTIPLIER == 1 then
  1042.         ATTACK = true
  1043.         Rooted = true
  1044.         EQUIPPED = true
  1045.         CreateSound(160740121,Head,10,1,false)
  1046.         for i=0, 2, 0.1 / Animation_Speed do
  1047.             Swait()
  1048.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1049.             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)
  1050.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.4 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(120), RAD(0), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1051.             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)
  1052.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  1053.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  1054.             BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
  1055.         end
  1056.         for i=0, 2, 0.1 / Animation_Speed do
  1057.             Swait()
  1058.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1059.             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)
  1060.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.15 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(140), RAD(0), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1061.             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)
  1062.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  1063.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  1064.             BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
  1065.         end
  1066.         local SIZE = 0
  1067.         local POS = RootPart.Position+VT(0,150,0)
  1068.         local BLOWN = false
  1069.         coroutine.resume(coroutine.create(function()
  1070.             coroutine.resume(coroutine.create(function()
  1071.                 repeat
  1072.                     Swait()
  1073.                     if SIZE > 0 then
  1074.                         WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(SIZE,SIZE,SIZE)*2.5, Transparency = 0.3, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  1075.                         WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(SIZE,SIZE,SIZE)*3, Transparency = 0.8, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  1076.                     end
  1077.                 until BLOWN == true
  1078.             end))
  1079.             repeat
  1080.                 Swait()
  1081.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(12), RAD(25)), 1 / Animation_Speed)
  1082.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(-15)), 1 / Animation_Speed)
  1083.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(180), RAD(15), RAD(17)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1084.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1085.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  1086.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  1087.                 BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
  1088.             until ATTACK == false
  1089.         end))
  1090.         wait(0.2)
  1091.         for i = 1, 15 do
  1092.             wait(MRANDOM(2,6)/45)
  1093.             coroutine.resume(coroutine.create(function()
  1094.                 local CFRAME = CF(BLADE.Position,POS) * ANGLES(RAD(0), RAD(0), RAD(MRANDOM(-90,90)))
  1095.                 local HEIGHT = 45/5
  1096.                 local DISTANCE = (BLADE.Position - POS).Magnitude
  1097.                 for i = 1, 45 do
  1098.                     Swait()
  1099.                     CFRAME = CFRAME * CF(0,(HEIGHT-(i/2.575))/45,-DISTANCE/45)
  1100.                     WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(3,3,3), Size2 = VT(0,0,0), Transparency = 0.3, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 0})
  1101.                 end
  1102.                 SIZE = SIZE + 1
  1103.             end))
  1104.         end
  1105.         wait(2.5)
  1106.         BLOWN = true
  1107.         WACKYEFFECT({Time = 85, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(150,50,150), Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 401056199, SoundPitch = 0.4, SoundVolume = 10, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  1108.         for E = 1, 5 do
  1109.             for i = 1, 5 do
  1110.                 WACKYEFFECT({Time = 50+(E*4), EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(E,0,E)/2, Transparency = 0, Transparency2 = 1, CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
  1111.             end
  1112.         end
  1113.         CreateSound(288641686,Effects,5,1,false)
  1114.         CreateSound(592877506,Effects,5,1,false)
  1115.         local HITS = {}
  1116.         for index, CHILD in pairs(workspace:GetDescendants()) do
  1117.             if CHILD.ClassName == "Model" and CHILD ~= Character then
  1118.                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1119.                 if HUM then
  1120.                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1121.                     if TORSO then
  1122.                         if (TORSO.Position - RootPart.Position).Magnitude <= 175 then
  1123.                             local PASS = true
  1124.                             for E = 1, #HITS do
  1125.                                 if HITS[E] == CHILD then
  1126.                                     PASS = false
  1127.                                 end
  1128.                             end
  1129.                             if PASS == true then
  1130.                                 table.insert(HITS,CHILD)
  1131.                             end
  1132.                         end
  1133.                     end
  1134.                 end
  1135.             end
  1136.         end
  1137.         if #HITS > 0 then
  1138.             local DONE = false
  1139.             local HUMS = {}
  1140.             coroutine.resume(coroutine.create(function()
  1141.                 for E = 1, #HITS do
  1142.                     local HUM = HITS[E]:FindFirstChildOfClass("Humanoid")
  1143.                     table.insert(HUMS,HUM)
  1144.                     local TORSO = HITS[E]:FindFirstChild("Torso") or HITS[E]:FindFirstChild("UpperTorso")
  1145.                     local grav = Instance.new("BodyPosition",TORSO)
  1146.                     grav.D = 850
  1147.                     grav.P = 4000
  1148.                     grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1149.                     grav.Position = TORSO.Position+VT(0,35,0)
  1150.                     CreateSound(592877506,TORSO,5,0.5,false)
  1151.                     if TORSO then
  1152.                         coroutine.resume(coroutine.create(function()
  1153.                             local B = IT("Attachment",TORSO)
  1154.                             local ChainLink = IT("Beam",Torso)
  1155.                             ChainLink.Texture = "rbxassetid://73042633"
  1156.                             ChainLink.Color = ColorSequence.new(C3(0,0,0))
  1157.                             ChainLink.TextureSpeed = -1
  1158.                             ChainLink.FaceCamera = true
  1159.                             ChainLink.Width0 = 3
  1160.                             ChainLink.Width1 = 3
  1161.                             ChainLink.TextureLength = 3
  1162.                             ChainLink.Attachment0 = A
  1163.                             ChainLink.Attachment1 = B
  1164.                             ChainLink.CurveSize0 = 0
  1165.                             ChainLink.CurveSize1 = 0
  1166.                             ChainLink.FaceCamera = true
  1167.                             ChainLink.TextureMode = "Static"
  1168.                             ChainLink.Transparency = NumberSequence.new(0)
  1169.                             repeat
  1170.                                 Swait()
  1171.                                 WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(2,2,2)*TORSO.Size.Z, Size2 = VT(0,0,0), Transparency = 0.6, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 35})
  1172.                             until DONE == true or HUM.Health < 1
  1173.                             B:Remove()
  1174.                             ChainLink:Remove()
  1175.                             grav:Remove()
  1176.                             if HUM.Health < 1 then
  1177.                                 for E = 1, 2 do
  1178.                                     for i = 1, 3 do
  1179.                                         WACKYEFFECT({Time = 15, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(E,0,E)/6, Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
  1180.                                     end
  1181.                                 end
  1182.                                 WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(2,2,2)*TORSO.Size.Z, Size2 = VT(6,6,6)*TORSO.Size.Z, Transparency = 0.6, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 160772554, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  1183.                                 for _, c in pairs(HITS[E]:GetChildren()) do
  1184.                                     if c:IsA("BasePart") or c:IsA("Accessory") then
  1185.                                         c:remove()
  1186.                                     end
  1187.                                 end
  1188.                                 local BONES = {
  1189.                                 Skull = {MeshId = 36869983,Size = VT(0.7,0.7,0.7)},
  1190.                                 Ribs = {MeshId = 546760032,Size = VT(2.18, 1.884, 1.105)}
  1191.                                 }
  1192.                                 local SELECTABLEBONES = {
  1193.                                 {MeshId = 546760045,Size = VT(0.468, 1.12, 0.346)},
  1194.                                 {MeshId = 546760042,Size = VT(0.366, 0.991, 0.365)},
  1195.                                 {MeshId = 546760029,Size = VT(0.441, 0.799, 0.347)},
  1196.                                 {MeshId = 546760030,Size = VT(0.605, 0.843, 0.4)}
  1197.                                 }
  1198.                                 for i = 1, 9 do
  1199.                                     local CHOSENPIECE = nil
  1200.                                     if i == 1 then
  1201.                                         CHOSENPIECE = BONES.Skull
  1202.                                     elseif i == 2 then
  1203.                                         CHOSENPIECE = BONES.Ribs
  1204.                                     else
  1205.                                         CHOSENPIECE = SELECTABLEBONES[MRANDOM(1,#SELECTABLEBONES)]
  1206.                                     end
  1207.                                     local BONE = CreatePart(3, HITS[E], "Neon", 0, 0, BRICKC("Salmon"), "RIP", CHOSENPIECE.Size, false)
  1208.                                     BONE.CanCollide = true
  1209.                                     BONE.CFrame = TORSO.CFrame*CF(MRANDOM(-10,10)/30,MRANDOM(-10,10)/30,MRANDOM(-10,10)/30)
  1210.                                     if CHOSENPIECE.MeshId == 36869983 then
  1211.                                         CreateMesh("SpecialMesh", BONE, "FileMesh", CHOSENPIECE.MeshId, "", VT(1,1,1)/1.5, VT(0,0,0))
  1212.                                     else
  1213.                                         CreateMesh("SpecialMesh", BONE, "FileMesh", CHOSENPIECE.MeshId, "", VT(1,1,1), VT(0,0,0))
  1214.                                     end
  1215.                                 end
  1216.                             end
  1217.                         end))
  1218.                     end
  1219.                 end
  1220.                 wait(1)
  1221.                 for i = 1, 250 do
  1222.                     Swait()
  1223.                     for E = 1, #HUMS do
  1224.                         if HUMS[E] then
  1225.                             if HUMS[E].Health > 0 then
  1226.                                 DAMAGEMULTIPLIER = DAMAGEMULTIPLIER + 0.0025
  1227.                                 WACKYEFFECT({Time = 10, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(1.5,0,1.5)/20, Transparency = 0.9, Transparency2 = 1, CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
  1228.                             end
  1229.                         end
  1230.                     end
  1231.                 end
  1232.                 local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0, 0, 0, 0), UD2(1, 0, 1, 0), C3(0,0,0), C3(0, 0, 0), "OWEXTRADAMAGE")
  1233.                 local SKILLTEXT = CreateLabel(SKILLFRAME, "!You have increased damage!", SKILLTEXTCOLOR, SKILLTEXTSIZE2, SKILLFONT, 1, 2, 1, "AAAA")
  1234.                 coroutine.resume(coroutine.create(function()
  1235.                     CreateSound(743521450,Cam,5,0.6,false)
  1236.                     for E = 1, 75 do
  1237.                         Swait()
  1238.                         SKILLTEXT.TextTransparency = SKILLTEXT.TextTransparency - 1/75
  1239.                     end
  1240.                     wait(4)
  1241.                     for E = 1, 25 do
  1242.                         Swait()
  1243.                         SKILLTEXT.TextTransparency = SKILLTEXT.TextTransparency + 1/25
  1244.                     end
  1245.                     SKILLFRAME:Remove()
  1246.                 end))
  1247.                 DONE = true
  1248.                 for i = 1, 50 do
  1249.                     wait(0.5)
  1250.                     for i = 1, 3 do
  1251.                         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(DAMAGEMULTIPLIER-1,0.1,DAMAGEMULTIPLIER-1)*1.5, Transparency = 0.6, Transparency2 = 1, CFrame = CF(RootPart.CFrame*CF(0,-3.25,0).p) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 1, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 22})
  1252.                     end
  1253.                 end
  1254.                 DAMAGEMULTIPLIER = 1
  1255.             end))
  1256.             wait(0.2)
  1257.         end
  1258.         wait(0.4)
  1259.         EQUIPPED = false
  1260.         ATTACK = false
  1261.         Rooted = false
  1262.     end
  1263. end
  1264. function Laugh()
  1265.     ATTACK = true
  1266.     Rooted = true
  1267.     CreateSound(160740121,Head,10,1,false)
  1268.     for i=0, 0.5, 0.1 / Animation_Speed do
  1269.         Swait()
  1270.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1271.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.8 / Animation_Speed)
  1272.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.6 + 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)
  1273.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.45 + 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)
  1274.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  1275.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  1276.     end
  1277.     for i=1, 185 do
  1278.         Swait()
  1279.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1280.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1 + 0.05 * SIN(SINE/2)) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1281.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.55 + 0.15 * SIN(SINE/2), -0.7) * ANGLES(RAD(3 + 3 * SIN(SINE/2)), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1282.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.4 + 0.15 * SIN(SINE/2), -0.6) * ANGLES(RAD(3 + 3 * SIN(SINE/2)), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1283.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  1284.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  1285.     end
  1286.     ATTACK = false
  1287.     Rooted = false
  1288. end
  1289.  
  1290. --//=================================\\
  1291. --||      ASSIGN THINGS TO KEYS
  1292. --\\=================================//
  1293.  
  1294. function MouseDown(Mouse)
  1295.     if ATTACK == false then
  1296.         Melee()
  1297.     end
  1298. end
  1299.  
  1300. function MouseUp(Mouse)
  1301. HOLD = false
  1302. end
  1303.  
  1304. function KeyDown(Key)
  1305.     KEYHOLD = true
  1306.     if Key == "z" and ATTACK == false then
  1307.         AbyssalShriek()
  1308.     end
  1309.  
  1310.     if Key == "x" and ATTACK == false then
  1311.         AbyssalDash()
  1312.     end
  1313.  
  1314.     if Key == "c" and ATTACK == false then
  1315.         ShadowCloak()
  1316.     end
  1317.  
  1318.     if Key == "v" and ATTACK == false then
  1319.         BlackBlast()
  1320.     end
  1321.  
  1322.     if Key == "q" and ATTACK == false then
  1323.         NightmareFall()
  1324.     end
  1325.  
  1326.     if Key == "t" and ATTACK == false then
  1327.         Laugh()
  1328.     end
  1329. end
  1330.  
  1331. function KeyUp(Key)
  1332.     KEYHOLD = false
  1333. end
  1334.  
  1335.     Mouse.Button1Down:connect(function(NEWKEY)
  1336.         MouseDown(NEWKEY)
  1337.     end)
  1338.     Mouse.Button1Up:connect(function(NEWKEY)
  1339.         MouseUp(NEWKEY)
  1340.     end)
  1341.     Mouse.KeyDown:connect(function(NEWKEY)
  1342.         KeyDown(NEWKEY)
  1343.     end)
  1344.     Mouse.KeyUp:connect(function(NEWKEY)
  1345.         KeyUp(NEWKEY)
  1346.     end)
  1347.  
  1348. --//=================================\\
  1349. --\\=================================//
  1350.  
  1351. function unanchor()
  1352.     for _, c in pairs(Character:GetChildren()) do
  1353.         if c:IsA("BasePart") and c ~= RootPart then
  1354.             c.Anchored = false
  1355.         end
  1356.     end
  1357.     if UNANCHOR == true then
  1358.         RootPart.Anchored = false
  1359.     else
  1360.         RootPart.Anchored = true
  1361.     end
  1362. end
  1363.  
  1364. --//=================================\\
  1365. --||    WRAP THE WHOLE SCRIPT UP
  1366. --\\=================================//
  1367.  
  1368. Humanoid.Changed:connect(function(Jump)
  1369.     if Jump == "Jump" and (Disable_Jump == true) then
  1370.         Humanoid.Jump = false
  1371.     end
  1372. end)
  1373.  
  1374. while true do
  1375.     Swait()
  1376.     ANIMATE.Parent = nil
  1377.     for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1378.         v:Stop();
  1379.     end
  1380.     SINE = SINE + CHANGE
  1381.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1382.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1383.     local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4+Humanoid.HipHeight, Character)
  1384.     local WALKSPEEDVALUE = 8 / (Humanoid.WalkSpeed / 16)
  1385.     Humanoid.HipHeight = 1
  1386.     if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1387.         ANIM = "Jump"
  1388.         if ATTACK == false then
  1389.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1390.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1391.             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)
  1392.             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)
  1393.             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)
  1394.             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)
  1395.         end
  1396.     elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1397.         ANIM = "Fall"
  1398.         if ATTACK == false then
  1399.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1400.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1401.             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)
  1402.             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)
  1403.             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)
  1404.             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)
  1405.         end
  1406.     elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1407.         ANIM = "Idle"
  1408.         if ATTACK == false then
  1409.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1410.             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)
  1411.             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)
  1412.             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)
  1413.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  1414.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  1415.         end
  1416.     elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1417.         ANIM = "Walk"
  1418.         if ATTACK == false then
  1419.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(10), RAD(0), RAD(0)), 1 / Animation_Speed)
  1420.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1421.             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)
  1422.             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)
  1423.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-35)), 1 / Animation_Speed)
  1424.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-15), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  1425.         end
  1426.     end
  1427.     if EQUIPPED == false then
  1428.         if TORSOVELOCITY > 1 then
  1429.             BLADE.CFrame = Clerp(BLADE.CFrame,RootPart.CFrame * CF(0.2,1.5 + 0.15 * SIN(SINE / 12),4) * ANGLES(RAD(195), RAD(15), RAD(15)),0.04)
  1430.         else
  1431.             BLADE.CFrame = Clerp(BLADE.CFrame,RootPart.CFrame * CF(1,1.5 + 0.15 * SIN(SINE / 12),4) * ANGLES(RAD(195), RAD(-25), RAD(15)),0.1)
  1432.         end
  1433.     end
  1434.     if ANIM ~= "Walk" and FADERS == true then
  1435.         if MRANDOM(1,7) == 1 then
  1436.             CharacterFade(C3(0,0,0),65,R_RANDOM(Torso.CFrame,0.5).p)
  1437.         end
  1438.     end
  1439.     unanchor()
  1440.     if Rooted == false then
  1441.         Disable_Jump = false
  1442.         Humanoid.WalkSpeed = Speed+(DAMAGEMULTIPLIER/5)
  1443.     elseif Rooted == true then
  1444.         Disable_Jump = true
  1445.         Humanoid.WalkSpeed = 0
  1446.     end
  1447.     BMUSIC.SoundId = "rbxassetid://"..SONGID
  1448.     BMUSIC.Looped = true
  1449.     BMUSIC.Pitch = PITCH
  1450.     BMUSIC.Volume = VOLUME
  1451.     BMUSIC.Playing = true
  1452.     if BMUSIC.Parent ~= RootPart then
  1453.         BMUSIC = IT("Sound",RootPart)
  1454.     end
  1455.     if Head:FindFirstChild("face") then
  1456.         Head:FindFirstChild("face"):remove()
  1457.     end
  1458. end
  1459.  
  1460. --//=================================\\
  1461. --\\=================================//
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467. --//====================================================\\--
  1468. --||                     END OF SCRIPT
  1469. --\\====================================================//--
Add Comment
Please, Sign In to add comment