View difference between Paste ID: 4J10Mdz5 and jDsZkH9D
SHOW: | | - or go back to the newest paste.
1
dot = false
2
des = false
3
local ChatService = game:GetService("Chat")
4
local player = game.Players.LocalPlayer
5
char = player.Character
6
hum = char.Humanoid
7
torso = hum.Torso
8
lig = Instance.new("PointLight",player.Character.Torso)
9
lig.Color=Color3.new(0,255,255)
10
m=player:GetMouse()
11
bb = Instance.new("BillboardGui",player.Character.Head)
12
bb.Enabled = true
13
bb.AlwaysOnTop = true
14
bb.Size = UDim2.new(0,200,0,50)
15
bb.StudsOffset = Vector3.new(0,1,0)
16
gui=Instance.new("TextBox",bb)
17
gui.Text = "* "
18
gui.Size = UDim2.new(0,133,0,45)
19
gui.Position=UDim2.new(0,57,0,-40)
20
gui.TextColor3 = Color3.new(255,255,255)
21
gui.BackgroundColor3=Color3.new(0,0,0)
22
gui.TextWrapped = true
23
gui.TextScaled = true
24
gui.TextXAlignment = "Left"
25
gui.TextYAlignment = "Top"
26
gui.Visible = false
27
gui.BorderColor3 = Color3.new(0,0,0)
28
29
gui1=Instance.new("TextButton",bb)
30
gui1.Position=UDim2.new(0,5,0,-43)
31
gui1.Size = UDim2.new(0,190,0,51)
32
33
gui1.TextColor3 = Color3.new(255,255,255)
34
gui1.BackgroundColor3=Color3.new(255,255,255)
35
36
gui1.Visible = false
37
img = Instance.new("ImageLabel",bb)
38
img.Size = UDim2.new(0,46,0,47)
39
img.Position = UDim2.new(0,10,0,-41)
40
img.Image = "rbxassetid://388166921"
41
img.BorderColor3 = Color3.new(0,0,0)
42
img.Visible = false
43
asd = Instance.new("Sound",player.Character.Torso)
44
asd.SoundId = "http://www.roblox.com/asset/?id = 358280695"
45
46
asd1 = Instance.new("Sound",player.Character.Torso)
47
asd1.SoundId = "http://www.roblox.com/asset/?id = 358280695"
48
49
asd2 = Instance.new("Sound",player.Character.Torso)
50
asd2.SoundId = "http://www.roblox.com/asset/?id = 306370481"
51
asd2.Looped = true
52
asd3 = Instance.new("Sound",player.Character.Torso)
53
asd3.SoundId = "http://www.roblox.com/asset/?id = 316014309"
54
asd3.Looped = true
55
asd4 = Instance.new("Sound",player.Character.Torso)
56
asd4.SoundId = "http://www.roblox.com/asset/?id = 388938813"
57
asd4.Looped = false
58
asd5 = Instance.new("Sound",player.Character.Torso)
59
asd5.SoundId = "http://www.roblox.com/asset/?id = 0"
60
asd5.Looped = true
61
dunkd = Instance.new("Sound",player.Character.Torso)
62
dunkd.SoundId = "http://www.roblox.com/asset/?id = 333078694"
63
dunkd.Looped = false
64
function play(play)
65
asd:Play()
66
asd1:Play()
67
end
68
eye = Instance.new("Part",player.Character)
69
eye.BrickColor = BrickColor.new("Toothpaste")
70
eye.Material = "Neon"
71
eye.FormFactor = 3
72
eye.Shape = "Ball"
73
eye.Size = Vector3.new(0.37,0.37,0.1)
74
weld = Instance.new("Weld",eye)
75
weld.Part0 = eye
76
weld.Part1 = player.Character.Head
77
weld.C0 = CFrame.new(0.1,-0.2,0.45)
78
eye.Transparency = 1
79
-- listen for their chatting
80
player.Chatted:connect(function(message)
81
a = string.len(message)
82
gui.Text = "* "
83
gui.Visible = true
84
gui1.Visible = true
85
des = false
86
img.Visible = true
87
print(a)
88
if dot == false then
89
for i = 1,string.len(message) do wait(0.07)
90
gui.Text =gui.Text..message:sub(i,i)
91
92
play()
93
end
94
end
95
96
des = true
97
end)
98
m.KeyDown:connect(function(k)
99-
if k == "g" then
99+
human.Changed:connect(function(prop)
100-
asd2:Play()
100+
if prop=='MoveDirection'then
101-
eye.Transparency = 0
101+
if human.MoveDirection.magnitude>.02 then
102
Debounces.isMoving=true;
103
else
104
Debounces.isMoving=false;
105
end;
106-
if k == "p" then
106+
end;
107
end);
108-
asd3:Play()
108+
uinps.InputBegan:connect(function(InputObj)
109
if InputObj.KeyCode==Enum.KeyCode.Slash then
110
local finishEvent=nil;
111
Debounces.isTyping=true
112-
if k == "r" then
112+
finishEvent=uinps.InputBegan:connect(function(InputObj)
113-
eye.Transparency = 0
113+
if InputObj.KeyCode==Enum.KeyCode.Return or InputObj.UserInputType==Enum.UserInputType.MouseButton1 then
114-
asd4:Play()
114+
Debounces.isTyping=false;
115
finishEvent:disconnect();
116
end;
117
end);
118-
if k == "q" then
118+
end;
119
end);
120-
asd5:Play()
120+
mouse.KeyDown:connect(function(key)
121
if key=='0'then
122
Debounces.isSprinting=true;
123
playSound(160248522,c.Torso);
124-
if k == "z" then
124+
for i=1,3 do
125
spawn(function()
126-
img.Image = "rbxassetid://388167098"
126+
local e=Instance.new('Part',c);
127
e.Size=Vector3.new(1,1,1);
128
e.Material='Neon';
129
e.Color=a();
130-
if k == "c" then
130+
e.Anchored=true;
131
e.CFrame=c.HumanoidRootPart.CFrame*CFrame.Angles(0,0,-math.pi/2);
132
e.CanCollide=false;
133
local rm=Instance.new('SpecialMesh',e);
134
rm.MeshType='FileMesh';
135-
if k == "n" then
135+
rm.MeshId='rbxassetid://3270017';
136-
img.Image = "rbxassetid://388166991"
136+
rm.Scale=Vector3.new(3.2,3.2,10);
137
for x=1,30 do
138
wait();
139
rm.Scale=rm.Scale:lerp(Vector3.new(i*30,i*30,(4-i)*450),.1);
140-
if k == "b" then
140+
e.Transparency=x/30+.5;
141-
img.Image = "rbxassetid://378060690"
141+
end;
142
end);
143
end;
144
c.HumanoidRootPart.Velocity=c.HumanoidRootPart.CFrame.lookVector*200;
145-
if k == "m" then
145+
end;
146-
img.Image = "rbxassetid://378609498"
146+
end);
147
mouse.KeyUp:connect(function(key)
148
if key=='0'then
149
Debounces.isSprinting=false;
150-
if k == "v" then
150+
end;
151-
img.Image = "rbxassetid://388166961"
151+
end);
152
mouse.KeyDown:connect(function(key)
153
if key=='v'then
154
playSound(201858087,c.Torso,math.random(90,120)/100);
155-
if k == "h" then
155+
local oldPos=c.HumanoidRootPart.CFrame.p;
156-
img.Image = "rbxassetid://378577428"
156+
local mHit=mouse.Hit.p;
157
for i=1,2 do
158
spawn(function()
159
local pos
160-
if k == "j" then
160+
if i==1 then pos=oldPos else pos=mHit end
161-
img.Image = "rbxassetid://388167116"
161+
local p=Instance.new('Part',workspace);
162
p.Anchored=true;
163
p.CanCollide=false;
164
p.Color=a();
165-
if k == "l" then
165+
p.FormFactor='Custom';
166-
img.Image = "rbxassetid://388167154"
166+
p.CFrame=CFrame.new(pos+Vector3.new(0,500,0));
167-
print("You take your very last breath...")
167+
p.Transparency=.4;
168-
asdd = Instance.new("Sound",player.Character.Torso)
168+
p.Size=Vector3.new(20,1000,20);
169-
asdd.SoundId = "http://www.roblox.com/asset/?id = 357417055"
169+
for i=1,20 do
170-
asdd.Looped = false
170+
wait();
171
p.Transparency=.4+(i/10)*.6;
172-
wait()
172+
p.Size=Vector3.new(20-i*1.5,1000,20-i*1.5);
173-
asdd:Play()
173+
p.CFrame=CFrame.new(pos+Vector3.new(0,500,0));
174
end;
175-
wait(2)
175+
p:Destroy();
176-
asddd = Instance.new("Sound",player.Character.Torso)
176+
end);
177-
asddd.SoundId = "http://www.roblox.com/asset/?id = 387183672"
177+
end;
178-
asddd.Looped = false
178+
if Debounces.isMoving then
179
c.HumanoidRootPart.CFrame=CFrame.new(mouse.Hit.p+Vector3.new(0,4,0),Vector3.new(c.HumanoidRootPart.Velocity.x,mouse.Hit.p.y+4,c.HumanoidRootPart.Velocity.z));
180-
wait()
180+
else
181-
asddd:Play()
181+
c.HumanoidRootPart.CFrame=CFrame.new(mouse.Hit.p+Vector3.new(0,4,0),Vector3.new(oldPos.x,mouse.Hit.p.y+4,oldPos.z));
182
end;
183-
wait(2)
183+
end;
184-
asdded = Instance.new("Sound",player.Character.Torso)
184+
end);
185-
asdded.SoundId = "http://www.roblox.com/asset/?id = 387187707"
185+
mouse.KeyDown:connect(function(key)
186-
asdded.Looped = false
186+
if key=='r'then
187
local pointTarget=mouse.Hit.p;
188-
wait()
188+
for i=1,20 do
189-
asdded:Play()
189+
wait();
190
gasterBlast(CFrame.new(pointTarget+Vector3.new(math.sin(tick()*10)*20,5+math.abs(math.sin(tick()*5)*10),math.cos(tick()*10)*20),pointTarget));
191-
char:BreakJoints()
191+
end;
192
wait();
193-
end) 
193+
largegasterBlast(CFrame.new(pointTarget+Vector3.new(0,35,0),pointTarget));
194
end;
195-
if k == "x" then
195+
end);
196-
if des == true then
196+
mouse.KeyDown:connect(function(key)
197
if key=='f'then
198
local pointTarget=mouse.Hit.p;
199
for i=1,20 do
200
wait();
201
gasterBlast(CFrame.new(c.HumanoidRootPart.CFrame.p+Vector3.new(0,50,0),pointTarget):toWorldSpace(CFrame.new(math.sin(i/2)*(20-i),math.cos(i/2)*(20-i),-i)));
202
end;
203
largegasterBlast(CFrame.new(c.HumanoidRootPart.CFrame.p+Vector3.new(0,50,0),pointTarget):toWorldSpace(CFrame.new(0,0,-25)));
204
end;
205-
if k == "f" then
205+
end);
206-
asd3:Stop()
206+
mouse.Button1Down:connect(function()
207-
asd2:Stop()
207+
Debounces.isFlash=true;
208-
asd4:Stop()
208+
end);
209-
dunkd:Stop()
209+
mouse.Button1Up:connect(function()
210
Debounces.isFlash=false;
211-
asd5:Stop()
211+
end);
212
mouse.KeyDown:connect(function(key)
213
if key=='k'then
214
if music.isPlaying then music:Stop();else music:Play();end;
215-
if k == "u" then
215+
end;
216
end);
217
mouse.KeyDown:connect(function(key)
218
if key=='j'then
219-
dunkd:Play()
219+
if music2.isPlaying then music2:Stop();else music2:Play();end;
220
end;
221
end);
222
mouse.KeyDown:connect(function(key)
223-
if k == "y" then
223+
if key=='l'then
224-
img.Image = "rbxassetid://378198656"
224+
if music3.isPlaying then music3:Stop();else music3:Play();end;
225
end;
226
end);
227
mouse.KeyDown:connect(function(key)
228
if key=='p'then
229
if music4.isPlaying then music4:Stop();else music4:Play();end;
230
end;
231
end);
232
mouse.KeyDown:connect(function(key)
233
if key=='o'then
234
if music5.isPlaying then music4:Stop();else music5:Play();end;
235
end;
236
end);
237
mouse.KeyDown:connect(function(key)
238
if key=='e'then
239
gasterBlast(c.Torso.CFrame.p+Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p,true);
240
end;
241
end);
242
mouse.KeyDown:connect(function(key)
243
if key=='c'then
244
largegasterBlast(c.Torso.CFrame.p+Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p);
245
end;
246
end);
247
mouse.KeyDown:connect(function(key)
248
if key=='q'then
249
for i=1,5 do
250
wait();
251
gasterBlast(c.Torso.CFrame.p+Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p);
252
end;
253
largegasterBlast(c.Torso.CFrame.p+Vector3.new(0,25,0),mouse.Hit.p);
254
end;
255
end);
256
mouse.KeyDown:connect(function(key)
257
if key=='t'then
258
local pointTarget=mouse.Hit.p;
259
for i=1,20 do
260
gasterBlast(pointTarget+Vector3.new(math.sin(math.deg((360/40)*i))*(20-i),5+i,math.cos(math.deg((360/40)*i))*(20-i)),pointTarget);
261
end;
262
wait(.2);
263
for i=1,10 do
264
largegasterBlast(pointTarget+Vector3.new(math.sin(math.deg((360/20)*i))*25,20,math.cos(math.deg((360/20)*i))*25),pointTarget);
265
end;
266
end;
267
end);
268
human.StateChanged:connect(function(os,ns)
269
if c.HumanoidRootPart.Velocity.Y<.1 and Debounces.isJumping==true and ns==Enum.HumanoidStateType.Landed then
270
Debounces.isJumping=false;
271
end;
272
end);
273
for i=1,#Joints do
274
Joints[i].C1=CFrameZero();
275
end;
276
rs.RenderStepped:connect(function()
277
end)
278
Debounces.FPS=1/rs.RenderStepped:wait();
279
if Debounces.FPS<30 then
280
Debounces.FPS=30;
281
end;
282
if Debounces.isSprinting then
283
lerpBoom();
284
else
285
noBoom();
286
end;
287
-- my god...
288
-- Suck_HiyaThere moves to arizona
289
290
--------------------------------------------------------
291
292
        pls = game:GetService'Players'
293
        rs = game:GetService'RunService'
294
        uinps = game:GetService'UserInputService'
295
        lp = pls.LocalPlayer
296
        mouse = lp:GetMouse()
297
        c = lp.Character
298
        human = c.Humanoid
299
        human.MaxHealth = 50
300
        soundVol = 0
301
        wait()
302
        human.Health = 50
303
        c.Health:Destroy()
304
305
--------------------------------------------------------
306
307
        Debounces = {
308
                AnimationCycles = 0;
309
                FPS = 0;
310
                scalingDamage = false;
311
                damageLevel = 0;
312
                attackNumber = 0;
313
                isAttacking = false;
314
                isMoving = false;
315
                isSprinting = false;
316
                isBoosting = false;
317
                isPassive = false;
318
                isTyping = false;
319
        }
320
321
--------------------------------------------------------
322
323
        numLerp = function(start, goal, alpha)
324
                return(((goal - start) * alpha) + start)
325
        end
326
327
        CFrameZero = function()
328
                return CFrame.new(Vector3.new())
329
        end
330
331
        rad = function(value)
332
                return math.rad(value)
333
        end
334
335
        CFAngles = function(Vector)
336
                return CFrame.Angles(rad(Vector.x),rad(Vector.y),rad(Vector.z))
337
        end
338
339
--------------------------------------------------------
340
341
        AnimStat = {
342
                lerpSpeed = .2;
343
                lerpSpeed2 = .35;
344
                lerpTween = 0;
345
        }
346
347
        Joints = {
348
                c.HumanoidRootPart.RootJoint;
349
                c.Torso.Neck;
350
                c.Torso['Left Shoulder'];
351
                c.Torso['Right Shoulder'];
352
                c.Torso['Left Hip'];
353
                c.Torso['Right Hip'];
354
        }
355
356
        JointTargets = {
357
                CFrameZero();
358
                CFrameZero();
359
                CFrameZero();
360
                CFrameZero();
361
                CFrameZero();
362
                CFrameZero();
363
        }
364
365
--------------------------------------------------------
366
367
        BodyColors = {
368
                HeadColor = BrickColor.new("Institutional white");
369
                LeftArmColor = BrickColor.new("Institutional white");
370
                RightArmColor = BrickColor.new("Institutional white");
371
                LeftLegColor = BrickColor.new("Institutional white");
372
                RightLegColor = BrickColor.new("Institutional white");
373
                TorsoColor = BrickColor.new("Mid gray");
374
        }
375
376
        Customs = {
377
                Face = "http://www.roblox.com/asset/?id=8560915";
378
                Shirt = "http://www.roblox.com/asset/?id=334781688";
379
                Pants = "http://www.roblox.com/asset/?id=335237283";
380
        }
381
382
--------------------------------------------------------
383
384
        prepareCharacter = function()
385
                local transPoints = {
386
                        NumberSequenceKeypoint.new(0,0,0),
387
                        NumberSequenceKeypoint.new(.4,.05,0),
388
                        NumberSequenceKeypoint.new(.8,.16,0),
389
                        NumberSequenceKeypoint.new(1,.25,0)
390
                }
391
                local sizePoints = {
392
                        NumberSequenceKeypoint.new(0,.5,0),
393
                        NumberSequenceKeypoint.new(.18,.5,0),
394
                        NumberSequenceKeypoint.new(.49,.69,0),
395
                        NumberSequenceKeypoint.new(.74,.5,0),
396
                        NumberSequenceKeypoint.new(.92,.25,0),
397
                        NumberSequenceKeypoint.new(1,.0625,0)
398
                }
399
                local Size = NumberSequence.new(sizePoints)
400
                local Transparency = NumberSequence.new(transPoints)
401
                rayModel = Instance.new("Model",c)
402
                efxBlock = Instance.new("Part",c)
403
                efxBlock.Material = "Neon"
404
                efxBlock.FormFactor = "Custom"
405
                efxBlock.Size = Vector3.new(.3,.3,.3)
406
                light = Instance.new("PointLight",c.Head)
407
                light.Range = 8
408
                light.Color = Color3.new(1,1,1)
409
                light.Shadows = false
410
                local particles = Instance.new("ParticleEmitter",efxBlock)
411
                particles.Color = ColorSequence.new(Color3.new(.85,.85,.85),Color3.new(1,1,1))
412
                particles.ZOffset = 1
413
                particles.LightEmission = .96
414
                particles.Size = Size
415
                particles.Name = "Fire"
416
                particles.Transparency = Transparency
417
                particles.LockedToPart = true
418
                particles.Rate = 25
419
                particles.EmissionDirection = "Right"
420
                particles.Acceleration = Vector3.new(-.5,0,0)
421
                particles.Texture = "rbxassetid://24378732"
422
                particles.Lifetime = NumberRange.new(.25,.25)
423
                particles.Speed = NumberRange.new(-.5,5)
424
                script.Parent = efxBlock
425
                fire = particles
426
                local offset = Vector3.new(0.2, .23, -0.5)
427
                local weld = Instance.new("Weld",c.Head)
428
                weld.Part0 = c.Head
429
                weld.Part1 = efxBlock
430
                weld.C0 = CFrame.new(offset) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
431
                efxBlock.Parent = c
432
                local music = Instance.new("Sound",c.Torso)
433
                music.SoundId = "rbxassetid://316012176"
434
                music.Looped = true
435
                music.Volume = soundVol
436
                fight = music
437
                local music2 = Instance.new("Sound",c.Torso)
438
                music2.SoundId = "rbxassetid://316014309"
439
                music2.Looped = true
440
                music2.Volume = soundVol
441
                sans = music2
442
                pointGyro = Instance.new("BodyGyro",c.HumanoidRootPart)
443
                pointGyro.P = 1e7
444
                pointGyro.D = 1e3
445
                pointGyro.MaxTorque = Vector3.new(0,1e7,0)
446
                animator = c.Humanoid:FindFirstChild("Animator")
447
                if animator then
448
                        animator:Destroy()
449
                end
450
                c.Torso.roblox:Destroy()
451
                for i,v in pairs (c.Head:children()) do
452
                        if v.ClassName == "Sound" then
453
                                v:Destroy()
454
                        end
455
                end
456
                for i = 1,#Joints do
457
                        Joints[i].C1 = CFrame.new(Vector3.new())
458
                end
459
                human.WalkSpeed = 0
460
                human.JumpPower = 0
461
        end
462
463
        uinps.InputBegan:connect(function(InputObject)
464
                if InputObject.KeyCode == Enum.KeyCode.K and Debounces.isTyping == false then
465
                        Debounces.isPassive = not Debounces.isPassive
466
                end
467
        end)
468
469
        setJointCFrames = function(table)
470
                for i = 1,#table do
471
                        JointTargets[i] = table[i]
472
                end
473
                AnimationCycles = 0
474
        end
475
476
        setLerp = function(speed)
477
                AnimStat.lerpSpeed = speed
478
        end
479
480
        setTween = function(tween)
481
                AnimStat.lerpTween = tween
482
        end
483
484
        takeDamage = function(position,damage,distance,platformStand)
485
                for i,v in pairs (pls:children()) do
486
                        if v.ClassName == "Player" and v:FindFirstChild("Character") then
487
                                local torso = v.Character:FindFirstChild("Torso")
488
                                if torso and (torso.Position - position).magnitude < distance then
489
                                if v.Character.Humanoid.MaxHealth > 1000 then
490
                                    v.Character.Humanoid.MaxHealth = 100;
491
                               v.Character.Humanoid.Breakjoints()
492
                                end
493
                                
494
                            
495
                                        v.Character.Humanoid:TakeDamage(damage)
496
                                        if platformStand == true then
497
                                                v.Character.PlatformStand = platformStand
498
                                        end
499
                                end
500
                        end
501
                end
502
        end
503
504
--------------------------------------------------------
505
506
        prepareCharacter()
507
508
--------------------------------------------------------
509
510
        spawn(function()
511
                local sine = 0
512
                while wait() do
513
                        pointGyro.CFrame = CFrame.new(Vector3.new(),(mouse.Hit.p - c.HumanoidRootPart.CFrame.p).unit * 100)
514
                        if Debounces.isAttacking == false and Debounces.isMoving == false and Debounces.isBoosting == false then
515
                                setLerp(.1)
516
                                if Debounces.isPassive == true then
517
                                         setJointCFrames({
518
                                                CFrame.new(Vector3.new(0, 0 + math.sin(tick() * 1.5)/25, 0)) * CFAngles(Vector3.new(0, 0, 0));
519
                                                CFrame.new(Vector3.new(0, 1.5 + math.sin(tick() * -1.5)/35, math.sin(tick() * 1.5)/35)) * CFAngles(Vector3.new(1.554 + math.sin((-tick() + 2) * 1.5) * 5, -0.001, -0.001));
520
                                                CFrame.new(Vector3.new(-1.06, -0.03 + math.sin(tick() * 1.5)/25, 0.449)) * CFAngles(Vector3.new(-29.511, 0, 29.51));
521
                                                CFrame.new(Vector3.new(1.059, -0.031 + math.sin(tick() * 1.5)/25, 0.449)) * CFAngles(Vector3.new(-29.511, -3.842, -29.511));
522
                                                CFrame.new(Vector3.new(-0.49, -2, -0.05/1.5)) * CFAngles(Vector3.new(0, 8.885, 0));
523
                                                CFrame.new(Vector3.new(0.49, -2, -0.05/1.5)) * CFAngles(Vector3.new(-0.001, -8.886, 0));
524
                                        })
525
                                else
526
                                        setJointCFrames({
527
                                                CFrame.new(Vector3.new(0, 0 + math.sin(tick() * 1.5)/25, 0)) * CFAngles(Vector3.new(0, 0, 0));
528
                                                CFrame.new(Vector3.new(0, 1.5 + math.sin(tick() * -1.5)/35, math.sin(tick() * 1.5)/35)) * CFAngles(Vector3.new(1.554 + math.sin((-tick() + 2) * 1.5) * 5, -0.001, -0.001));
529
                                                CFrame.new(Vector3.new(-1.06, -0.03 + math.sin(tick() * 1.5)/25, 0.449)) * CFAngles(Vector3.new(-29.511, 0, 29.51));
530
                                                CFrame.new(Vector3.new(1.059, -0.031 + math.sin(tick() * 1.5)/25, 0.449)) * CFAngles(Vector3.new(-29.511, -3.842, -29.511));
531
                                                CFrame.new(Vector3.new(-0.49, -2, -0.05/1.5)) * CFAngles(Vector3.new(0, 8.885, 0));
532
                                                CFrame.new(Vector3.new(0.49, -2, -0.05/1.5)) * CFAngles(Vector3.new(-0.001, -8.886, 0));
533
                                        })
534
                                end
535
                        elseif Debounces.isAttacking == false and Debounces.isMoving == true and Debounces.isBoosting == false then
536
                                sine = sine + math.rad(12)
537
                                human.WalkSpeed = 15
538
                                setLerp(.15)
539
                                setJointCFrames({
540
                                        CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, math.sin(sine) * -2.5, 0));
541
                                        CFrame.new(Vector3.new(0, 1.499, -0.04)) * CFAngles(Vector3.new(-5.676, -0.001 - math.sin(sine) * 3, -0.001));
542
                                        CFrame.new(Vector3.new(-1.97, 0 + math.sin(sine + .5)/20, 0.1 + math.sin(-sine)/2)/1.3) * CFAngles(Vector3.new(-5 + math.sin(sine) * 23, 0, 0));
543
                                        CFrame.new(Vector3.new(1.97, 0 - math.sin(sine + .5)/20, 0.1 + math.sin(sine)/2)/1.3) * CFAngles(Vector3.new(-5 + math.sin(-sine) * 23, 0, 0));
544
                                        CFrame.new(Vector3.new(-0.5, -1.93 - math.cos(sine)/8.7, 0.2 + math.sin(sine)/2)) * CFAngles(Vector3.new(-15 + math.sin(-sine) * 30, 0, 0));
545
                                        CFrame.new(Vector3.new(0.5, -1.93 + math.cos(sine)/8.7, 0.2 + math.sin(-sine)/2)) * CFAngles(Vector3.new(-15 + math.sin(sine) * 30, 0, 0));
546
                                })
547
                        end
548
                        if Debounces.scalingDamage == true then
549
                                takeDamage(c.HumanoidRootPart.Position,Debounces.damageLevel,8,true)
550
                        end
551
                end
552
        end)
553
554
        human.Changed:connect(function(prop)
555
                if prop == "MoveDirection" then
556
                        if human.MoveDirection.magnitude > .02 then
557
                                Debounces.isMoving = true
558
                        else
559
                                Debounces.isMoving = false
560
                        end
561
                end
562
        end)
563
564
        uinps.InputBegan:connect(function(InputObject)
565
                if InputObject.KeyCode == Enum.KeyCode.A and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isBoosting == false and Debounces.isPassive == true and Debounces.isTyping == false then
566
                        Debounces.isBoosting = true
567
                        Debounces.damageLevel = 10
568
                        Debounces.scalingDamage = true
569
                        local vel = Instance.new("BodyVelocity",c.HumanoidRootPart)
570
                        setLerp(.15)
571
                        setJointCFrames({
572
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-22.001, 0, 20));
573
                                CFrame.new(Vector3.new(-0.001, 1.52, 0)) * CFAngles(Vector3.new(-10.372, 28.758, -1.837));
574
                                CFrame.new(Vector3.new(-0.7, -0.2, -0.801)) * CFAngles(Vector3.new(45, 0, 45));
575
                                CFrame.new(Vector3.new(1.7, 0.2, 0.199)) * CFAngles(Vector3.new(-15.001, -15.001, 45));
576
                                CFrame.new(Vector3.new(-0.3, -2, 0.2)) * CFAngles(Vector3.new(-11.283, -17.801, 19.495));
577
                                CFrame.new(Vector3.new(0.9, -2, -0.201)) * CFAngles(Vector3.new(15, -15, 29.999));
578
                        })
579
                        local boostSpeed = 250
580
                        local efx = Instance.new("Sound",c.Head)
581
                        efx.SoundId = "rbxassetid://200632875"
582
                        efx.Pitch = math.random(1100,1300)/1000
583
                        efx.Volume = .5
584
                        efx:Play()
585
                        spawn(function()
586
                                wait(5)
587
                                efx:Destroy()
588
                        end)
589
                        vel.Velocity = (c.HumanoidRootPart.Position - c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(1,0,0)).p).unit * boostSpeed
590
                        vel.P = 1e3
591
                        vel.MaxForce = Vector3.new(math.huge,0,math.huge)
592
                        wait(.15)
593
                        vel.P = 1000
594
                        vel.MaxForce = Vector3.new(3000,0,3000)
595
                        vel.Velocity = Vector3.new()
596
                        wait(.3)
597
                        setLerp(.3)
598
                        setJointCFrames({
599
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-22.001, 0, 13));
600
                                CFrame.new(Vector3.new(-0.001, 1.52, 0)) * CFAngles(Vector3.new(-30.239, 42.47, 11.879));
601
                                CFrame.new(Vector3.new(-1.9, -0.2, -0.401)) * CFAngles(Vector3.new(44.999, 0, -45));
602
                                CFrame.new(Vector3.new(1.5, 0.4, 0.599)) * CFAngles(Vector3.new(-62.058, -21.088, -15.383));
603
                                CFrame.new(Vector3.new(-0.7, -1.8, 0.6)) * CFAngles(Vector3.new(-59.239, -26.158, -14.457));
604
                                CFrame.new(Vector3.new(0.5, -1, -0.801)) * CFAngles(Vector3.new(-0.505, -14.478, -18.968));
605
                        })
606
                        wait(.2)
607
                        vel:Destroy()
608
                        Debounces.damageLevel = 0
609
                        Debounces.scalingDamage = false
610
                        Debounces.isBoosting = false
611
                end
612
        end)
613
614
        uinps.InputBegan:connect(function(InputObject)
615
                if InputObject.KeyCode == Enum.KeyCode.D and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isBoosting == false and Debounces.isPassive == true and Debounces.isTyping == false then
616
                        Debounces.isBoosting = true
617
                        Debounces.damageLevel = 10
618
                        Debounces.scalingDamage = true
619
                        local vel = Instance.new("BodyVelocity",c.HumanoidRootPart)
620
                        setLerp(.15)
621
                        setJointCFrames({
622
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-22.001, 0, -15));
623
                                CFrame.new(Vector3.new(-0.001, 1.52, 0)) * CFAngles(Vector3.new(-13.603, -45.662, -6.645));
624
                                CFrame.new(Vector3.new(-1.9, 0, -0.201)) * CFAngles(Vector3.new(31.935, -7.436, -60.853));
625
                                CFrame.new(Vector3.new(1.9, 0, 0.399)) * CFAngles(Vector3.new(-3.644, -23.448, 59.102));
626
                                CFrame.new(Vector3.new(-1.1, -1.8, 0)) * CFAngles(Vector3.new(-3.616, -11.936, -29.566));
627
                                CFrame.new(Vector3.new(0.1, -1.6, -0.601)) * CFAngles(Vector3.new(1.943, -7.181, -32.528));
628
                        })
629
                        local boostSpeed = 250
630
                        local efx = Instance.new("Sound",c.Head)
631
                        efx.SoundId = "rbxassetid://200632875"
632
                        efx.Pitch = math.random(1100,1300)/1000
633
                        efx.Volume = .5
634
                        efx:Play()
635
                        spawn(function()
636
                                wait(5)
637
                                efx:Destroy()
638
                        end)
639
                        vel.Velocity = (c.HumanoidRootPart.Position - c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(-1,0,0)).p).unit * boostSpeed
640
                        vel.P = 1e3
641
                        vel.MaxForce = Vector3.new(math.huge,0,math.huge)
642
                        wait(.15)
643
                        vel.P = 1000
644
                        vel.MaxForce = Vector3.new(3000,0,3000)
645
                        vel.Velocity = Vector3.new()
646
                        wait(.3)
647
                        setLerp(.3)
648
                        setJointCFrames({
649
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-22.001, 0, -13));
650
                                CFrame.new(Vector3.new(-0.001, 1.52, 0)) * CFAngles(Vector3.new(-12.936, -46.206, -2.327));
651
                                CFrame.new(Vector3.new(-1.9, 0.2, -0.201)) * CFAngles(Vector3.new(45, 0, -60));
652
                                CFrame.new(Vector3.new(1.7, 0, -0.401)) * CFAngles(Vector3.new(14.035, -5.69, 35.342));
653
                                CFrame.new(Vector3.new(-0.3, -1.8, 0.6)) * CFAngles(Vector3.new(-55.479, -10.612, 15.729));
654
                                CFrame.new(Vector3.new(0.5, -1, -0.801)) * CFAngles(Vector3.new(14.999, -15, 14.999));
655
                        })
656
                        wait(.2)
657
                        vel:Destroy()
658
                        Debounces.damageLevel = 0
659
                        Debounces.scalingDamage = false
660
                        Debounces.isBoosting = false
661
                end
662
        end)
663
664
        uinps.InputBegan:connect(function(InputObject)
665
                if InputObject.KeyCode == Enum.KeyCode.W and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isBoosting == false and Debounces.isPassive == true and Debounces.isTyping == false then
666
                        Debounces.isBoosting = true
667
                        Debounces.damageLevel = 10
668
                        Debounces.scalingDamage = true
669
                        local vel = Instance.new("BodyVelocity",c.HumanoidRootPart)
670
                        setLerp(.15)
671
                        setJointCFrames({
672
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-40.001, 0, 5));
673
                                CFrame.new(Vector3.new(-0.001, 1.429, 0.2)) * CFAngles(Vector3.new(25.141, -8.347, 0.878));
674
                                CFrame.new(Vector3.new(-1.5, 0, .101)) * CFAngles(Vector3.new(14.999, -0.001, 0));
675
                                CFrame.new(Vector3.new(1.7, 0.199, -0.401)) * CFAngles(Vector3.new(28.08, -0.358, 21.087));
676
                                CFrame.new(Vector3.new(-0.5, -1.8, 0.6)) * CFAngles(Vector3.new(-29.448, 3.57, -1.5));
677
                                CFrame.new(Vector3.new(0.499, -1.6, -0.401)) * CFAngles(Vector3.new(-0.505, -14.478, -3.968));
678
                        })
679
                        local boostSpeed = 250
680
                        local efx = Instance.new("Sound",c.Head)
681
                        efx.SoundId = "rbxassetid://200632875"
682
                        efx.Pitch = math.random(1100,1300)/1000
683
                        efx.Volume = .5
684
                        efx:Play()
685
                        spawn(function()
686
                                wait(5)
687
                                efx:Destroy()
688
                        end)
689
                        vel.Velocity = (c.HumanoidRootPart.Position - c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,1)).p).unit * boostSpeed
690
                        vel.P = 1e3
691
                        vel.MaxForce = Vector3.new(math.huge,0,math.huge)
692
                        wait(.15)
693
                        vel.P = 1000
694
                        vel.MaxForce = Vector3.new(3000,0,3000)
695
                        vel.Velocity = Vector3.new()
696
                        wait(.3)
697
                        setLerp(.3)
698
                        setJointCFrames({
699
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-22.001, 40, -13));
700
                                CFrame.new(Vector3.new(-0.001, 1.52, 0)) * CFAngles(Vector3.new(-12.936, -46.206, -2.327));
701
                                CFrame.new(Vector3.new(-1.9, 0.2, -0.201)) * CFAngles(Vector3.new(45, 0, -60));
702
                                CFrame.new(Vector3.new(1.7, 0, -0.401)) * CFAngles(Vector3.new(14.035, -5.69, 35.342));
703
                                CFrame.new(Vector3.new(-0.3, -1.8, 0.6)) * CFAngles(Vector3.new(-55.479, -10.612, 15.729));
704
                                CFrame.new(Vector3.new(0.5, -1, -0.801)) * CFAngles(Vector3.new(14.999, -15, 14.999));
705
                        })
706
                        wait(.2)
707
                        vel:Destroy()
708
                        Debounces.damageLevel = 0
709
                        Debounces.scalingDamage = false
710
                        Debounces.isBoosting = false
711
                end
712
        end)
713
714
        uinps.InputBegan:connect(function(InputObject)
715
                if InputObject.KeyCode == Enum.KeyCode.S and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isBoosting == false and Debounces.isPassive == true and Debounces.isTyping == false then
716
                        Debounces.isBoosting = true
717
                        Debounces.damageLevel = 10
718
                        Debounces.scalingDamage = true
719
                        local vel = Instance.new("BodyVelocity",c.HumanoidRootPart)
720
                        setLerp(.15)
721
                        setJointCFrames({
722
                                CFrame.new(Vector3.new(0, -.3, 0)) * CFAngles(Vector3.new(15, 0, 0));
723
                                CFrame.new(Vector3.new(-0.001, 1.52, -0.03)) * CFAngles(Vector3.new(-5.298, -1.305, -4.093));
724
                                CFrame.new(Vector3.new(-1.7, 0, -0.201)) * CFAngles(Vector3.new(12.112, -6.562, -16.939));
725
                                CFrame.new(Vector3.new(1.7, 0, -0.201)) * CFAngles(Vector3.new(8.817, 8.378, 20.465));
726
                                CFrame.new(Vector3.new(-0.7, -1.8, 0.2)) * CFAngles(Vector3.new(-14.432, 3.06, -2.373));
727
                                CFrame.new(Vector3.new(0.5, -1.8, -0.201)) * CFAngles(Vector3.new(-0.505, -14.478, -3.968));
728
                        })
729
                        local boostSpeed = 150
730
                        local boostSpeed = 250
731
                        local efx = Instance.new("Sound",c.Head)
732
                        efx.SoundId = "rbxassetid://200632875"
733
                        efx.Pitch = math.random(1100,1300)/1000
734
                        efx.Volume = .5
735
                        efx:Play()
736
                        spawn(function()
737
                                wait(5)
738
                                efx:Destroy()
739
                        end)
740
                        vel.Velocity = (c.HumanoidRootPart.Position - c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,-1)).p).unit * boostSpeed
741
                        vel.P = 1e3
742
                        vel.MaxForce = Vector3.new(math.huge,0,math.huge)
743
                        wait(.15)
744
                        vel.P = 1000
745
                        vel.MaxForce = Vector3.new(3000,0,3000)
746
                        vel.Velocity = Vector3.new()
747
                        wait(.3)
748
                        setLerp(.3)
749
                        setJointCFrames({
750
                                CFrame.new(Vector3.new(0, -.5, 0)) * CFAngles(Vector3.new(4, 0, 0));
751
                                CFrame.new(Vector3.new(-0.001, 1.52, -0.03)) * CFAngles(Vector3.new(-20.081, 28.752, 3.598));
752
                                CFrame.new(Vector3.new(-1.7, 0.2, -0.601)) * CFAngles(Vector3.new(59.51, -3.841, -14.511));
753
                                CFrame.new(Vector3.new(1.7, 0.2, 0.399)) * CFAngles(Vector3.new(-47.597, -13.104, 17.887));
754
                                CFrame.new(Vector3.new(-0.7, -1.4, 0.2)) * CFAngles(Vector3.new(-44.477, 3.836, -0.524));
755
                                CFrame.new(Vector3.new(0.5, -1.4, -0.601)) * CFAngles(Vector3.new(-15.868, -12.953, -7.631));
756
                        })
757
                        wait(.2)
758
                        vel:Destroy()
759
                        Debounces.damageLevel = 0
760
                        Debounces.scalingDamage = false
761
                        Debounces.isBoosting = false
762
                end
763
        end)
764
765
        uinps.InputBegan:connect(function(InputObject)
766
                if InputObject.KeyCode == Enum.KeyCode.Q and Debounces.isAttacking == false and Debounces.isSprinting == false and Debounces.isPassive == true and Debounces.isTyping == false then
767
                        local isLooping = true
768
                        uinps.InputEnded:connect(function(InputObject2)
769
                                if InputObject2.KeyCode == Enum.KeyCode.Q then
770
                                        isLooping = false
771
                                end
772
                        end)
773
                        while true do
774
                                if isLooping == false then
775
                                        break
776
                                end
777
                                Debounces.attackNumber = Debounces.attackNumber + 1
778
                                local aimPos = mouse.Hit.p
779
                                local head = Instance.new("Part",c)
780
                                head.Size = Vector3.new(12,.2,12)
781
                                head.CanCollide = false
782
                                head.Anchored = true
783
                                head.Transparency = 1
784
                                for i = 1,2 do
785
                                        local decal = Instance.new("Decal",head)
786
                                        decal.Texture = "rbxassetid://323497117"
787
                                        if i == 1 then
788
                                                decal.Face = Enum.NormalId.Top
789
                                        else
790
                                                decal.Face = Enum.NormalId.Bottom
791
                                        end
792
                                end
793
                                if Debounces.attackNumber%2 == 1 then
794
                                        head.CFrame = CFrame.new(c.Torso.CFrame:toWorldSpace(CFrame.new(8,8,.5)).p,aimPos)
795
                                else
796
                                        head.CFrame = CFrame.new(c.Torso.CFrame:toWorldSpace(CFrame.new(-8,8,.5)).p,aimPos)
797
                                end
798
                                spawn(function()
799
                                        local timer = 0
800
                                        while rs.RenderStepped:wait() do
801
                                                if timer >= 1.55 then
802
                                                        break
803
                                                end
804
                                                head.CFrame = head.CFrame * CFrame.Angles(0,0,math.rad(timer * 25/(Debounces.FPS/60)))
805
                                                timer = timer + 1/30/(Debounces.FPS/60)
806
                                        end
807
                                        head.CFrame = CFrame.new(head.CFrame.p,aimPos)
808
                                        local ray = Ray.new(head.CFrame.p,(aimPos - head.CFrame.p).unit * 999)
809
                                        local hit, pos = workspace:FindPartOnRay(ray,c)
810
                                        local dis = (head.CFrame.p - pos).magnitude
811
                                        local rayPart = Instance.new("Part",rayModel)
812
                                        rayPart.Material = "Neon"
813
                                        rayPart.FormFactor = "Custom"
814
                                        rayPart.BrickColor = BrickColor.new(1,1,1)
815
                                        rayPart.Anchored = true
816
                                        rayPart.CanCollide = false
817
                                        rayPart.Size = Vector3.new(7,7,dis + 400)
818
                                        local rayCFrame = CFrame.new(head.CFrame.p + (aimPos - head.CFrame.p).unit * (dis/2 + 200),head.CFrame.p + (aimPos - head.CFrame.p).unit * dis * 2)
819
                                        rayPart.CFrame = rayCFrame
820
                                        head:Destroy()
821
                                end)
822
                                wait()
823
                                local s = Instance.new("Sound",head)
824
                                s.Volume = 1
825
                                s.SoundId = "rbxassetid://332223043"
826
                                s:Play()
827
                                wait(.04)
828
                        end
829
                end
830
        end)
831
832
        uinps.InputBegan:connect(function(InputObj)
833
                if InputObj.KeyCode == Enum.KeyCode.E and Debounces.isAttacking == false and Debounces.isSprinting == false and Debounces.isPassive == true and Debounces.isTyping == false then
834
                        Debounces.isAttacking = true
835
                        local aimPos = c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,-999)).p
836
                        local head = Instance.new("Part",c)
837
                        head.Size = Vector3.new(18,.2,18)
838
                        head.CanCollide = false
839
                        head.Anchored = true
840
                        head.CFrame = CFrame.new(c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,-9)).p,aimPos)
841
                        head.Transparency = 1
842
                        for i = 1,2 do
843
                                local decal = Instance.new("Decal",head)
844
                                decal.Texture = "rbxassetid://323497117"
845
                                if i == 1 then
846
                                        decal.Face = Enum.NormalId.Top
847
                                else
848
                                        decal.Face = Enum.NormalId.Bottom
849
                                end
850
                        end
851
                        setLerp(.1)
852
                        setJointCFrames({
853
                                CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 0, 0));
854
                                CFrame.new(Vector3.new(0, 1.499, -0.09)) * CFAngles(Vector3.new(-11.676, -0.001, -0.001));
855
                                CFrame.new(Vector3.new(-1.7, 0, 0)) * CFAngles(Vector3.new(-12.808, -28.88, -21.502));
856
                                CFrame.new(Vector3.new(1.699, 1.2, 0.599)) * CFAngles(Vector3.new(-146.606, 16.571, 13.928));
857
                                CFrame.new(Vector3.new(-0.501, -1.601, 0.6)) * CFAngles(Vector3.new(-60, 0, -0.001));
858
                                CFrame.new(Vector3.new(0.5, -1.4, -0.4)) * CFAngles(Vector3.new(-15.001, -15.001, 0));
859
                        })
860
                        spawn(function()
861
                                local timer = 0
862
                                while rs.RenderStepped:wait() do
863
                                        if timer >= 1.55/.8 then
864
                                                break
865
                                        end
866
                                        head.CFrame = head.CFrame * CFrame.Angles(0,0,math.rad(timer * 25/(Debounces.FPS/60)))
867
                                        timer = timer + 1/30/(Debounces.FPS/60)
868
                                end
869
                                head.CFrame = CFrame.new(head.CFrame.p,aimPos)
870
                                local ray = Ray.new(head.CFrame.p,(aimPos - head.CFrame.p).unit * 999)
871
                                local hit, pos = workspace:FindPartOnRay(ray,c)
872
                                local dis = (head.CFrame.p - pos).magnitude
873
                                local rayPart = Instance.new("Part",rayModel)
874
                                rayPart.Material = "Neon"
875
                                rayPart.FormFactor = "Custom"
876
                                rayPart.Name = "Punch"
877
                                rayPart.BrickColor = BrickColor.new(1,1,1)
878
                                rayPart.Anchored = true
879
                                rayPart.CanCollide = false
880
                                rayPart.Size = Vector3.new(28,28,dis + 400)
881
                                local rayCFrame = CFrame.new(head.CFrame.p + (aimPos - head.CFrame.p).unit * (dis/2 + 200),head.CFrame.p + (aimPos - head.CFrame.p).unit * dis * 2)
882
                                rayPart.CFrame = rayCFrame
883
                                head:Destroy()
884
                        end)
885
                        wait()
886
                        local s = Instance.new("Sound",head)
887
                        s.Volume = 1
888
                        s.SoundId = "rbxassetid://332223043"
889
                        s.Pitch = .8
890
                        s:Play()
891
                        wait(.75)
892
                        setLerp(.17)
893
                        setJointCFrames({
894
                                CFrame.new(Vector3.new(0, -.5, 0)) * CFAngles(Vector3.new(-20, 15, 0));
895
                                CFrame.new(Vector3.new(0, 1.499, -0.09)) * CFAngles(Vector3.new(-11.676, 14.999, -0.001));
896
                                CFrame.new(Vector3.new(-1.7, 0, 0.2)) * CFAngles(Vector3.new(-33.928, -4.374, -38.76));
897
                                CFrame.new(Vector3.new(1.499, 0.4, -0.601)) * CFAngles(Vector3.new(74.335, 25.091, -6.155));
898
                                CFrame.new(Vector3.new(-0.501, -1.601, 0.6)) * CFAngles(Vector3.new(-45, 0, -0.001));
899
                                CFrame.new(Vector3.new(0.5, -1.8, -0.4)) * CFAngles(Vector3.new(-15, -15, 0));
900
                        })
901
                        wait(.5)
902
                        Debounces.isAttacking = false
903
                end
904
        end)
905
        
906
        reflect = function(d,n)
907
                local i, n = -1 * d.unit, n.unit
908
                local dot = n:Dot(i)
909
                return 2*dot*n - i
910
        end
911
912
        makeReflectionBeam = function(pos,look,isCrit)
913
                local ray = Ray.new(pos,look)
914
                local hit,hitpos,norm = workspace:FindPartOnRay(ray,c)
915
                local e = Instance.new("Part",rayModel)
916
                e.Anchored = true
917
                e.CanCollide = false
918
                e.BrickColor = BrickColor.new("White")
919
                e.Material = "Neon"
920
                e.FormFactor = "Custom"
921
                e.Size = Vector3.new(6,6,(pos - hitpos).magnitude)
922
                if isCrit == true then
923
                        e.Size = Vector3.new(16,16,(pos - hitpos).magnitude)
924
                        e.Name = "Punch"
925
                end
926
                e.CFrame = CFrame.new(pos + (hitpos - pos)/2, pos)
927
                local e = Instance.new("Sound",c)
928
                if isCrit == true then
929
                        e.Volume = .5
930
                else
931
                        e.Volume = .3
932
                        e.Pitch = 1.5
933
                end
934
                e.SoundId = "rbxassetid://200632875"
935
                e:Play()
936
                spawn(function()
937
                        wait(6)
938
                        e:Destroy()
939
                end)
940
                wait(.05)
941
                if hit ~= nil then
942
                        newDir = reflect(look.unit,norm,isCrit)
943
                        makeReflectionBeam(hitpos,newDir * 999,isCrit)
944
                end
945
        end
946
947
        uinps.InputBegan:connect(function(InputObject)
948
                if InputObject.KeyCode == Enum.KeyCode.Q and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isPassive == true and Debounces.isTyping == false then
949
                        local isLooping = true
950
                        uinps.InputEnded:connect(function(InputObject2)
951
                                if InputObject2.KeyCode == Enum.KeyCode.Q then
952
                                        isLooping = false
953
                                end
954
                        end)
955
                        while true do
956
                                if isLooping == false then
957
                                        break
958
                                end
959
                                Debounces.attackNumber = Debounces.attackNumber + 1
960
                                local aimPos = mouse.Hit.p
961
                                local head = Instance.new("Part",c)
962
                                head.Size = Vector3.new(12,.2,12)
963
                                head.CanCollide = false
964
                                head.Anchored = true
965
                                head.Transparency = 1
966
                                for i = 1,2 do
967
                                        local decal = Instance.new("Decal",head)
968
                                        decal.Texture = "rbxassetid://323497117"
969
                                        if i == 1 then
970
                                                decal.Face = Enum.NormalId.Top
971
                                        else
972
                                                decal.Face = Enum.NormalId.Bottom
973
                                        end
974
                                end
975
                                if Debounces.attackNumber%2 == 1 then
976
                                        head.CFrame = CFrame.new(c.Torso.CFrame:toWorldSpace(CFrame.new(8,8,.5)).p,aimPos)
977
                                else
978
                                        head.CFrame = CFrame.new(c.Torso.CFrame:toWorldSpace(CFrame.new(-8,8,.5)).p,aimPos)
979
                                end
980
                                spawn(function()
981
                                        local timer = 0
982
                                        while rs.RenderStepped:wait() do
983
                                                if timer >= 1.55 then
984
                                                        break
985
                                                end
986
                                                head.CFrame = head.CFrame * CFrame.Angles(0,0,math.rad(timer * 25/(Debounces.FPS/60)))
987
                                                timer = timer + 1/30/(Debounces.FPS/60)
988
                                        end
989
                                        head.CFrame = CFrame.new(head.CFrame.p,aimPos)
990
                                        head:Destroy()
991
                                        makeReflectionBeam(head.CFrame.p,(head.CFrame.p - aimPos).unit * -999,false)        
992
                                end)
993
                                
994
                                wait()
995
                                local s = Instance.new("Sound",head)
996
                                s.Volume = 1
997
                                s.SoundId = "rbxassetid://332223043"
998
                                s.Pitch = 1.02
999
                                s:Play()
1000
                                wait(.2)
1001
                        end
1002
                end
1003
        end)
1004
1005
        uinps.InputBegan:connect(function(InputObj)
1006
                if InputObj.KeyCode == Enum.KeyCode.E and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isPassive == true and Debounces.isTyping == false then
1007
                        Debounces.isAttacking = true
1008
                        local aimPos = c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,-999)).p
1009
                        local head = Instance.new("Part",c)
1010
                        head.Size = Vector3.new(18,.2,18)
1011
                        head.CanCollide = false
1012
                        head.Anchored = true
1013
                        head.CFrame = CFrame.new(c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,-9)).p,aimPos)
1014
                        head.Transparency = 1
1015
                        for i = 1,2 do
1016
                                local decal = Instance.new("Decal",head)
1017
                                decal.Texture = "rbxassetid://323497117"
1018
                                if i == 1 then
1019
                                        decal.Face = Enum.NormalId.Top
1020
                                else
1021
                                        decal.Face = Enum.NormalId.Bottom
1022
                                end
1023
                        end
1024
                        setLerp(.1)
1025
                        setJointCFrames({
1026
                                CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 0, 0));
1027
                                CFrame.new(Vector3.new(0, 1.499, -0.09)) * CFAngles(Vector3.new(-11.676, -0.001, -0.001));
1028
                                CFrame.new(Vector3.new(-1.7, 0, 0)) * CFAngles(Vector3.new(-12.808, -28.88, -21.502));
1029
                                CFrame.new(Vector3.new(1.699, 1.2, 0.599)) * CFAngles(Vector3.new(-146.606, 16.571, 13.928));
1030
                                CFrame.new(Vector3.new(-0.501, -1.601, 0.6)) * CFAngles(Vector3.new(-60, 0, -0.001));
1031
                                CFrame.new(Vector3.new(0.5, -1.4, -0.4)) * CFAngles(Vector3.new(-15.001, -15.001, 0));
1032
                        })
1033
                        spawn(function()
1034
                                local timer = 0
1035
                                while rs.RenderStepped:wait() do
1036
                                        if timer >= 1.55/.8 then
1037
                                                break
1038
                                        end
1039
                                        head.CFrame = head.CFrame * CFrame.Angles(0,0,math.rad(timer * 25/(Debounces.FPS/60)))
1040
                                        timer = timer + 1/30/(Debounces.FPS/60)
1041
                                end
1042
                                head.CFrame = CFrame.new(head.CFrame.p,aimPos)
1043
                                head:Destroy()
1044
                                makeReflectionBeam(head.CFrame.p,(head.CFrame.p - aimPos).unit * -999,true)
1045
                        end)
1046
                        wait()
1047
                        local s = Instance.new("Sound",head)
1048
                        s.Volume = 2
1049
                        s.SoundId = "rbxassetid://332223043"
1050
                        s.Pitch = .8
1051
                        s:Play()
1052
                        wait(.75)
1053
                        setLerp(.17)
1054
                        setJointCFrames({
1055
                                CFrame.new(Vector3.new(0, -.5, 0)) * CFAngles(Vector3.new(-20, 15, 0));
1056
                                CFrame.new(Vector3.new(0, 1.499, -0.09)) * CFAngles(Vector3.new(-11.676, 14.999, -0.001));
1057
                                CFrame.new(Vector3.new(-1.7, 0, 0.2)) * CFAngles(Vector3.new(-33.928, -4.374, -38.76));
1058
                                CFrame.new(Vector3.new(1.499, 0.4, -0.601)) * CFAngles(Vector3.new(74.335, 25.091, -6.155));
1059
                                CFrame.new(Vector3.new(-0.501, -1.601, 0.6)) * CFAngles(Vector3.new(-45, 0, -0.001));
1060
                                CFrame.new(Vector3.new(0.5, -1.8, -0.4)) * CFAngles(Vector3.new(-15, -15, 0));
1061
                        })
1062
                        wait(.5)
1063
                        Debounces.isAttacking = false
1064
                end
1065
        end)
1066
1067
        uinps.InputBegan:connect(function(InputObj)
1068
                if InputObj.KeyCode == Enum.KeyCode.Slash then
1069
                        local finishEvent = nil
1070
                        Debounces.isTyping = true
1071
                        finishEvent = uinps.InputBegan:connect(function(InputObj)
1072
                                if InputObj.KeyCode == Enum.KeyCode.Return or InputObj.UserInputType == Enum.UserInputType.MouseButton1 then
1073
                                        Debounces.isTyping = false
1074
                                        finishEvent:disconnect()
1075
                                end
1076
                        end)
1077
                end
1078
        end)
1079
1080
        uinps.InputBegan:connect(function(InputObj)
1081
                if InputObj.KeyCode == Enum.KeyCode.LeftShift then
1082
                        Debounces.isSprinting = true
1083
                end
1084
        end)
1085
1086
        uinps.InputEnded:connect(function(InputObj)
1087
                if InputObj.KeyCode == Enum.KeyCode.LeftShift then
1088
                        Debounces.isSprinting = false
1089
                end
1090
        end)
1091
1092
        rs.RenderStepped:connect(function()
1093
                Debounces.FPS = 1/rs.RenderStepped:wait()
1094
                local FPSLerp = AnimStat.lerpSpeed/(Debounces.FPS/60)
1095
                if Debounces.isPassive == false then
1096
                        fight:Pause()
1097
                        sans:Resume()
1098
                        efxBlock.Transparency = 1
1099
                else
1100
                        fight:Resume()
1101
                        sans:Pause()
1102
                        efxBlock.Transparency = 0
1103
                end
1104
                for i,v in pairs (rayModel:children()) do
1105
                        if v.Transparency >= 1 then
1106
                                v:Destroy()
1107
                        else
1108
                                v.CanCollide = true
1109
                                local parts = v:GetTouchingParts()
1110
                                v.CanCollide = false
1111
                                for i = 1,#parts do
1112
                                        if parts[i].Parent:FindFirstChild("Humanoid") and parts[i].Parent ~= c and v.Name ~= "Punch" then
1113
                                                parts[i].Parent.Humanoid:TakeDamage(.5/(Debounces.FPS/60))
1114
                                        elseif parts[i].Parent:FindFirstChild("Humanoid") and parts[i].Parent ~= c and v.Name == "Punch" then
1115
                                                parts[i].Parent.Humanoid:TakeDamage(3.1/(Debounces.FPS/60))
1116
                                        end
1117
                                end
1118
                                v.Size = v.Size + Vector3.new(1/(Debounces.FPS/60),1/(Debounces.FPS/60),0)
1119
                                v.Transparency = v.Transparency + .05/(Debounces.FPS/60)
1120
                        end
1121
                end
1122
                for i = 1,#Joints do
1123
                        Joints[i].C0 = Joints[i].C0:lerp(JointTargets[i], FPSLerp)
1124
                end
1125
                light.Brightness = math.random(1,4)
1126
        end)