View difference between Paste ID: mgHeqHW1 and Z0v5GKzM
SHOW: | | - or go back to the newest paste.
1
-- Asriel Script
2
-- By Gaster <3
3
-- Added Flight
4
5
6
7
dot = false
8
des = false
9
local ChatService = game:GetService("Chat")
10
local player = game.Players.LocalPlayer
11
char = player.Character
12
hum = char.Humanoid
13
torso = hum.Torso
14
m=player:GetMouse()
15
bb = Instance.new("BillboardGui",player.Character.Head)
16
bb.Enabled = true
17
bb.AlwaysOnTop = true
18
bb.Size = UDim2.new(0,200,0,50)
19
bb.StudsOffset = Vector3.new(0,1,0)
20
gui=Instance.new("TextBox",bb)
21
gui.Text = "* "
22
gui.Size = UDim2.new(0,133,0,45)
23
gui.Position=UDim2.new(0,57,0,-40)
24
gui.TextColor3 = Color3.new(255,255,255)
25
gui.BackgroundColor3=Color3.new(0,0,0)
26
gui.TextWrapped = true
27
gui.TextScaled = true
28
gui.TextXAlignment = "Left"
29
gui.TextYAlignment = "Top"
30
gui.Visible = false
31
gui.BorderColor3 = Color3.new(0,0,0)
32
33
gui1=Instance.new("TextButton",bb)
34
gui1.Position=UDim2.new(0,5,0,-43)
35
gui1.Size = UDim2.new(0,190,0,51)
36
37
gui1.TextColor3 = Color3.new(255,255,255)
38
gui1.BackgroundColor3=Color3.new(255,255,255)
39
40
gui1.Visible = false
41
img = Instance.new("ImageLabel",bb)
42
img.Size = UDim2.new(0,46,0,47)
43
img.Position = UDim2.new(0,10,0,-41)
44
img.Image = "rbxassetid://419852216"
45
img.BorderColor3 = Color3.new(0,0,0)
46
img.Visible = false
47
asd = Instance.new("Sound",player.Character.Torso)
48
asd.SoundId = "http://www.roblox.com/asset/?id = 419874833"
49
50
asd1 = Instance.new("Sound",player.Character.Torso)
51
asd1.SoundId = "http://www.roblox.com/asset/?id = 419874833"
52
EpicText = Instance.new("Sound",player.Character.Torso)
53
EpicText.SoundId = "http://www.roblox.com/asset/?id = 454824301"
54
55
asd2 = Instance.new("Sound",player.Character.Torso)
56
asd2.SoundId = "http://www.roblox.com/asset/?id = 441352248"
57
asd2.Looped = true
58
asd3 = Instance.new("Sound",player.Character.Torso)
59
asd3.SoundId = "http://www.roblox.com/asset/?id = 440709051"
60
asd3.Looped = true
61
asd4 = Instance.new("Sound",player.Character.Torso)
62
asd4.SoundId = "http://www.roblox.com/asset/?id = 304222305"
63
asd4.Looped = false
64
asd5 = Instance.new("Sound",player.Character.Torso)
65
asd5.SoundId = "http://www.roblox.com/asset/?id = 428665016"
66
asd5.Looped = true
67
dunkd = Instance.new("Sound",player.Character.Torso)
68
dunkd.SoundId = "http://www.roblox.com/asset/?id = 318502757"
69
dunkd.Looped = false
70
function play(play)
71
asd:Play()
72
asd1:Play()
73
end
74
eye = Instance.new("Part",player.Character)
75
eye.BrickColor = BrickColor.new("Black")
76
eye.Material = "Neon"
77
eye.FormFactor = 3
78
eye.Shape = "Ball"
79
eye.Size = Vector3.new(0.37,0.37,0.1)
80
weld = Instance.new("Weld",eye)
81
weld.Part0 = eye
82
weld.Part1 = player.Character.Head
83
weld.C0 = CFrame.new(0.1,-0.2,0.45)
84
eye.Transparency = 1
85
-- listen for their chatting
86
player.Chatted:connect(function(message)
87
a = string.len(message)
88
gui.Text = "* "
89
gui.Visible = true
90
gui1.Visible = true
91
des = false
92
img.Visible = true
93
print(a)
94
if dot == false then
95
for i = 1,string.len(message) do wait(0.07)
96
gui.Text =gui.Text..message:sub(i,i)
97
98
play()
99
end
100
end
101
102
des = true
103
end)
104
m.KeyDown:connect(function(k)
105
if k == "l" then
106
asd2:Play()
107
108
109
end
110
end)
111
m.KeyDown:connect(function(k)
112
if k == "k" then
113
114
asd3:Play()
115
end
116
end)
117
m.KeyDown:connect(function(k)
118
if k == "j" then
119
asd4:Play()
120
end
121
end)
122
m.KeyDown:connect(function(k)
123
if k == "p" then
124
125
asd5:Play()
126
end
127
end)
128
m.KeyDown:connect(function(k)
129
if k == "z" then
130
asd1 = Instance.new("Sound",player.Character.Torso)
131
asd1.SoundId = "http://www.roblox.com/asset/?id = 454824301"
132
133
img.Image = "rbxassetid://460973235"
134
asd2:Play()
135
136
EpicText:Play()
137
EpicText:Play()
138
end
139
end)
140
141
m.KeyDown:connect(function(k)
142
if k == "n" then
143
img.Image = "rbxassetid://419852168"
144
end
145
end)
146
m.KeyDown:connect(function(k)
147
if k == "b" then
148
img.Image = "rbxassetid://419852186"
149
end
150
end)
151
m.KeyDown:connect(function(k)
152
if k == "m" then
153
img.Image = "rbxassetid://419852203"
154
end
155
end)
156
m.KeyDown:connect(function(k)
157
if k == "h" then
158
img.Image = "rbxassetid://419852243"
159
end
160
end)
161
m.KeyDown:connect(function(k)
162
if k == "x" then
163
if des == true then
164
gui.Visible = false
165
gui.Text = "! "
166
gui1.Visible = false
167
img.Visible = false
168
end
169
end
170
end)
171
m.KeyDown:connect(function(k)
172
if k == ";" then
173
asd3:Stop()
174
asd2:Stop()
175
asd4:Stop()
176
dunkd:Stop()
177
eye.Transparency = 1
178
asd5:Stop()
179
end
180
end)
181
m.KeyDown:connect(function(k)
182
if k == "y" then
183
img.Image = "rbxassetid://419852216"
184
end
185
end)
186
-- my god...
187
-- Suck_HiyaThere moves to arizona
188
189
pls=game:GetService'Players';
190
rs=game:GetService'RunService';
191
uinps=game:GetService'UserInputService';
192
lp=pls.LocalPlayer;
193
mouse=lp:GetMouse();
194
c=lp.Character;
195
rayModel=Instance.new('Model',c);
196
human=c.Humanoid;
197
Cone=nil;
198
human.MaxHealth=1000000;
199
wait();
200
human.Health=1000000;
201
c.Health:Destroy();
202
Debounces={
203
FPS=0;
204
isAttacking=false;
205
isMoving=false;
206
isSprinting=false;
207
Debounce=false;
208
isTyping=false;
209
isJumping=false;
210
isFlash=false;
211
};
212
numLerp=function(start,goal,alpha)
213
return(((goal-start)*alpha)+start);
214
end;
215
CFrameZero=function()
216
return CFrame.new(Vector3.new());
217
end;
218
local function a()
219
local t=tick();
220
local l=t%1*3;
221
local t=.5*math.pi*(l%1);
222
if l<1 then
223
return Color3.new(1,1-math.cos(t),1-math.sin(t));
224
elseif l<2 then
225
return Color3.new(1-math.sin(t),1,1-math.cos(t));
226
else
227
return Color3.new(1-math.cos(t),1-math.sin(t),1);
228
end;
229
end;
230
rad=function(value)
231
return math.rad(value);
232
end;
233
CFAngles=function(Vector)
234
return CFrame.Angles(rad(Vector.x),rad(Vector.y),rad(Vector.z));
235
end;
236
AnimStat={
237
lerpSpeed=.2;
238
lerpSpeed2=.35;
239
lerpTween=0;
240
};
241
Joints={
242
c.HumanoidRootPart.RootJoint;
243
c.Torso.Neck;
244
c.Torso['Left Shoulder'];
245
c.Torso['Right Shoulder'];
246
c.Torso['Left Hip'];
247
c.Torso['Right Hip'];
248
};
249
prepareCharacter=function()
250
music=Instance.new('Sound',c.HumanoidRootPart);
251
music.SoundId='rbxassetid://306154368';
252
music.Looped=true;
253
music.Volume=.6;
254
music2=Instance.new('Sound',c);
255
music2.SoundId='rbxassetid://320842828';
256
music2.Looped=true;
257
music2.Volume=1;
258
music3=Instance.new('Sound',c.HumanoidRootPart);
259
music3.SoundId='rbxassetid://304222305';
260
music3.Looped=true;
261
music3.Volume=1;
262
music4=Instance.new('Sound',c.HumanoidRootPart);
263
music4.SoundId='rbxassetid://428665016';
264
music4.Looped=true;
265
music4.Volume=1;
266
music5=Instance.new('Sound',c.HumanoidRootPart);
267
music5.SoundId='rbxassetid://318502757';
268
music5.Looped=true;
269
music5.Volume=1;
270
human.WalkSpeed=0;
271
human.JumpPower=0;
272
end;
273
triWave=function(x)
274
local pi2=math.pi/2;
275
return math.abs((x/pi2)%4-2)-1;
276
end;
277
setLerp=function(speed)
278
AnimStat.lerpSpeed=speed;
279
end;
280
setTween=function(tween)
281
AnimStat.lerpTween=tween;
282
end;
283
playSound=function(id,part,vol,pitch)
284
local vol=vol or 1;
285
local pitch=pitch or 1;
286
local x=Instance.new('Sound',part);
287
x.Volume=vol;
288
x.Pitch=pitch;
289
x.SoundId='rbxassetid://'..id;
290
spawn(function()
291
wait();
292
x:Play();
293
wait(x.TimeLength+.2);
294
x:Destroy();
295
end);
296
end;
297
lerpBoom=function()
298
if Cone then
299
Cone.CFrame=CFrame.new(c.HumanoidRootPart.CFrame.p,c.HumanoidRootPart.CFrame.p+c.HumanoidRootPart.Velocity)*CFrame.Angles(-math.pi/2,0,0);
300
cMesh.Scale=Vector3.new(20,20+c.HumanoidRootPart.Velocity.magnitude/10,20);
301
Cone.Transparency=1-c.HumanoidRootPart.Velocity.magnitude/1000;
302
else
303
Cone=Instance.new('Part',c);
304
Cone.Anchored=true;
305
Cone.CanCollide=false;
306
Cone.Transparency=math.random(50,70)/100;
307
Cone.Size=Vector3.new(1,1,1);
308
Cone.CFrame=CFrame.new(c.HumanoidRootPart.CFrame.p,c.HumanoidRootPart.CFrame.p+c.HumanoidRootPart.Velocity)*CFrame.Angles(-math.pi/2,0,0);
309
cMesh=Instance.new('SpecialMesh',Cone);
310
cMesh.MeshId='rbxassetid://1033714';
311
cMesh.Scale=Vector3.new(20,50,20);
312
end;
313
end;
314
noBoom=function()
315
if Cone then local x=Cone Cone=nil;
316
for i=1,20 do
317
wait();
318
x.Mesh.Scale=x.Mesh.Scale+Vector3.new(-.5,1,-.5);
319
x.Transparency=x.Transparency+1/30;
320
end;
321
end;
322
end;
323
gasterBlast=function(tCFrame,aimPos,charge)
324
local aimTarget;
325
if aimPos then
326
aimTarget=CFrame.new(tCFrame,aimPos);
327
else
328
aimTarget=tCFrame;
329
end;
330
local gast=Instance.new('Part',c);
331
gast.Size=Vector3.new(12,.2,12);
332
gast.CanCollide=false;
333
gast.Anchored=true;
334
gast.Transparency=1;
335
if charge then
336
playSound(400523331,gast,math.random(90,110)/100);
337
end;
338
wait();
339
for i=1,2 do
340
local decal=Instance.new('Decal',gast);
341
decal.Texture='rbxassetid://401564454';
342
if i==1 then
343
decal.Face=Enum.NormalId.Top;
344
else
345
decal.Face=Enum.NormalId.Bottom;
346
end;
347
end;
348
gast.CFrame=CFrame.new(aimTarget.p-Vector3.new(math.sin(tick()*10)*10,20,math.cos(tick()*10)*10));
349
spawn(function()
350
local tarCFrame=gast.CFrame;
351
local isLooping=true;
352
spawn(function()
353
while rs.RenderStepped:wait()and isLooping do
354
gast.CFrame=gast.CFrame:lerp(tarCFrame,.6/(Debounces.FPS/60));
355
end;
356
end);
357
for i=1,30 do
358
wait();
359
tarCFrame=gast.CFrame:lerp(aimTarget,.24);
360
end;
361
playSound(340722848,gast,math.random(90,110)/100);
362
isLooping=false;
363
wait(.08);
364
local ray=Ray.new(aimTarget.p,aimTarget.lookVector.unit*999);
365
local _,pos=workspace:FindPartOnRay(ray,c);
366
local dis=(aimTarget.p-pos).magnitude;
367
local rayCFrame=CFrame.new(gast.CFrame.p+(pos-gast.CFrame.p).unit*(dis/2+200),gast.CFrame.p+(pos-gast.CFrame.p).unit*dis*2)*CFrame.Angles(0,math.pi/2,0);
368
local rayPart=Instance.new('Part',rayModel);
369
rayPart.Material='Neon';
370
rayPart.FormFactor='Custom';
371
rayPart.Anchored=true;
372
rayPart.CanCollide=false;
373
rayPart.Color=a();
374
rayPart.Shape='Cylinder';
375
rayPart.Size=Vector3.new(dis+400,8,8);
376
rayPart.CFrame=rayCFrame;
377
gast:Destroy();
378
end);
379
end;
380
largegasterBlast=function(tCFrame,aimPos)
381
local aimTarget;
382
if aimPos then
383
aimTarget=CFrame.new(tCFrame,aimPos);
384
else
385
aimTarget=tCFrame;
386
end;
387
local gast=Instance.new('Part',c);
388
gast.Size=Vector3.new(25,.2,25);
389
gast.CanCollide=false;
390
gast.Anchored=true;
391
gast.Transparency=1;
392
playSound(400523331,gast,math.random(85,97)/100);
393
wait();
394
for i=1,2 do
395
local decal=Instance.new('Decal',gast);
396
decal.Texture='rbxassetid://401564690';
397
if i==1 then
398
decal.Face=Enum.NormalId.Top;
399
else
400
decal.Face=Enum.NormalId.Bottom;
401
end;
402
end;
403
gast.CFrame=CFrame.new(aimTarget.p-Vector3.new(math.sin(tick()*10)*10,20,math.cos(tick()*10)*10));
404
spawn(function()
405
local tarCFrame=gast.CFrame;
406
local isLooping=true;
407
spawn(function()
408
while rs.RenderStepped:wait()and isLooping do
409
gast.CFrame=gast.CFrame:lerp(tarCFrame,.6/(Debounces.FPS/60));
410
end;
411
end);
412
for i=1,40 do
413
wait();
414
tarCFrame=gast.CFrame:lerp(aimTarget,.18);
415
end;
416
playSound(340722848,gast,math.random(80,95)/100);
417
isLooping=false;
418
wait(.08);
419
local ray=Ray.new(aimTarget.p,aimTarget.lookVector.unit*999);
420
local _,pos=workspace:FindPartOnRay(ray,c);
421
local dis=(aimTarget.p-pos).magnitude;
422
local rayCFrame=CFrame.new(gast.CFrame.p+(pos-gast.CFrame.p).unit*(dis/2+200),gast.CFrame.p+(pos-gast.CFrame.p).unit*dis*2)*CFrame.Angles(0,math.pi/2,0);
423
local rayPart=Instance.new('Part',rayModel);
424
rayPart.Material='Neon';
425
rayPart.FormFactor='Custom';
426
rayPart.Anchored=true;
427
rayPart.CanCollide=false;
428
rayPart.Shape='Cylinder';
429
rayPart.Size=Vector3.new(dis+400,17,17);
430
rayPart.CFrame=rayCFrame;
431
gast:Destroy();
432
end);
433
end;
434
435
if Debounces.isAttacking==false and Debounces.isMoving==false and Debounces.Debounce==false and Debounces.isJumping==false then
436
setLerp(.8);
437
elseif Debounces.isAttacking==false and Debounces.isMoving==true and Debounces.Debounce==false and Debounces.isSprinting==true and Debounces.isJumping==false then
438
sine=tick()*28;
439
human.WalkSpeed=400;
440
lerpBoom();
441
setLerp(.65);
442
end;
443
human.Changed:connect(function(prop)
444
if prop=='MoveDirection'then
445
if human.MoveDirection.magnitude>.02 then
446
Debounces.isMoving=true;
447
else
448
Debounces.isMoving=false;
449
end;
450
end;
451
end);
452
uinps.InputBegan:connect(function(InputObj)
453
if InputObj.KeyCode==Enum.KeyCode.Slash then
454
local finishEvent=nil;
455
Debounces.isTyping=true
456
finishEvent=uinps.InputBegan:connect(function(InputObj)
457
if InputObj.KeyCode==Enum.KeyCode.Return or InputObj.UserInputType==Enum.UserInputType.MouseButton1 then
458
Debounces.isTyping=false;
459
finishEvent:disconnect();
460
end;
461
end);
462
end;
463
end);
464
mouse.KeyDown:connect(function(key)
465
if key=='0'then
466
Debounces.isSprinting=true;
467
playSound(160248522,c.Torso);
468
for i=1,3 do
469
spawn(function()
470
local e=Instance.new('Part',c);
471
e.Size=Vector3.new(1,1,1);
472
e.Material='Neon';
473
e.Color=a();
474
e.Anchored=true;
475
e.CFrame=c.HumanoidRootPart.CFrame*CFrame.Angles(0,0,-math.pi/2);
476
e.CanCollide=false;
477
local rm=Instance.new('SpecialMesh',e);
478
rm.MeshType='FileMesh';
479
rm.MeshId='rbxassetid://3270017';
480
rm.Scale=Vector3.new(3.2,3.2,10);
481
for x=1,30 do
482
wait();
483
rm.Scale=rm.Scale:lerp(Vector3.new(i*30,i*30,(4-i)*450),.1);
484
e.Transparency=x/30+.5;
485
end;
486
end);
487
end;
488
c.HumanoidRootPart.Velocity=c.HumanoidRootPart.CFrame.lookVector*200;
489
end;
490
end);
491
mouse.KeyUp:connect(function(key)
492
if key=='0'then
493
Debounces.isSprinting=false;
494
end;
495
end);
496
mouse.KeyDown:connect(function(key)
497
if key=='v'then
498
playSound(201858087,c.Torso,math.random(90,120)/100);
499
local oldPos=c.HumanoidRootPart.CFrame.p;
500
local mHit=mouse.Hit.p;
501
for i=1,2 do
502
spawn(function()
503
local pos
504
if i==1 then pos=oldPos else pos=mHit end
505
local p=Instance.new('Part',workspace);
506
p.Anchored=true;
507
p.CanCollide=false;
508
p.Color=a();
509
p.FormFactor='Custom';
510
p.CFrame=CFrame.new(pos+Vector3.new(0,500,0));
511
p.Transparency=.4;
512
p.Size=Vector3.new(20,1000,20);
513
for i=1,20 do
514
wait();
515
p.Transparency=.4+(i/10)*.6;
516
p.Size=Vector3.new(20-i*1.5,1000,20-i*1.5);
517
p.CFrame=CFrame.new(pos+Vector3.new(0,500,0));
518
end;
519
p:Destroy();
520
end);
521
end;
522
if Debounces.isMoving then
523
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));
524
else
525
c.HumanoidRootPart.CFrame=CFrame.new(mouse.Hit.p+Vector3.new(0,4,0),Vector3.new(oldPos.x,mouse.Hit.p.y+4,oldPos.z));
526
end;
527
end;
528
end);
529
mouse.KeyDown:connect(function(key)
530
if key=='r'then
531
local pointTarget=mouse.Hit.p;
532
for i=1,20 do
533
wait();
534
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));
535
end;
536
wait();
537
largegasterBlast(CFrame.new(pointTarget+Vector3.new(0,35,0),pointTarget));
538
end;
539
end);
540
mouse.KeyDown:connect(function(key)
541
if key=='k'then
542
if music.isPlaying then music:Stop();else music:Play();end;
543
end;
544
end);
545
mouse.KeyDown:connect(function(key)
546
if key=='j'then
547
if music2.isPlaying then music2:Stop();else music2:Play();end;
548
end;
549
end);
550
mouse.KeyDown:connect(function(key)
551
if key=='l'then
552
if music3.isPlaying then music3:Stop();else music3:Play();end;
553
end;
554
end);
555
mouse.KeyDown:connect(function(key)
556
if key=='p'then
557
if music4.isPlaying then music4:Stop();else music4:Play();end;
558
end;
559
end);
560
mouse.KeyDown:connect(function(key)
561
if key=='o'then
562
if music5.isPlaying then music4:Stop();else music5:Play();end;
563
end;
564
end);
565
mouse.KeyDown:connect(function(key)
566
if key=='e'then
567
gasterBlast(c.Torso.CFrame.p+Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p,true);
568
end;
569
end);
570
mouse.KeyDown:connect(function(key)
571
if key=='c'then
572
largegasterBlast(c.Torso.CFrame.p+Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p);
573
end;
574
end);
575
mouse.KeyDown:connect(function(key)
576
if key=='q'then
577
for i=1,5 do
578
wait();
579
gasterBlast(c.Torso.CFrame.p+Vector3.new(math.sin(tick()*10)*10,12,math.cos(tick()*10)*10),mouse.Hit.p);
580
end;
581
largegasterBlast(c.Torso.CFrame.p+Vector3.new(0,25,0),mouse.Hit.p);
582
end;
583
end);
584
mouse.KeyDown:connect(function(key)
585
if key=='t'then
586
local pointTarget=mouse.Hit.p;
587
for i=1,20 do
588
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);
589
end;
590
wait(.2);
591
for i=1,10 do
592
largegasterBlast(pointTarget+Vector3.new(math.sin(math.deg((360/20)*i))*25,20,math.cos(math.deg((360/20)*i))*25),pointTarget);
593
end;
594
end;
595
end);
596
human.StateChanged:connect(function(os,ns)
597
if c.HumanoidRootPart.Velocity.Y<.1 and Debounces.isJumping==true and ns==Enum.HumanoidStateType.Landed then
598
Debounces.isJumping=false;
599
end;
600
end);
601
rs.RenderStepped:connect(function()
602
Debounces.FPS=1/rs.RenderStepped:wait();
603
if Debounces.FPS<30 then
604
Debounces.FPS=30;
605
end;
606
if Debounces.isSprinting then
607
lerpBoom();
608
else
609
noBoom();
610
end;
611
for _,v in pairs(rayModel:children())do
612
v.Transparency=v.Transparency+.06/(Debounces.FPS/60);
613
if v.Transparency>.99 then v:Destroy();return;end;
614
v.CanCollide=true;
615
local tParts=v:GetTouchingParts();
616
v.CanCollide=false;
617
local vCFrame=v.CFrame;
618
v.Size=v.Size+Vector3.new(0,1,1)/(Debounces.FPS/60);
619
v.CFrame=vCFrame;
620
for _,x in pairs(tParts)do
621
if x and x.Parent and x.Parent:FindFirstChild'Humanoid'and x.Parent.Humanoid:isA'Humanoid'and x.Parent~=c then
622
x.Parent.Humanoid:TakeDamage(1000000,2000000);
623
end;
624
end;
625
end;
626
local FPSLerp=AnimStat.lerpSpeed/(Debounces.FPS/60);
627
end);
628
629
local verlet = {}
630
verlet.step_time = 1 / 50
631
verlet.gravity = Vector3.new(0, -10, 0)
632
633
local char = game.Players.LocalPlayer.Character
634
local torso = char:WaitForChild("Torso")
635
local parts = {}
636
local render = game:GetService("RunService").RenderStepped
637
638
wait(2)
639
640
local point = {}
641
local link = {}
642
local rope = {}
643
644
local function ccw(A,B,C)
645
    return (C.y-A.y) * (B.x-A.x) > (B.y-A.y) * (C.x-A.x)
646
end
647
648
local function intersect(A,B,C,D)
649
    return ccw(A,C,D) ~= ccw(B,C,D) and ccw(A,B,C) ~= ccw(A,B,D)
650
end
651
652
local function vec2(v)
653
	return Vector2.new(v.x, v.z)
654
end
655
656
function point:step()
657
	if not self.fixed then
658
		local derivative = (self.position - self.last_position) * 0.95
659
		self.last_position = self.position
660
		self.position = self.position + derivative + (self.velocity * verlet.step_time ^ 2)
661
		--[[local torsoP = torso.CFrame * CFrame.new(-1, 0, 0.5)
662
		local torsoE = torso.CFrame * CFrame.new(1, 0, 0.5)
663
		local pointE = self.position + torso.CFrame.lookVector * 100
664
		local doIntersect = intersect(vec2(torsoP.p), vec2(torsoE.p), vec2(self.position), vec2(pointE))
665
		if not doIntersect then
666
			self.postition = self.position - torso.CFrame.lookVector * 10
667
		end]]
668
	end
669
end
670
671
function link:step()
672
	for i = 1, 1 do
673
		local distance = self.point1.position - self.point2.position
674
		local magnitude = distance.magnitude
675
		local differance = (self.length - magnitude) / magnitude
676
		local translation = ((self.point1.fixed or self.point2.fixed) and 1 or 0.6) * distance * differance
677
		if not self.point1.fixed then
678
			self.point1.position = self.point1.position + translation
679
		end
680
		if not self.point2.fixed then
681
			self.point2.position = self.point2.position - translation
682
		end
683
	end
684
end
685
686
function verlet.new(class, a, b, c)
687
	if class == "Point" then
688
		local new = {}
689
		setmetatable(new, {__index = point})
690
		new.class = class
691
		new.position = a or Vector3.new()
692
		new.last_position = new.position
693
		new.velocity = verlet.gravity
694
		new.fixed = false
695
		return new
696
	elseif class == "Link" then
697
		local new = {}
698
		setmetatable(new, {__index = link})
699
		new.class = class
700
		new.point1 = a
701
		new.point2 = b
702
		new.length = c or (a.position - b.position).magnitude
703
		return new
704
	elseif class == "Rope" then
705
		local new = {}
706
		setmetatable(new, {__index = link})
707
		new.class = class
708
		new.start_point = a
709
		new.finish_point = b
710
		new.points = {}
711
		new.links = {}
712
		local inc = (b - a) / 10
713
		for i = 0, 10 do
714
			table.insert(new.points, verlet.new("Point", a + (i * inc)))
715
		end
716
		for i = 2, #new.points do
717
			table.insert(new.links, verlet.new("Link", new.points[i - 1], new.points[i]))
718
		end
719
		return new
720
	end
721
end
722
723
local tris = {}
724
local triParts = {}
725
726
local function GetDiscoColor(hue)
727
 local section = hue % 1 * 3
728
 local secondary = 0.5 * math.pi * (section % 1)
729
 if section < 1 then
730
  return Color3.new(0, 0, 0)
731
 elseif section < 2 then
732
  return Color3.new(0, 0, 0)
733
 else
734
  return Color3.new(0, 0, 0)
735
 end
736
end
737
738
local function setupPart(part)
739
	part.Anchored = true
740
	part.FormFactor = 3
741
	part.CanCollide = false
742
	part.TopSurface = 10
743
	part.BottomSurface = 10
744
	part.LeftSurface = 10
745
	part.RightSurface = 10
746
	part.FrontSurface = 10
747
	part.BackSurface = 10
748
	part.Material = "Neon"
749
	local m = Instance.new("SpecialMesh", part)
750
	m.MeshType = "Wedge"
751
	m.Scale = Vector3.new(0.2, 1, 1)
752
	return part
753
end
754
755
local function CFrameFromTopBack(at, top, back)
756
	local right = top:Cross(back)
757
	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)
758
end
759
760
local function drawTri(parent, a, b, c)
761
	local this = {}
762
	local mPart1 = table.remove(triParts, 1) or setupPart(Instance.new("Part"))
763
	local mPart2 = table.remove(triParts, 1) or setupPart(Instance.new("Part"))
764
	function this:Set(a, b, c)
765
		local ab, bc, ca = b-a, c-b, a-c
766
		local abm, bcm, cam = ab.magnitude, bc.magnitude, ca.magnitude
767
		local edg1 = math.abs(0.5 + ca:Dot(ab)/(abm*abm))
768
		local edg2 = math.abs(0.5 + ab:Dot(bc)/(bcm*bcm))
769
		local edg3 = math.abs(0.5 + bc:Dot(ca)/(cam*cam))
770
		if edg1 < edg2 then
771
			if edg1 >= edg3 then		
772
				a, b, c = c, a, b
773
				ab, bc, ca = ca, ab, bc
774
				abm = cam
775
			end
776
		else
777
			if edg2 < edg3 then
778
				a, b, c = b, c, a
779
				ab, bc, ca = bc, ca, ab
780
				abm = bcm
781
			else
782
				a, b, c = c, a, b
783
				ab, bc, ca = ca, ab, bc
784
				abm = cam
785
			end
786
		end
787
	 
788
		local len1 = -ca:Dot(ab)/abm
789
		local len2 = abm - len1
790
		local width = (ca + ab.unit*len1).magnitude
791
	 
792
		local maincf = CFrameFromTopBack(a, ab:Cross(bc).unit, -ab.unit)
793
	 
794
		if len1 > 0.2 then
795
			mPart1.Parent = parent
796
			mPart1.Size = Vector3.new(0.2, width, len1)
797
			mPart1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2)
798
		else
799
			mPart1.Parent = nil
800
		end
801
		
802
		if len2 > 0.2 then
803
			mPart2.Parent = parent
804
			mPart2.Size = Vector3.new(0.2, width, len2)
805
			mPart2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2)
806
		else
807
			mPart2.Parent = nil
808
		end	
809
	end
810
	function this:SetProperty(prop, value)
811
		mPart1[prop] = value
812
		mPart2[prop] = value
813
	end
814
	this:Set(a, b, c)
815
	function this:Destroy()
816
		mPart1:Destroy()
817
		mPart2:Destroy()
818
	end
819
	this.p1 = mPart1
820
	this.p2 = mPart2
821
	this.p1.BrickColor = BrickColor.new(GetDiscoColor(math.noise(0.5, 0.5, this.p1.CFrame.Y * 0.5 + time())))
822
	this.p2.BrickColor = BrickColor.new(GetDiscoColor(math.noise(0.5, 0.5, this.p2.CFrame.Y * 0.5 + time())))
823
	return this
824
end
825
826
function verlet.draw(object, id)
827
	if object.class == "Point" then
828
		local part = parts[id]
829
		part.BrickColor = BrickColor.new(107, 0, 107)
830
		part.Transparency = 0
831
		part.formFactor = 3
832
		part.Anchored = true
833
		part.CanCollide = false
834
		part.TopSurface = 0
835
		part.BottomSurface = 0
836
		part.Size = Vector3.new(0.35, 0.35, 0.35)
837
		part.Material = "Neon"
838
		part.CFrame = CFrame.new(object.position)
839
		part.Parent = torso
840
		return part
841
	elseif object.class == "Link" then
842
		local part = parts[id]
843
		local dist = (object.point1.position - object.point2.position).magnitude
844
		part.Size = Vector3.new(0.2, 0.2, dist)
845
		part.CFrame = CFrame.new(object.point1.position, object.point2.position) * CFrame.new(0, 0, dist * -0.5)
846
		part.Parent = torso
847
		return part
848
	end
849
end
850
851
function verlet.clear()
852
	for _, v in pairs(workspace:GetChildren()) do
853
		if v.Name == "Part" then
854
			v:Destroy()
855
		end
856
	end
857
end
858
859
local points = {}
860
local links = {}
861
862
for x = 0, 2 do
863
	points[x] = {}
864
	for y = 0, 3 do
865
		points[x][y] = verlet.new("Point", torso.Position + Vector3.new(x * 0.8 - 2, 2 - y * 0.8, 5 + y * 0.4))
866
		points[x][y].fixed = y == 0
867
	end
868
end
869
870
for x = 1, 2 do
871
	for y = 0, 3 do
872
		links[#links + 1] = verlet.new("Link", points[x][y], points[x - 1][y], 1 + y * 0.08)
873
	end
874
end
875
876
for x = 0, 2 do
877
	for y = 1, 3 do
878
		links[#links + 1] = verlet.new("Link", points[x][y], points[x][y - 1], 1.2 + y * 0.03)
879
	end
880
end
881
882
render:connect(function()
883
	for x = 0, 2 do
884
		for y = 0, 3 do
885
			if y == 0 then
886
				points[x][y].position = (torso.CFrame * CFrame.new(x * 1 - 1, 1, 0.5)).p
887
			else
888
				points[x][y]:step()
889
			end
890
		end
891
	end
892
	for i = 1, #links do
893
		links[i]:step()
894
	end
895
	for i = 1, #tris do
896
		triParts[#triParts + 1] = tris[i].p1
897
		triParts[#triParts + 1] = tris[i].p2
898
	end
899
	tris = {}
900
	for x = 1, 2 do
901
		for y = 1, 3 do
902
			tris[#tris + 1] = drawTri(torso, points[x - 1][y - 1].position, points[x - 1][y].position, points[x][y - 1].position)
903
			tris[#tris + 1] = drawTri(torso, points[x][y].position, points[x - 1][y].position, points[x][y - 1].position)
904
		end
905
	end
906
end)
907
908
909
910
911
912
wait(0.016666666666667)
913
Player = game:GetService("Players").LocalPlayer
914
Character = Player.Character
915
PlayerGui = Player.PlayerGui
916
Backpack = Player.Backpack
917
Torso = Character.Torso
918
Head = Character.Head
919
Humanoid = Character.Humanoid
920
LeftArm = Character["Left Arm"]
921
LeftLeg = Character["Left Leg"]
922
RightArm = Character["Right Arm"]
923
RightLeg = Character["Right Leg"]
924
LS = Torso["Left Shoulder"]
925
LH = Torso["Left Hip"]
926
RS = Torso["Right Shoulder"]
927
RH = Torso["Right Hip"]
928
Face = Head.face
929
Neck = Torso.Neck
930
it = Instance.new
931
attacktype = 1
932
vt = Vector3.new
933
cf = CFrame.new
934
euler = CFrame.fromEulerAnglesXYZ
935
angles = CFrame.Angles
936
cloaked = false
937
necko = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
938
necko2 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
939
LHC0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
940
LHC1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
941
RHC0 = cf(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
942
RHC1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
943
RootPart = Character.HumanoidRootPart
944
RootJoint = RootPart.RootJoint
945
RootCF = euler(-1.57, 0, 3.14)
946
attack = false
947
attackdebounce = false
948
deb = false
949
equipped = false
950
hand = false
951
MMouse = nil
952
combo = 0
953
mana = 100
954
trispeed = 0.2
955
attackmode = "none"
956
local idle = 0
957
local Anim = "Idle"
958
local gun = false
959
local shoot = false
960
player = nil
961
mana = 100
962
mouse = Player:GetMouse()
963
RSH = nil
964
RW = Instance.new("Weld")
965
LW = Instance.new("Weld")
966
RW.Name = "Right Shoulder"
967
LW.Name = "Left Shoulder"
968
LH = Torso["Left Hip"]
969
RH = Torso["Right Hip"]
970
TorsoColor = Torso.BrickColor
971
NoOutline = function(Part)
972
  Part.TopSurface = 10
973
end
974
975
player = Player
976
ch = Character
977
RSH = ch.Torso["Right Shoulder"]
978
LSH = ch.Torso["Left Shoulder"]
979
RSH.Parent = player.Character.Torso
980
LSH.Parent = player.Character.Torso
981
RW.Name = "Right Shoulder"
982
RW.Part0 = ch.Torso
983
RW.C0 = cf(1.5, 0.5, 0)
984
RW.C1 = cf(0, 0.5, 0)
985
RW.Part1 = ch["Right Arm"]
986
RW.Parent = nil
987
LW.Name = "Left Shoulder"
988
LW.Part0 = ch.Torso
989
LW.C0 = cf(-1.5, 0.5, 0)
990
LW.C1 = cf(0, 0.5, 0)
991
LW.Part1 = ch["Left Arm"]
992
LW.Parent = nil
993
Player = game:GetService("Players").LocalPlayer
994
Character = Player.Character
995
Mouse = Player:GetMouse()
996
m = Instance.new("Model", Character)
997
local Player = game.Players.localPlayer
998
local Character = Player.Character
999
local Humanoid = Character.Humanoid
1000
local mouse = Player:GetMouse()
1001
local LeftArm = Character["Left Arm"]
1002
local RightArm = Character["Right Arm"]
1003
local LeftLeg = Character["Left Leg"]
1004
local RightLeg = Character["Right Leg"]
1005
local Head = Character.Head
1006
local Torso = Character.Torso
1007
local cam = game.Workspace.CurrentCamera
1008
local RootPart = Character.HumanoidRootPart
1009
local equipped = false
1010
local attack = false
1011
local Anim = "Idle"
1012
local idle = 0
1013
local sprint = false
1014
local battlestance = false
1015
local attacktype = 1
1016
local state = "none"
1017
local torsovelocity = RootPart.Velocity * Vector3.new(1, 0, 1).magnitude
1018
local velocity = RootPart.Velocity.y
1019
local sine = 0
1020
local change = 1
1021
local on = false
1022
local grabbed = false
1023
local skill1 = false
1024
local skill2 = false
1025
local skill3 = false
1026
local skill4 = false
1027
local cooldown1 = 0
1028
local cooldown2 = 0
1029
local cooldown3 = 0
1030
local cooldown4 = 0
1031
local co1 = 0
1032
local co2 = 0
1033
local co3 = 0
1034
local co4 = 0
1035
local inputserv = game:GetService("UserInputService")
1036
local typing = false
1037
local crit = false
1038
local critchance = 2
1039
local critdamageaddmin = 3
1040
local critdamageaddmax = 7
1041
local maxstamina = 100
1042
local stamina = 0
1043
local skill1stam = 0
1044
local skill2stam = 0
1045
local skill3stam = 0
1046
local skill4stam = 0
1047
local recovermana = 3
1048
local mindamage = 5
1049
local maxdamage = 10
1050
local cf = CFrame.new
1051
local mr = math.rad
1052
local angles = CFrame.Angles
1053
local ud = UDim2.new
1054
local c3 = Color3.new
1055
local skillcolorscheme = c3(1, 1, 1)
1056
local defensevalue = 1
1057
local speedvalue = 1
1058
local damagevalue = 1
1059
local cf = CFrame.new
1060
local mr = math.rad
1061
local angles = CFrame.Angles
1062
local ud = UDim2.new
1063
local c3 = Color3.new
1064
local skillcolorscheme = c3(1, 1, 1)
1065
local scrn = Instance.new("ScreenGui", Player.PlayerGui)
1066
makeframe = function(par, trans, pos, size, color)
1067
  local frame = Instance.new("Frame", par)
1068
  frame.BackgroundTransparency = trans
1069
  frame.BorderSizePixel = 0
1070
  frame.Position = pos
1071
  frame.Size = size
1072
  frame.BackgroundColor3 = color
1073
  return frame
1074
end
1075
1076
makelabel = function(par, text)
1077
  local label = Instance.new("TextLabel", par)
1078
  label.BackgroundTransparency = 1
1079
  label.Size = ud(1, 0, 1, 0)
1080
  label.Position = ud(0, 0, 0, 0)
1081
  label.TextColor3 = c3(255, 255, 255)
1082
  label.TextStrokeTransparency = 0
1083
  label.FontSize = Enum.FontSize.Size32
1084
  label.Font = Enum.Font.SourceSansBold
1085
  label.BorderSizePixel = 0
1086
  label.TextScaled = true
1087
  label.Text = text
1088
end
1089
1090
local stats = Instance.new("Folder", Character)
1091
stats.Name = "Stats"
1092
local block = Instance.new("BoolValue", stats)
1093
block.Name = "Block"
1094
block.Value = false
1095
local stun = Instance.new("BoolValue", stats)
1096
stun.Name = "Stun"
1097
stun.Value = false
1098
local defense = Instance.new("NumberValue", stats)
1099
defense.Name = "Defence"
1100
defense.Value = defensevalue
1101
local speed = Instance.new("NumberValue", stats)
1102
speed.Name = "Speed"
1103
speed.Value = speedvalue
1104
local damagea = Instance.new("NumberValue", stats)
1105
damagea.Name = "Damage"
1106
damagea.Value = damagevalue
1107
framesk1 = makeframe(scrn, 0.5, ud(0.13, 0, 0.56, 0), ud(0.08, 0, 0.06, 0), c3(1, 1, 0.5))
1108
bar1 = makeframe(framesk1, 0.5, ud(0, 0, 0, 0), ud(1, 0, 1, 0), c3(1, 1, 0.5))
1109
ammolabel = Instance.new("TextLabel", framesk1)
1110
ammolabel.BackgroundTransparency = 1
1111
ammolabel.Size = ud(1, 0, 1, 0)
1112
ammolabel.Position = ud(0, 0, 0, 0)
1113
ammolabel.TextColor3 = c3(255, 255, 255)
1114
ammolabel.TextStrokeTransparency = 0
1115
ammolabel.FontSize = Enum.FontSize.Size8
1116
ammolabel.Font = Enum.Font.SourceSans
1117
ammolabel.BorderSizePixel = 0
1118
ammolabel.TextScaled = true
1119
ammolabel.Text = "Speed [" .. speed.Value .. "]"
1120
framesk2 = makeframe(scrn, 0.5, ud(0.13, 0, 0.63, 0), ud(0.08, 0, 0.06, 0), c3(1, 0.5, 1))
1121
bar2 = makeframe(framesk2, 0.5, ud(0, 0, 0, 0), ud(1, 0, 1, 0), c3(0.5, 0.25, 0.25))
1122
ammolabel2 = Instance.new("TextLabel", framesk2)
1123
ammolabel2.BackgroundTransparency = 1
1124
ammolabel2.Size = ud(1, 0, 1, 0)
1125
ammolabel2.Position = ud(0, 0, 0, 0)
1126
ammolabel2.TextColor3 = c3(255, 255, 255)
1127
ammolabel2.TextStrokeTransparency = 0
1128
ammolabel2.FontSize = Enum.FontSize.Size8
1129
ammolabel2.Font = Enum.Font.SourceSans
1130
ammolabel2.BorderSizePixel = 0
1131
ammolabel2.TextScaled = true
1132
ammolabel2.Text = "Damage [" .. damagea.Value .. "]"
1133
framesk3 = makeframe(scrn, 0.5, ud(0.13, 0, 0.7, 0), ud(0.08, 0, 0.06, 0), c3(1, 0.5, 1))
1134
bar3 = makeframe(framesk3, 0.5, ud(0, 0, 0, 0), ud(1, 0, 1, 0), c3(0.25, 0.25, 0.5))
1135
ammolabel3 = Instance.new("TextLabel", framesk3)
1136
ammolabel3.BackgroundTransparency = 1
1137
ammolabel3.Size = ud(1, 0, 1, 0)
1138
ammolabel3.Position = ud(0, 0, 0, 0)
1139
ammolabel3.TextColor3 = c3(255, 255, 255)
1140
ammolabel3.TextStrokeTransparency = 0
1141
ammolabel3.FontSize = Enum.FontSize.Size8
1142
ammolabel3.Font = Enum.Font.SourceSans
1143
ammolabel3.BorderSizePixel = 0
1144
ammolabel3.TextScaled = true
1145
ammolabel3.Text = "Defense [" .. defense.Value .. "]"
1146
animate = Character:findFirstChild("Animate")
1147
animate.Disabled = false
1148
CustomColor = BrickColor.new("Cool yellow")
1149
Colorpart1 = Torso.BrickColor.r
1150
Colorpart2 = Torso.BrickColor.g
1151
Colorpart3 = Torso.BrickColor.b
1152
local weldBetween = function(a, b)
1153
  local weldd = Instance.new("ManualWeld")
1154
  weldd.Part0 = a
1155
  weldd.Part1 = b
1156
  weldd.C0 = CFrame.new()
1157
  weldd.C1 = b.CFrame:inverse() * a.CFrame
1158
  weldd.Parent = a
1159
  return weldd
1160
end
1161
1162
swait = function(num)
1163
  if num == 0 or num == nil then
1164
    game:service("RunService").Stepped:wait(0)
1165
  else
1166
    for i = 0, num do
1167
      game:service("RunService").Stepped:wait(0)
1168
    end
1169
  end
1170
end
1171
1172
nooutline = function(part)
1173
  part.TopSurface = 10
1174
end
1175
1176
part = function(formfactor, parent, material, reflectance, transparency, brickcolor, name, size)
1177
  local fp = it("Part")
1178
  fp.formFactor = formfactor
1179
  fp.Parent = parent
1180
  fp.Reflectance = reflectance
1181
  fp.Transparency = transparency
1182
  fp.CanCollide = false
1183
  fp.Locked = true
1184
  fp.BrickColor = BrickColor.new(tostring(brickcolor))
1185
  fp.Name = name
1186
  fp.Size = size
1187
  fp.Position = Character.Torso.Position
1188
  nooutline(fp)
1189
  fp.Material = material
1190
  fp:BreakJoints()
1191
  return fp
1192
end
1193
1194
mesh = function(Mesh, part, meshtype, meshid, offset, scale)
1195
  local mesh = it(Mesh)
1196
  mesh.Parent = part
1197
  if Mesh == "SpecialMesh" then
1198
    mesh.MeshType = meshtype
1199
    mesh.MeshId = meshid
1200
  end
1201
  mesh.Offset = offset
1202
  mesh.Scale = scale
1203
  return mesh
1204
end
1205
1206
weld = function(parent, part0, part1, c0, c1)
1207
  local weld = it("Weld")
1208
  weld.Parent = parent
1209
  weld.Part0 = part0
1210
  weld.Part1 = part1
1211
  weld.C0 = c0
1212
  weld.C1 = c1
1213
  return weld
1214
end
1215
1216
fat = Instance.new("BindableEvent", script)
1217
fat.Name = "Heartbeat"
1218
script:WaitForChild("Heartbeat")
1219
frame = 0.033333333333333
1220
tf = 0
1221
allowframeloss = false
1222
tossremainder = false
1223
lastframe = tick()
1224
script.Heartbeat:Fire()
1225
game:GetService("RunService").Heartbeat:connect(function(s, p)
1226
  tf = tf + s
1227
  if frame <= tf then
1228
    if allowframeloss then
1229
      script.Heartbeat:Fire()
1230
      lastframe = tick()
1231
    else
1232
      for i = 1, math.floor(tf / frame) do
1233
        script.Heartbeat:Fire()
1234
      end
1235
      lastframe = tick()
1236
    end
1237
    if tossremainder then
1238
      tf = 0
1239
    else
1240
      tf = tf - frame * math.floor(tf / frame)
1241
    end
1242
  end
1243
end
1244
)
1245
if script.Parent.className ~= "HopperBin" then
1246
  Tool = Instance.new("HopperBin")
1247
  Tool.Parent = Backpack
1248
  Tool.Name = "Flying"
1249
  script.Parent = Tool
1250
end
1251
Bin = script.Parent
1252
so = function(id, par, vol, pit)
1253
  coroutine.resume(coroutine.create(function()
1254
    local sou = Instance.new("Sound", par or workspace)
1255
    sou.Volume = vol
1256
    sou.Pitch = pit or 1
1257
    sou.SoundId = id
1258
    swait()
1259
    sou:play()
1260
    game:GetService("Debris"):AddItem(sou, 6)
1261
  end
1262
))
1263
end
1264
1265
local CFrameFromTopBack = function(at, top, back)
1266
  local right = top:Cross(back)
1267
  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)
1268
end
1269
1270
Triangle = function(a, b, c)
1271
  local edg1 = c - a:Dot(b - a.unit)
1272
  local edg2 = a - b:Dot(c - b.unit)
1273
  local edg3 = b - c:Dot(a - c.unit)
1274
  if edg1 <= b - a.magnitude and edg1 >= 0 then
1275
    a = a
1276
  else
1277
    -- DECOMPILER ERROR at PC35: Overwrote pending register: R1 in 'AssignReg'
1278
1279
    if edg2 <= c - b.magnitude and edg2 >= 0 then
1280
      a = b
1281
    else
1282
      -- DECOMPILER ERROR at PC46: Overwrote pending register: R2 in 'AssignReg'
1283
1284
      -- DECOMPILER ERROR at PC47: Overwrote pending register: R1 in 'AssignReg'
1285
1286
      if edg3 <= a - c.magnitude and edg3 >= 0 then
1287
        a = c
1288
      else
1289
        assert(false, "unreachable")
1290
      end
1291
    end
1292
  end
1293
  local len1 = c - a:Dot(b - a.unit)
1294
  local len2 = b - a.magnitude - len1
1295
  local width = a + b - a.unit * len1 - c.magnitude
1296
  local maincf = CFrameFromTopBack(a, b - a:Cross(c - b).unit, -b - a.unit)
1297
  local list = {}
1298
  local TrailColor = "Dark grey"
1299
  if len1 > 0.01 then
1300
    local w1 = Instance.new("WedgePart", m)
1301
    game:GetService("Debris"):AddItem(w1, 5)
1302
    w1.Material = "SmoothPlastic"
1303
    w1.FormFactor = "Custom"
1304
    w1.BrickColor = BrickColor.new(TrailColor)
1305
    w1.Transparency = 0
1306
    w1.Reflectance = 0
1307
    w1.Material = "SmoothPlastic"
1308
    w1.CanCollide = false
1309
    NoOutline(w1)
1310
    local sz = Vector3.new(0.2, width, len1)
1311
    w1.Size = sz
1312
    local sp = Instance.new("SpecialMesh", w1)
1313
    sp.MeshType = "Wedge"
1314
    sp.Scale = Vector3.new(0, 1, 1) * sz / w1.Size
1315
    w1:BreakJoints()
1316
    w1.Anchored = true
1317
    w1.Parent = workspace
1318
    w1.Transparency = 0.7
1319
    table.insert(Effects, {w1, "Disappear", 0.01})
1320
    w1.CFrame = maincf * CFrame.Angles(math.pi, 0, math.pi / 2) * CFrame.new(0, width / 2, len1 / 2)
1321
    table.insert(list, w1)
1322
  end
1323
  do
1324
    if len2 > 0.01 then
1325
      local w2 = Instance.new("WedgePart", m)
1326
      game:GetService("Debris"):AddItem(w2, 5)
1327
      w2.Material = "SmoothPlastic"
1328
      w2.FormFactor = "Custom"
1329
      w2.BrickColor = BrickColor.new(TrailColor)
1330
      w2.Transparency = 0
1331
      w2.Reflectance = 0
1332
      w2.Material = "SmoothPlastic"
1333
      w2.CanCollide = false
1334
      NoOutline(w2)
1335
      local sz = Vector3.new(0.2, width, len2)
1336
      w2.Size = sz
1337
      local sp = Instance.new("SpecialMesh", w2)
1338
      sp.MeshType = "Wedge"
1339
      sp.Scale = Vector3.new(0, 1, 1) * sz / w2.Size
1340
      w2:BreakJoints()
1341
      w2.Anchored = true
1342
      w2.Parent = workspace
1343
      w2.Transparency = 0.7
1344
      table.insert(Effects, {w2, "Disappear", 0.01})
1345
      w2.CFrame = maincf * CFrame.Angles(math.pi, math.pi, -math.pi / 2) * CFrame.new(0, width / 2, -len1 - len2 / 2)
1346
      table.insert(list, w2)
1347
    end
1348
    do
1349
      return unpack(list)
1350
    end
1351
  end
1352
end
1353
1354
rayCast = function(Pos, Dir, Max, Ignore)
1355
  return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
1356
end
1357
1358
function clerp(a,b,t) 
1359
local qa = {QuaternionFromCFrame(a)}
1360
local qb = {QuaternionFromCFrame(b)} 
1361
local ax, ay, az = a.x, a.y, a.z 
1362
local bx, by, bz = b.x, b.y, b.z
1363
local _t = 1-t
1364
return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) 
1365
end 
1366
 
1367
function QuaternionFromCFrame(cf) 
1368
local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() 
1369
local trace = m00 + m11 + m22 
1370
if trace > 0 then 
1371
local s = math.sqrt(1 + trace) 
1372
local recip = 0.5/s 
1373
return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 
1374
else 
1375
local i = 0 
1376
if m11 > m00 then
1377
i = 1
1378
end
1379
if m22 > (i == 0 and m00 or m11) then 
1380
i = 2 
1381
end 
1382
if i == 0 then 
1383
local s = math.sqrt(m00-m11-m22+1) 
1384
local recip = 0.5/s 
1385
return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip 
1386
elseif i == 1 then 
1387
local s = math.sqrt(m11-m22-m00+1) 
1388
local recip = 0.5/s 
1389
return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip 
1390
elseif i == 2 then 
1391
local s = math.sqrt(m22-m00-m11+1) 
1392
local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip 
1393
end 
1394
end 
1395
end
1396
 
1397
function QuaternionToCFrame(px, py, pz, x, y, z, w) 
1398
local xs, ys, zs = x + x, y + y, z + z 
1399
local wx, wy, wz = w*xs, w*ys, w*zs 
1400
local xx = x*xs 
1401
local xy = x*ys 
1402
local xz = x*zs 
1403
local yy = y*ys 
1404
local yz = y*zs 
1405
local zz = z*zs 
1406
return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) 
1407
end
1408
 
1409
function QuaternionSlerp(a, b, t) 
1410
local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] 
1411
local startInterp, finishInterp; 
1412
if cosTheta >= 0.0001 then 
1413
if (1 - cosTheta) > 0.0001 then 
1414
local theta = math.acos(cosTheta) 
1415
local invSinTheta = 1/math.sin(theta) 
1416
startInterp = math.sin((1-t)*theta)*invSinTheta 
1417
finishInterp = math.sin(t*theta)*invSinTheta  
1418
else 
1419
startInterp = 1-t 
1420
finishInterp = t 
1421
end 
1422
else 
1423
if (1+cosTheta) > 0.0001 then 
1424
local theta = math.acos(-cosTheta) 
1425
local invSinTheta = 1/math.sin(theta) 
1426
startInterp = math.sin((t-1)*theta)*invSinTheta 
1427
finishInterp = math.sin(t*theta)*invSinTheta 
1428
else 
1429
startInterp = t-1 
1430
finishInterp = t 
1431
end 
1432
end 
1433
return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp 
1434
end
1435
rayCast = function(Pos, Dir, Max, Ignore)
1436
  return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
1437
end
1438
1439
makegui = function(cframe, text)
1440
  local a = math.random(-10, 10) / 100
1441
  local c = Instance.new("Part")
1442
  c.Transparency = 1
1443
  Instance.new("BodyGyro").Parent = c
1444
  c.Parent = workspace
1445
  c.CFrame = CFrame.new(cframe.p + Vector3.new(0, 1.5, 0))
1446
  local f = Instance.new("BodyPosition")
1447
  f.P = 2000
1448
  f.D = 100
1449
  f.maxForce = Vector3.new(math.huge, math.huge, math.huge)
1450
  f.position = c.Position + Vector3.new(0, 3, 0)
1451
  f.Parent = c
1452
  game:GetService("Debris"):AddItem(c, 6.5)
1453
  c.CanCollide = false
1454
  c.Parent = workspace
1455
  c.CanCollide = false
1456
  local bg = Instance.new("BillboardGui", c)
1457
  bg.Adornee = c
1458
  bg.Size = UDim2.new(1, 0, 1, 0)
1459
  bg.StudsOffset = Vector3.new(0, 0, 0)
1460
  bg.AlwaysOnTop = false
1461
  local tl = Instance.new("TextLabel", bg)
1462
  tl.BackgroundTransparency = 1
1463
  tl.Size = UDim2.new(1, 0, 1, 0)
1464
  tl.Text = text
1465
  tl.Font = "SourceSansBold"
1466
  tl.FontSize = "Size42"
1467
  if crit == true then
1468
    tl.TextColor3 = Color3.new(0.70588235294118, 0, 0)
1469
  else
1470
    tl.TextColor3 = Color3.new(255, 0.70588235294118, 0.2)
1471
  end
1472
  tl.TextStrokeTransparency = 0
1473
  tl.TextScaled = true
1474
  tl.TextWrapped = true
1475
  coroutine.wrap(function()
1476
    wait(2)
1477
    for i = 1, 10 do
1478
      fat.Event:wait()
1479
      c.Transparency = 1
1480
      tl.TextTransparency = tl.TextTransparency + 0.1
1481
    end
1482
  end
1483
)()
1484
end
1485
1486
Damagefunc = function(hit, minim, maxim, knockback, Type, Property, Delay, KnockbackType, decreaseblock)
1487
  if hit.Parent == nil then
1488
    return 
1489
  end
1490
  h = hit.Parent:FindFirstChild("Humanoid")
1491
  for _,v in pairs(hit.Parent:children()) do
1492
    if v:IsA("Humanoid") then
1493
      h = v
1494
    end
1495
  end
1496
  if hit.Parent.Parent:FindFirstChild("Torso") ~= nil then
1497
    h = hit.Parent.Parent:FindFirstChild("Humanoid")
1498
  end
1499
  if hit.Parent.className == "Hat" then
1500
    hit = hit.Parent.Parent:findFirstChild("Head")
1501
  end
1502
  if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
1503
    if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
1504
      return 
1505
    end
1506
    blocked = false
1507
    block = hit.Parent:findFirstChild("Block")
1508
    if block ~= nil then
1509
      print(block.className)
1510
      if block.className == "NumberValue" and block.Value > 0 then
1511
        blocked = true
1512
        if decreaseblock == nil then
1513
          block.Value = block.Value - 1
1514
        end
1515
      end
1516
      if block.className == "IntValue" and block.Value > 0 then
1517
        blocked = true
1518
        if decreaseblock ~= nil then
1519
          block.Value = block.Value - 1
1520
        end
1521
      end
1522
    end
1523
    if blocked == false then
1524
      local D = math.random(minim, maxim) * damagea.Value
1525
      if h.Parent:FindFirstChild("Stats") then
1526
        D = D / h.Parent:FindFirstChild("Stats").Defence.Value
1527
      else
1528
      end
1529
      if not h.Parent:FindFirstChild("Stats") then
1530
        do
1531
          h.Health = h.Health - D
1532
          makegui(hit.Parent.Head.CFrame, tostring(math.floor(D + 0.5)))
1533
          local D = math.random(minim, maxim) * damagea.Value
1534
          if h.Parent:FindFirstChild("Stats") then
1535
            D = D / h.Parent:FindFirstChild("Stats").Defence.Value
1536
          else
1537
          end
1538
          if not h.Parent:FindFirstChild("Stats") then
1539
            do
1540
              h.Health = h.Health - D / 2
1541
              makegui(hit.Parent.Head.CFrame, tostring(math.floor(D + 0.5)))
1542
              if Type == "Knockdown" then
1543
                humanoid = hit.Parent.Humanoid
1544
                humanoid.PlatformStand = true
1545
                coroutine.resume(coroutine.create(function(Humanoid)
1546
    fat.Event:wait()
1547
    Humanoid.PlatformStand = false
1548
  end
1549
), humanoid)
1550
                local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
1551
                local bodvol = Instance.new("BodyVelocity")
1552
                bodvol.velocity = angle * knockback
1553
                bodvol.P = 5000
1554
                bodvol.maxForce = Vector3.new(8000, 8000, 8000)
1555
                bodvol.Parent = hit
1556
                rl = Instance.new("BodyAngularVelocity")
1557
                rl.P = 3000
1558
                rl.maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000
1559
                rl.angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
1560
                rl.Parent = hit
1561
                game:GetService("Debris"):AddItem(bodvol, 0.5)
1562
                game:GetService("Debris"):AddItem(rl, 0.5)
1563
              else
1564
                do
1565
                  if Type == "Normal" then
1566
                    so("http://roblox.com/asset/?id=392592460", hit, 1, math.random(80, 120) / 100)
1567
                    vp = Instance.new("BodyVelocity")
1568
                    vp.P = 500
1569
                    vp.maxForce = Vector3.new(math.huge, 0, math.huge)
1570
                    if KnockbackType == 1 then
1571
                      vp.velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
1572
                    else
1573
                      if KnockbackType == 2 then
1574
                        vp.velocity = Property.CFrame.lookVector * knockback
1575
                      end
1576
                    end
1577
                    if knockback > 0 then
1578
                      vp.Parent = hit.Parent.Torso
1579
                    end
1580
                    game:GetService("Debris"):AddItem(vp, 0.5)
1581
                  else
1582
                    if Type == "MovementDebuff" then
1583
                      coroutine.resume(coroutine.create(function()
1584
    hit.Parent.Humanoid.WalkSpeed = hit.Parent.Humanoid.WalkSpeed - 0.2
1585
    speed.Value = speed.Value + 0.2
1586
    Humanoid.WalkSpeed = 16 * speed.Value
1587
    wait(1)
1588
    hit.Parent.Humanoid.WalkSpeed = hit.Parent.Humanoid.WalkSpeed + 0.2
1589
    speed.Value = speed.Value - 0.2
1590
    Humanoid.WalkSpeed = 16 * speed.Value
1591
  end
1592
))
1593
                      vp = Instance.new("BodyVelocity")
1594
                      vp.P = 500
1595
                      vp.maxForce = Vector3.new(math.huge, 0, math.huge)
1596
                      if KnockbackType == 1 then
1597
                        vp.velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
1598
                      else
1599
                        if KnockbackType == 2 then
1600
                          vp.velocity = Property.CFrame.lookVector * knockback
1601
                        end
1602
                      end
1603
                      if knockback > 0 then
1604
                        vp.Parent = hit.Parent.Torso
1605
                      end
1606
                      game:GetService("Debris"):AddItem(vp, 0.5)
1607
                    else
1608
                      if Type == "CurseAura" then
1609
                        coroutine.resume(coroutine.create(function()
1610
    savethewalkspeed = hit.Parent.Humanoid.WalkSpeed
1611
    hit.Parent.Humanoid.WalkSpeed = 0
1612
    wait(0.25)
1613
    hit.Parent.Humanoid.WalkSpeed = savethewalkspeed
1614
  end
1615
))
1616
                        vp = Instance.new("BodyVelocity")
1617
                        vp.P = 500
1618
                        vp.maxForce = Vector3.new(math.huge, 0, math.huge)
1619
                        if KnockbackType == 1 then
1620
                          vp.velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
1621
                        else
1622
                          if KnockbackType == 2 then
1623
                            vp.velocity = Property.CFrame.lookVector * knockback
1624
                          end
1625
                        end
1626
                        if knockback > 0 then
1627
                          vp.Parent = hit.Parent.Torso
1628
                        end
1629
                        game:GetService("Debris"):AddItem(vp, 0.5)
1630
                      else
1631
                        if Type == "SlashLifeSteal2" then
1632
                          so("http://www.roblox.com/asset/?id=344936315", hit, 1, math.random(100, 200) / 100)
1633
                          Humanoid.Health = Humanoid.Health + math.random(2, 3) / 2.5
1634
                          vp = Instance.new("BodyVelocity")
1635
                          vp.P = 500
1636
                          vp.maxForce = Vector3.new(math.huge, 0, math.huge)
1637
                          if KnockbackType == 1 then
1638
                            vp.velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
1639
                          else
1640
                            if KnockbackType == 2 then
1641
                              vp.velocity = Property.CFrame.lookVector * knockback
1642
                            end
1643
                          end
1644
                          if knockback > 0 then
1645
                            vp.Parent = hit.Parent.Torso
1646
                          end
1647
                          game:GetService("Debris"):AddItem(vp, 0.5)
1648
                        else
1649
                          if Type == "BlackHoleDamage" then
1650
                            Humanoid.Health = Humanoid.Health + math.random(2, 4) / 5
1651
                            floatingvelocity = Instance.new("BodyVelocity")
1652
                            floatingvelocity.Parent = hit.Parent.Torso
1653
                            floatingvelocity.Velocity = Vector3.new(0, math.random(2.5, 5), 0)
1654
                            game:GetService("Debris"):AddItem(floatingvelocity, 1)
1655
                          else
1656
                            if Type == "BlackHoleDamage2" then
1657
                              vp = Instance.new("BodyVelocity")
1658
                              vp.P = 500
1659
                              vp.maxForce = Vector3.new(math.huge, 0, math.huge)
1660
                              if KnockbackType == 1 then
1661
                                vp.velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
1662
                              else
1663
                                if KnockbackType == 2 then
1664
                                  vp.velocity = Property.CFrame.lookVector * knockback
1665
                                end
1666
                              end
1667
                              if knockback > 0 then
1668
                                vp.Parent = hit.Parent.Torso
1669
                              end
1670
                              game:GetService("Debris"):AddItem(vp, 0.5)
1671
                            else
1672
                              if Type == "Up" then
1673
                                local bodyVelocity = Instance.new("BodyVelocity")
1674
                                bodyVelocity.velocity = vt(0, 60, 0)
1675
                                bodyVelocity.P = 5000
1676
                                bodyVelocity.maxForce = Vector3.new(8000, 8000, 8000)
1677
                                bodyVelocity.Parent = hit
1678
                                game:GetService("Debris"):AddItem(bodyVelocity, 1)
1679
                                rl = Instance.new("BodyAngularVelocity")
1680
                                rl.P = 3000
1681
                                rl.maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000
1682
                                rl.angularvelocity = Vector3.new(math.random(-30, 30), math.random(-30, 30), math.random(-30, 30))
1683
                                rl.Parent = hit
1684
                                game:GetService("Debris"):AddItem(rl, 0.5)
1685
                              else
1686
                                do
1687
                                  if Type == "Snare" then
1688
                                    wait()
1689
                                    bp = Instance.new("BodyPosition")
1690
                                    bp.P = 2000
1691
                                    bp.D = 100
1692
                                    bp.maxForce = Vector3.new(math.huge, math.huge, math.huge)
1693
                                    bp.position = hit.Parent.Torso.Position
1694
                                    bp.Parent = hit.Parent.Torso
1695
                                    game:GetService("Debris"):AddItem(bp, 1)
1696
                                  else
1697
                                    if Type == "Target" then
1698
                                      so("http://www.roblox.com/asset/?id=199144144", hit, 1, math.random(150, 200) / 100)
1699
                                      vp = Instance.new("BodyVelocity")
1700
                                      vp.P = 500
1701
                                      vp.maxForce = Vector3.new(math.huge, 0, math.huge)
1702
                                      if KnockbackType == 1 then
1703
                                        vp.velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
1704
                                      else
1705
                                        if KnockbackType == 2 then
1706
                                          vp.velocity = Property.CFrame.lookVector * knockback
1707
                                        end
1708
                                      end
1709
                                      if knockback > 0 then
1710
                                        vp.Parent = hit.Parent.Torso
1711
                                      end
1712
                                      game:GetService("Debris"):AddItem(vp, 0.5)
1713
                                    end
1714
                                  end
1715
                                  debounce = Instance.new("BoolValue")
1716
                                  debounce.Name = "DebounceHit"
1717
                                  debounce.Parent = hit.Parent
1718
                                  debounce.Value = true
1719
                                  game:GetService("Debris"):AddItem(debounce, Delay)
1720
                                  c = Instance.new("ObjectValue")
1721
                                  c.Name = "creator"
1722
                                  c.Value = Player
1723
                                  c.Parent = h
1724
                                  game:GetService("Debris"):AddItem(c, 0.5)
1725
                                  CRIT = false
1726
                                  hitDeb = true
1727
                                  AttackPos = 6
1728
                                end
1729
                              end
1730
                            end
1731
                          end
1732
                        end
1733
                      end
1734
                    end
1735
                  end
1736
                end
1737
              end
1738
            end
1739
          end
1740
        end
1741
      end
1742
    end
1743
  end
1744
end
1745
1746
MagniDamage = function(Part, magni, mindam, maxdam, knock, Type)
1747
  for _,c in pairs(workspace:children()) do
1748
    local hum = c:findFirstChild("Humanoid")
1749
    if hum ~= nil then
1750
      local head = c:findFirstChild("Torso")
1751
      if head ~= nil then
1752
        local targ = head.Position - Part.Position
1753
        local mag = targ.magnitude
1754
        if mag <= magni and c.Name ~= Player.Name then
1755
          Damagefunc(head, mindam, maxdam, knock, Type, RootPart, 0.2, 1, 3, 1)
1756
        end
1757
      end
1758
    end
1759
  end
1760
end
1761
1762
Lightning = function(p0, p1, tym, ofs, brickcolor, th, tra, last)
1763
  local magz = p0 - p1.magnitude
1764
  local curpos = p0
1765
  local trz = {-ofs, ofs}
1766
  for i = 1, tym do
1767
    local li = Instance.new("Part", workspace)
1768
    do
1769
      li.TopSurface = 0
1770
      li.BottomSurface = 0
1771
      li.Anchored = true
1772
      li.Transparency = tra or 0.4
1773
      li.BrickColor = brickcolor
1774
      li.formFactor = "Custom"
1775
      li.CanCollide = false
1776
      li.Size = Vector3.new(th, th, magz / tym)
1777
      local ofz = Vector3.new(trz[math.random(1, 2)], trz[math.random(1, 2)], trz[math.random(1, 2)])
1778
      local trolpos = CFrame.new(curpos, p1) * CFrame.new(0, 0, magz / tym).p + ofz
1779
      if tym == i then
1780
        local magz2 = curpos - p1.magnitude
1781
        li.Size = Vector3.new(th, th, magz2)
1782
        li.CFrame = CFrame.new(curpos, p1) * CFrame.new(0, 0, -magz2 / 2)
1783
      else
1784
        do
1785
          do
1786
            li.CFrame = CFrame.new(curpos, trolpos) * CFrame.new(0, 0, magz / tym / 2)
1787
            curpos = li.CFrame * CFrame.new(0, 0, magz / tym / 2).p
1788
            game.Debris:AddItem(li, last)
1789
            coroutine.resume(coroutine.create(function()
1790
    while li.Transparency ~= 1 do
1791
      for i = 0, 1, last do
1792
        fat.Event:wait()
1793
        li.Transparency = li.Transparency + 0.1 / last
1794
      end
1795
    end
1796
  end
1797
))
1798
          end
1799
          -- DECOMPILER ERROR at PC134: LeaveBlock: unexpected jumping out IF_ELSE_STMT
1800
1801
          -- DECOMPILER ERROR at PC134: LeaveBlock: unexpected jumping out IF_STMT
1802
1803
          -- DECOMPILER ERROR at PC134: LeaveBlock: unexpected jumping out DO_STMT
1804
1805
        end
1806
      end
1807
    end
1808
  end
1809
end
1810
1811
RainbowLightning = function(p0, p1, tym, ofs, th, tra, last)
1812
  local rainbowcolor = BrickColor.new(0)
1813
  local magz = p0 - p1.magnitude
1814
  local curpos = p0
1815
  local trz = {-ofs, ofs}
1816
  for i = 1, tym do
1817
    local li = Instance.new("Part", workspace)
1818
    do
1819
      li.TopSurface = 0
1820
      li.BottomSurface = 0
1821
      li.Anchored = true
1822
      li.Transparency = tra or 0.4
1823
      li.BrickColor = rainbowcolor
1824
      li.Material = "Neon"
1825
      li.formFactor = "Custom"
1826
      li.CanCollide = false
1827
      li.Size = Vector3.new(th, th, magz / tym)
1828
      local ofz = Vector3.new(trz[math.random(1, 2)], trz[math.random(1, 2)], trz[math.random(1, 2)])
1829
      local trolpos = CFrame.new(curpos, p1) * CFrame.new(0, 0, magz / tym).p + ofz
1830
      if tym == i then
1831
        local magz2 = curpos - p1.magnitude
1832
        li.Size = Vector3.new(th, th, magz2)
1833
        li.CFrame = CFrame.new(curpos, p1) * CFrame.new(-1.57, 0, -magz2 / 2)
1834
      else
1835
        do
1836
          do
1837
            li.CFrame = CFrame.new(curpos, trolpos) * CFrame.new(-1.57, 0, magz / tym / 2)
1838
            curpos = li.CFrame * CFrame.new(0, 0, magz / tym / 2).p
1839
            game.Debris:AddItem(li, last)
1840
            coroutine.resume(coroutine.create(function()
1841
    while li.Parent ~= nil do
1842
      wait()
1843
      rainbowcolor = BrickColor.new(23)
1844
      wait()
1845
      rainbowcolor = BrickColor.new(107)
1846
      wait()
1847
      rainbowcolor = BrickColor.new(37)
1848
      wait()
1849
      rainbowcolor = BrickColor.new(119)
1850
      wait()
1851
      rainbowcolor = BrickColor.new(24)
1852
      wait()
1853
      rainbowcolor = BrickColor.new(106)
1854
      wait()
1855
      rainbowcolor = BrickColor.new(21)
1856
      wait()
1857
      rainbowcolor = BrickColor.new(104)
1858
    end
1859
  end
1860
))
1861
            coroutine.resume(coroutine.create(function()
1862
    while li.Transparency ~= 1 do
1863
      for i = 0, 1, last do
1864
        fat.Event:wait()
1865
        li.Transparency = li.Transparency + 0.1 / last
1866
        li.BrickColor = rainbowcolor
1867
      end
1868
    end
1869
    do
1870
      li.Parent = nil
1871
    end
1872
  end
1873
))
1874
          end
1875
          -- DECOMPILER ERROR at PC149: LeaveBlock: unexpected jumping out IF_ELSE_STMT
1876
1877
          -- DECOMPILER ERROR at PC149: LeaveBlock: unexpected jumping out IF_STMT
1878
1879
          -- DECOMPILER ERROR at PC149: LeaveBlock: unexpected jumping out DO_STMT
1880
1881
        end
1882
      end
1883
    end
1884
  end
1885
end
1886
1887
JumpEffect = function(brickcolor, cframe, x1, y1, z1, x2, y2, z2, delay)
1888
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
1889
  prt.Anchored = true
1890
  prt.CanCollide = false
1891
  prt.CFrame = cframe * angles(math.rad(90), 0, 0)
1892
  local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=3270017", vt(0, 0, 0), vt(x1, y1, z1))
1893
  game:GetService("Debris"):AddItem(prt, 10)
1894
  coroutine.resume(coroutine.create(function(Part, Mesh)
1895
    for i = 0, 1, delay do
1896
      fat.Event:wait()
1897
      Part.CFrame = Part.CFrame
1898
      Part.Transparency = i
1899
      Mesh.Scale = Mesh.Scale + vt(x2, y2, z2)
1900
    end
1901
    Part:Destroy()
1902
  end
1903
), prt, msh)
1904
end
1905
1906
Shockwave2 = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1907
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
1908
  prt.Anchored = true
1909
  prt.CFrame = cframe
1910
  local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=20329976", vt(0, 0, 0), vt(x1, y1, z1))
1911
  game:GetService("Debris"):AddItem(prt, 4)
1912
  coroutine.resume(coroutine.create(function(Part, Mesh)
1913
    for i = 0, 1, delay do
1914
      fat.Event:wait()
1915
      Part.CFrame = Part.CFrame
1916
      Part.Transparency = i
1917
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1918
    end
1919
    Part:Destroy()
1920
  end
1921
), prt, msh)
1922
end
1923
1924
OrbEffect = function(brickcolor, cframe, x1, y1, z1, x2, y2, z2, delay)
1925
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
1926
  prt.Anchored = true
1927
  prt.CanCollide = false
1928
  prt.CFrame = cframe * angles(math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)))
1929
  local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=3270017", vt(0, 0, 0), vt(x1, y1, z1))
1930
  game:GetService("Debris"):AddItem(prt, 10)
1931
  coroutine.resume(coroutine.create(function(Part, Mesh)
1932
    for i = 0, 1, delay do
1933
      fat.Event:wait()
1934
      Part.CFrame = Part.CFrame
1935
      Part.Transparency = i
1936
      Mesh.Scale = Mesh.Scale + vt(x2, y2, z2)
1937
    end
1938
    Part:Destroy()
1939
  end
1940
), prt, msh)
1941
end
1942
1943
BlockShockwave = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1944
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
1945
  prt.Anchored = true
1946
  prt.CFrame = cframe * angles(math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)))
1947
  local msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
1948
  game:GetService("Debris"):AddItem(prt, 10)
1949
  coroutine.resume(coroutine.create(function(Part, Mesh)
1950
    for i = 0, 1, delay do
1951
      fat.Event:wait()
1952
      Part.CFrame = Part.CFrame * angles(math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)))
1953
      Part.Transparency = i
1954
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1955
    end
1956
    Part:Destroy()
1957
  end
1958
), prt, msh)
1959
end
1960
1961
RainbowBlockShockwave = function(cframe, x1, y1, z1, x3, y3, z3, delay)
1962
  local rainbowcolor = BrickColor.new(0)
1963
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, rainbowcolor, "Effect", vt(0.5, 0.5, 0.5))
1964
  prt.Anchored = true
1965
  prt.CFrame = cframe * angles(math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)))
1966
  prt.Material = "Neon"
1967
  local msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
1968
  game:GetService("Debris"):AddItem(prt, 5)
1969
  coroutine.resume(coroutine.create(function()
1970
    while prt.Parent ~= nil do
1971
      wait()
1972
      rainbowcolor = BrickColor.new(23)
1973
      wait()
1974
      rainbowcolor = BrickColor.new(107)
1975
      wait()
1976
      rainbowcolor = BrickColor.new(37)
1977
      wait()
1978
      rainbowcolor = BrickColor.new(119)
1979
      wait()
1980
      rainbowcolor = BrickColor.new(24)
1981
      wait()
1982
      rainbowcolor = BrickColor.new(106)
1983
      wait()
1984
      rainbowcolor = BrickColor.new(21)
1985
      wait()
1986
      rainbowcolor = BrickColor.new(104)
1987
    end
1988
  end
1989
))
1990
  coroutine.resume(coroutine.create(function(Part, Mesh)
1991
    for i = 0, 1, delay do
1992
      fat.Event:wait()
1993
      Part.CFrame = Part.CFrame * angles(math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)))
1994
      Part.Transparency = i
1995
      Part.BrickColor = rainbowcolor
1996
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1997
    end
1998
    Part:Destroy()
1999
  end
2000
), prt, msh)
2001
end
2002
2003
RainbowCylinderShockwave = function(cframe, x1, y1, z1, x3, y3, z3, delay)
2004
  local rainbowcolor = BrickColor.new(0)
2005
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
2006
  prt.Anchored = true
2007
  prt.CFrame = cframe
2008
  prt.Material = "Neon"
2009
  local msh = mesh("CylinderMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
2010
  game:GetService("Debris"):AddItem(prt, 5)
2011
  coroutine.resume(coroutine.create(function()
2012
    while prt.Parent ~= nil do
2013
      wait()
2014
      rainbowcolor = BrickColor.new(23)
2015
      wait()
2016
      rainbowcolor = BrickColor.new(107)
2017
      wait()
2018
      rainbowcolor = BrickColor.new(37)
2019
      wait()
2020
      rainbowcolor = BrickColor.new(119)
2021
      wait()
2022
      rainbowcolor = BrickColor.new(24)
2023
      wait()
2024
      rainbowcolor = BrickColor.new(106)
2025
      wait()
2026
      rainbowcolor = BrickColor.new(21)
2027
      wait()
2028
      rainbowcolor = BrickColor.new(104)
2029
    end
2030
  end
2031
))
2032
  coroutine.resume(coroutine.create(function(Part, Mesh)
2033
    for i = 0, 1, delay do
2034
      fat.Event:wait()
2035
      Part.BrickColor = rainbowcolor
2036
      Part.Transparency = i
2037
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
2038
    end
2039
    Part:Destroy()
2040
  end
2041
), prt, msh)
2042
end
2043
2044
RainbowOrbEffect = function(cframe, x1, y1, z1, x2, y2, z2, delay)
2045
  local rainbowcolor = BrickColor.new(0)
2046
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
2047
  prt.Anchored = true
2048
  prt.CanCollide = false
2049
  prt.CFrame = cframe * angles(math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)))
2050
  local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=3270017", vt(0, 0, 0), vt(x1, y1, z1))
2051
  game:GetService("Debris"):AddItem(prt, 5)
2052
  coroutine.resume(coroutine.create(function()
2053
    while prt.Parent ~= nil do
2054
      wait()
2055
      rainbowcolor = BrickColor.new(23)
2056
      wait()
2057
      rainbowcolor = BrickColor.new(107)
2058
      wait()
2059
      rainbowcolor = BrickColor.new(37)
2060
      wait()
2061
      rainbowcolor = BrickColor.new(119)
2062
      wait()
2063
      rainbowcolor = BrickColor.new(24)
2064
      wait()
2065
      rainbowcolor = BrickColor.new(106)
2066
      wait()
2067
      rainbowcolor = BrickColor.new(21)
2068
      wait()
2069
      rainbowcolor = BrickColor.new(104)
2070
    end
2071
  end
2072
))
2073
  coroutine.resume(coroutine.create(function(Part, Mesh)
2074
    for i = 0, 1, delay do
2075
      fat.Event:wait()
2076
      Part.CFrame = Part.CFrame
2077
      Part.BrickColor = rainbowcolor
2078
      Part.Transparency = i
2079
      Mesh.Scale = Mesh.Scale + vt(x2, y2, z2)
2080
    end
2081
    Part:Destroy()
2082
  end
2083
), prt, msh)
2084
end
2085
2086
RainbowStar = function(cframe, x1, y1, z1, x2, y2, z2, delay)
2087
  local rainbowcolor = BrickColor.new(23)
2088
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
2089
  prt.Anchored = true
2090
  prt.CanCollide = false
2091
  prt.CFrame = cframe
2092
  local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=120647846", vt(0, 0, 0), vt(x1, y1, z1))
2093
  game:GetService("Debris"):AddItem(prt, 5)
2094
  coroutine.resume(coroutine.create(function()
2095
    while prt.Parent ~= nil do
2096
      wait()
2097
      rainbowcolor = BrickColor.new(23)
2098
      wait()
2099
      rainbowcolor = BrickColor.new(107)
2100
      wait()
2101
      rainbowcolor = BrickColor.new(37)
2102
      wait()
2103
      rainbowcolor = BrickColor.new(119)
2104
      wait()
2105
      rainbowcolor = BrickColor.new(24)
2106
      wait()
2107
      rainbowcolor = BrickColor.new(106)
2108
      wait()
2109
      rainbowcolor = BrickColor.new(21)
2110
      wait()
2111
      rainbowcolor = BrickColor.new(104)
2112
    end
2113
  end
2114
))
2115
  coroutine.resume(coroutine.create(function(Part, Mesh)
2116
    for i = 0, 1, delay do
2117
      fat.Event:wait()
2118
      Part.CFrame = Part.CFrame
2119
      Part.BrickColor = rainbowcolor
2120
      Part.Transparency = i
2121
      Mesh.Scale = Mesh.Scale + vt(x2, y2, z2)
2122
    end
2123
    Part:Destroy()
2124
  end
2125
), prt, msh)
2126
end
2127
2128
RainbowSphereShockwave = function(cframe, x1, y1, z1, x3, y3, z3, delay)
2129
  local rainbowcolor = BrickColor.new(0)
2130
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
2131
  prt.Anchored = true
2132
  prt.CFrame = cframe
2133
  prt.Material = "Neon"
2134
  local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
2135
  game:GetService("Debris"):AddItem(prt, 5)
2136
  coroutine.resume(coroutine.create(function()
2137
    while prt.Parent ~= nil do
2138
      wait()
2139
      rainbowcolor = BrickColor.new(23)
2140
      wait()
2141
      rainbowcolor = BrickColor.new(107)
2142
      wait()
2143
      rainbowcolor = BrickColor.new(37)
2144
      wait()
2145
      rainbowcolor = BrickColor.new(119)
2146
      wait()
2147
      rainbowcolor = BrickColor.new(24)
2148
      wait()
2149
      rainbowcolor = BrickColor.new(106)
2150
      wait()
2151
      rainbowcolor = BrickColor.new(21)
2152
      wait()
2153
      rainbowcolor = BrickColor.new(104)
2154
    end
2155
  end
2156
))
2157
  coroutine.resume(coroutine.create(function(Part, Mesh)
2158
    for i = 0, 1, delay do
2159
      fat.Event:wait()
2160
      Part.BrickColor = rainbowcolor
2161
      Part.Transparency = i
2162
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
2163
    end
2164
    Part:Destroy()
2165
  end
2166
), prt, msh)
2167
end
2168
2169
CylinderShockwave = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2170
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
2171
  prt.Anchored = true
2172
  prt.CFrame = cframe
2173
  local msh = mesh("CylinderMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
2174
  game:GetService("Debris"):AddItem(prt, 10)
2175
  coroutine.resume(coroutine.create(function(Part, Mesh)
2176
    for i = 0, 1, delay do
2177
      fat.Event:wait()
2178
      Part.Transparency = i
2179
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
2180
    end
2181
    Part:Destroy()
2182
  end
2183
), prt, msh)
2184
end
2185
2186
Laser = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2187
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
2188
  prt.Anchored = true
2189
  prt.CFrame = cframe
2190
  prt.Material = "Neon"
2191
  local msh = mesh("CylinderMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
2192
  game:GetService("Debris"):AddItem(prt, 10)
2193
  coroutine.resume(coroutine.create(function(Part, Mesh)
2194
    for i = 0, 1, delay do
2195
      fat.Event:wait()
2196
      Part.Transparency = i
2197
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
2198
    end
2199
    Part:Destroy()
2200
  end
2201
), prt, msh)
2202
end
2203
2204
Laser2 = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2205
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
2206
  prt.Anchored = true
2207
  prt.CFrame = cframe
2208
  prt.Material = "Neon"
2209
  local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
2210
  game:GetService("Debris"):AddItem(prt, 10)
2211
  coroutine.resume(coroutine.create(function(Part, Mesh)
2212
    for i = 0, 1, delay do
2213
      fat.Event:wait()
2214
      Part.Transparency = i
2215
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
2216
    end
2217
    Part:Destroy()
2218
  end
2219
), prt, msh)
2220
end
2221
2222
Laser3 = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2223
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
2224
  prt.Anchored = true
2225
  prt.CFrame = cframe
2226
  prt.Material = "Neon"
2227
  local msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
2228
  game:GetService("Debris"):AddItem(prt, 10)
2229
  coroutine.resume(coroutine.create(function(Part, Mesh)
2230
    for i = 0, 1, delay do
2231
      fat.Event:wait()
2232
      Part.Transparency = i
2233
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
2234
    end
2235
    Part:Destroy()
2236
  end
2237
), prt, msh)
2238
end
2239
2240
SphereShockwave = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2241
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
2242
  prt.Anchored = true
2243
  prt.CFrame = cframe
2244
  local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
2245
  game:GetService("Debris"):AddItem(prt, 10)
2246
  coroutine.resume(coroutine.create(function(Part, Mesh)
2247
    for i = 0, 1, delay do
2248
      fat.Event:wait()
2249
      Part.Transparency = i
2250
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
2251
    end
2252
    Part:Destroy()
2253
  end
2254
), prt, msh)
2255
end
2256
2257
SphereShockwave2 = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2258
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
2259
  prt.Anchored = true
2260
  prt.CFrame = cframe * angles(math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)))
2261
  local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
2262
  game:GetService("Debris"):AddItem(prt, 10)
2263
  coroutine.resume(coroutine.create(function(Part, Mesh)
2264
    for i = 0, 1, delay do
2265
      fat.Event:wait()
2266
      Part.Transparency = i
2267
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
2268
    end
2269
    Part:Destroy()
2270
  end
2271
), prt, msh)
2272
end
2273
2274
Shockwave = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2275
  local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
2276
  prt.Anchored = true
2277
  prt.CFrame = cframe
2278
  local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
2279
  game:GetService("Debris"):AddItem(prt, 10)
2280
  coroutine.resume(coroutine.create(function(Part, Mesh)
2281
    for i = 0, 1, delay do
2282
      fat.Event:wait()
2283
      Part.CFrame = Part.CFrame
2284
      Part.Transparency = i
2285
      Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
2286
    end
2287
    Part:Destroy()
2288
  end
2289
), prt, msh)
2290
end
2291
2292
leftlegangle = 0
2293
leftlegcframe = 0
2294
leftlegcframe2 = 0
2295
leftlegcframe3 = 0
2296
rightlegangle = 0
2297
rightlegcframe = 0
2298
rightlegcframe2 = 0
2299
rightlegcframe3 = 0
2300
leftarmangle = 0
2301
rightarmangle = 0
2302
rightlegangle2 = 0
2303
leftlegangle2 = 0
2304
MMouse = mouse
2305
canidle = true
2306
canwalk = true
2307
holdz = false
2308
zshooting = false
2309
gyroenabled = false
2310
ShotTarget = RootPart
2311
runningsound = Head.Running
2312
local robloxidleanimation = Instance.new("Animation", Torso)
2313
robloxidleanimation.Name = "robloxidleanimation"
2314
robloxidleanimation.AnimationId = "http://www.roblox.com/asset/?id=180435571"
2315
local floatingaura = Instance.new("Sound", Torso)
2316
floatingaura.SoundId = "http://www.roblox.com/asset/?id=343063967"
2317
floatingaura.Volume = 0.25
2318
floatingaura.Pitch = 0.75
2319
floatingaura.Looped = true
2320
gyro = Instance.new("BodyGyro")
2321
gyro.Parent = nil
2322
gyro.P = 10000000
2323
gyro.D = 1000
2324
gyro.MaxTorque = Vector3.new(0, 10000000, 0)
2325
Clone = function()
2326
  for _,v in pairs(Torso.Parent:children()) do
2327
    if v.className == "Part" and v.Name ~= "HumanoidRootPart" then
2328
      local rainbowcolor = BrickColor.new(0)
2329
      do
2330
        n = v:clone()
2331
        n:BreakJoints()
2332
        n.archivable = true
2333
        n.Anchored = true
2334
        n.CanCollide = false
2335
        n.TopSurface = "SmoothNoOutlines"
2336
        n.BottomSurface = "SmoothNoOutlines"
2337
        n.LeftSurface = "SmoothNoOutlines"
2338
        n.RightSurface = "SmoothNoOutlines"
2339
        n.FrontSurface = "SmoothNoOutlines"
2340
        n.BackSurface = "SmoothNoOutlines"
2341
        n.Name = "Trail"
2342
        n.BrickColor = rainbowcolor
2343
        n.Parent = workspace
2344
        n.CFrame = v.CFrame
2345
        for _,v in pairs(n:children()) do
2346
          if v.Name == "face" then
2347
            v:Destroy()
2348
          end
2349
        end
2350
        game:GetService("Debris"):AddItem(n, 2)
2351
        coroutine.resume(coroutine.create(function()
2352
    while n.Parent ~= nil do
2353
      wait()
2354
      rainbowcolor = BrickColor.new(23)
2355
      wait()
2356
      rainbowcolor = BrickColor.new(107)
2357
      wait()
2358
      rainbowcolor = BrickColor.new(37)
2359
      wait()
2360
      rainbowcolor = BrickColor.new(119)
2361
      wait()
2362
      rainbowcolor = BrickColor.new(24)
2363
      wait()
2364
      rainbowcolor = BrickColor.new(106)
2365
      wait()
2366
      rainbowcolor = BrickColor.new(21)
2367
      wait()
2368
      rainbowcolor = BrickColor.new(104)
2369
    end
2370
  end
2371
))
2372
        coroutine.resume(coroutine.create(function(ne)
2373
    for i = 1, 80 do
2374
      ne:BreakJoints()
2375
      ne.Transparency = i / 80
2376
      ne.BrickColor = rainbowcolor
2377
      fat.Event:wait()
2378
    end
2379
    ne.Parent = nil
2380
  end
2381
), n)
2382
      end
2383
    end
2384
  end
2385
end
2386
2387
equipanim = function()
2388
  attack = true
2389
  so("http://roblox.com/asset/?id=367850772", Torso, 1, 0.75)
2390
  speed.Value = speed.Value - 0.4
2391
  Humanoid.WalkSpeed = 16 * speed.Value
2392
  runningsound.Volume = 0
2393
  for i = 0, 1, 0.12 do
2394
    fat.Event:wait()
2395
    Humanoid.CameraOffset = Vector3.new(0, 0 + 3 * i, 0)
2396
    RainbowBlockShockwave(LeftLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2397
    RainbowBlockShockwave(RightLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2398
    RainbowBlockShockwave(LeftArm.CFrame * cf(0, -1, 0), 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.1)
2399
    RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.1)
2400
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(0 - 360 * i)), 0.3)
2401
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.3)
2402
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(135), math.rad(0), math.rad(45)), 0.3)
2403
    LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(135), math.rad(0), math.rad(-45)), 0.3)
2404
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-20), math.rad(90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2405
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-20), math.rad(-90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2406
  end
2407
  Humanoid.CameraOffset = Vector3.new(0, 3, 0)
2408
  for i = 0, 1, 0.12 do
2409
    fat.Event:wait()
2410
    RainbowBlockShockwave(LeftLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2411
    RainbowBlockShockwave(RightLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2412
    RainbowBlockShockwave(LeftArm.CFrame * cf(0, -1, 0), 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.1)
2413
    RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.1)
2414
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2415
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.3)
2416
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(135 - 45 * i), math.rad(0), math.rad(45)), 0.3)
2417
    LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(135 - 45 * i), math.rad(0), math.rad(-45)), 0.3)
2418
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-20), math.rad(90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2419
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-20), math.rad(-90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2420
  end
2421
  for i = 0, 1, 0.18 do
2422
    fat.Event:wait()
2423
    RainbowBlockShockwave(LeftLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2424
    RainbowBlockShockwave(RightLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2425
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2426
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), 0.3)
2427
    RW.C0 = clerp(RW.C0, CFrame.new(1, 0.5, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-45)), 0.3)
2428
    LW.C0 = clerp(LW.C0, CFrame.new(-1, 0.5, -0.5) * angles(math.rad(90), math.rad(0), math.rad(45)), 0.3)
2429
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-20), math.rad(90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2430
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-20), math.rad(-90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2431
  end
2432
  so("http://roblox.com/asset/?id=340722848", Torso, 0.5, 2)
2433
  so("http://roblox.com/asset/?id=367850840", Torso, 0.75, 1.75)
2434
  RainbowBlockShockwave(LeftArm.CFrame * cf(0, -1, 0), 1.5, 1.5, 1.5, 1, 1, 1, 0.05)
2435
  RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 1.5, 1.5, 1.5, 1, 1, 1, 0.05)
2436
  for i = 0, 1, 0.06 do
2437
    fat.Event:wait()
2438
    RainbowBlockShockwave(LeftLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2439
    RainbowBlockShockwave(RightLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2440
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2441
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), 0.3)
2442
    RW.C0 = clerp(RW.C0, CFrame.new(1, 0.5, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-45)), 0.3)
2443
    LW.C0 = clerp(LW.C0, CFrame.new(-1, 0.5, -0.5) * angles(math.rad(90), math.rad(0), math.rad(45)), 0.3)
2444
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-20), math.rad(90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2445
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-20), math.rad(-90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2446
  end
2447
  speed.Value = speed.Value + 0.3
2448
  Humanoid.WalkSpeed = 16 * speed.Value
2449
  floatingaura:Play()
2450
  attack = false
2451
end
2452
2453
unequipanim = function()
2454
  attack = true
2455
  gyro.Parent = nil
2456
  gyroenabled = false
2457
  so("http://roblox.com/asset/?id=367850772", Torso, 0.75, 1.25)
2458
  speed.Value = speed.Value - 0.3
2459
  Humanoid.WalkSpeed = 16 * speed.Value
2460
  for i = 0, 1, 0.08 do
2461
    fat.Event:wait()
2462
    RainbowBlockShockwave(LeftLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2463
    RainbowBlockShockwave(RightLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2464
    RainbowBlockShockwave(LeftArm.CFrame * cf(0, -1, 0), 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.1)
2465
    RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.1)
2466
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2467
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(20), math.rad(0), math.rad(0)), 0.3)
2468
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(90)), 0.3)
2469
    LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(-90)), 0.3)
2470
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-20), math.rad(90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2471
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-20), math.rad(-90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2472
  end
2473
  so("http://roblox.com/asset/?id=367850840", Torso, 0.75, 0.75)
2474
  for i = 0, 1, 0.06 do
2475
    fat.Event:wait()
2476
    Humanoid.CameraOffset = Vector3.new(0, 3 - 3 * i, 0)
2477
    RainbowBlockShockwave(LeftLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2478
    RainbowBlockShockwave(RightLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.01, 0.01, 0.01, 0.1)
2479
    RainbowBlockShockwave(LeftArm.CFrame * cf(0, -1, 0), 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.1)
2480
    RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 1.5, 1.5, 1.5, 0.5, 0.5, 0.5, 0.1)
2481
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3 - 3 * i) * angles(math.rad(0), math.rad(0), math.rad(0 + 360 * i)), 0.3)
2482
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(20), math.rad(0), math.rad(0)), 0.3)
2483
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(90 - 70 * i)), 0.3)
2484
    LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(-90 + 70 * i)), 0.3)
2485
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-20), math.rad(90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2486
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-20), math.rad(-90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2487
  end
2488
  floatingaura:Stop()
2489
  Humanoid.CameraOffset = Vector3.new(0, 0, 0)
2490
  for i = 0, 1, 0.06 do
2491
    fat.Event:wait()
2492
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2493
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2494
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2495
    LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2496
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2497
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2498
  end
2499
  runningsound.Volume = 0.5
2500
  speed.Value = speed.Value + 0.4
2501
  Humanoid.WalkSpeed = 16 * speed.Value
2502
  attack = false
2503
end
2504
2505
attackone = function()
2506
  attack = true
2507
  so("http://roblox.com/asset/?id=367850840", Torso, 0.75, 1)
2508
  for i = 0, 1, 0.2 do
2509
    fat.Event:wait()
2510
    RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 3, 3, 3, 0.01, 0.01, 0.01, 0.075)
2511
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(60)), 0.3)
2512
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(-60)), 0.3)
2513
    RW.C0 = clerp(RW.C0, CFrame.new(1, 0.5, -0.5) * angles(math.rad(135), math.rad(0), math.rad(-45)), 0.3)
2514
    LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-20)), 0.3)
2515
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2516
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2517
  end
2518
  so("http://roblox.com/asset/?id=340722848", Torso, 0.75, 1.75)
2519
  RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 5, 5, 5, 0.05, 0.05, 0.05, 0.05)
2520
  local startingrefpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2521
  startingrefpart.Anchored = true
2522
  startingrefpart.CFrame = RootPart.CFrame * cf(0, 3, -15)
2523
  game:GetService("Debris"):AddItem(startingrefpart, 3)
2524
  RainbowBlockShockwave(cf(startingrefpart.Position), 2, 2, 2, 2, 2, 2, 0.05)
2525
  MagniDamage(startingrefpart, 20, 10, 15, 10, "Normal")
2526
  for i = 1, math.random(2, 4) do
2527
    RainbowOrbEffect(cf(startingrefpart.Position), 2, 2, 2, 2, 2, 2, 0.04)
2528
  end
2529
  for i = 0, 1, 0.2 do
2530
    fat.Event:wait()
2531
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(-30)), 0.3)
2532
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(30)), 0.3)
2533
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(15), math.rad(0), math.rad(45)), 0.3)
2534
    LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(-10)), 0.3)
2535
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2536
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2537
  end
2538
  attack = false
2539
end
2540
2541
attacktwo = function()
2542
  attack = true
2543
  so("http://roblox.com/asset/?id=367850840", Torso, 0.75, 1.25)
2544
  for i = 0, 1, 0.2 do
2545
    fat.Event:wait()
2546
    RainbowBlockShockwave(LeftArm.CFrame * cf(0, -1, 0), 3, 3, 3, 0.01, 0.01, 0.01, 0.075)
2547
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(-60)), 0.3)
2548
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(60)), 0.3)
2549
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(20)), 0.3)
2550
    LW.C0 = clerp(LW.C0, CFrame.new(-1, 0.5, -0.5) * angles(math.rad(135), math.rad(0), math.rad(45)), 0.3)
2551
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2552
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2553
  end
2554
  so("http://roblox.com/asset/?id=340722848", Torso, 0.75, 1.5)
2555
  RainbowBlockShockwave(LeftArm.CFrame * cf(0, -1, 0), 5, 5, 5, 0.05, 0.05, 0.05, 0.05)
2556
  local startingrefpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2557
  startingrefpart.Anchored = true
2558
  startingrefpart.CFrame = RootPart.CFrame * cf(0, 3, -15)
2559
  game:GetService("Debris"):AddItem(startingrefpart, 3)
2560
  RainbowBlockShockwave(cf(startingrefpart.Position), 2, 2, 2, 2, 2, 2, 0.05)
2561
  MagniDamage(startingrefpart, 20, 10, 15, 10, "Normal")
2562
  for i = 1, math.random(2, 4) do
2563
    RainbowOrbEffect(cf(startingrefpart.Position), 2, 2, 2, 2, 2, 2, 0.04)
2564
  end
2565
  for i = 0, 1, 0.2 do
2566
    fat.Event:wait()
2567
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(30)), 0.3)
2568
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(-30)), 0.3)
2569
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(-10)), 0.3)
2570
    LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(15), math.rad(0), math.rad(-45)), 0.3)
2571
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2572
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2573
  end
2574
  attack = false
2575
end
2576
2577
attackthree = function()
2578
  attack = true
2579
  so("http://roblox.com/asset/?id=367850840", Torso, 0.75, 0.75)
2580
  for i = 0, 1, 0.2 do
2581
    fat.Event:wait()
2582
    RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 3, 3, 3, 0.01, 0.01, 0.01, 0.075)
2583
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2584
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), 0.3)
2585
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(30), math.rad(0), math.rad(15)), 0.3)
2586
    LW.C0 = clerp(LW.C0, CFrame.new(-1.25, 0.5, 0.25) * angles(math.rad(-45), math.rad(0), math.rad(45)), 0.3)
2587
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2588
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2589
  end
2590
  for i = 0, 1, 0.2 do
2591
    fat.Event:wait()
2592
    RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 3, 3, 3, 0.01, 0.01, 0.01, 0.075)
2593
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2594
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2595
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(165), math.rad(0), math.rad(5)), 0.3)
2596
    LW.C0 = clerp(LW.C0, CFrame.new(-1.25, 0.5, 0.25) * angles(math.rad(-45), math.rad(0), math.rad(45)), 0.3)
2597
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2598
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2599
  end
2600
  for i = 1, 2 do
2601
    RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 3, 3, 3, 0.01, 0.01, 0.01, 0.075)
2602
    local startingrefpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2603
    startingrefpart.Anchored = true
2604
    startingrefpart.CFrame = RootPart.CFrame * cf(math.random(-10, 10), 400, -20 + math.random(-10, 10))
2605
    game:GetService("Debris"):AddItem(startingrefpart, 3)
2606
    local hit, pos = rayCast(startingrefpart.Position, CFrame.new(startingrefpart.Position, startingrefpart.Position - Vector3.new(0, 1, 0)).lookVector, 500, Character)
2607
    if hit ~= nil then
2608
      floor = true
2609
      refpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2610
      refpart.Anchored = true
2611
      refpart.CFrame = cf(pos)
2612
      game:GetService("Debris"):AddItem(refpart, 3)
2613
      MagniDamage(refpart, 10, 10, 15, 0, "Normal")
2614
      so("http://roblox.com/asset/?id=367932544", refpart, 0.5, 1)
2615
      RainbowCylinderShockwave(cf(refpart.Position), 0.1, 0.01, 0.1, 3, 0.01, 3, 0.05)
2616
      for i = 1, math.random(5, 10) do
2617
        RainbowLightning(startingrefpart.Position, refpart.Position, 5, math.random(5, 10), 0.5, 0.5, 2)
2618
      end
2619
    end
2620
    do
2621
      for i = 0, 1, 0.08 do
2622
        fat.Event:wait()
2623
        local lv = RootPart.CFrame:pointToObjectSpace(RootPart.Velocity + RootPart.Position)
2624
        RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(-lv.z / 1), math.rad(-lv.x / 1), math.rad(0)), 0.3)
2625
        Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
2626
        RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(165), math.rad(0), math.rad(5)), 0.3)
2627
        LW.C0 = clerp(LW.C0, CFrame.new(-1.25, 0.5, 0.25) * angles(math.rad(-45), math.rad(0), math.rad(45)), 0.3)
2628
        RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2629
        LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2630
      end
2631
      -- DECOMPILER ERROR at PC846: LeaveBlock: unexpected jumping out DO_STMT
2632
2633
    end
2634
  end
2635
  attack = false
2636
end
2637
2638
ChangeMode = function()
2639
  attack = true
2640
  so("http://roblox.com/asset/?id=367850772", Torso, 0.75, math.random(80, 120) / 100)
2641
  for i = 0, 1, 0.06 do
2642
    fat.Event:wait()
2643
    RainbowBlockShockwave(LeftArm.CFrame * cf(0, -1, 0), 3, 3, 3, 0.01, 0.01, 0.01, 0.075)
2644
    RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 3, 3, 3, 0.01, 0.01, 0.01, 0.075)
2645
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2646
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), 0.3)
2647
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(15), math.rad(0), math.rad(75)), 0.3)
2648
    LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(15), math.rad(0), math.rad(-75)), 0.3)
2649
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2650
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2651
  end
2652
  attack = false
2653
end
2654
2655
canlaser = true
2656
canrainstar = true
2657
LaserShot = function()
2658
  canlaser = false
2659
  local theactualstartingrefpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2660
  theactualstartingrefpart.Anchored = true
2661
  theactualstartingrefpart.CFrame = RootPart.CFrame * cf(0, 1000, 0)
2662
  game:GetService("Debris"):AddItem(theactualstartingrefpart, 0.1)
2663
  local spread = Vector3.new(math.random(-10, 10), 0, math.random(-10, 10))
2664
  local MainPos = theactualstartingrefpart.Position
2665
  local MainPos2 = MMouse.Hit.p + spread
2666
  local MouseLook = cf((MainPos + MainPos2) / 2, MainPos2)
2667
  local hit, pos = rayCast(MainPos, MouseLook.lookVector, 10000, ShotTarget.Parent)
2668
  if hit ~= nil then
2669
    local actualstartingrefpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2670
    actualstartingrefpart.Anchored = true
2671
    actualstartingrefpart.CFrame = cf(pos)
2672
    game:GetService("Debris"):AddItem(actualstartingrefpart, 0.1)
2673
    local startingrefpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2674
    startingrefpart.Anchored = true
2675
    startingrefpart.CFrame = actualstartingrefpart.CFrame * cf(0, 400, 0)
2676
    game:GetService("Debris"):AddItem(startingrefpart, 0.1)
2677
    local hit, pos = rayCast(startingrefpart.Position, CFrame.new(startingrefpart.Position, startingrefpart.Position - Vector3.new(0, 1, 0)).lookVector, 500, Character)
2678
    if hit ~= nil then
2679
      floor = true
2680
      refpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2681
      refpart.Anchored = true
2682
      refpart.CFrame = cf(pos)
2683
      game:GetService("Debris"):AddItem(refpart, 0.1)
2684
      MagniDamage(refpart, 10, 20, 30, 0, "Normal")
2685
      so("http://roblox.com/asset/?id=367932544", refpart, 0.5, math.random(80, 120) / 100)
2686
      RainbowCylinderShockwave(cf(refpart.Position), 18, 0.01, 18, 1, 0.01, 1, 0.05)
2687
      RainbowLightning(startingrefpart.Position, refpart.Position, 5, math.random(5, 10), 6, 0.5, 10)
2688
    end
2689
  end
2690
  do
2691
    wait(0.25)
2692
    canlaser = true
2693
  end
2694
end
2695
2696
starcount = 0
2697
StarRain = function()
2698
  canrainstar = false
2699
  starcount = math.random(1, 8)
2700
  if starcount == 1 or starcount == 2 or starcount == 3 or starcount == 4 or starcount == 5 or starcount == 6 or starcount == 7 then
2701
    startingrefpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2702
    startingrefpart.Anchored = true
2703
    startingrefpart.CFrame = RootPart.CFrame * cf(math.random(-20, 20), math.random(30, 40), math.random(-20, 20))
2704
    game:GetService("Debris"):AddItem(startingrefpart, 2)
2705
    so("http://roblox.com/asset/?id=367850840", startingrefpart, 0.75, math.random(75, 125) / 100)
2706
    local spread = Vector3.new(math.random(-2, 2), math.random(-2, 2), math.random(-2, 2))
2707
    do
2708
      local MainPos = startingrefpart.Position
2709
      local MainPos2 = MMouse.Hit.p + spread
2710
      local MouseLook = cf((MainPos + MainPos2) / 2, MainPos2)
2711
      local speed = 0.01
2712
      local num = 300
2713
      local rotation = 0
2714
      coroutine.resume(coroutine.create(function()
2715
    repeat
2716
      swait(1)
2717
      local hit, pos = rayCast(MainPos, MouseLook.lookVector, speed, ShotTarget.Parent)
2718
      local mag = MainPos - pos.magnitude
2719
      RainbowStar(CFrame.new((MainPos + pos) / 2, pos) * angles(1.57, math.rad(-90), math.rad(rotation)), 10, 10, 10, 0.01, 0.01, 0.01, 0.125)
2720
      MainPos = MainPos + MouseLook.lookVector * speed
2721
      num = num - 1
2722
      rotation = rotation - 5
2723
      coroutine.resume(coroutine.create(function()
2724
      wait(0.25)
2725
      speed = 2
2726
    end
2727
))
2728
      if hit ~= nil then
2729
        num = 0
2730
        refpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2731
        refpart.Anchored = true
2732
        refpart.CFrame = cf(pos)
2733
        game:GetService("Debris"):AddItem(refpart, 2)
2734
        RainbowSphereShockwave(cf(refpart.Position), 50, 50, 50, 0.1, 0.1, 0.1, 0.075)
2735
        MagniDamage(refpart, 15, 20, 30, 0, "Normal")
2736
        so("http://roblox.com/asset/?id=367850772", refpart, 1, math.random(100, 150) / 100)
2737
        so("http://roblox.com/asset/?id=340722848", refpart, 0.5, math.random(100, 150) / 100)
2738
      end
2739
      if num <= 0 then
2740
        refpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2741
        refpart.Anchored = true
2742
        refpart.CFrame = cf(pos)
2743
        game:GetService("Debris"):AddItem(refpart, 2)
2744
        RainbowSphereShockwave(cf(refpart.Position), 50, 50, 50, 0.1, 0.1, 0.1, 0.075)
2745
        MagniDamage(refpart, 15, 20, 30, 0, "Normal")
2746
        so("http://roblox.com/asset/?id=367850772", refpart, 1, math.random(100, 150) / 100)
2747
        so("http://roblox.com/asset/?id=340722848", refpart, 0.5, math.random(100, 150) / 100)
2748
      end
2749
    until num <= 0
2750
  end
2751
))
2752
    end
2753
  else
2754
    do
2755
      if starcount == 8 then
2756
        startingrefpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2757
        startingrefpart.Anchored = true
2758
        startingrefpart.CFrame = RootPart.CFrame * cf(math.random(-20, 20), math.random(30, 40), math.random(-20, 20))
2759
        game:GetService("Debris"):AddItem(startingrefpart, 2)
2760
        so("http://roblox.com/asset/?id=367850840", startingrefpart, 0.75, math.random(45, 55) / 100)
2761
        local spread = Vector3.new(math.random(-2, 2), math.random(-2, 2), math.random(-2, 2))
2762
        local MainPos = startingrefpart.Position
2763
        local MainPos2 = MMouse.Hit.p + spread
2764
        local MouseLook = cf((MainPos + MainPos2) / 2, MainPos2)
2765
        local speed = 0.01
2766
        local num = 300
2767
        local rotation = 0
2768
        coroutine.resume(coroutine.create(function()
2769
    repeat
2770
      swait(1)
2771
      local hit, pos = rayCast(MainPos, MouseLook.lookVector, speed, ShotTarget.Parent)
2772
      local mag = MainPos - pos.magnitude
2773
      RainbowStar(CFrame.new((MainPos + pos) / 2, pos) * angles(1.57, math.rad(-90), math.rad(rotation)), 20, 20, 20, 0.01, 0.01, 0.01, 0.125)
2774
      MainPos = MainPos + MouseLook.lookVector * speed
2775
      num = num - 1
2776
      rotation = rotation - 5
2777
      coroutine.resume(coroutine.create(function()
2778
      wait(0.25)
2779
      speed = 1
2780
    end
2781
))
2782
      if hit ~= nil then
2783
        num = 0
2784
        refpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2785
        refpart.Anchored = true
2786
        refpart.CFrame = cf(pos)
2787
        game:GetService("Debris"):AddItem(refpart, 2)
2788
        RainbowSphereShockwave(cf(refpart.Position), 100, 100, 100, 0.1, 0.1, 0.1, 0.075)
2789
        MagniDamage(refpart, 27.5, 40, 60, 0, "Normal")
2790
        so("http://roblox.com/asset/?id=367850772", refpart, 1, math.random(50, 100) / 100)
2791
        so("http://roblox.com/asset/?id=340722848", refpart, 0.5, math.random(50, 100) / 100)
2792
      end
2793
      if num <= 0 then
2794
        refpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2795
        refpart.Anchored = true
2796
        refpart.CFrame = cf(pos)
2797
        game:GetService("Debris"):AddItem(refpart, 2)
2798
        RainbowSphereShockwave(cf(refpart.Position), 100, 100, 100, 0.1, 0.1, 0.1, 0.075)
2799
        MagniDamage(refpart, 27.5, 40, 60, 0, "Normal")
2800
        so("http://roblox.com/asset/?id=367850772", refpart, 1, math.random(50, 100) / 100)
2801
        so("http://roblox.com/asset/?id=340722848", refpart, 0.5, math.random(50, 100) / 100)
2802
      end
2803
    until num <= 0
2804
  end
2805
))
2806
      end
2807
      do
2808
        wait(math.random(80, 140) / 100)
2809
        canrainstar = true
2810
      end
2811
    end
2812
  end
2813
end
2814
2815
LasersandStars = function()
2816
  holdz = true
2817
  attack = true
2818
  so("http://roblox.com/asset/?id=367850772", Torso, 0.75, math.random(80, 120) / 100)
2819
  speed.Value = speed.Value - 0.5
2820
  Humanoid.WalkSpeed = 16 * speed.Value
2821
  for i = 0, 1, 0.06 do
2822
    fat.Event:wait()
2823
    RainbowBlockShockwave(LeftArm.CFrame * cf(0, -1, 0), 3, 3, 3, 0.01, 0.01, 0.01, 0.075)
2824
    RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 3, 3, 3, 0.01, 0.01, 0.01, 0.075)
2825
    RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 5) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
2826
    Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), 0.3)
2827
    RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(75)), 0.3)
2828
    LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-75)), 0.3)
2829
    RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2830
    LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2831
  end
2832
  do
2833
    while holdz == true do
2834
      for i = 0, 1, 0.5 do
2835
        fat.Event:wait()
2836
        local lv = RootPart.CFrame:pointToObjectSpace(RootPart.Velocity + RootPart.Position)
2837
        RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 5) * angles(math.rad(-lv.z / 1), math.rad(-lv.x / 1), math.rad(0)), 0.3)
2838
        Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), 0.3)
2839
        RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(75)), 0.3)
2840
        LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-75)), 0.3)
2841
        RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2842
        LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), 0.3)
2843
      end
2844
      if holdz == false then
2845
        speed.Value = speed.Value + 0.5
2846
        Humanoid.WalkSpeed = 16 * speed.Value
2847
        break
2848
      end
2849
    end
2850
    attack = false
2851
  end
2852
end
2853
2854
Teleport = function()
2855
  refpart = part(3, workspace, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", vt())
2856
  refpart.Anchored = true
2857
  refpart.CFrame = Torso.CFrame
2858
  game:GetService("Debris"):AddItem(refpart, 1)
2859
  so("http://roblox.com/asset/?id=367932544", refpart, 0.5, 0.75)
2860
  RainbowBlockShockwave(refpart.CFrame, 2, 2, 2, 2, 2, 2, 0.1)
2861
  Character:MoveTo(MMouse.Hit.p)
2862
  wait()
2863
  so("http://roblox.com/asset/?id=367932544", Torso, 0.5, 1.25)
2864
  RainbowBlockShockwave(Torso.CFrame, 2, 2, 2, 2, 2, 2, 0.1)
2865
end
2866
2867
hold = false
2868
holdx = false
2869
laserhold = false
2870
ob1d = function(mouse)
2871
  if attack == false and equipped == true and gyroenabled == true then
2872
    if attack == false and attacktype == 1 then
2873
      attacktype = 2
2874
      attackone()
2875
    else
2876
      if attack == false and attacktype == 2 then
2877
        attacktype = 3
2878
        attacktwo()
2879
      else
2880
        if attack == false and attacktype == 3 then
2881
          attacktype = 1
2882
          attackthree()
2883
        end
2884
      end
2885
    end
2886
  end
2887
  if holdz == true and equipped == true and gyroenabled == true and canlaser == true then
2888
    laserhold = true
2889
    while laserhold == true do
2890
      LaserShot()
2891
    end
2892
  end
2893
end
2894
2895
ob1u = function(mouse)
2896
  if laserhold == true then
2897
    laserhold = false
2898
  end
2899
end
2900
2901
k = function(k)
2902
  if k == "f" and attack == false then
2903
    if equipped == false then
2904
      equipped = true
2905
      RSH.Parent = nil
2906
      LSH.Parent = nil
2907
      RW.Parent = ch.Torso
2908
      LW.Parent = ch.Torso
2909
      animate.Disabled = true
2910
      local idleanimation = Humanoid:LoadAnimation(Torso.robloxidleanimation)
2911
      idleanimation:Play()
2912
      equipanim()
2913
      coroutine.resume(coroutine.create(function()
2914
    while equipped == true do
2915
      wait(0.1)
2916
      RainbowBlockShockwave(LeftLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.1, 0.1, 0.1, 0.1)
2917
      RainbowBlockShockwave(RightLeg.CFrame * cf(0, -1, 0), 2, 2, 2, 0.1, 0.1, 0.1, 0.1)
2918
    end
2919
  end
2920
))
2921
    else
2922
      do
2923
        if equipped == true then
2924
          equipped = false
2925
          unequipanim()
2926
          swait(0)
2927
          animate.Disabled = false
2928
          RW.Parent = nil
2929
          LW.Parent = nil
2930
          RSH.Parent = player.Character.Torso
2931
          LSH.Parent = player.Character.Torso
2932
        end
2933
        if k == "e" and attack == false and equipped == true then
2934
          if gyro.Parent == RootPart then
2935
            ChangeMode()
2936
            gyro.Parent = nil
2937
            gyroenabled = false
2938
          else
2939
            if gyro.Parent == nil then
2940
              ChangeMode()
2941
              gyro.Parent = RootPart
2942
              gyroenabled = true
2943
              coroutine.resume(coroutine.create(function()
2944
    while gyroenabled == true do
2945
      wait(0.1)
2946
      RainbowBlockShockwave(LeftArm.CFrame * cf(0, -1, 0), 2, 2, 2, 0.1, 0.1, 0.1, 0.1)
2947
      RainbowBlockShockwave(RightArm.CFrame * cf(0, -1, 0), 2, 2, 2, 0.1, 0.1, 0.1, 0.1)
2948
    end
2949
  end
2950
))
2951
            end
2952
          end
2953
        end
2954
        if k == "z" and attack == false and gyroenabled == true then
2955
          LasersandStars()
2956
        end
2957
        if k == "z" and holdz == true and gyroenabled == true then
2958
          holdz = false
2959
        end
2960
        if k == "x" and holdz == true and canrainstar == true then
2961
          holdx = true
2962
          while holdx == true do
2963
            StarRain()
2964
          end
2965
        end
2966
        if k == "c" and attack == false and gyroenabled == true and holdz == false then
2967
          Teleport()
2968
        end
2969
      end
2970
    end
2971
  end
2972
end
2973
2974
k2 = function(k)
2975
  if k == "x" and equipped == true then
2976
    holdx = false
2977
  end
2978
end
2979
2980
s = function(mouse)
2981
  mouse.Button1Down:connect(function()
2982
    ob1d(mouse)
2983
  end
2984
)
2985
  mouse.Button1Up:connect(function()
2986
    ob1u(mouse)
2987
  end
2988
)
2989
  mouse.KeyDown:connect(k)
2990
  mouse.KeyUp:connect(k2)
2991
  player = Player
2992
  ch = Character
2993
  MMouse = mouse
2994
end
2995
2996
ds = function(mouse)
2997
end
2998
2999
Bin.Selected:connect(s)
3000
Bin.Deselected:connect(ds)
3001
local donum = 0
3002
local sine = 0
3003
local change = 1
3004
local val = 0
3005
fat.Event:connect(function()
3006
  ammolabel.Text = "Speed [" .. speed.Value .. "]"
3007
  ammolabel2.Text = "Damage [" .. damagea.Value .. "]"
3008
  ammolabel3.Text = "Defense [" .. defense.Value .. "]"
3009
  gyro.CFrame = CFrame.new(Vector3.new(1, 0, 1), cam.CoordinateFrame.p - RootPart.CFrame.p.unit * -100)
3010
  sine = sine + change
3011
  local torvel = RootPart.Velocity * Vector3.new(1, 0, 1).magnitude
3012
  local velderp = RootPart.Velocity.y
3013
  hitfloor = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, Character)
3014
  if donum >= 0.5 then
3015
    handidle = true
3016
  else
3017
    if donum <= 0 then
3018
      handidle = false
3019
    end
3020
  end
3021
  if handidle == false then
3022
    donum = donum + 0.003
3023
  else
3024
    donum = donum - 0.003
3025
  end
3026
  if equipped == true or equipped == false then
3027
    if attack == false then
3028
      idle = idle + 1
3029
    else
3030
      idle = 0
3031
    end
3032
    if ((idle >= 500 and attack ~= false) or RootPart.Velocity.y > 1) and hitfloor == nil then
3033
      Anim = "Jump"
3034
      if attack == false and equipped == true and gyroenabled == false then
3035
        fat.Event:wait()
3036
        Humanoid.WalkSpeed = 16 * speed.Value
3037
      else
3038
        if attack == false and equipped == true and gyroenabled == true then
3039
          fat.Event:wait()
3040
          Humanoid.WalkSpeed = 16 * speed.Value
3041
        end
3042
      end
3043
    else
3044
      if RootPart.Velocity.y < -1 and hitfloor == nil then
3045
        Anim = "Fall"
3046
        if attack == false and equipped == true and gyroenabled == false then
3047
          fat.Event:wait()
3048
          Humanoid.WalkSpeed = 16 * speed.Value
3049
        else
3050
          if attack == false and equipped == true and gyroenabled == true then
3051
            fat.Event:wait()
3052
            Humanoid.WalkSpeed = 16 * speed.Value
3053
          end
3054
        end
3055
      else
3056
        if torvel.x < 1 and torvel.z < 1 and hit ~= nil then
3057
          Anim = "Idle"
3058
          if attack == false and equipped == true and gyroenabled == false then
3059
            fat.Event:wait()
3060
            Humanoid.WalkSpeed = 16 * speed.Value
3061
            RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3 - 0.25 * math.cos(sine / 20) + -math.sin(sine / 20) / 5) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
3062
            Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(-5 * math.cos(sine / 20)), math.rad(0), math.rad(0)), 0.3)
3063
            RW.C0 = clerp(RW.C0, CFrame.new(0.75, 0.5 - 0.1 * math.cos(sine / 20), -0.35) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(0), math.rad(70), math.rad(80)), 0.3)
3064
            LW.C0 = clerp(LW.C0, CFrame.new(-1, 0.5 - 0.1 * math.cos(sine / 20), -0.45) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(0), math.rad(-60), math.rad(-90)), 0.3)
3065
            RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5 - 2.5 * math.cos(sine / 20)), math.rad(0), math.rad(0)), 0.3)
3066
            LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5 - 2.5 * math.cos(sine / 20)), math.rad(0), math.rad(0)), 0.3)
3067
          else
3068
            if attack == false and equipped == true and gyroenabled == true then
3069
              fat.Event:wait()
3070
              Humanoid.WalkSpeed = 16 * speed.Value
3071
              RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3 - 0.25 * math.cos(sine / 20) + -math.sin(sine / 20) / 5) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
3072
              Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(-5 * math.cos(sine / 20)), math.rad(0), math.rad(0)), 0.3)
3073
              RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(15 + 5 * math.cos(sine / 20)), math.rad(-15), math.rad(30 + 5 * math.cos(sine / 20))), 0.3)
3074
              LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(15 + 5 * math.cos(sine / 20)), math.rad(15), math.rad(-30 - 5 * math.cos(sine / 20))), 0.3)
3075
              RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-5), math.rad(90), math.rad(0)) * angles(math.rad(-5 - 2.5 * math.cos(sine / 20)), math.rad(0), math.rad(0)), 0.3)
3076
              LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-5), math.rad(-90), math.rad(0)) * angles(math.rad(-5 - 2.5 * math.cos(sine / 20)), math.rad(0), math.rad(0)), 0.3)
3077
            end
3078
          end
3079
        else
3080
          if torvel.x < 2 and torvel.z < 2 and hit ~= nil then
3081
            Anim = "Walk"
3082
            if attack == false and equipped == true and gyroenabled == false then
3083
              fat.Event:wait()
3084
              local lv = RootPart.CFrame:pointToObjectSpace(RootPart.Velocity + RootPart.Position)
3085
              Humanoid.WalkSpeed = 16 * speed.Value
3086
              RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3 - 0.25 * math.cos(sine / 20) + -math.sin(sine / 20) / 5) * angles(math.rad(20 * speed.Value), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(0)), 0.3)
3087
              Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(-10), math.rad(0), math.rad(0) + Head.RotVelocity.Y / 15), 0.3)
3088
              RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20 * speed.Value), math.rad(0), math.rad(20)), 0.3)
3089
              LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20 * speed.Value), math.rad(0), math.rad(-20)), 0.3)
3090
              RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(-20 * speed.Value), math.rad(90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
3091
              LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(-20 * speed.Value), math.rad(-90), math.rad(0)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.3)
3092
            else
3093
              do
3094
                if attack == false and equipped == true and gyroenabled == true then
3095
                  fat.Event:wait()
3096
                  local lv = RootPart.CFrame:pointToObjectSpace(RootPart.Velocity + RootPart.Position)
3097
                  Humanoid.WalkSpeed = 16 * speed.Value
3098
                  RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 3 - 0.25 * math.cos(sine / 20) + -math.sin(sine / 20) / 5) * angles(math.rad(-lv.z / 1), math.rad(-lv.x / 1), math.rad(0)), 0.3)
3099
                  Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * cf(0, 0, 0) * angles(math.rad(lv.z / 1), math.rad(lv.x / 1), math.rad(0)), 0.3)
3100
                  RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(lv.z / 1), math.rad(0), math.rad(10 + -lv.x / 1)), 0.3)
3101
                  LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(lv.z / 1), math.rad(0), math.rad(-10 + -lv.x / 1)), 0.3)
3102
                  RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(lv.z / 1), math.rad(90), math.rad(0)) * angles(math.rad(-5 + lv.x / 1), math.rad(0), math.rad(0)), 0.3)
3103
                  LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(lv.z / 1), math.rad(-90), math.rad(0)) * angles(math.rad(-5 + -lv.x / 1), math.rad(0), math.rad(0)), 0.3)
3104
                end
3105
              end
3106
            end
3107
          end
3108
        end
3109
      end
3110
    end
3111
  end
3112
end
3113
)