Advertisement
Sheckles

Untitled

Feb 27th, 2018
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 58.34 KB | None | 0 0
  1. local s = Instance.new("Sound")
  2. s.Name = "BGMusic"
  3. s.SoundId = "https://www.roblox.com/asset/?id=622879840"
  4. s.Pitch = 1
  5. s.Volume = 1
  6. s.Looped = true
  7. s.archivable = false
  8. s.Parent = game.Workspace
  9. wait(0.1)
  10. s:play()
  11.  
  12. math.randomseed(tick())
  13. plr = game:service("Players").LocalPlayer
  14. ch, char = plr.Character, plr.Character
  15. hum = ch.Humanoid
  16. tor, torso, rootpart, rj = ch.Torso, ch.Torso, ch.HumanoidRootPart, ch.HumanoidRootPart.RootJoint
  17. m, mouse = plr:GetMouse(), plr:GetMouse()
  18. cfn, ang, mr, int = CFrame.new, CFrame.Angles, math.rad, Instance.new
  19. bc = BrickColor.new
  20. head = ch.Head
  21. cam = workspace.CurrentCamera
  22. rj.C0 = cfn()
  23. rj.C1 = cfn()
  24. lib = {}
  25. lib.cone = "1033714"
  26. lib.ring = "3270017"
  27. lib.yato = "579392805"
  28. rbx = "rbxassetid://"
  29. v3 = Vector3.new
  30. cn = CFrame.new
  31. ca2 = CFrame.Angles
  32. mf = math.floor
  33. mran = math.random
  34. rn = mran
  35. mrad = math.rad
  36. rd = mrad
  37. mdeg = math.deg
  38. dg = mdeg
  39. function ca(x, y, z)
  40.   return ca2(mrad(x), mrad(y), mrad(z))
  41. end
  42. function mran2(a, b)
  43.   return mran(a * 1000, b * 1000) / 1000
  44. end
  45. ud = UDim2.new
  46. bn = BrickColor.new
  47. c3 = Color3.new
  48. function getSound(id)
  49.   game:service("ContentProvider"):Preload("rbxassetid" .. tostring(id))
  50.   local s = int("Sound", ch.Head)
  51.   s.SoundId = "rbxassetid://" .. tostring(id - 1)
  52.   s.Volume = 1
  53.   return s
  54. end
  55. local combostring = ""
  56. local attackstring = ""
  57. blocksound = getSound(260433722)
  58. blocksound.Pitch = 1
  59. startsound = getSound(588738950)
  60. startsound.Pitch = 1
  61. endsound = getSound(588736246)
  62. endsound.Pitch = 1
  63. endsound.Volume = 2
  64. swsound = getSound(588736970)
  65. swexp = getSound(365002939)
  66. swexp.Pitch = 1
  67. spexp = getSound(365002939)
  68. spexp.Pitch = 1.2
  69. startsound2 = getSound(260433769)
  70. startsound2.Pitch = 0.8
  71. startsound3 = getSound(260433769)
  72. startsound3.Pitch = 0.89
  73. chargesound = getSound(181004944)
  74. chargesound.Pitch = 1
  75. basicsound = getSound(588736246)
  76. basicsound.Pitch = 1.2
  77. dodgesound = getSound(177162407)
  78. dodgesound.Pitch = 1.4
  79. landsound = getSound(315775190)
  80. rushsound = getSound(134012323)
  81. swoosh = getSound(231917988)
  82. swoosh.Volume = 2
  83. aerialcharge = getSound(265109959)
  84. aerialcharge.Pitch = 1.1
  85. curse = getSound(231917971)
  86. glass = getSound(130779172)
  87. magictone1 = getSound(588738950)
  88. tweenTable = {}
  89. altTweenTable = {}
  90. local alljoints = {}
  91. textTable = {}
  92. local fx = {}
  93. moves = {}
  94. connectlist = {}
  95. cooldowns = {}
  96. movers = {}
  97. local linetable = {}
  98. local run = false
  99. idle = false
  100. local animPlaying = false
  101. local runLeg = false
  102. canRunLeg = false
  103. local deb = false
  104. local basicswitch = false
  105. local canExecuteMoves = true
  106. maxmana = 90000
  107. mana = 90000
  108. chain = 0
  109. hum.MaxHealth = 90000
  110. spawn(function()
  111.   wait()
  112.   hum.Health = 90000
  113. end)
  114. local managui = int("ScreenGui", plr.PlayerGui)
  115. managui.Name = "Mana Gui"
  116. local frame = int("Frame", managui)
  117. frame.Size = UDim2.new(0.15, 0, 0.02, 0)
  118. frame.Position = UDim2.new(0.83, 0, 0.7, 0)
  119. frame.BackgroundColor3 = BrickColor.new("Black").Color
  120. frame.BorderColor3 = BrickColor.new("Really black").Color
  121. frame.BorderSizePixel = 6
  122. local manabartext = int("TextLabel", frame)
  123. manabartext.ZIndex = 2
  124. manabartext.Size = UDim2.new(1, 0, 1, 0)
  125. manabartext.TextColor3 = BrickColor.new("White").Color
  126. manabartext.TextStrokeTransparency = 1
  127. manabartext.Font = "SourceSansLight"
  128. manabartext.Text = tostring(mana) .. "/" .. tostring(maxmana)
  129. manabartext.FontSize = "Size18"
  130. manabartext.BackgroundTransparency = 1
  131. local manabar = int("Frame", frame)
  132. manabar.Size = UDim2.new(1, 0, 1, 0)
  133. manabar.BorderSizePixel = 0
  134. manabar.BackgroundColor3 = BrickColor.new("Bright blue").Color
  135. manabar.Size = UDim2.new(mana / maxmana, 0, 1, 0)
  136. local chainframe = int("Frame", managui)
  137. chainframe.Size = frame.Size
  138. chainframe.BackgroundTransparency = 1
  139. chainframe.Position = frame.Position + UDim2.new(0.07, 0, -0.05, 0)
  140. local chaintext = int("TextLabel", chainframe)
  141. chaintext.BackgroundTransparency = 1
  142. chaintext.TextStrokeColor3 = BrickColor.new("White").Color
  143. chaintext.TextStrokeTransparency = 0
  144. chaintext.Size = UDim2.new(1, 0, 1, 0)
  145. chaintext.Font = "Antique"
  146. chaintext.FontSize = "Size48"
  147. chaintext.Text = "0x"
  148. ypcall(function()
  149.   ch.Animate:Destroy()
  150.   ch.Humanoid.Animator:Destroy()
  151. end)
  152. if ch:findFirstChild("Riven") then
  153.   ch.Riven:Destroy()
  154. end
  155. local tube = int("Model", ch)
  156. tube.Name = "Riven"
  157. script.Parent = tube
  158. function Weld(p0, p1, x, y, z, rx, ry, rz, par)
  159.   p0.Position = p1.Position
  160.   local w = Instance.new("Motor", par or p0)
  161.   w.Part0 = p1
  162.   w.Part1 = p0
  163.   w.C0 = CFrame.new(x or 0, y or 0, z or 0) * CFrame.Angles(rx or 0, ry or 0, rz or 0)
  164.   w.MaxVelocity = 0.1
  165.   return w
  166. end
  167. function clerp(c1, c2, sp)
  168.   local R1, R2, R3 = c1:toEulerAnglesXYZ()
  169.   local R21, R22, R23 = c2:toEulerAnglesXYZ()
  170.   return CFrame.new(c1.X + (c2.X - c1.X) * sp, c1.Y + (c2.Y - c1.Y) * sp, c1.Z + (c2.Z - c1.Z) * sp) * CFrame.Angles(R1 + (R21 - R1) * sp, R2 + (R22 - R2) * sp, R3 + (R23 - R3) * sp)
  171. end
  172. function Tween(Weld, Stop, Step, a)
  173.   ypcall(function()
  174.     local function func()
  175.       local Start = Weld.C1
  176.       local X1, Y1, Z1 = Start:toEulerAnglesXYZ()
  177.       local Stop = Stop
  178.       local X2, Y2, Z2 = Stop:toEulerAnglesXYZ()
  179.       if not Step then
  180.         Step = 0.1
  181.       end
  182.       table.insert(tweenTable, {
  183.         th = 0,
  184.         Weld = Weld,
  185.         Step = Step,
  186.         Start = Start,
  187.         X1 = X1,
  188.         Y1 = Y1,
  189.         Z1 = Z1,
  190.         Stop = Stop,
  191.         X2 = X2,
  192.         Y2 = Y2,
  193.         Z2 = Z2
  194.       })
  195.     end
  196.     if a then
  197.       coroutine.wrap(func)()
  198.     else
  199.       func()
  200.     end
  201.   end)
  202. end
  203. function altTween(Weld, Stop, Step, a)
  204.   ypcall(function()
  205.     local function func()
  206.       local Start = Weld.C1
  207.       local X1, Y1, Z1 = Start:toEulerAnglesXYZ()
  208.       local Stop = Stop
  209.       local X2, Y2, Z2 = Stop:toEulerAnglesXYZ()
  210.       if not Step then
  211.         Step = 0.1
  212.       end
  213.       table.insert(altTweenTable, {
  214.         th = 0,
  215.         Weld = Weld,
  216.         Step = Step,
  217.         Start = Start,
  218.         X1 = X1,
  219.         Y1 = Y1,
  220.         Z1 = Z1,
  221.         Stop = Stop,
  222.         X2 = X2,
  223.         Y2 = Y2,
  224.         Z2 = Z2
  225.       })
  226.     end
  227.     if a then
  228.       coroutine.wrap(func)()
  229.     else
  230.       func()
  231.     end
  232.   end)
  233. end
  234. function weld(p0, p1, c0)
  235.   local w = Instance.new("Weld", p0)
  236.   w.Part0 = p0
  237.   w.Part1 = p1
  238.   w.C0 = c0
  239.   return w
  240. end
  241. function cp(parent, color, size, anchored, cancollide)
  242.   local newp = Instance.new("Part", parent)
  243.   newp.TopSurface = "SmoothNoOutlines"
  244.   newp.BottomSurface = "SmoothNoOutlines"
  245.   newp.FrontSurface = "SmoothNoOutlines"
  246.   newp.BackSurface = "SmoothNoOutlines"
  247.   newp.RightSurface = "SmoothNoOutlines"
  248.   newp.LeftSurface = "SmoothNoOutlines"
  249.   newp.FormFactor = "Custom"
  250.   newp.BrickColor = bc(color)
  251.   local rn = math.random(3)
  252.   if rn == 1 then
  253.   end
  254.   newp.Size = size
  255.   newp.Anchored = anchored
  256.   newp.CanCollide = cancollide
  257.   newp:BreakJoints()
  258.   return newp
  259. end
  260. function destroyJoints()
  261.   for i = 1, 5 do
  262.     for _, v in pairs(alljoints) do
  263.       ypcall(function()
  264.         v:Destroy()
  265.         table.remove(alljoints, _)
  266.       end)
  267.     end
  268.   end
  269. end
  270. function initializeJoints()
  271.   destroyJoints()
  272.   rabr = cp(tube, "White", Vector3.new(1, 1, 1), false, false)
  273.   rabr.Transparency = 1
  274.   rabr.Name = "Locker"
  275.   rabr.Position = torso.Position
  276.   rw = Weld(rabr, torso, 1.5, 0.5, 0, 0, 0, 0)
  277.   rw.Parent = tube
  278.   rw.Name = "rw"
  279.   w = Instance.new("Weld", tube)
  280.   w.Part0, w.Part1 = ch["Right Arm"], rabr
  281.   w.C1 = CFrame.new(0, -0.5, 0)
  282.   labr = cp(tube, "White", Vector3.new(1, 1, 1), false, false)
  283.   labr.Transparency = 1
  284.   labr.Name = "Locker"
  285.   labr.Position = torso.Position
  286.   lw = Weld(labr, torso, -1.5, 0.5, 0, 0, 0, 0)
  287.   lw.Parent = tube
  288.   lw.Name = "lw"
  289.   ww = Instance.new("Weld", tube)
  290.   ww.Part0, ww.Part1 = ch["Left Arm"], labr
  291.   ww.C1 = CFrame.new(0, -0.5, 0)
  292.   rlabr = cp(tube, "White", Vector3.new(1, 1, 1), false, false)
  293.   rlabr.Transparency = 1
  294.   rlabr.Name = "Locker"
  295.   rlabr.Position = torso.Position
  296.   rlw = Weld(rlabr, torso, 0.5, -1.5, 0, 0, 0, 0)
  297.   rlw.Parent = tube
  298.   rlw.Name = "rlw"
  299.   wl = Instance.new("Weld", tube)
  300.   wl.Part0, wl.Part1 = ch["Right Leg"], rlabr
  301.   wl.C1 = CFrame.new(0, -0.5, 0)
  302.   llabr = cp(tube, "White", Vector3.new(1, 1, 1), false, false)
  303.   llabr.Transparency = 1
  304.   llabr.Name = "Locker"
  305.   llabr.Position = torso.Position
  306.   llw = Weld(llabr, torso, -0.5, -1.5, 0, 0, 0, 0)
  307.   llw.Parent = tube
  308.   llw.Name = "llw"
  309.   wwl = Instance.new("Weld", tube)
  310.   wwl.Part0, wwl.Part1 = ch["Left Leg"], llabr
  311.   wwl.C1 = CFrame.new(0, -0.5, 0)
  312.   nk = cp(tube, "White", Vector3.new(1, 1, 1), false, false)
  313.   nk.Transparency = 1
  314.   nk.Name = "Locker"
  315.   nk.Position = torso.Position
  316.   neck = Weld(nk, torso, 0, 2, 0, 0, 0, 0)
  317.   neck.Parent = tube
  318.   neck.Name = "neck"
  319.   www = Instance.new("Weld", tube)
  320.   www.Part0, www.Part1 = ch.Head, nk
  321.   www.C1 = CFrame.new(0, -0.5, 0)
  322.   table.insert(alljoints, rabr)
  323.   table.insert(alljoints, labr)
  324.   table.insert(alljoints, rw)
  325.   table.insert(alljoints, lw)
  326.   table.insert(alljoints, w)
  327.   table.insert(alljoints, ww)
  328.   table.insert(alljoints, rlabr)
  329.   table.insert(alljoints, llabr)
  330.   table.insert(alljoints, rlw)
  331.   table.insert(alljoints, llw)
  332.   table.insert(alljoints, wl)
  333.   table.insert(alljoints, wwl)
  334.   table.insert(alljoints, nk)
  335.   table.insert(alljoints, neck)
  336.   table.insert(alljoints, www)
  337. end
  338. function cyl(prt)
  339.   local c = int("CylinderMesh", prt)
  340.   return c
  341. end
  342. function blo(prt)
  343.   local c = int("BlockMesh", prt)
  344.   c.Name = "bmsh"
  345.   return c
  346. end
  347. function sphere(prt)
  348.   local c = int("SpecialMesh", prt)
  349.   c.MeshType = "Sphere"
  350.   return c
  351. end
  352. initializeJoints()
  353. function reset()
  354.   if run == false and animPlaying == false then
  355.     altTweenTable = {}
  356.     Tween(llw, cfn(0, -0.08 * math.sin(tick() * 1.5), 0) * ang(0, 0, mr(5)))
  357.     Tween(rlw, cfn(0, -0.08 * math.sin(tick() * 1.5), 0) * ang(0, 0, mr(-5)))
  358.     Tween(rw, cfn(0, 0.1 * math.sin(tick() * 1.5), 0) * ang(0, 0, mr(-15) + mr(-5 * math.sin(tick() * 1.5))))
  359.     Tween(lw, cfn(0, 0.1 * math.sin(tick() * 1.5), 0) * ang(0, 0, mr(15) + mr(5 * math.sin(tick() * 1.5))))
  360.     Tween(neck, cfn())
  361.     Tween(rj, cfn(0, 0.08 * math.sin(tick() * 1.5), 0), 0.3)
  362.   end
  363. end
  364. function resetLegs()
  365.   altTweenTable = {}
  366.   Tween(llw, cfn())
  367.   Tween(rlw, cfn())
  368. end
  369. function walkCycle()
  370.   if run == true and animPlaying == false then
  371.     tweenTable = {}
  372.     Tween(rj, cfn())
  373.     Tween(llw, cfn(0, 0, -0.2 * math.sin(tick() * 8)) * ang(mr(10) + mr(40 * math.sin(tick() * 8)), 0, 0), 0.6)
  374.     Tween(rlw, cfn(0, 0, 0.2 * math.sin(tick() * 8)) * ang(mr(10) + mr(-40 * math.sin(tick() * 8)), 0, 0), 0.6)
  375.     Tween(rw, cfn() * ang(mr(-40), 0, mr(-30)), 0.07)
  376.     Tween(lw, cfn() * ang(mr(20), 0, mr(20)), 0.07)
  377.   end
  378. end
  379. function walkLegs()
  380.   if runLeg == true then
  381.     altTweenTable = {}
  382.     altTween(llw, cfn(0, 0, -0.2 * math.sin(tick() * 8)) * ang(mr(20) + mr(50 * math.sin(tick() * 8)), 0, 0), 0.6)
  383.     altTween(rlw, cfn(0, 0, 0.2 * math.sin(tick() * 8)) * ang(mr(20) + mr(-50 * math.sin(tick() * 8)), 0, 0), 0.6)
  384.   end
  385. end
  386. function dealDamage(man, damage, crit, multi, lifesteal)
  387.   if man and man:findFirstChild("Humanoid") and man.Head then
  388.     local dm = damage
  389.     local cr = false
  390.     local hm = man.Humanoid
  391.     if crit and crit > 0 then
  392.       local c = math.random(crit)
  393.       if c == 1 then
  394.         cr = true
  395.       end
  396.     end
  397.     if cr == true then
  398.       if not multi then
  399.         dm = dm * 1.5
  400.       else
  401.         dm = dm * multi
  402.       end
  403.     end
  404.     hm:TakeDamage(dm)
  405.     if lifesteal then
  406.       local plife = lifesteal * dm
  407.       if hum.Health < hum.MaxHealth then
  408.         hum.Health = hum.Health + plife
  409.         local bbg = int("BillboardGui", tube)
  410.         bbg.Size = UDim2.new(1, 0, 1, 0)
  411.         bbg.StudsOffset = Vector3.new(0, 2, 0)
  412.         bbg.StudsOffset = bbg.StudsOffset + Vector3.new(math.random(-math.random(50) / 10, math.random(50) / 10), 0, math.random(-math.random(50) / 10, math.random(50) / 10))
  413.         bbg.Adornee = ch.Head
  414.         bbg.AlwaysOnTop = true
  415.         local tlabl = int("TextLabel", bbg)
  416.         tlabl.Size = UDim2.new(1, 0, 1, 0)
  417.         tlabl.Text = tostring(plife)
  418.         tlabl.BackgroundTransparency = 1
  419.         tlabl.TextColor3 = BrickColor.new("Bright green").Color
  420.         tlabl.TextStrokeColor3 = BrickColor.new("White").Color
  421.         tlabl.TextStrokeTransparency = 0
  422.         tlabl.Font = "Antique"
  423.         tlabl.FontSize = "Size60"
  424.         table.insert(textTable, bbg)
  425.       end
  426.     end
  427.     chain = chain + 1
  428.     if hm.MaxHealth >= 99999 then
  429.       hm.Parent:BreakJoints()
  430.     end
  431.     local bbg = int("BillboardGui", tube)
  432.     bbg.Size = UDim2.new(1, 0, 1, 0)
  433.     bbg.StudsOffset = Vector3.new(0, 2, 0)
  434.     bbg.StudsOffset = bbg.StudsOffset + Vector3.new(math.random(-math.random(50) / 10, math.random(50) / 10), 0, math.random(-math.random(50) / 10, math.random(50) / 10))
  435.     bbg.Adornee = man.Head
  436.     bbg.AlwaysOnTop = true
  437.     local tlabl = int("TextLabel", bbg)
  438.     tlabl.Size = UDim2.new(1, 0, 1, 0)
  439.     tlabl.Text = tostring(dm)
  440.     tlabl.BackgroundTransparency = 1
  441.     tlabl.TextColor3 = BrickColor.new("Really black").Color
  442.     tlabl.TextStrokeColor3 = BrickColor.new("White").Color
  443.     if cr == true then
  444.       tlabl.TextColor3 = BrickColor.new("Really red").Color
  445.       tlabl.TextStrokeColor3 = BrickColor.new("Really black").Color
  446.     end
  447.     tlabl.TextStrokeTransparency = 0
  448.     tlabl.Font = "Antique"
  449.     tlabl.FontSize = "Size60"
  450.     table.insert(textTable, bbg)
  451.     return dm
  452.   end
  453. end
  454. local tp = cp(tube, "White", Vector3.new(1, 1, 1))
  455. tp.Transparency = 1
  456. weld(ch["Right Arm"], tp, cfn(0, -1, 0))
  457. function addFx(item, int, final, func)
  458.   table.insert(fx, {
  459.     item = item,
  460.     int = int,
  461.     func = func,
  462.     final = final,
  463.     stepval = 0
  464.   })
  465. end
  466. function addMove(name, key, cooldown, func, manacost)
  467.   moves[name] = {
  468.     key = key,
  469.     cooldown = cooldown,
  470.     func = func,
  471.     manacost = manacost
  472.   }
  473. end
  474. function drawLine(point_a, point_b, bc_code, angle)
  475.   local dist = (point_a - point_b).magnitude
  476.   if dist > 1 then
  477.     local rad = dist / 2
  478.     local line = Instance.new("Part", tube)
  479.     line.Anchored = true
  480.     line.FormFactor = "Custom"
  481.     line.BrickColor = BrickColor.new(bc_code)
  482.     line.TopSurface = "SmoothNoOutlines"
  483.     line.BottomSurface = "SmoothNoOutlines"
  484.     line.LeftSurface = "SmoothNoOutlines"
  485.     line.RightSurface = "SmoothNoOutlines"
  486.     line.FrontSurface = "SmoothNoOutlines"
  487.     line.BackSurface = "SmoothNoOutlines"
  488.     line.Material = "Neon"
  489.     line.CanCollide = false
  490.     line.Size = Vector3.new(0.7, 0.7, dist)
  491.     Instance.new("BlockMesh", line).Name = "blok"
  492.     line.CFrame = CFrame.new(point_a, point_b) * CFrame.new(0, 0, -rad)
  493.     return line
  494.   end
  495. end
  496. function depleteMana(amount)
  497.   if mana > 0 then
  498.     if mana - amount > 0 then
  499.       mana = mana - amount
  500.       return true
  501.     else
  502.       return false
  503.     end
  504.   end
  505. end
  506. function executeMove(name)
  507.   if canExecuteMoves == true and ch and hum and hum.Health > 0 then
  508.     local can = true
  509.     for _, v in pairs(cooldowns) do
  510.       if v.move == name then
  511.         can = false
  512.         break
  513.       end
  514.     end
  515.     if can == true then
  516.       local can2 = true
  517.       if moves[name].manacost then
  518.         local a = depleteMana(moves[name].manacost)
  519.         if not a then
  520.           can2 = false
  521.         end
  522.       end
  523.       if can2 then
  524.         moves[name].func()
  525.       end
  526.     end
  527.   end
  528. end
  529. function addToCList(what, key)
  530.   local a = {
  531.     what,
  532.     key = key,
  533.     up = false
  534.   }
  535.   table.insert(connectlist, a)
  536.   return a
  537. end
  538. function waitForUp(what)
  539.   repeat
  540.     wait()
  541.   until what.up == true
  542. end
  543. function addMover(what, step, func)
  544.   table.insert(movers, {
  545.     mover = what,
  546.     step = step,
  547.     lastpoint = what.CFrame,
  548.     func = func
  549.   })
  550. end
  551. local CreateRegion3FromLocAndSize = function(Position, Size)
  552.   local SizeOffset = Size / 2
  553.   local Point1 = Position - SizeOffset
  554.   local Point2 = Position + SizeOffset
  555.   return Region3.new(Point1, Point2)
  556. end
  557. local righthandle = cp(tube, "White", Vector3.new(1, 1, 1))
  558. weld(ch["Right Arm"], righthandle, cfn(0, -1, 0))
  559. righthandle.Transparency = 1
  560. local lefthandle = cp(tube, "White", Vector3.new(1, 1, 1))
  561. weld(ch["Left Arm"], lefthandle, cfn(0, -1, 0))
  562. lefthandle.Transparency = 1
  563. function addCoolDown(move)
  564.   local a = {
  565.     timeleft = moves[move].cooldown,
  566.     move = move
  567.   }
  568.   table.insert(cooldowns, a)
  569. end
  570. addMove("block_normal", "f", 0.5, function()
  571.   deb = true
  572.   idle = false
  573.   local ws = hum.WalkSpeed
  574.   tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z))
  575.   hum.WalkSpeed = 0
  576.   tweenTable = {}
  577.   animPlaying = true
  578.   local pcf = tor.CFrame
  579.   Tween(rj, cfn() * ang(0, mr(-45), 0), 0.2)
  580.   Tween(rw, cfn() * ang(mr(-86), mr(-15), 0), 0.2)
  581.   Tween(lw, cfn() * ang(0, mr(5), mr(20)), 0.2)
  582.   blocksound:Play()
  583.   local block = cp(workspace, "Really black", Vector3.new(8, 6, 1), true, true)
  584.   block.CFrame = pcf * CFrame.new(0, 0, -5)
  585.   block.Material = "Neon"
  586.   local bm = blo(block)
  587.   bm.Scale = Vector3.new(0, 0, 0.9)
  588.   addFx(block, 0.05, nil, function()
  589.     bm.Scale = bm.Scale + Vector3.new(0.05, 0.05, 0)
  590.   end)
  591.   local a = addToCList("block_connect", "f")
  592.   waitForUp(a)
  593.   addCoolDown("block_normal")
  594.   hum.WalkSpeed = ws
  595.   deb = false
  596.   addFx(block, 0.05, "destroy", function()
  597.     block.Transparency = block.Transparency + 0.05
  598.     block.bmsh.Scale = block.bmsh.Scale + Vector3.new(0.07, 0.07, 0)
  599.   end)
  600.   idle = true
  601.   reset()
  602.   animPlaying = false
  603. end, 15)
  604. addMove("curse", "g", 10, function()
  605.   deb = true
  606.   idle = false
  607.   animPlaying = true
  608.   canRunLeg = true
  609.   tweenTable = {}
  610.   altTweenTable = {}
  611.   Tween(rj, cfn() * ang(0, mr(-90), 0), 0.2)
  612.   Tween(rw, cfn() * ang(0, 0, mr(-90)), 0.2)
  613.   Tween(lw, cfn() * ang(0, mr(5), mr(20)), 0.2)
  614.   tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z))
  615.   wait(0.15)
  616.   curse:Play()
  617.   addCoolDown("curse")
  618.   local bullet = cp(tube, "Really black", Vector3.new(1, 1, 1))
  619.   bullet.CFrame = CFrame.new(righthandle.CFrame.p, Vector3.new(m.Hit.p.X, m.Hit.p.Y, m.Hit.p.Z))
  620.   bullet.Transparency = 1
  621.   local bulletfx = bullet:clone()
  622.   bulletfx.Transparency = 1
  623.   bulletfx.Parent = bullet
  624.   bulletfx.Anchored = true
  625.   sphere(bulletfx)
  626.   local angle = 0
  627.   local lastpoint = bullet.CFrame
  628.   addMover(bullet, 0.8, function()
  629.     angle = angle + 1
  630.     local angles = CFrame.Angles(0, 0, mr(angle))
  631.     bulletfx.CFrame = bullet.CFrame
  632.     local fxp = cp(tube, "Really black", Vector3.new(1, 1, 1), true)
  633.     fxp.CFrame = bulletfx.CFrame
  634.     local bmesh = int("SpecialMesh", fxp)
  635.     bmesh.MeshType = "FileMesh"
  636.     bmesh.MeshId = rbx .. lib.ring
  637.     bmesh.Scale = Vector3.new(2, 2, 2)
  638.     addFx(fxp, 0.07, "destroy", function()
  639.       bulletfx.CFrame = bullet.CFrame
  640.       bmesh.Scale = bmesh.Scale - Vector3.new(0.1, 0.1, 0)
  641.       fxp.Transparency = fxp.Transparency + 0.07
  642.     end)
  643.   end)
  644.   bullet.Touched:connect(function(p)
  645.     if not p:isDescendantOf(ch) then
  646.       do
  647.         local thing
  648.         local region = CreateRegion3FromLocAndSize(bullet.Position, bullet.Size * 2)
  649.         for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 50)) do
  650.           if v.Parent and v.Parent:findFirstChild("Humanoid") then
  651.             thing = v
  652.             break
  653.           end
  654.         end
  655.         local mgp = cp(tube, "White", Vector3.new(1, 1, 1), true)
  656.         mgp.Transparency = 1
  657.         mgp.CFrame = bullet.CFrame
  658.         game.Debris:AddItem(mgp, 3)
  659.         local tsound = glass:clone()
  660.         tsound.Volume = 2
  661.         tsound.Parent = mgp
  662.         tsound:Play()
  663.         local position = bullet.CFrame
  664.         if thing and thing.Parent then
  665.           dealDamage(thing.Parent, 50000, 50000)
  666.           do
  667.             local humin = thing.Parent.Humanoid
  668.             spawn(function()
  669.               for i = 1, 10 do
  670.                 wait(1)
  671.                 if thing.Parent then
  672.                   dealDamage(thing.Parent, 0.05 * humin.MaxHealth, 10000, 10000, 10000)
  673.                 end
  674.               end
  675.             end)
  676.           end
  677.         end
  678.         local blast = cp(tube, "Really black", Vector3.new(2, 2, 2), true, false)
  679.         blast.Material = "Neon"
  680.         local spm2 = blo(blast)
  681.         spm2.Name = "mesh"
  682.         blast.CFrame = CFrame.new(position.X, position.Y, position.Z) * ang(mr(math.random(90)), mr(math.random(90)), mr(math.random(90)))
  683.         if p.Name == "Torso" or p.Parent and p.Parent:findFirstChild("Torso") then
  684.           blast.CFrame = p.Parent.Torso.CFrame * ang(mr(math.random(90)), mr(math.random(90)), mr(math.random(90)))
  685.         end
  686.         for i = 1, 5 do
  687.           do
  688.             local fx = blast:clone()
  689.             fx.Parent = tube
  690.             fx.CFrame = blast.CFrame * ang(mr(math.random(90)), mr(math.random(90)), mr(math.random(90)))
  691.             addFx(fx, 0.05, "destroy", function()
  692.               fx.mesh.Scale = fx.mesh.Scale + Vector3.new(0.1, 0.1, 0.1)
  693.               fx.Transparency = fx.Transparency + 0.05
  694.             end)
  695.           end
  696.         end
  697.         addFx(blast, 0.05, "destroy", function()
  698.           spm2.Scale = spm2.Scale + Vector3.new(0.1, 0.1, 0.1)
  699.           blast.Transparency = blast.Transparency + 0.05
  700.         end)
  701.         bullet:Destroy()
  702.         bulletfx:Destroy()
  703.       end
  704.     end
  705.   end)
  706.   game.Debris:AddItem(bullet, 3)
  707.   local bv = int("BodyVelocity", bullet)
  708.   bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  709.   bv.Velocity = bullet.CFrame.lookVector * 150
  710.   wait(0.5)
  711.   reset()
  712.   deb = false
  713.   canRunLeg = false
  714.   animPlaying = false
  715. end, 60)
  716. local bg = false
  717. addMove("beam", "e", 5, function()
  718.   tweenTable = {}
  719.   animPlaying = true
  720.   idle = false
  721.   deb = true
  722.   local pcf = tor.CFrame
  723.   canRunLeg = true
  724.   startsound:Play()
  725.   chargesound.Looped = true
  726.   chargesound:Play()
  727.   Tween(rj, cfn() * ang(0, mr(-90), 0), 0.2)
  728.   Tween(rw, cfn() * ang(0, 0, mr(-90)), 0.2)
  729.   Tween(lw, cfn() * ang(0, mr(5), mr(20)), 0.2)
  730.   bg = true
  731.   local a = addToCList("beam_connect", "e")
  732.   local charge = cp(tube, "Really black", Vector3.new(1, 1, 1))
  733.   charge.Material = "Neon"
  734.   local spm = int("SpecialMesh", charge)
  735.   spm.MeshType = "Sphere"
  736.   spm.Name = "sphere"
  737.   weld(ch["Right Arm"], charge, cfn(0, -2, 0))
  738.   local up = false
  739.   local multiplier = 1
  740.   local cn = chargesound.DidLoop:connect(function()
  741.     local fx = charge:clone()
  742.     fx.Parent = tube
  743.     fx.CFrame = charge.CFrame
  744.     weld(charge, fx, cfn())
  745.     addFx(fx, 0.07, "destroy", function()
  746.       if fx and fx:findFirstChild("sphere") then
  747.         fx.sphere.Scale = fx.sphere.Scale + Vector3.new(0.1, 0.1, 0.1)
  748.         fx.Transparency = fx.Transparency + 0.07
  749.       end
  750.     end)
  751.   end)
  752.   spawn(function()
  753.     repeat
  754.       wait()
  755.       if spm.Scale.X < 2 then
  756.         spm.Scale = spm.Scale + Vector3.new(0.05, 0.05, 0.05)
  757.         multiplier = multiplier + 0.1
  758.       end
  759.     until up == true
  760.   end)
  761.   waitForUp(a)
  762.   cn:Disconnect()
  763.   up = true
  764.   addCoolDown("beam")
  765.   chargesound:Stop()
  766.   endsound:Play()
  767.   local ringFx = cp(tube, "Really black", Vector3.new(2, 2, 2), true, false)
  768.   ringFx.CFrame = charge.CFrame * ang(mr(-90), 0, 0)
  769.   ringFx.Material = "Neon"
  770.   local spm = int("SpecialMesh", ringFx)
  771.   spm.MeshId = rbx .. lib.ring
  772.   spm.Scale = Vector3.new(2, 2, 2)
  773.   addFx(ringFx, 0.08, "destroy", function()
  774.     spm.Scale = spm.Scale + Vector3.new(0.2, 0.2, 0)
  775.     ringFx.Transparency = ringFx.Transparency + 0.08
  776.   end)
  777.   local beam = cp(tube, "Really black", Vector3.new(1, 1, 1), true, false)
  778.   local ray = Ray.new(charge.CFrame.p, (mouse.Hit.p - charge.CFrame.p).unit * 300)
  779.   local part, position = workspace:FindPartOnRay(ray, ch, false, true)
  780.   local distance = (charge.CFrame.p - position).magnitude
  781.   beam.Size = Vector3.new(1, 1, distance)
  782.   beam.Material = "Neon"
  783.   beam.CFrame = CFrame.new(charge.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
  784.   local blast = cp(tube, "Really black", Vector3.new(8, 8, 8), true, false)
  785.   blast.Material = "Neon"
  786.   blast.CFrame = CFrame.new(position.X, position.Y, position.Z)
  787.   local region = CreateRegion3FromLocAndSize(blast.Position, blast.Size * 2)
  788.   local people = {}
  789.   for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 100)) do
  790.     if v and v.Parent and v.className == "Part" and v.Parent:findFirstChild("Humanoid") then
  791.       local can = false
  792.       if not v.Parent:findFirstChild("HitDeb") then
  793.         can = true
  794.       end
  795.       if can == true then
  796.         local db = Instance.new("StringValue", v.Parent)
  797.         db.Name = "HitDeb"
  798.         game.Debris:AddItem(db, 0.5)
  799.         local humin = v.Parent.Humanoid
  800.         if humin then
  801.           local php = humin.Health
  802.           dealDamage(humin.Parent, 20 * multiplier, 10000)
  803.           humin.Sit = true
  804.           humin.PlatformStand = true
  805.           if php <= humin.Health and humin.MaxHealth ~= math.huge then
  806.             print("equal")
  807.             humin:TakeDamage(20 * multiplier)
  808.           end
  809.         end
  810.       end
  811.     end
  812.   end
  813.   local blastsound = getSound(262562443)
  814.   blastsound.Parent = blast
  815.   blastsound.Volume = 5
  816.   blastsound:Play()
  817.   blastsound:Stop()
  818.   blastsound:Play()
  819.   canRunLeg = false
  820.   runLeg = false
  821.   animPlaying = false
  822.   tweenTable = {}
  823.   local spm2 = int("SpecialMesh", blast)
  824.   spm2.MeshType = "Sphere"
  825.   addFx(blast, 0.008, "destroy", function()
  826.     spm2.Scale = spm2.Scale + Vector3.new(0.05, 0.05, 0.05)
  827.     blast.Transparency = blast.Transparency + 0.008
  828.   end)
  829.   addFx(beam, 0.1, "destroy", function()
  830.     beam.Transparency = beam.Transparency + 0.1
  831.   end)
  832.   addFx(charge, 0.1, "destroy", function()
  833.     charge.Transparency = charge.Transparency + 0.1
  834.   end)
  835.   bg = false
  836.   run = false
  837.   idle = true
  838.   reset()
  839.   deb = false
  840. end, 60)
  841. addMove("downslam", "q", 4, function()
  842.   currentkey = key
  843.   deb = true
  844.   animPlaying = true
  845.   altTweenTable = {}
  846.   tweenTable = {}
  847.   local rv = tor.CFrame.upVector
  848.   local bv = int("BodyVelocity", tor)
  849.   bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  850.   bv.Velocity = rv * -150
  851.   rushsound:Play()
  852.   Tween(rj, cfn() * ang(mr(180), 0, 0))
  853.   Tween(rw, cfn() * ang(mr(-180), 0, 0))
  854.   Tween(lw, cfn() * ang(mr(-180), 0, 0))
  855.   addCoolDown("downslam", 4)
  856.   spawn(function()
  857.     while true do
  858.       wait()
  859.       do
  860.         local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
  861.         cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
  862.         local b = blo(cfx)
  863.         addFx(cfx, 0.05, "destroy", function()
  864.           cfx.Transparency = cfx.Transparency + 0.05
  865.           b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
  866.         end)
  867.         if Vector3.new(0, tor.Velocity.Y, 0).magnitude < 2 then
  868.           break
  869.         end
  870.       end
  871.     end
  872.   end)
  873.   wait()
  874.   bv:Destroy()
  875.   multiplier = 1
  876.   repeat
  877.     wait()
  878.   until Vector3.new(0, tor.Velocity.Y, 0).magnitude < 2
  879.   local bhit, pos = FindGround(cn(tor.CFrame.p), ch)
  880.   local blast = cp(tube, "Really black", Vector3.new(10, 10, 10), true, false)
  881.   blast.CFrame = pos
  882.   local region = CreateRegion3FromLocAndSize(blast.Position, blast.Size * 3)
  883.   local people = {}
  884.   for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 100)) do
  885.     if v and v.Parent and v.className == "Part" and v.Parent:findFirstChild("Humanoid") then
  886.       local can = false
  887.       if not v.Parent:findFirstChild("HitDeb") then
  888.         can = true
  889.       end
  890.       if can == true then
  891.         local db = Instance.new("StringValue", v.Parent)
  892.         db.Name = "HitDeb"
  893.         game.Debris:AddItem(db, 0.5)
  894.         local humin = v.Parent.Humanoid
  895.         if humin then
  896.           local php = humin.Health
  897.           dealDamage(humin.Parent, 20 * multiplier, 10000)
  898.           humin.Sit = true
  899.           humin.PlatformStand = true
  900.           if php <= humin.Health and humin.MaxHealth ~= math.huge then
  901.             print("equal")
  902.             humin:TakeDamage(20 * multiplier)
  903.           end
  904.         end
  905.       end
  906.     end
  907.   end
  908.   local sp = sphere(blast)
  909.   blast.Material = "Neon"
  910.   landsound:Play()
  911.   addFx(blast, 0.02, "destroy", function()
  912.     sp.Scale = sp.Scale + Vector3.new(0.1, 0.1, 0.1)
  913.     blast.Transparency = blast.Transparency + 0.02
  914.   end)
  915.   animPlaying = false
  916.   deb = false
  917. end, 40)
  918. addMove("aerialsword", "r", 15, function()
  919.   deb = true
  920.   animPlaying = true
  921.   tweenTable = {}
  922.   altTweenTable = {}
  923.   canExecuteMoves = false
  924.   idle = false
  925.   run = false
  926.   aerialcharge:Play()
  927.   Tween(rw, cfn() * ang(mr(-90), 0, 0))
  928.   local bp, bgg
  929.   local a = addToCList("aerialsword", "r")
  930.   local still = true
  931.   bp = int("BodyPosition", tor)
  932.   bp.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  933.   bp.Position = tor.Position
  934.   local sphr = cp(tube, "Really black", Vector3.new(8, 8, 8), true)
  935.   sphr.Transparency = 1
  936.   sphr.Material = "Neon"
  937.   local spho = sphere(sphr)
  938.   spho.Name = "spho"
  939.   spho.Scale = Vector3.new(0, 0, 0)
  940.   sphr.CFrame = tor.CFrame
  941.   addFx(sphr, 0.07, nil, function()
  942.     spho.Scale = spho.Scale + Vector3.new(0.1, 0.1, 0.1)
  943.     sphr.Transparency = sphr.Transparency - 0.07
  944.   end)
  945.   Delay(6, function()
  946.     if not a.up then
  947.       a.up = true
  948.     end
  949.   end)
  950.   repeat
  951.     wait(0.3)
  952.     local b = depleteMana(35)
  953.     if b then
  954.       swsound:Play()
  955.       do
  956.         local fx = sphr:clone()
  957.         fx.Parent = tube
  958.         fx.CFrame = sphr.CFrame
  959.         addFx(fx, 0.07, "destroy", function()
  960.           fx.spho.Scale = fx.spho.Scale + Vector3.new(0.1, 0.1, 0.1)
  961.           fx.Transparency = fx.Transparency + 0.07
  962.         end)
  963.         local sw = int("Part")
  964.         game.Debris:AddItem(sw, 6)
  965.         sw.CanCollide = false
  966.         sw.Anchored = false
  967.         sw.BrickColor = BrickColor.new("Really black")
  968.         sw.Material = "Neon"
  969.         sw.Size = Vector3.new(1, 1, 2)
  970.         sw.CFrame = CFrame.new(righthandle.CFrame.p, Vector3.new(m.Hit.p.X, m.Hit.p.Y, m.Hit.p.Z))
  971.         sw.Parent = tube
  972.         sw.Transparency = 1
  973.         addFx(sw, 0.1, nil, function()
  974.           sw.Transparency = sw.Transparency - 0.1
  975.         end)
  976.         local spm = int("SpecialMesh", sw)
  977.         spm.MeshType = "FileMesh"
  978.         spm.MeshId = rbx .. lib.yato
  979.         spm.Scale = Vector3.new(0.05, 0.05, 0.05)
  980.         local vel = int("BodyVelocity", sw)
  981.         vel.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  982.         vel.Velocity = sw.CFrame.lookVector * 152
  983.         sw.CFrame = sw.CFrame * ang(0, mr(180), 0)
  984.         sw.Touched:connect(function(p)
  985.           if p:IsDescendantOf(ch) == false then
  986.             sw.Anchored = true
  987.             do
  988.               local mgp = cp(tube, "White", Vector3.new(1, 1, 1), true, false)
  989.               mgp.CFrame = sw.CFrame
  990.               mgp.Transparency = 1
  991.               game.Debris:AddItem(mgp, 2)
  992.               ssp = swexp:clone()
  993.               ssp.Parent = mgp
  994.               ssp.Volume = 2
  995.               ssp:Play()
  996.               local blast = cp(tube, "Really black", Vector3.new(8, 8, 8), true)
  997.               blast.CFrame = sw.CFrame
  998.               local sp = sphere(blast)
  999.               addFx(sw, 0.05, "destroy", function()
  1000.                 sw.Transparency = sw.Transparency + 0.05
  1001.                 spm.Scale = spm.Scale + Vector3.new(0.01, 0.01, 0.01)
  1002.               end)
  1003.               addFx(blast, 0.07, "destroy", function()
  1004.                 blast.Transparency = blast.Transparency + 0.07
  1005.                 sp.Scale = sp.Scale + Vector3.new(0.1, 0.1, 0.1)
  1006.               end)
  1007.               local region = CreateRegion3FromLocAndSize(blast.Position, blast.Size * 2)
  1008.               local people = {}
  1009.               for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 100)) do
  1010.                 if v and v.Parent and v.className == "Part" and v.Parent:findFirstChild("Humanoid") then
  1011.                   local can = false
  1012.                   if not v.Parent:findFirstChild("HitDeb") then
  1013.                     can = true
  1014.                   end
  1015.                   if can == true then
  1016.                     local db = Instance.new("StringValue", v.Parent)
  1017.                     db.Name = "HitDeb"
  1018.                     game.Debris:AddItem(db, 0.2)
  1019.                     local humin = v.Parent.Humanoid
  1020.                     if humin then
  1021.                       local php = humin.Health
  1022.                       dealDamage(humin.Parent, 20 + math.random(50000), 50000)
  1023.                       humin.Sit = true
  1024.                       if php <= humin.Health and humin.MaxHealth ~= math.huge then
  1025.                         print("equal")
  1026.                         humin:TakeDamage(20000)
  1027.                       end
  1028.                     end
  1029.                   end
  1030.                 end
  1031.               end
  1032.             end
  1033.           end
  1034.         end)
  1035.       end
  1036.     else
  1037.       a.up = true
  1038.     end
  1039.   until a.up == true
  1040.   addFx(sphr, 0.07, "destroy", function()
  1041.     sphr.Transparency = sphr.Transparency + 0.07
  1042.     spho.Scale = spho.Scale + Vector3.new(0.1, 0.1, 0.1)
  1043.   end)
  1044.   still = false
  1045.   spawn(function()
  1046.     wait(0.3)
  1047.     canExecuteMoves = true
  1048.   end)
  1049.   bp:Destroy()
  1050.   tor.Anchored = false
  1051.   deb = false
  1052.   animPlaying = false
  1053.   reset()
  1054. end, 200)
  1055. addMove("basic", "mb1", 0.1, function()
  1056.   tweenTable = {}
  1057.   animPlaying = true
  1058.   deb = true
  1059.   canRunLeg = true
  1060.   tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z))
  1061.   bg = true
  1062.   idle = false
  1063.   basicsound:Play()
  1064.   if basicswitch == false then
  1065.     Tween(rw, cfn() * ang(mr(-100), mr(45), 0), 0.2)
  1066.     Tween(rj, cfn() * ang(0, mr(-45), 0), 0.2)
  1067.   else
  1068.     Tween(lw, cfn() * ang(mr(-100), mr(-45), 0), 0.2)
  1069.     Tween(rj, cfn() * ang(0, mr(45), 0), 0.2)
  1070.   end
  1071.   wait(0.06)
  1072.   local bullet = cp(tube, "Really black", Vector3.new(1, 1, 1), false, false)
  1073.   bullet.Transparency = 1
  1074.   if basicswitch == false then
  1075.     bullet.CFrame = righthandle.CFrame
  1076.     bullet.CFrame = CFrame.new(righthandle.CFrame.p, Vector3.new(m.Hit.p.X, m.Hit.p.Y, m.Hit.p.Z))
  1077.     basicswitch = true
  1078.   else
  1079.     bullet.CFrame = lefthandle.CFrame
  1080.     bullet.CFrame = CFrame.new(lefthandle.CFrame.p, Vector3.new(m.Hit.p.X, m.Hit.p.Y, m.Hit.p.Z))
  1081.     basicswitch = false
  1082.   end
  1083.   local bv = int("BodyVelocity", bullet)
  1084.   bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  1085.   bv.Velocity = bullet.CFrame.lookVector * 150
  1086.   local bulletfx = cp(tube, "Really black", Vector3.new(1, 1, 1), true, false)
  1087.   bulletfx.CFrame = bullet.CFrame
  1088.   bulletfx.Material = "Neon"
  1089.   sphere(bulletfx)
  1090.   local angle = 0
  1091.   local lastpoint = bulletfx.CFrame
  1092.   addCoolDown("basic")
  1093.   addMover(bullet, 0.8, function()
  1094.     angle = angle + 1
  1095.     local angles = CFrame.Angles(math.rad(angle), mr(angle), 0)
  1096.     bulletfx.CFrame = bullet.CFrame
  1097.     bulletfx.CFrame = bulletfx.CFrame * angles
  1098.     if 1 < (lastpoint.p - bulletfx.CFrame.p).magnitude then
  1099.       do
  1100.         local line = drawLine(lastpoint.p, bulletfx.CFrame.p, "Really black", angles)
  1101.         addFx(line, 0.05, "destroy", function()
  1102.           line.blok.Scale = line.blok.Scale + Vector3.new(0.05, 0.05, 0)
  1103.           line.Transparency = line.Transparency + 0.05
  1104.         end)
  1105.         lastpoint = bulletfx.CFrame
  1106.       end
  1107.     end
  1108.   end)
  1109.   bullet.Touched:connect(function(p)
  1110.     if not p:isDescendantOf(ch) then
  1111.       do
  1112.         local thing
  1113.         local region = CreateRegion3FromLocAndSize(bullet.Position, bullet.Size * 2)
  1114.         for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 50)) do
  1115.           if v.Parent and v.Parent:findFirstChild("Humanoid") then
  1116.             thing = v
  1117.             break
  1118.           end
  1119.         end
  1120.         local explosound = getSound(142070128)
  1121.         explosound.Volume = 0.8
  1122.         explosound.Pitch = 1.2
  1123.         explosound.Parent = p
  1124.         explosound:Play()
  1125.         local position = bullet.CFrame
  1126.         if thing and thing.Parent then
  1127.           dealDamage(thing.Parent, 20000, 50000)
  1128.         end
  1129.         local blast = cp(tube, "Really black", Vector3.new(2, 2, 2), true, false)
  1130.         blast.Material = "Neon"
  1131.         local spm2 = sphere(blast)
  1132.         blast.CFrame = CFrame.new(position.X, position.Y, position.Z)
  1133.         addFx(blast, 0.05, "destroy", function()
  1134.           spm2.Scale = spm2.Scale + Vector3.new(0.1, 0.1, 0.1)
  1135.           blast.Transparency = blast.Transparency + 0.05
  1136.         end)
  1137.         bullet:Destroy()
  1138.         bulletfx:Destroy()
  1139.       end
  1140.     end
  1141.   end)
  1142.   game.Debris:AddItem(bullet, 2.5)
  1143.   game.Debris:AddItem(bulletfx, 2.5)
  1144.   wait(0.1)
  1145.   idle = true
  1146.   reset()
  1147.   deb = false
  1148.   animPlaying = false
  1149.   bg = false
  1150. end, 20)
  1151. local dumbbox, dhand
  1152. local darknum = 1
  1153. addMove("darkslash", "r", 2, function()
  1154.   local oldspeed = hum.WalkSpeed
  1155.   hum.WalkSpeed = 0
  1156.   local meshd = "http://www.roblox.com/asset/?id=12171188"
  1157.   tweenTable = {}
  1158.   altTweenTable = {}
  1159.   deb = true
  1160.   animPlaying = true
  1161.   canRunLeg = true
  1162.   startsound2:Play()
  1163.   local sp = cp(tube, "Really black", Vector3.new(10, 10, 10), false, false)
  1164.   sp.CFrame = tor.CFrame
  1165.   sp.Transparency = 0.5
  1166.   local sph = sphere(sp)
  1167.   addFx(sp, 0.07, "destroy", function()
  1168.     sph.Scale = sph.Scale - Vector3.new(0.05, 0.05, 0.05)
  1169.     sp.Transparency = sp.Transparency + 0.035
  1170.   end)
  1171.   spawn(function()
  1172.     for i = 1, 10 do
  1173.       wait()
  1174.       do
  1175.         local cool1 = cp(tube, "Really black", Vector3.new(1.5, 1.5, 1.5), true)
  1176.         local ms1 = blo(cool1)
  1177.         cool1.CFrame = righthandle.CFrame * ang(mr(math.random(90)), mr(math.random(90)), mr(math.random(90)))
  1178.         addFx(cool1, 0.07, "destroy", function()
  1179.           ms1.Scale = ms1.Scale + Vector3.new(0.08, 0.08, 0.08)
  1180.           cool1.Transparency = cool1.Transparency + 0.07
  1181.         end)
  1182.       end
  1183.     end
  1184.   end)
  1185.   addCoolDown("darkslash")
  1186.   local allahsword = cp(tube, "White", Vector3.new(1, 1, 1))
  1187.   local critmultiplier = 2.4
  1188.   local spm = int("SpecialMesh", allahsword)
  1189.   spm.MeshType = "FileMesh"
  1190.   spm.MeshId = meshd
  1191.   allahsword.Transparency = 1
  1192.   tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z))
  1193.   local tv = Vector3.new(tor.CFrame.lookVector.X, 0, tor.CFrame.lookVector.Z)
  1194.   local col = BrickColor.new("Really black").Color
  1195.   spm.TextureId = rbx .. "132155326"
  1196.   spm.Name = "mesh"
  1197.   spm.VertexColor = Vector3.new(0, 0, 0)
  1198.   spm.Scale = Vector3.new(1, 1, 1)
  1199.   addFx(allahsword, 0.05, nil, function()
  1200.     allahsword.Transparency = allahsword.Transparency - 0.05
  1201.   end)
  1202.   weld(ch["Right Arm"], allahsword, cfn(0, -4, -0.5) * ang(mr(110), 0, mr(180)))
  1203.   Tween(rj, cfn() * ang(0, mr(-90), 0))
  1204.   Tween(rw, cfn(0.5, 0.5, 0.5) * ang(mr(-55), mr(-35), 0))
  1205.   Tween(lw, cfn(-0.5, 0.5, 0.5) * ang(mr(-55), mr(35), 0))
  1206.   Delay(0.08, function()
  1207.     local tstvel = int("BodyVelocity", tor)
  1208.     tstvel.MaxForce = Vector3.new(math.huge, 0, math.huge)
  1209.     tstvel.Velocity = tv * 35
  1210.     game.Debris:AddItem(tstvel, 0.24)
  1211.   end)
  1212.   wait(0.22)
  1213.   local hitbox = cp(tube, "White", Vector3.new(2, 12, 2))
  1214.   hitbox.Transparency = 1
  1215.   hitbox.CFrame = allahsword.CFrame
  1216.   dumbbox = hitbox
  1217.   dumbhand = allahsword
  1218.   swoosh:Play()
  1219.   spawn(function()
  1220.     for i = 1, 10 do
  1221.       wait()
  1222.       do
  1223.         local trl = allahsword:clone()
  1224.         trl.Parent = tube
  1225.         trl.CFrame = allahsword.CFrame
  1226.         addFx(trl, 0.07, "destroy", function()
  1227.           trl.Transparency = trl.Transparency + 0.07
  1228.         end)
  1229.       end
  1230.     end
  1231.   end)
  1232.   addFx(allahsword, 0.05, "destroy", function()
  1233.     allahsword.Transparency = allahsword.Transparency + 0.05
  1234.     spm.Scale = spm.Scale + Vector3.new(0.1, 0.1, 0.1)
  1235.   end)
  1236.   hitbox.Touched:connect(function(v)
  1237.     if v and v.Parent and v.Parent:findFirstChild("Humanoid") and not v:IsDescendantOf(ch) then
  1238.       local can = false
  1239.       if not v.Parent:findFirstChild("HitDeb") then
  1240.         can = true
  1241.       end
  1242.       if can == true then
  1243.         local sls = getSound(220834020)
  1244.         sls.Pitch = 1 + math.random(3) / 10
  1245.         sls.Parent = v
  1246.         sls:Play()
  1247.         local db = Instance.new("StringValue", v.Parent)
  1248.         db.Name = "HitDeb"
  1249.         game.Debris:AddItem(db, 0.5)
  1250.         dealDamage(v.Parent, 20 + math.random(20000), 20000, critmultiplier)
  1251.       end
  1252.     end
  1253.   end)
  1254.   Tween(rj, cfn(0, 0, 0) * ang(mr(0), mr(90), 0))
  1255.   Tween(rw, cfn(0.5, 0.8, 0) * ang(mr(-80), mr(-35), 0))
  1256.   Tween(lw, cfn(-0.5, 0.8, 0) * ang(mr(-90), mr(35), 0))
  1257.   wait(0.2)
  1258.   hitbox:Destroy()
  1259.   hum.WalkSpeed = oldspeed
  1260.   reset()
  1261.   animPlaying = false
  1262.   canRunLeg = false
  1263.   deb = false
  1264. end, 80)
  1265. addMove("darkspikes", "t", 0.4, function()
  1266.   local lv = tor.CFrame
  1267.   tweenTable = {}
  1268.   animPlaying = true
  1269.   deb = true
  1270.   canRunLeg = true
  1271.   magictone1:Play()
  1272.   Tween(rj, cfn() * ang(0, mr(25), 0), 0.2)
  1273.   Tween(rw, cfn() * ang(mr(25), mr(-20), 0), 0.2)
  1274.   wait(0.2)
  1275.   Tween(rj, cfn() * ang(0, mr(-55), 0), 0.15)
  1276.   Tween(rw, cfn() * ang(mr(-115), mr(45), 0), 0.15)
  1277.   Tween(neck, cfn() * ang(0, mr(55), 0))
  1278.   local spot = 4
  1279.   for i = 1, 10 do
  1280.     wait(0.1)
  1281.     do
  1282.       local v = lv.lookVector * spot
  1283.       spot = spot + 14
  1284.       local spike = cp(tube, "Really black", Vector3.new(10, 1, 10), true, false)
  1285.       spike.CFrame = lv * CFrame.new(0, 0, -spot)
  1286.       local dam = cp(tube, "Really black", Vector3.new(7, 10, 7), true, false)
  1287.       local dml = cyl(dam)
  1288.       local angls = CFrame.Angles(spike.CFrame:toEulerAnglesXYZ())
  1289.       local bhit, pos = FindGround(cn(spike.CFrame.p), ch)
  1290.       if bhit then
  1291.         spike.CFrame = pos * CFrame.new(0, 0, 0)
  1292.         do
  1293.           local mgp = cp(tube, "White", Vector3.new(1, 1, 1), true, false)
  1294.           mgp.Transparency = 1
  1295.           mgp.CFrame = spike.CFrame
  1296.           game.Debris:AddItem(mgp, 2)
  1297.           local sn = spexp:clone()
  1298.           sn.Parent = mgp
  1299.           sn.Volume = 2
  1300.           sn:Play()
  1301.           dam.CFrame = spike.CFrame * CFrame.new(0, 5, 0)
  1302.           local blast = dam
  1303.           local region = CreateRegion3FromLocAndSize(blast.Position, blast.Size * 2)
  1304.           local people = {}
  1305.           for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 100)) do
  1306.             if v and v.Parent and v.className == "Part" and v.Parent:findFirstChild("Humanoid") then
  1307.               local can = false
  1308.               if not v.Parent:findFirstChild("HitDeb") then
  1309.                 can = true
  1310.               end
  1311.               if can == true then
  1312.                 local db = Instance.new("StringValue", v.Parent)
  1313.                 db.Name = "HitDeb"
  1314.                 game.Debris:AddItem(db, 0.2)
  1315.                 local humin = v.Parent.Humanoid
  1316.                 if humin then
  1317.                   local php = humin.Health
  1318.                   dealDamage(humin.Parent, 10 + math.random(30000), 20000)
  1319.                   local testvel = int("BodyVelocity", v)
  1320.                   testvel.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  1321.                   testvel.Velocity = lv.lookVector * 100
  1322.                   game.Debris:addItem(testvel, 1)
  1323.                   humin.Sit = true
  1324.                   if php <= humin.Health and humin.MaxHealth ~= math.huge then
  1325.                     print("equal")
  1326.                     humin:TakeDamage(20000)
  1327.                   end
  1328.                 end
  1329.               end
  1330.             end
  1331.           end
  1332.           local cl = cyl(spike)
  1333.           addFx(spike, 0.05, "destroy", function()
  1334.             cl.Scale = cl.Scale - Vector3.new(0.05, 0, 0.05)
  1335.             spike.Transparency = spike.Transparency + 0.05
  1336.           end)
  1337.           addFx(dml, 0.05, "destroy", function()
  1338.             dml.Scale = dml.Scale - Vector3.new(0.05, -0.05, 0.05)
  1339.             dam.Transparency = dam.Transparency + 0.05
  1340.           end)
  1341.         end
  1342.       else
  1343.         spike:Destroy()
  1344.       end
  1345.     end
  1346.   end
  1347.   wait(0.7)
  1348.   deb = false
  1349.   canRunLeg = false
  1350.   animPlaying = false
  1351.   reset()
  1352. end, 30)
  1353. mouse.Button1Down:connect(function()
  1354.   executeMove("basic")
  1355. end)
  1356. local vt
  1357. local dodgecool = false
  1358. function iPart(tab)
  1359.   local v = Instance.new(tab.type or "Part")
  1360.   if tab.type ~= "CornerWedgePart" then
  1361.     v.formFactor = "Custom"
  1362.   end
  1363.   v.CanCollide = false
  1364.   v.TopSurface = 0
  1365.   v.BottomSurface = 0
  1366.   v.Size = v3(tab[2], tab[3], tab[4])
  1367.   if tab.co then
  1368.     v.BrickColor = bn(tab.co)
  1369.   end
  1370.   if tab.tr then
  1371.     v.Transparency = tab.tr
  1372.   end
  1373.   if tab.rf then
  1374.     v.Reflectance = tab.rf
  1375.   end
  1376.   if tab.cf then
  1377.     v.CFrame = tab.cf
  1378.   end
  1379.   if tab.an then
  1380.     v.Anchored = tab.an
  1381.   end
  1382.   v.Parent = tab[1]
  1383.   LastMade = v
  1384.   return v
  1385. end
  1386. function iNew(tab)
  1387.   local v = Instance.new(tab[1])
  1388.   for Ind, Val in pairs(tab) do
  1389.     if Ind ~= 1 and Ind ~= 2 then
  1390.       v[Ind] = Val
  1391.     end
  1392.   end
  1393.   v.Parent = tab[2] == 0 and LastMade or tab[2]
  1394.   LastMade = v
  1395.   return v
  1396. end
  1397. local ppart = iPart({
  1398.   nil,
  1399.   0.2,
  1400.   0.2,
  1401.   0.2
  1402. })
  1403. ppart.Material = "SmoothPlastic"
  1404. ppart.TopSurface = "SmoothNoOutlines"
  1405. ppart.BottomSurface = "SmoothNoOutlines"
  1406. ppart.RightSurface = "SmoothNoOutlines"
  1407. ppart.LeftSurface = "SmoothNoOutlines"
  1408. ppart.Transparency = 0
  1409. ppart.Anchored = true
  1410. local CFrameFromTopBack = function(at, top, back)
  1411.   local right = top:Cross(back)
  1412.   return CFrame.new(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  1413. end
  1414. function Triangle(a, b, c)
  1415.   local edg1 = (c - a):Dot((b - a).unit)
  1416.   local edg2 = (a - b):Dot((c - b).unit)
  1417.   local edg3 = (b - c):Dot((a - c).unit)
  1418.   if edg1 <= (b - a).magnitude and edg1 >= 0 then
  1419.     a, b = a, b
  1420.   elseif edg2 <= (c - b).magnitude and edg2 >= 0 then
  1421.     a, b, c = b, c, a
  1422.   elseif edg3 <= (a - c).magnitude and edg3 >= 0 then
  1423.     a, b, c = c, a, b
  1424.   else
  1425.     print("unreachable")
  1426.   end
  1427.   local len1 = (c - a):Dot((b - a).unit)
  1428.   local len2 = (b - a).magnitude - len1
  1429.   local width = (a + (b - a).unit * len1 - c).magnitude
  1430.   local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, -(b - a).unit)
  1431.   local list = {}
  1432.   if len1 > 0.01 then
  1433.     do
  1434.       local w1 = iNew({
  1435.         "WedgePart",
  1436.         Pack,
  1437.         FormFactor = "Custom",
  1438.         BrickColor = ppart.BrickColor,
  1439.         Transparency = ppart.Transparency,
  1440.         Reflectance = ppart.Reflectance,
  1441.         Material = ppart.Material,
  1442.         CanCollide = ppart.CanCollide
  1443.       })
  1444.       w1.Parent = tube
  1445.       local sz = v3(0.2, width, len1)
  1446.       w1.Size = sz
  1447.       local sp = iNew({
  1448.         "SpecialMesh",
  1449.         w1,
  1450.         MeshType = "Wedge",
  1451.         Scale = v3(0, 1, 1) * sz / w1.Size
  1452.       })
  1453.       w1:BreakJoints()
  1454.       w1.Anchored = true
  1455.       w1.Transparency = 0.7
  1456.       Spawn(function()
  1457.         for i = 0, 1, 0.1 do
  1458.           wait()
  1459.           w1.Transparency = w1.Transparency + 0.03
  1460.         end
  1461.       end)
  1462.       w1.CFrame = maincf * ca2(math.pi, 0, math.pi / 2) * cn(0, width / 2, len1 / 2)
  1463.       table.insert(list, w1)
  1464.     end
  1465.   end
  1466.   if len2 > 0.01 then
  1467.     do
  1468.       local w2 = iNew({
  1469.         "WedgePart",
  1470.         Pack,
  1471.         FormFactor = "Custom",
  1472.         BrickColor = ppart.BrickColor,
  1473.         Transparency = ppart.Transparency,
  1474.         Reflectance = ppart.Reflectance,
  1475.         Material = ppart.Material,
  1476.         CanCollide = ppart.CanCollide
  1477.       })
  1478.       local sz = v3(0.2, width, len2)
  1479.       w2.Size = sz
  1480.       local sp = iNew({
  1481.         "SpecialMesh",
  1482.         w2,
  1483.         MeshType = "Wedge",
  1484.         Scale = v3(0, 1, 1) * sz / w2.Size
  1485.       })
  1486.       w2:BreakJoints()
  1487.       w2.Anchored = true
  1488.       w2.Transparency = 0.7
  1489.       Spawn(function()
  1490.         for i = 0, 1, 0.1 do
  1491.           wait()
  1492.           w2.Transparency = w2.Transparency + 0.03
  1493.         end
  1494.       end)
  1495.       w2.CFrame = maincf * ca2(math.pi, math.pi, -math.pi / 2) * cn(0, width / 2, -len1 - len2 / 2)
  1496.       w2.Parent = tube
  1497.       table.insert(list, w2)
  1498.     end
  1499.   end
  1500.   return unpack(list)
  1501. end
  1502. bclf = ch["Right Arm"].CFrame
  1503. scfr = bclf
  1504. ca = CFrame.Angles
  1505. cn = CFrame.new
  1506. v3 = Vector3.new
  1507. function Raycast(Pos, Dir, Ign)
  1508.   return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit * 300), Ign)
  1509. end
  1510. function FindGround(cf, ig)
  1511.   local ax, ay, az = cf:toEulerAnglesXYZ()
  1512.   local bhit, bpos = Raycast(cf.p, cf.p - (cf.p + v3(0, 200, 0)), ig)
  1513.   if bhit and bpos then
  1514.     return bhit, cn(bpos) * ca(ax, ay, az)
  1515.   end
  1516. end
  1517. currentkey = ""
  1518. mouse.KeyDown:connect(function(key)
  1519.   if key == "q" and currentkey == "32" and Vector3.new(0, tor.Velocity.Y, 0).magnitude > 2 then
  1520.     executeMove("downslam")
  1521.   elseif key == "r" and currentkey == "32" and Vector3.new(0, tor.Velocity.Y, 0).magnitude > 2 then
  1522.     executeMove("aerialsword")
  1523.   end
  1524.   if string.byte(key) == 32 and canExecuteMoves == true then
  1525.     combostring = combostring .. "."
  1526.     if combostring:match("..") and dodgecool == false then
  1527.       currentkey = tostring(string.byte(key))
  1528.       animPlaying = true
  1529.       altTween(rj, cfn() * ang(mr(-15), 0, 0))
  1530.       altTween(rw, cfn() * ang(mr(10), 0, mr(-15)))
  1531.       altTween(lw, cfn() * ang(mr(10), 0, mr(15)))
  1532.       dodgecool = true
  1533.       combostring = ""
  1534.       local rv = tor.CFrame.upVector
  1535.       local bv = int("BodyVelocity", tor)
  1536.       dodgesound:Play()
  1537.       bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  1538.       bv.Velocity = rv * 150
  1539.       spawn(function()
  1540.         for i = 1, 14 do
  1541.           wait()
  1542.           do
  1543.             local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
  1544.             cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
  1545.             local b = blo(cfx)
  1546.             addFx(cfx, 0.05, "destroy", function()
  1547.               cfx.Transparency = cfx.Transparency + 0.05
  1548.               b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
  1549.             end)
  1550.           end
  1551.         end
  1552.       end)
  1553.       wait()
  1554.       bv:Destroy()
  1555.       wait(0.4)
  1556.       reset()
  1557.       dodgecool = false
  1558.       wait(0.4)
  1559.       if currentkey == "32" then
  1560.         currentkey = ""
  1561.       end
  1562.       if not deb then
  1563.         animPlaying = false
  1564.       end
  1565.     end
  1566.   end
  1567.   if key == "d" and canExecuteMoves == true then
  1568.     combostring = combostring .. "d"
  1569.     if combostring:match("dd") and dodgecool == false then
  1570.       dodgecool = true
  1571.       combostring = ""
  1572.       local rv = cam.CFrame.rightVector
  1573.       local bv = int("BodyVelocity", tor)
  1574.       dodgesound:Play()
  1575.       bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  1576.       bv.Velocity = rv * 150
  1577.       spawn(function()
  1578.         for i = 1, 16 do
  1579.           wait()
  1580.           do
  1581.             local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
  1582.             cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
  1583.             local b = blo(cfx)
  1584.             addFx(cfx, 0.05, "destroy", function()
  1585.               cfx.Transparency = cfx.Transparency + 0.05
  1586.               b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
  1587.             end)
  1588.           end
  1589.         end
  1590.       end)
  1591.       wait()
  1592.       bv:Destroy()
  1593.       wait(0.4)
  1594.       dodgecool = false
  1595.     end
  1596.   elseif key == "w" and canExecuteMoves == true then
  1597.     combostring = combostring .. "w"
  1598.     if combostring:match("ww") and dodgecool == false then
  1599.       dodgecool = true
  1600.       combostring = ""
  1601.       local rv = cam.CFrame:vectorToWorldSpace(Vector3.new(0, 0, -1))
  1602.       local bv = int("BodyVelocity", tor)
  1603.       dodgesound:Play()
  1604.       bv.MaxForce = Vector3.new(math.huge, 0, math.huge)
  1605.       bv.Velocity = rv * 150
  1606.       spawn(function()
  1607.         for i = 1, 16 do
  1608.           wait()
  1609.           do
  1610.             local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
  1611.             cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
  1612.             local b = blo(cfx)
  1613.             addFx(cfx, 0.05, "destroy", function()
  1614.               cfx.Transparency = cfx.Transparency + 0.05
  1615.               b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
  1616.             end)
  1617.           end
  1618.         end
  1619.       end)
  1620.       wait()
  1621.       bv:Destroy()
  1622.       wait(0.4)
  1623.       dodgecool = false
  1624.     end
  1625.   elseif key == "s" and canExecuteMoves == true then
  1626.     combostring = combostring .. "s"
  1627.     if combostring:match("ss") and dodgecool == false then
  1628.       dodgecool = true
  1629.       combostring = ""
  1630.       local rv = cam.CFrame:vectorToWorldSpace(Vector3.new(0, 0, 1))
  1631.       local bv = int("BodyVelocity", tor)
  1632.       dodgesound:Play()
  1633.       bv.MaxForce = Vector3.new(math.huge, 0, math.huge)
  1634.       bv.Velocity = rv * 150
  1635.       spawn(function()
  1636.         for i = 1, 16 do
  1637.           wait()
  1638.           do
  1639.             local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
  1640.             cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
  1641.             local b = blo(cfx)
  1642.             addFx(cfx, 0.05, "destroy", function()
  1643.               cfx.Transparency = cfx.Transparency + 0.05
  1644.               b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
  1645.             end)
  1646.           end
  1647.         end
  1648.       end)
  1649.       wait()
  1650.       bv:Destroy()
  1651.       wait(0.4)
  1652.       dodgecool = false
  1653.     end
  1654.   elseif key == "a" and canExecuteMoves == true then
  1655.     combostring = combostring .. "a"
  1656.     if combostring:match("aa") and dodgecool == false then
  1657.       dodgecool = true
  1658.       combostring = ""
  1659.       local rv = cam.CFrame.rightVector
  1660.       local bv = int("BodyVelocity", tor)
  1661.       dodgesound:Play()
  1662.       bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  1663.       bv.Velocity = rv * -150
  1664.       spawn(function()
  1665.         for i = 1, 16 do
  1666.           wait()
  1667.           do
  1668.             local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
  1669.             cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
  1670.             local b = blo(cfx)
  1671.             addFx(cfx, 0.05, "destroy", function()
  1672.               cfx.Transparency = cfx.Transparency + 0.05
  1673.               b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
  1674.             end)
  1675.           end
  1676.         end
  1677.       end)
  1678.       wait()
  1679.       bv:Destroy()
  1680.       wait(0.4)
  1681.       dodgecool = false
  1682.     end
  1683.   end
  1684.   if key == "f" then
  1685.     if deb == false then
  1686.       executeMove("block_normal")
  1687.     end
  1688.   elseif key == "e" then
  1689.     if deb == false then
  1690.       executeMove("beam")
  1691.     end
  1692.   elseif key == "t" then
  1693.     if deb == false then
  1694.       executeMove("darkspikes")
  1695.     end
  1696.   elseif key == "g" then
  1697.     if deb == false then
  1698.       executeMove("curse")
  1699.     end
  1700.   elseif key == "r" and deb == false and Vector3.new(0, tor.Velocity.Y, 0).magnitude < 2 and currentkey ~= "32" then
  1701.     executeMove("darkslash")
  1702.   end
  1703. end)
  1704. mouse.KeyUp:connect(function(key)
  1705.   for _, v in pairs(connectlist) do
  1706.     if v.up == false and v.key == key then
  1707.       v.up = true
  1708.       table.remove(connectlist, _)
  1709.     end
  1710.   end
  1711. end)
  1712. mouse.Button1Up:connect(function()
  1713.   for _, v in pairs(connectlist) do
  1714.     if v.up == false then
  1715.       v.up = true
  1716.       table.remove(connectlist, _)
  1717.     end
  1718.   end
  1719. end)
  1720. local oldsize = mana / maxmana
  1721. local oldchain = 0
  1722. spawn(function()
  1723.   while wait(1) do
  1724.     if deb == false then
  1725.       if chain == oldchain then
  1726.         chain = 0
  1727.       end
  1728.       oldchain = chain
  1729.     end
  1730.   end
  1731. end)
  1732. game:service("RunService").Stepped:connect(function()
  1733.   chaintext.Text = tostring(chain) .. "x"
  1734.   manabartext.Text = tostring(mana) .. "/" .. tostring(maxmana)
  1735.   if mana / maxmana ~= oldsize then
  1736.     manabar:TweenSize(UDim2.new(mana / maxmana, 0, 1, 0), "Out", "Sine", 1, true)
  1737.     oldsize = mana / maxmana
  1738.   end
  1739.   if dumbbox then
  1740.     dumbbox.CFrame = dumbhand.CFrame * cfn(0, 0, 4) * ang(mr(-90), 0, 0)
  1741.   end
  1742.   for _, v in pairs(textTable) do
  1743.     if 1 > v.TextLabel.TextTransparency then
  1744.       v.TextLabel.TextTransparency = v.TextLabel.TextTransparency + 0.02
  1745.       v.TextLabel.TextStrokeTransparency = v.TextLabel.TextStrokeTransparency + 0.02
  1746.       v.StudsOffset = v.StudsOffset + Vector3.new(0, 0.02, 0)
  1747.     else
  1748.       v:Destroy()
  1749.       table.remove(textTable, _)
  1750.     end
  1751.   end
  1752.   if Vector3.new(tor.Velocity.X, 0, tor.Velocity.Z).magnitude > 2 then
  1753.     run = true
  1754.   elseif Vector3.new(tor.Velocity.X, 0, tor.Velocity.Z).magnitude < 2 then
  1755.     run = false
  1756.     idle = true
  1757.   end
  1758.   if Vector3.new(tor.Velocity.X, 0, tor.Velocity.Z).magnitude > 2 and canRunLeg == true then
  1759.     runLeg = true
  1760.   elseif Vector3.new(tor.Velocity.X, 0, tor.Velocity.Z).magnitude < 2 and canRunLeg == true then
  1761.     runLeg = false
  1762.     resetLegs()
  1763.   end
  1764.   for _, v in pairs(movers) do
  1765.     if v.mover and v.mover:IsDescendantOf(tube) then
  1766.       v.func()
  1767.     else
  1768.       table.remove(movers, _)
  1769.     end
  1770.   end
  1771.   if bg and 0 < hum.Health then
  1772.     tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z))
  1773.   end
  1774.   for _, v in pairs(fx) do
  1775.     if 1 > v.stepval then
  1776.       v.func()
  1777.       v.stepval = v.stepval + v.int
  1778.     elseif v.final then
  1779.       if v.final == "destroy" then
  1780.         v.item:Destroy()
  1781.         table.remove(fx, _)
  1782.       end
  1783.     else
  1784.       table.remove(fx, _)
  1785.     end
  1786.   end
  1787.   for _, v in pairs(tweenTable) do
  1788.     if v.Weld.C1 == v.Stop then
  1789.       table.remove(tweenTable, _)
  1790.     elseif v.th < 1 - v.Step then
  1791.       v.th = v.th + v.Step
  1792.       i = v.th
  1793.       v.Weld.C1 = v.Weld.C1:lerp(CFrame.new(v.Start.p.X * (1 - i) + v.Stop.p.X * i, v.Start.p.Y * (1 - i) + v.Stop.p.Y * i, v.Start.p.Z * (1 - i) + v.Stop.p.Z * i) * CFrame.fromEulerAnglesXYZ(v.X1 * (1 - i) + v.X2 * i, v.Y1 * (1 - i) + v.Y2 * i, v.Z1 * (1 - i) + v.Z2 * i), 1)
  1794.     else
  1795.       v.Weld.C1 = v.Stop
  1796.     end
  1797.   end
  1798.   for _, v in pairs(altTweenTable) do
  1799.     if v.Weld.C1 == v.Stop then
  1800.       table.remove(tweenTable, _)
  1801.     elseif v.th < 1 - v.Step then
  1802.       v.th = v.th + v.Step
  1803.       i = v.th
  1804.       v.Weld.C1 = v.Weld.C1:lerp(CFrame.new(v.Start.p.X * (1 - i) + v.Stop.p.X * i, v.Start.p.Y * (1 - i) + v.Stop.p.Y * i, v.Start.p.Z * (1 - i) + v.Stop.p.Z * i) * CFrame.fromEulerAnglesXYZ(v.X1 * (1 - i) + v.X2 * i, v.Y1 * (1 - i) + v.Y2 * i, v.Z1 * (1 - i) + v.Z2 * i), 1)
  1805.     else
  1806.       v.Weld.C1 = v.Stop
  1807.     end
  1808.   end
  1809. end)
  1810. local oldcombo
  1811. local thingz = false
  1812. spawn(function()
  1813.   while wait(0.1) do
  1814.     for _, v in pairs(cooldowns) do
  1815.       if 0.1 > v.timeleft then
  1816.         table.remove(cooldowns, _)
  1817.       else
  1818.         v.timeleft = v.timeleft - 0.1
  1819.       end
  1820.     end
  1821.   end
  1822. end)
  1823. spawn(function()
  1824.   while wait(0.1) do
  1825.     if thingz == false then
  1826.       oldcombo = combostring
  1827.       thingz = true
  1828.     else
  1829.       if string.len(oldcombo) == string.len(combostring) then
  1830.         combostring = ""
  1831.         oldcombo = ""
  1832.       end
  1833.       thingz = false
  1834.     end
  1835.   end
  1836. end)
  1837. while wait() do
  1838.   if mana < maxmana and not deb and not animPlaying then
  1839.     mana = mana + 2
  1840.     if mana == maxmana + 1 then
  1841.       mana = maxmana
  1842.     end
  1843.   end
  1844.   if animPlaying == true and runLeg == true then
  1845.     walkLegs()
  1846.   end
  1847.   if run == true and animPlaying == false then
  1848.     altTweenTable = {}
  1849.     tweenTable = {}
  1850.     walkCycle()
  1851.   elseif idle == true and animPlaying == false then
  1852.     tweenTable = {}
  1853.     reset()
  1854.   end
  1855. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement