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