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