wanTH092

Grim Reaper v0.5

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