View difference between Paste ID: 84nqAzgx and QqUs1i1j
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end
2
print("FE Compatibility: by WaverlyCole & Mokiros")
3
InternalData = {}
4
do
5
	script.Parent = owner.Character
6
	local Event = Instance.new("RemoteEvent")
7
	Event.Name = "UserInput"
8
	local function NewFakeEvent()
9
		local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect
10
		return Fake
11
	end
12
	local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
13
	local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
14
	local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
15
		self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
16
	end};ContextActionService.UnBindAction = ContextActionService.BindAction
17
	local function TriggerEvent(self,Event,...)
18
		local Trigger = Mouse[Event]
19
		if Trigger and Trigger.fakeEvent and Trigger.Function then
20
			Trigger.Function(...)
21
		end
22
	end
23
	Mouse.TrigEvent = TriggerEvent
24
	UserInputService.TrigEvent = TriggerEvent
25
	Event.OnServerEvent:Connect(function(FiredBy,Input)
26
		if FiredBy.Name ~= owner.Name then end
27
		if Input.MouseEvent then
28
			Mouse.Target = Input.Target
29
			Mouse.Hit = Input.Hit
30
		else
31
			local Begin = Input.UserInputState == Enum.UserInputState.Begin
32
			if Input.UserInputType == Enum.UserInputType.MouseButton1 then
33
				return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up")
34
			end
35
			for _,Action in pairs(ContextActionService.Actions) do
36
				for _,Key in pairs(Action.Keys) do
37
					if Key==Input.KeyCode then
38
						Action.Function(Action.Name,Input.UserInputState,Input)
39
					end
40
				end
41
			end
42
			Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
43
			UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
44
		end
45
	end)
46
	InternalData["Mouse"] = Mouse
47
	InternalData["ContextActionService"] = ContextActionService
48
	InternalData["UserInputService"] = UserInputService
49
	Event.Parent = NLS([[
50
		local Player = owner
51
		local Event = script:WaitForChild("UserInput")
52
		local UserInputService = game:GetService("UserInputService")
53
		local Mouse = Player:GetMouse()
54
		local Input = function(Input,gameProcessedEvent)
55
			if gameProcessedEvent then return end
56
			Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
57
		end
58
		UserInputService.InputBegan:Connect(Input)
59
		UserInputService.InputEnded:Connect(Input)
60
		local Hit,Target
61
		while wait(1/30) do
62
			if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
63
				Hit,Target = Mouse.Hit,Mouse.Target
64
				Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
65
			end
66
		end
67
	]],owner.Character)
68
end
69
RealGame = game;game = setmetatable({},{
70
	__index = function (self,Index)
71
		local Sandbox = function (Thing)
72
			if Thing:IsA("Player") then
73
				local RealPlayer = Thing
74
				return setmetatable({},{
75
					__index = function (self,Index)
76
						local Type = type(RealPlayer[Index])
77
						if Type == "function" then
78
							if Index:lower() == "getmouse" or Index:lower() == "mouse" then
79
								return function (self)
80
									return InternalData["Mouse"]
81
								end
82
							end
83
							return function (self,...)
84
								return RealPlayer[Index](RealPlayer,...)
85
							end
86
						else
87
							if Index == "PlrObj" then
88
								return RealPlayer
89
							end
90
							return RealPlayer[Index]
91
						end
92
					end;
93
					__tostring = function(self)
94
						return RealPlayer.Name
95
					end
96
				})
97
			end
98
		end
99
		if RealGame[Index] then
100
			local Type = type(RealGame[Index])
101
			if Type == "function" then
102
				if Index:lower() == "getservice" or Index:lower() == "service" then
103
					return function (self,Service)
104
						if Service:lower() == "players" then
105
							return setmetatable({},{
106
								__index = function (self2,Index2)
107
									local RealService = RealGame:GetService(Service)
108
									local Type2 = type(Index2)
109
									if Type2 == "function" then
110
										return function (self,...)
111
											return RealService[Index2](RealService,...)
112
										end
113
									else
114
										if Index2:lower() == "localplayer" then
115
											return Sandbox(owner)
116
										end
117
										return RealService[Index2]
118
									end
119
								end;
120
								__tostring = function(self)
121
									return RealGame:GetService(Service).Name
122
								end
123
							})
124
						elseif Service:lower() == "contextactionservice" then
125
							return InternalData["ContextActionService"]
126
						elseif Service:lower() == "contextactionservice" then
127
							return InternalData["UserInputService"]
128
						elseif Service:lower() == "runservice" then
129
							return setmetatable({},{
130
								__index = function(self2,Index2)
131
									local RealService = RealGame:GetService(Service)
132
									local Type2 = type(Index2)
133
									if Type2 == "function" then
134
										return function (self,...)
135
											return RealService[Index2](RealService,...)
136
										end
137
									else
138
										if Index2:lower() == "bindtorenderstep" then
139
											return function (self,Name,Priority,Function)
140
												return RealGame:GetService("RunService").Stepped:Connect(Function)
141
											end
142
										end
143
										if Index2:lower() == "renderstepped" then
144
											return RealService["Stepped"]
145
										end
146
										return RealService[Index2]
147
									end
148
								end
149
							})
150
						else
151
							return RealGame:GetService(Service)
152
						end
153
					end
154
				end
155
				return function (self,...)
156
					return RealGame[Index](RealGame,...)
157
				end
158
			else
159
				if game:GetService(Index) then
160
					return game:GetService(Index)
161
				end
162
				return RealGame[Index]
163
			end
164
		else
165
			return nil
166
		end
167
	end
168
});Game = game;owner = game:GetService("Players").LocalPlayer;script = {}
169
print("Complete! Running...")
170
171
script.Name = "StarFall"
172
--//====================================================\\--
173
--||   EDITED BY Zach_script_stealer2	   CREATED BY SHACKLUSTER
174
--\\====================================================//--
175
176
print("Sucess")
177
print("Edited By Zach_script_stealer2 What sup everybody whoever used my script")
178
print("Well yea it not perfect but Enjoy!")
179
warn("Enough talking ")
180
warn("your job is to eliminate every enemy in your way")
181
182
183
script:ClearAllChildren()
184-
wait(0.2)836590183
184+
wait(0.2)
185
186
Player = game:GetService("Players").LocalPlayer
187
PlayerGui = Player.PlayerGui
188
Cam = workspace.CurrentCamera
189
Backpack = Player.Backpack
190
Character = Player.Character
191
Humanoid = Character.Humanoid
192
Mouse = Player:GetMouse()
193
RootPart = Character["HumanoidRootPart"]
194
Torso = Character["Torso"]
195
Head = Character["Head"]
196
RightArm = Character["Right Arm"]
197
LeftArm = Character["Left Arm"]
198
RightLeg = Character["Right Leg"]
199
LeftLeg = Character["Left Leg"]
200
RootJoint = RootPart["RootJoint"]
201
Neck = Torso["Neck"]
202
RightShoulder = Torso["Right Shoulder"]
203
LeftShoulder = Torso["Left Shoulder"]
204
RightHip = Torso["Right Hip"]
205
LeftHip = Torso["Left Hip"]
206
local TIME = 0
207
local sick = Instance.new("Sound",Torso)
208
209
IT = Instance.new
210
CF = CFrame.new
211
VT = Vector3.new
212
RAD = math.rad
213
C3 = Color3.new
214
UD2 = UDim2.new
215
BRICKC = BrickColor.new
216
ANGLES = CFrame.Angles
217
EULER = CFrame.fromEulerAnglesXYZ
218
COS = math.cos
219
ACOS = math.acos
220
SIN = math.sin
221
ASIN = math.asin
222
ABS = math.abs
223
MRANDOM = math.random
224
FLOOR = math.floor
225
local RWINGS = {}
226
local LWINGS = {}
227
local GunPoint
228
Player_Size = 1
229
230
-- Thingy To Make Song Work
231
232
p = game.Players.LocalPlayer
233
	char = p.Character
234
235
---------------------------[[[ LOOPED SONG ]]]--------------------------
236
local s = Instance.new("Sound",char)
237
	s.Name = "BGMusic"
238
	s.SoundId = "rbxassetid://836590183"
239
	s.Pitch = 1
240
	s.Volume = 50
241
	s.Looped = true
242
	s.archivable = false
243
	s.Parent = char.Head
244
	wait(0.1)
245
	s:play()
246
247
-- Rest of Script
248
-- Want To Use This For Scripts With No Songs? Go Ahead Copy This InfiniteOneWithdank created the looped song thing that is in here anyways.
249
250
--//=================================\\
251
--|| 	      PARTICLES N STUFF
252
--\\=================================//
253
254
local particleemitter = Instance.new('ParticleEmitter', LeftArm)
255
        particleemitter.VelocitySpread = 350
256
        particleemitter.Lifetime = NumberRange.new(1)
257
        particleemitter.Speed = NumberRange.new(0)
258
cringememe= {}
259
for i=0, 19 do
260
  cringememe[#cringememe + 1] = NumberSequenceKeypoint.new(i/19, math.random(1, 1))
261
end
262
particleemitter.Size = NumberSequence.new(cringememe)
263
        particleemitter.Rate = 20
264
        particleemitter.LockedToPart = true
265
        particleemitter.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
266
        particleemitter.LightEmission = 1
267
        particleemitter.Texture = "rbxassetid://38727848"
268
        particleemitter.Color = ColorSequence.new(BrickColor.new("Navy blue").Color)
269
270
        local particleemitter = Instance.new('ParticleEmitter', Torso)
271
        particleemitter.VelocitySpread = 250
272
        particleemitter.Lifetime = NumberRange.new(3)
273
        particleemitter.Speed = NumberRange.new(1.5)
274
youAreATHOT = {}
275
for i=0, 19 do
276
  youAreATHOT[#youAreATHOT + 1] = NumberSequenceKeypoint.new(i/19, math.random(1, 1))
277
end
278
particleemitter.Size = NumberSequence.new(youAreATHOT)
279
        particleemitter.Rate = 10
280
        particleemitter.LockedToPart = false
281
        particleemitter.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
282
        particleemitter.LightEmission = 1
283
        particleemitter.Texture = "rbxassetid://253188763"
284
        particleemitter.Color = ColorSequence.new(BrickColor.new("Lavender").Color)
285
286
        local particleemitter = Instance.new('ParticleEmitter', RightArm)
287
        particleemitter.VelocitySpread = 350
288
        particleemitter.Lifetime = NumberRange.new(1)
289
        particleemitter.Speed = NumberRange.new(0)
290
cringememe2= {}
291
for i=0, 19 do
292
  cringememe2[#cringememe2 + 1] = NumberSequenceKeypoint.new(i/19, math.random(1, 1))
293
end
294
particleemitter.Size = NumberSequence.new(cringememe2)
295
        particleemitter.Rate = 20
296
        particleemitter.LockedToPart = true
297
        particleemitter.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
298
        particleemitter.LightEmission = 1
299
        particleemitter.Texture = "rbxassetid://38727848"
300
        particleemitter.Color = ColorSequence.new(BrickColor.new("Deep orange").Color)
301
302
        local particleemitter = Instance.new('ParticleEmitter', RightLeg)
303
        particleemitter.VelocitySpread = 350
304
        particleemitter.Lifetime = NumberRange.new(1)
305
        particleemitter.Speed = NumberRange.new(0)
306
cringememe3= {}
307
for i=0, 19 do
308
  cringememe3[#cringememe3 + 1] = NumberSequenceKeypoint.new(i/19, math.random(1, 1))
309
end
310
particleemitter.Size = NumberSequence.new(cringememe3)
311
        particleemitter.Rate = 30
312
        particleemitter.LockedToPart = true
313
        particleemitter.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
314
        particleemitter.LightEmission = 1
315
        particleemitter.Texture = "rbxassetid://38727848"
316
        particleemitter.Color = ColorSequence.new(BrickColor.new("Navy blue").Color)
317
318
        local particleemitter = Instance.new('ParticleEmitter', LeftLeg)
319
        particleemitter.VelocitySpread = 350
320
        particleemitter.Lifetime = NumberRange.new(1)
321
        particleemitter.Speed = NumberRange.new(0)
322
cringememe4= {}
323
for i=0, 19 do
324
  cringememe4[#cringememe4 + 1] = NumberSequenceKeypoint.new(i/19, math.random(1, 1))
325
end
326
particleemitter.Size = NumberSequence.new(cringememe4)
327
        particleemitter.Rate = 30
328
        particleemitter.LockedToPart = true
329
        particleemitter.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
330
        particleemitter.LightEmission = 1
331
        particleemitter.Texture = "rbxassetid://38727848"
332
        particleemitter.Color = ColorSequence.new(BrickColor.new("Lavender").Color)
333
334
--//=================================\\
335
--|| 	      USEFUL VALUES
336
--\\=================================//
337
338
Animation_Speed = 1.5
339
local FORCERESET = false
340
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
341
local Speed = 16
342
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
343
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
344
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
345
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
346
local DAMAGEMULTIPLIER = 1
347
local ANIM = "Idle"
348
local ATTACK = false
349
local EQUIPPED = false
350
local HOLD = false
351
local COMBO = 1
352
local Rooted = false
353
local SINE = 0
354
local KEYHOLD = false
355
local CHANGE = 2 / Animation_Speed
356
local WALKINGANIM = false
357
local VALUE1 = false
358
local VALUE2 = false
359
local ROBLOXIDLEANIMATION = IT("Animation")
360
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
361
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
362
--ROBLOXIDLEANIMATION.Parent = Humanoid
363
local WEAPONGUI = IT("ScreenGui", PlayerGui)
364
WEAPONGUI.Name = "BanishV3Gui"
365
local Weapon = IT("Model")
366
Weapon.Name = "Adds"
367
local Effects = IT("Folder", Weapon)
368
Effects.Name = "Effects"
369
local ANIMATOR = Humanoid.Animator
370
local ANIMATE = Character:FindFirstChild("Animate")
371
local UNANCHOR = true
372
local TOBANISH = {}
373
script.Parent = PlayerGui
374
375
function StatLabel(CFRAME, TEXT, COLOR)
376
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
377
	STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
378
	local BODYGYRO = IT("BodyGyro", STATPART)
379
	game:GetService("Debris"):AddItem(STATPART ,5)
380
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
381
	BILLBOARDGUI.Adornee = STATPART
382
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
383
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
384
	BILLBOARDGUI.AlwaysOnTop = false
385
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
386
	TEXTLABEL.BackgroundTransparency = 1
387
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
388
	TEXTLABEL.Text = TEXT
389
	TEXTLABEL.Font = SKILLFONT
390
	TEXTLABEL.FontSize="Size42"
391
	TEXTLABEL.TextColor3 = COLOR
392
	TEXTLABEL.TextStrokeTransparency = 0
393
	TEXTLABEL.TextScaled = true
394
	TEXTLABEL.TextWrapped = true
395
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
396
		for i = 1, 50 do
397
			Swait()
398
			STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
399
			TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
400
			TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
401
		end
402
		THEPART.Parent = nil
403
	end),STATPART, TEXTLABEL)
404
end
405
406
--//=================================\\
407
--\\=================================//
408
409
410
--//=================================\\
411
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
412
--\\=================================//
413
414
ArtificialHB = Instance.new("BindableEvent", script)
415
ArtificialHB.Name = "ArtificialHB"
416
417
script:WaitForChild("ArtificialHB")
418
419
frame = Frame_Speed
420
tf = 0
421
allowframeloss = false
422
tossremainder = false
423
lastframe = tick()
424
script.ArtificialHB:Fire()
425
426
game:GetService("RunService").Heartbeat:connect(function(s, p)
427
	tf = tf + s
428
	if tf >= frame then
429
		if allowframeloss then
430
			script.ArtificialHB:Fire()
431
			lastframe = tick()
432
		else
433
			for i = 1, math.floor(tf / frame) do
434
				script.ArtificialHB:Fire()
435
			end
436
		lastframe = tick()
437
		end
438
		if tossremainder then
439
			tf = 0
440
		else
441
			tf = tf - frame * math.floor(tf / frame)
442
		end
443
	end
444
end)
445
446
--//=================================\\
447
--\\=================================//
448
449
--//=================================\\
450
--||          SOME TAG EDIT
451
--\\=================================//
452
453
m = game.Players.LocalPlayer
454
char = m.Character
455
local txt = Instance.new("BillboardGui", char)
456
txt.Adornee = char.Head
457
txt.Name = "_status"
458
txt.Size = UDim2.new(2, 0, 1.2, 0)
459
txt.StudsOffset = Vector3.new(-9, 8, 0)
460
local text = Instance.new("TextLabel", txt)
461
text.Size = UDim2.new(10, 0, 7, 0)
462
text.FontSize = "Size24"
463
text.TextScaled = true
464
text.TextTransparency = 0
465
text.BackgroundTransparency = 1
466
text.TextTransparency = 0
467
text.TextStrokeTransparency = 0
468
text.Font = "Bodoni"
469
text.TextStrokeColor3 = Color3.new(0, 0, 0)
470
v = Instance.new("Part")
471
v.Name = "ColorBrick"
472
v.Parent = m.Character
473
v.FormFactor = "Symmetric"
474
v.Anchored = true
475
v.CanCollide = false
476
v.BottomSurface = "Smooth"
477
v.TopSurface = "Smooth"
478
v.Size = Vector3.new(10, 5, 3)
479
v.Transparency = 1
480
v.CFrame = char.Torso.CFrame
481
v.BrickColor = BrickColor.new("Toothpaste")
482
v.Transparency = 1
483
v.Shape = "Block"
484
spawn(function()
485
local TweenService = game:GetService("TweenService")
486
local Colours = {Color3.fromRGB(255,0,0),Color3.fromRGB(255,128,0),Color3.fromRGB(255,255,0),Color3.fromRGB(0,255,0),Color3.fromRGB(0,255,255),Color3.fromRGB(0,0,255),Color3.fromRGB(191,0,255),Color3.fromRGB(255,0,191)}
487
local Int = 0
488
while wait(0.5) do
489
    if Int == #Colours then Int = 0 end
490
    Int = Int+1
491
    TweenService:Create(text,TweenInfo.new(1),{TextColor3 = Colours[Int]}):Play()
492
end
493
end)
494
text.Text = "Hmmm as i expected"
495
        wait(2)
496
        text.Text = "This place is different "
497
        wait(3)
498
	text.Text = "you know what it mean for me to come to this dirty place right"
499
        wait(2)
500
    text.Text = " I will need to clean  your mess as always "
501
        wait(3) 
502
text.Text = "Star Fall"
503
504
--//=================================\\
505
--\\=================================//
506
507
--//=================================\\
508
--|| 	      SOME FUNCTIONS
509
--\\=================================//
510
511
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
512
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
513
end
514
515
function PositiveAngle(NUMBER)
516
	if NUMBER >= 0 then
517
		NUMBER = 0
518
	end
519
	return NUMBER
520
end
521
522
function NegativeAngle(NUMBER)
523
	if NUMBER <= 0 then
524
		NUMBER = 0
525
	end
526
	return NUMBER
527
end
528
529
function CreateWave(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
530
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
531
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "20329976", "", SIZE, VT(0, 0, -SIZE.X / 8))
532
	wave.CFrame = CFRAME
533
	coroutine.resume(coroutine.create(function(PART)
534
		for i = 1, WAIT do
535
			Swait()
536
			mesh.Scale = mesh.Scale + GROW
537
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
538
			if DOESROT == true then
539
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
540
			end
541
			wave.Transparency = wave.Transparency + 0.5 / WAIT
542
			if wave.Transparency > 0.99 then
543
				wave:remove()
544
			end
545
		end
546
	end))
547
end
548
549
function AddChildrenToTable(FROM, PARENT, DIST, TABLE)
550
	for _, c in pairs(PARENT:GetChildren()) do
551
		if c.ClassName == "Model" then
552
			if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then
553
				local HUMANOID = c:FindFirstChildOfClass("Humanoid")
554
				local TORSO = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
555
				if DIST > (TORSO.Position - FROM).Magnitude then
556
					table.insert(TABLE, c)
557
				end
558
				AddChildrenToTable(FROM, c, DIST, TABLE)
559
			elseif c.ClassName == "Folder" then
560
				AddChildrenToTable(FROM, c, DIST, TABLE)
561
			end
562
		end
563
	end
564
end
565
566
function Slice(KIND, SIZE, WAIT, CFRAME, COLOR, GROW)
567
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
568
	local mesh
569
	if KIND == "Base" then
570
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0, SIZE / 10, SIZE / 10), VT(0, 0, 0))
571
	elseif KIND == "Thin" then
572
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
573
	elseif KIND == "Round" then
574
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
575
	end
576
	wave.CFrame = CFRAME
577
	coroutine.resume(coroutine.create(function(PART)
578
		for i = 1, WAIT do
579
			Swait()
580
			mesh.Scale = mesh.Scale + GROW / 10
581
			wave.Transparency = wave.Transparency + 0.5 / WAIT
582
			if wave.Transparency > 0.99 then
583
				wave:remove()
584
			end
585
		end
586
	end))
587
end
588
589
function MagicSphere(SIZE, WAIT, CFRAME, COLOR, GROW)
590
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
591
	local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0, 0, 0))
592
	wave.CFrame = CFRAME
593
	coroutine.resume(coroutine.create(function(PART)
594
		for i = 1, WAIT do
595
			Swait()
596
			mesh.Scale = mesh.Scale + GROW
597
			wave.Transparency = wave.Transparency + 1 / WAIT
598
			if wave.Transparency > 0.99 then
599
				wave:remove()
600
			end
601
		end
602
	end))
603
end
604
605
function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
606
	local TORSO = Torso
607
	local HUM = Humanoid
608
	if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
609
		coroutine.wrap(function()
610
			VT = Vector3.new
611
			MRANDOM = math.random
612
			local A = TIME
613
			local B = INTENSITY
614
			local C = true
615
			local HUMANOID = Humanoid
616
			local TIMER = A or 35
617
			local SHAKE = B or 5
618
			local FADE = C or true
619
			if HUMANOID then
620
				local FADER = SHAKE / TIMER
621
				for i = 1, TIMER do
622
					wait()
623
					HUMANOID.CameraOffset = VT(MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10)
624
				end
625
				HUMANOID.CameraOffset = VT(0, 0, 0)
626
			end
627
628
		end)()
629
	end
630
end
631
632
function Effect(data)
633
	local FX = data.Effect or 'ResizeAndFade'
634
	local Parent = data.Parent or Effects
635
	local Color = data.Color or C3.N(0,0,0)
636
	local Size = data.Size or V3.N(1,1,1)
637
	local MoveDir = data.MoveDirection or nil
638
	local MeshData = data.Mesh or nil
639
	local SndData = data.Sound or nil
640
	local Frames = data.Frames or 45
641
	local Manual = data.Manual or nil
642
	local Material = data.Material or nil
643
	local CFra = data.CFrame or Torso.CFrame
644
	local Settings = data.FXSettings or {}
645
	local Snd,Prt,Msh;
646
	local Shape = data.Shape or Enum.PartType.Block
647
	coroutine.resume(coroutine.create(function()
648
		if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
649
			Prt = Manual
650
		else
651
			Prt = Part(Parent,Color,Material,Size,CFra,true,false)
652
			Prt.Shape = Shape
653
		end
654
		if(typeof(MeshData) == 'table')then
655
			Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
656
		elseif(typeof(MeshData) == 'Instance')then
657
			Msh = MeshData:Clone()
658
			Msh.Parent = Prt
659
		elseif(Shape == Enum.PartType.Block)then
660
			Msh = Mesh(Prt,Enum.MeshType.Brick)
661
		end
662
		if(typeof(SndData) == 'table' or typeof(SndData) == 'Instance')then
663
			Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
664
		end
665
		if(Snd)then
666
			repeat wait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
667
			Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
668
		end
669
		local MoveSpeed = nil;
670
		if(MoveDir)then
671
			MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
672
		end
673
		local Inc = M.RNG()-M.RNG()
674
		local Thingie = 0
675
		local Thingie2 = M.RNG(50,100)/100
676
		if(FX ~= 'Arc')then
677
			for i = 1, Frames do
678
				if(swait and typeof(swait) == 'function')then
679
					swait()
680
				else
681
					wait()
682
				end
683
				if(FX == 'ResizeAndFade')then
684
					if(not Settings.EndSize)then
685
						Settings.EndSize = V3.N(0,0,0)
686
					end
687
					local grow = (typeof(Settings.EndSize) == 'Vector3' and Settings.EndSize+Size or typeof(Settings.EndSize) == 'number' and V3.N(Settings.EndSize))
688
					if(Settings.EndIsIncrement)then
689
						Prt.Size = Prt.Size + Settings.EndSize					
690
					else
691
						Prt.Size = Prt.Size - grow/Frames
692
					end 
693
					Prt.Transparency = (i/Frames)
694
				elseif(FX == 'Fade')then
695
					Prt.Transparency = (i/Frames)
696
				end
697
				
698
				if(Settings.RandomizeCFrame)then
699
					Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
700
				end
701
				if(MoveDir and MoveSpeed)then
702
					local Orientation = Prt.Orientation
703
					Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
704
					Prt.Orientation = Orientation
705
				end
706
			end
707
			Prt:destroy() 
708
		else
709
			local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
710
			if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
711
			local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
712
			local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
713
			assert(start ~= nil,"You need to specify a start point!")
714
			assert(endP ~= nil,"You need to specify an end point!")
715
			for i = 0, 1, Settings.Speed or 0.01 do
716
				if(swait and typeof(swait) == 'function')then
717
					swait()
718
				else
719
					wait()
720
				end
721
				if(Settings.Home)then
722
					endP = Settings.Home.CFrame
723
				end
724
				Prt.CFrame = Bezier(start, quarter, threequarter, endP, i)
725
			end
726
			if(Settings.RemoveOnGoal)then
727
				Prt:destroy()
728
			end
729
		end
730
	end))
731
	return Prt,Msh,Snd
732
end
733
734
function RightWing()
735
	for i = 1, 2 do
736
		local PART
737
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
738
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Wing, CF(0.8, 0.75 - 0.25 * i, 1) * ANGLES(RAD(0), RAD(-15 * i), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-30 * i)), CF(0, 0, 0))
739
		table.insert(RWINGS, WingWeld)
740
		PART = Wing
741
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "LargeWing", VT(1, 1.7, 1), false)
742
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.5, 0) * ANGLES(RAD(15), RAD(25), RAD(0)), CF(0, -0.8, 0))
743
		PART = Wing
744
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
745
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.9, 0) * ANGLES(RAD(-8), RAD(0), RAD(0)), CF(0, 0, 0))
746
		local Wing1 = CreatePart(3, Weapon, "Marble", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.2, 0.51), false)
747
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0, 0, 0))
748
		PART = Wing
749
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.2, 0.5, 0.2), false)
750
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.65, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), CF(0, 0, 0))
751
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.8, 0.15, 0.15), false)
752
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0.7, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
753
		local Wing1 = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Dark orange", "WingPart", VT(0.25, 0.2, 0.25), false)
754
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, 0), CF(0, 0, 0))
755
		PART = Wing
756
		table.insert(RWINGS, WingWeld)
757
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.4, 0.5, 0.4), false)
758
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.65, 0) * ANGLES(RAD(-5), RAD(0), RAD(15)), CF(0, 0, 0))
759
		local Wing1 = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Dark indigo", "WingPart", VT(0.45, 0.2, 0.45), false)
760
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, 0), CF(0, 0, 0))
761
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.15, 0.15), false)
762
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0.8, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0, 0, 0))
763
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.1, 0.1), false)
764
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(1, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(-0.8, 0, 0))
765
		PART = Wing
766
		table.insert(RWINGS, WingWeld)
767
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.2, 0.5, 0.2), false)
768
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(-0.18, 0.25, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0, 0, 0))
769
		PART = Wing
770
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
771
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.55, 0) * ANGLES(RAD(-15), RAD(15), RAD(15)), CF(0, 0, 0))
772
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.3, 0.3), false)
773
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0.8, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0, 0, 0))
774
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark orange", "WingPart", VT(1, 0.2, 0.2), false)
775
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(1, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(-0.8, 0.15, 0))
776
		PART = Wing
777
		table.insert(RWINGS, WingWeld)
778
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "WingPart", VT(1, 1, 1), false)
779
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0.4, 0.95, 0) * ANGLES(RAD(-5), RAD(0), RAD(15)), CF(0, 0, 0))
780
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark orange", "WingPart", VT(0.3, 0.3, 0.3), false)
781
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, -0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
782
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.7, 0.7, 0.7), false)
783
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, -0.2) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
784
		local Wing1 = CreatePart(3, Weapon, "Neon", 0, 0, "Burgundy", "WingPart", VT(0.45, 0.45, 0.45), false)
785
		table.insert(EYES, Wing1)
786
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, -0.35) * ANGLES(RAD(0), RAD(0), RAD(-35)), CF(0, 0, 0))
787
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.1, 0.1), false)
788
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0.8, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
789
		PART = Wing
790
		table.insert(RWINGS, WingWeld)
791
	end
792
	BODY = {}
793
	for _, c in pairs(Character:GetDescendants()) do
794
		if c:IsA("BasePart") then
795
			table.insert(BODY, {
796
				c,
797
				c.Parent,
798
				c.Material,
799
				c.Color
800
			})
801
		elseif c:IsA("JointInstance") then
802
			table.insert(BODY, {
803
				c,
804
				c.Parent,
805
				nil,
806
				nil
807
			})
808
		end
809
	end
810
end
811
function LeftWing()
812
	for i = 1, 2 do
813
		local PART
814
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
815
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Wing, CF(-0.8, 0.75 - 0.25 * i, 1) * ANGLES(RAD(0), RAD(15 * i), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(30 * i)), CF(0, 0, 0))
816
		table.insert(LWINGS, WingWeld)
817
		PART = Wing
818
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "LargeWing", VT(1, 1.7, 1), false)
819
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.5, 0) * ANGLES(RAD(15), RAD(-25), RAD(0)), CF(0, -0.8, 0))
820
		PART = Wing
821
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
822
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.9, 0) * ANGLES(RAD(-8), RAD(0), RAD(0)), CF(0, 0, 0))
823
		local Wing1 = CreatePart(3, Weapon, "Marble", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.2, 0.51), false)
824
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0, 0, 0))
825
		PART = Wing
826
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.2, 0.5, 0.2), false)
827
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.65, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), CF(0, 0, 0))
828
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.8, 0.15, 0.15), false)
829
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-0.7, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
830
		local Wing1 = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Dark orange", "WingPart", VT(0.25, 0.2, 0.25), false)
831
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, 0), CF(0, 0, 0))
832
		PART = Wing
833
		table.insert(LWINGS, WingWeld)
834
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.4, 0.5, 0.4), false)
835
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.65, 0) * ANGLES(RAD(-5), RAD(0), RAD(-15)), CF(0, 0, 0))
836
		local Wing1 = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Dark indigo", "WingPart", VT(0.45, 0.2, 0.45), false)
837
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, 0), CF(0, 0, 0))
838
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.15, 0.15), false)
839
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-0.8, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0, 0, 0))
840
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.1, 0.1), false)
841
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-1, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0.8, 0, 0))
842
		PART = Wing
843
		table.insert(LWINGS, WingWeld)
844
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.2, 0.5, 0.2), false)
845
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0.18, 0.25, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0, 0, 0))
846
		PART = Wing
847
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
848
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.55, 0) * ANGLES(RAD(-15), RAD(-15), RAD(-15)), CF(0, 0, 0))
849
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.3, 0.3), false)
850
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-0.8, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0, 0, 0))
851
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark orange", "WingPart", VT(1, 0.2, 0.2), false)
852
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-1, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0.8, 0.15, 0))
853
		PART = Wing
854
		table.insert(LWINGS, WingWeld)
855
		local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "WingPart", VT(1, 1, 1), false)
856
		local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(-0.4, 0.95, 0) * ANGLES(RAD(-5), RAD(0), RAD(-15)), CF(0, 0, 0))
857
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark orange", "WingPart", VT(0.3, 0.3, 0.3), false)
858
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, -0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
859
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.7, 0.7, 0.7), false)
860
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, -0.2) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, 0, 0))
861
		local Wing1 = CreatePart(3, Weapon, "Neon", 0, 0, "Burgundy", "WingPart", VT(0.45, 0.45, 0.45), false)
862
		table.insert(EYES, Wing1)
863
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, -0.35) * ANGLES(RAD(0), RAD(0), RAD(35)), CF(0, 0, 0))
864
		local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.1, 0.1), false)
865
		CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-0.8, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, 0, 0))
866
		PART = Wing
867
		table.insert(LWINGS, WingWeld)
868
	end
869
	BODY = {}
870
	for _, c in pairs(Character:GetDescendants()) do
871
		if c:IsA("BasePart") then
872
			table.insert(BODY, {
873
				c,
874
				c.Parent,
875
				c.Material,
876
				c.Color
877
			})
878
		elseif c:IsA("JointInstance") then
879
			table.insert(BODY, {
880
				c,
881
				c.Parent,
882
				nil,
883
				nil
884
			})
885
		end
886
	end
887
end
888
889
function Swait(NUMBER)
890
	if NUMBER == 0 or NUMBER == nil then
891
		ArtificialHB.Event:wait()
892
	else
893
		for i = 1, NUMBER do
894
			ArtificialHB.Event:wait()
895
		end
896
	end
897
end
898
899
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
900
	local NEWMESH = IT(MESH)
901
	if MESH == "SpecialMesh" then
902
		NEWMESH.MeshType = MESHTYPE
903
		if MESHID ~= "nil" and MESHID ~= "" then
904
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
905
		end
906
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
907
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
908
		end
909
	end
910
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
911
	NEWMESH.Scale = SCALE
912
	NEWMESH.Parent = PARENT
913
	return NEWMESH
914
end
915
916
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
917
	local NEWPART = IT("Part")
918
	NEWPART.formFactor = FORMFACTOR
919
	NEWPART.Reflectance = REFLECTANCE
920
	NEWPART.Transparency = TRANSPARENCY
921
	NEWPART.CanCollide = false
922
	NEWPART.Locked = true
923
	NEWPART.Anchored = true
924
	if ANCHOR == false then
925
		NEWPART.Anchored = false
926
	end
927
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
928
	NEWPART.Name = NAME
929
	NEWPART.Size = SIZE
930
	NEWPART.Position = Torso.Position
931
	NEWPART.Material = MATERIAL
932
	NEWPART:BreakJoints()
933
	NEWPART.Parent = PARENT
934
	return NEWPART
935
end
936
937
	local function weldBetween(a, b)
938
	    local weldd = Instance.new("ManualWeld")
939
	    weldd.Part0 = a
940
	    weldd.Part1 = b
941
	    weldd.C0 = CFrame.new()
942
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
943
	    weldd.Parent = a
944
	    return weldd
945
	end
946
947
948
function QuaternionFromCFrame(cf)
949
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
950
	local trace = m00 + m11 + m22
951
	if trace > 0 then 
952
		local s = math.sqrt(1 + trace)
953
		local recip = 0.5 / s
954
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
955
	else
956
		local i = 0
957
		if m11 > m00 then
958
			i = 1
959
		end
960
		if m22 > (i == 0 and m00 or m11) then
961
			i = 2
962
		end
963
		if i == 0 then
964
			local s = math.sqrt(m00 - m11 - m22 + 1)
965
			local recip = 0.5 / s
966
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
967
		elseif i == 1 then
968
			local s = math.sqrt(m11 - m22 - m00 + 1)
969
			local recip = 0.5 / s
970
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
971
		elseif i == 2 then
972
			local s = math.sqrt(m22 - m00 - m11 + 1)
973
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
974
		end
975
	end
976
end
977
 
978
function QuaternionToCFrame(px, py, pz, x, y, z, w)
979
	local xs, ys, zs = x + x, y + y, z + z
980
	local wx, wy, wz = w * xs, w * ys, w * zs
981
	local xx = x * xs
982
	local xy = x * ys
983
	local xz = x * zs
984
	local yy = y * ys
985
	local yz = y * zs
986
	local zz = z * zs
987
	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))
988
end
989
 
990
function QuaternionSlerp(a, b, t)
991
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
992
	local startInterp, finishInterp;
993
	if cosTheta >= 0.0001 then
994
		if (1 - cosTheta) > 0.0001 then
995
			local theta = ACOS(cosTheta)
996
			local invSinTheta = 1 / SIN(theta)
997
			startInterp = SIN((1 - t) * theta) * invSinTheta
998
			finishInterp = SIN(t * theta) * invSinTheta
999
		else
1000
			startInterp = 1 - t
1001
			finishInterp = t
1002
		end
1003
	else
1004
		if (1 + cosTheta) > 0.0001 then
1005
			local theta = ACOS(-cosTheta)
1006
			local invSinTheta = 1 / SIN(theta)
1007
			startInterp = SIN((t - 1) * theta) * invSinTheta
1008
			finishInterp = SIN(t * theta) * invSinTheta
1009
		else
1010
			startInterp = t - 1
1011
			finishInterp = t
1012
		end
1013
	end
1014
	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
1015
end
1016
1017
function Clerp(a, b, t)
1018
	local qa = {QuaternionFromCFrame(a)}
1019
	local qb = {QuaternionFromCFrame(b)}
1020
	local ax, ay, az = a.x, a.y, a.z
1021
	local bx, by, bz = b.x, b.y, b.z
1022
	local _t = 1 - t
1023
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
1024
end
1025
1026
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
1027
	local frame = IT("Frame")
1028
	frame.BackgroundTransparency = TRANSPARENCY
1029
	frame.BorderSizePixel = BORDERSIZEPIXEL
1030
	frame.Position = POSITION
1031
	frame.Size = SIZE
1032
	frame.BackgroundColor3 = COLOR
1033
	frame.BorderColor3 = BORDERCOLOR
1034
	frame.Name = NAME
1035
	frame.Parent = PARENT
1036
	return frame
1037
end
1038
1039
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
1040
	local label = IT("TextLabel")
1041
	label.BackgroundTransparency = 1
1042
	label.Size = UD2(1, 0, 1, 0)
1043
	label.Position = UD2(0, 0, 0, 0)
1044
	label.TextColor3 = TEXTCOLOR
1045
	label.TextStrokeTransparency = STROKETRANSPARENCY
1046
	label.TextTransparency = TRANSPARENCY
1047
	label.FontSize = TEXTFONTSIZE
1048
	label.Font = TEXTFONT
1049
	label.BorderSizePixel = BORDERSIZEPIXEL
1050
	label.TextScaled = false
1051
	label.Text = TEXT
1052
	label.Name = NAME
1053
	label.Parent = PARENT
1054
	return label
1055
end
1056
1057
function NoOutlines(PART)
1058
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
1059
end
1060
1061
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
1062
	local NEWWELD = IT(TYPE)
1063
	NEWWELD.Part0 = PART0
1064
	NEWWELD.Part1 = PART1
1065
	NEWWELD.C0 = C0
1066
	NEWWELD.C1 = C1
1067
	NEWWELD.Parent = PARENT
1068
	return NEWWELD
1069
end
1070
1071
local S = IT("Sound")
1072
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
1073
	local NEWSOUND = nil
1074
	coroutine.resume(coroutine.create(function()
1075
		NEWSOUND = S:Clone()
1076
		NEWSOUND.Parent = PARENT
1077
		NEWSOUND.Volume = VOLUME
1078
		NEWSOUND.Pitch = PITCH
1079
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
1080
		NEWSOUND:play()
1081
		if DOESLOOP == true then
1082
			NEWSOUND.Looped = true
1083
		else
1084
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
1085
			NEWSOUND:remove()
1086
		end
1087
	end))
1088
	return NEWSOUND
1089
end
1090
1091
function CFrameFromTopBack(at, top, back)
1092
	local right = top:Cross(back)
1093
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
1094
end
1095
1096
--Lightning({Material = "Neon", FadeIn = false, Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 15, Thicken = false})
1097
function Lightning(Table)
1098
	local Color = Table.Color or C3(1,1,1)
1099
	local StartPos = Table.Start or Torso.Position
1100
	local EndPos = Table.End or Mouse.Hit.p
1101
	local SegmentLength = Table.SegmentL or 2
1102
	local Thickness = Table.Thickness or 0.1
1103
	local Dissapear = Table.DoesFade or false
1104
	local Parent = Table.Ignore or Character
1105
	local MaxDist = Table.MaxDist or 400
1106
	local Branches = Table.Branches or false
1107
	local Thicken = Table.Thicken or false
1108
	local FadeTime = Table.FadeTime or 15
1109
	local FadeIn = Table.FadeIn or false
1110
	local Material = Table.Material or "Neon"
1111
	local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
1112
	local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/((SegmentLength/SegmentLength)/1.5))
1113
	local LIGHTNINGMODEL = IT("Model",Effects)
1114
	LIGHTNINGMODEL.Name = "Lightning"
1115
	local LastBolt = nil
1116
	for E = 1, DISTANCE do
1117
		local ExtraSize = 0
1118
		if Thicken == true then
1119
			ExtraSize = (DISTANCE-E)/15
1120
		end
1121
		local TRANSPARENCY = 0
1122
		if FadeIn == true then
1123
			TRANSPARENCY = 1-(E/(DISTANCE/1.5))
1124
			if TRANSPARENCY < 0 then
1125
				TRANSPARENCY = 0
1126
			end
1127
		end
1128
		local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
1129
		PART.Color = Color
1130
		MakeForm(PART,"Cyl")
1131
		if LastBolt == nil then
1132
			PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
1133
		else
1134
			PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,DISTANCE-E).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
1135
		end
1136
		LastBolt = PART
1137
		if Branches == true and E < (DISTANCE-5) then
1138
			local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
1139
			if CHOICE == 1 then
1140
				local LASTBRANCH = nil
1141
				for i = 1, MRANDOM(2,5) do
1142
					local ExtraSize2 = 0
1143
					if Thicken == true then
1144
						ExtraSize = ((DISTANCE-E)/25)/i
1145
					end
1146
					local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
1147
					PART.Color = Color
1148
					MakeForm(PART,"Cyl")
1149
					if LASTBRANCH == nil then
1150
						PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
1151
					else
1152
						PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
1153
					end
1154
					LASTBRANCH = PART
1155
				end
1156
			end
1157
		end
1158
	end
1159
	if Dissapear == true then
1160
		coroutine.resume(coroutine.create(function()
1161
			for i = 1, FadeTime do
1162
				Swait()
1163
				for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
1164
					if c.ClassName == "Part" then
1165
						c.Transparency = c.Transparency + (i/FadeTime)/10
1166
					end
1167
				end
1168
			end
1169
			LIGHTNINGMODEL:remove()
1170
		end))
1171
	elseif Dissapear == false then
1172
		Debris:AddItem(LIGHTNINGMODEL,0.1)
1173
	end
1174
	return {Hit = HIT,Pos = HITPOS,End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
1175
end
1176
1177
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1178
local cR=255
1179
local cG=0
1180
local cB=0
1181
local flg5=1 local omgidk=1
1182
local add=15
1183
game:GetService("RunService"):BindToRenderStep("Ghost",1,function()
1184
	if omgidk>10000 then omgidk=0 end
1185
	omgidk=omgidk+1
1186
	if cR>=255 then flg5=1 end
1187
	if cG>=255 then flg5=2 end
1188
	if cB>=255 then flg5=3 end
1189
	if flg5==1 then cR=cR-add cG=cG+add end
1190
	if flg5==2 then cG=cG-add cB=cB+add end
1191
	if flg5==3 then cB=cB-add cR=cR+add end
1192
	color=Color3.fromRGB(cR,cG,cB)
1193
function WACKYEFFECT(Table)
1194
	local TYPE = (Table.EffectType or "Sphere")
1195
	local SIZE = (Table.Size or VT(6,6,6))
1196
	local ENDSIZE = (Table.Size2 or VT(7,7,7))
1197
	local TRANSPARENCY = (Table.Transparency or 0)
1198
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
1199
	local CFRAME = (Table.CFrame or Torso.CFrame)
1200
	local MOVEDIRECTION = (Table.MoveToPos or nil)
1201
	local ROTATION1 = (Table.RotationX or 0)
1202
	local ROTATION2 = (Table.RotationY or 0)
1203
	local ROTATION3 = (Table.RotationZ or 0)
1204
	local MATERIAL = "Neon"
1205
	local COLOR = color
1206
	local TIME = (Table.Time or 45)
1207
	local SOUNDID = (Table.SoundID or nil)
1208
	local SOUNDPITCH = (Table.SoundPitch or nil)
1209
	local SOUNDVOLUME = (Table.SoundVolume or nil)
1210
	coroutine.resume(coroutine.create(function()
1211
		local PLAYSSOUND = false
1212
		local SOUND = nil
1213
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
1214
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
1215
			PLAYSSOUND = true
1216
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
1217
		end
1218
		EFFECT.Color = color
1219
		local MSH = nil
1220
		if TYPE == "Sphere" then
1221
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
1222
		elseif TYPE == "Block" then
1223
			MSH = IT("BlockMesh",EFFECT)
1224
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
1225
		elseif TYPE == "Wave" then
1226
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
1227
		elseif TYPE == "Ring" then
1228
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
1229
		elseif TYPE == "Slash" then
1230
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1231
		elseif TYPE == "Round Slash" then
1232
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1233
		elseif TYPE == "Swirl" then
1234
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1235
		elseif TYPE == "Skull" then
1236
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1237
		elseif TYPE == "Crystal" then
1238
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1239
		end
1240
		if MSH ~= nil then
1241
			local MOVESPEED = nil
1242
			if MOVEDIRECTION ~= nil then
1243
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
1244
			end
1245
			local GROWTH = SIZE - ENDSIZE
1246
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1247
			if TYPE == "Block" then
1248
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1249
			else
1250
				EFFECT.CFrame = CFRAME
1251
			end
1252
			for LOOP = 1, TIME+1 do
1253
				Swait()
1254
				MSH.Scale = MSH.Scale - GROWTH/TIME
1255
				if TYPE == "Wave" then
1256
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
1257
				end
1258
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1259
				if TYPE == "Block" then
1260
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1261
				else
1262
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1263
				end
1264
				if MOVEDIRECTION ~= nil then
1265
					local ORI = EFFECT.Orientation
1266
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
1267
					EFFECT.Orientation = ORI
1268
				end
1269
			end
1270
			if PLAYSSOUND == false then
1271
				EFFECT:remove()
1272
			else
1273
				SOUND.Stopped:Connect(function()
1274
					EFFECT:remove()
1275
				end)
1276
			end
1277
		else
1278
			if PLAYSSOUND == false then
1279
				EFFECT:remove()
1280
			else
1281
				repeat Swait() until SOUND.Playing == false
1282
				EFFECT:remove()
1283
			end
1284
		end
1285
	end))
1286
end
1287
end)
1288
function MakeForm(PART,TYPE)
1289
	if TYPE == "Cyl" then
1290
		local MSH = IT("CylinderMesh",PART)
1291
	elseif TYPE == "Ball" then
1292
		local MSH = IT("SpecialMesh",PART)
1293
		MSH.MeshType = "Sphere"
1294
	elseif TYPE == "Wedge" then
1295
		local MSH = IT("SpecialMesh",PART)
1296
		MSH.MeshType = "Wedge"
1297
	end
1298
end
1299
function SpawnTrail(FROM,TO,BIG)
1300
local TRAIL = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Trail", VT(10,10,10))
1301
	MakeForm(TRAIL,"Cyl")
1302
local cR=255
1303
local cG=0
1304
local cB=0
1305
local flg5=1 local omgidk=1
1306
local add=15
1307
game:GetService("RunService"):BindToRenderStep("Ghost",1,function()
1308
	if omgidk>10000 then omgidk=0 end
1309
	omgidk=omgidk+1
1310
	if cR>=255 then flg5=1 end
1311
	if cG>=255 then flg5=2 end
1312
	if cB>=255 then flg5=3 end
1313
	if flg5==1 then cR=cR-add cG=cG+add end
1314
	if flg5==2 then cG=cG-add cB=cB+add end
1315
	if flg5==3 then cB=cB-add cR=cR+add end
1316
	color=Color3.fromRGB(cR,cG,cB)
1317
	TRAIL.Color = color
1318
end)
1319
	local DIST = (FROM - TO).Magnitude
1320
	if BIG == true then
1321
		TRAIL.Size = VT(5,DIST,5)
1322
	else
1323
		TRAIL.Size = VT(5,DIST,5)
1324
	end
1325
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
1326
	coroutine.resume(coroutine.create(function()
1327
		for i = 1, 55 do
1328
			Swait()
1329
			TRAIL.Transparency = TRAIL.Transparency + 0.01
1330
		end
1331
		TRAIL:remove()
1332
	end))
1333
end
1334
1335
Debris = game:GetService("Debris")
1336
1337
function CastProperRay(StartPos, EndPos, Distance, Ignore)
1338
	local DIRECTION = CF(StartPos,EndPos).lookVector
1339
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
1340
end
1341
1342
function turnto(position)
1343
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1344
end
1345
1346
--//=================================\\
1347
--||	     WEAPON CREATION
1348
--\\=================================//
1349
local GRIP = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, HANDLE, CF(0,-1.1,-0.25)*ANGLES(RAD(-110),RAD(0),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(180)), CF(0,0,0))
1350
1351
for i = 1, 35 do
1352
	local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Dark stone grey", "FaceGradient", VT(1.01,0.5,1.01),false)
1353
	FACE.Color = C3(0,0,0)
1354
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
1355
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
1356
end
1357
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Navy blue", "Eye", VT(0.6,0.1,1)/2,false)
1358
MakeForm(Eye,"Ball")
1359
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
1360
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Navy blue", "Eye", VT(0.6,0.1,1)/2,false)
1361
MakeForm(Eye,"Ball")
1362
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
1363
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Navy blue", "Eye", VT(0.1,1,1)/2,false)
1364
MakeForm(Eye,"Ball")
1365
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
1366
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Navy blue", "Eye", VT(0.1,1,1)/2,false)
1367
MakeForm(Eye,"Ball")
1368
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
1369
1370
local Eon = CreatePart(3, Weapon, "Neon", 0, 0, "Royal purple", "Eon", VT(0.5,0.5,1.25),false)
1371
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Eon, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1372
1373
local Particle = IT("ParticleEmitter",nil)
1374
Particle.Enabled = false
1375
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
1376
Particle.LightEmission = 0.5
1377
Particle.Rate = 150
1378
Particle.ZOffset = 0.2
1379
Particle.Rotation = NumberRange.new(-180, 180)
1380
Particle.RotSpeed = NumberRange.new(-180, 180)
1381
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
1382
Particle.Color = ColorSequence.new(C3(255,128,0),C3(0,155,0),C3(255,255,0),C3(0,255,0),C3(0,255,255),C3(0,0,255),C3(191,0,255),C3(255,0,191))
1383
1384
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
1385
function ParticleEmitter(Table)
1386
	local PRTCL = Particle:Clone()
1387
	local Speed = Table.Speed or 5
1388
	local Drag = Table.Drag or 0
1389
	local Size1 = Table.Size1 or 1
1390
	local Size2 = Table.Size2 or 5
1391
	local Lifetime1 = Table.Lifetime1 or 1
1392
	local Lifetime2 = Table.Lifetime2 or 1.5
1393
	local Parent = Table.Parent or Torso
1394
	local Emit = Table.Emit or 100
1395
	local Offset = Table.Offset or 360
1396
	local Acel = Table.Acel or VT(0,0,0)
1397
	local Enabled = Table.Enabled or false
1398
	PRTCL.Parent = Parent
1399
	PRTCL.Size = NumberSequence.new(Size1,Size2)
1400
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1401
	PRTCL.Speed = NumberRange.new(Speed)
1402
	PRTCL.VelocitySpread = Offset
1403
	PRTCL.Drag = Drag
1404
	PRTCL.Acceleration = Acel
1405
	if Enabled == false then
1406
		PRTCL:Emit(Emit)
1407
		Debris:AddItem(PRTCL,Lifetime2)
1408
	else
1409
		PRTCL.Enabled = true
1410
	end
1411
	return PRTCL
1412
end
1413
1414
local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Really red", "Part", VT(0.2,0.6,0.2),false)
1415
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
1416
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Really red", "Part", VT(0.2,0.5,0.2),false)
1417
MakeForm(Part,"Wedge")
1418
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
1419
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Deep orange", "Part", VT(0.2,0.3,0.2),false)
1420
MakeForm(Part,"Wedge")
1421
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
1422
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Deep orange", "Part", VT(0.3,0.3,0.3),false)
1423
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1424
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "New yeller", "Part", VT(0.3,0.5,0.5),false)
1425
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1426
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "New yeller", "Part", VT(0.4,0.4,0.4),false)
1427
MakeForm(Part,"Cyl")
1428
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1429
for i = 1, 8 do
1430
	local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Lavender", "Eye", VT(0,0.35,0.41),false)
1431
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
1432
end
1433
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Lavender", "Eye", VT(0.38,0.41,0.38),false)
1434
MakeForm(Part,"Cyl")
1435
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1436
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Deep orange", "Part", VT(0.37,0.5,0.37),false)
1437
MakeForm(Part,"Ball")
1438
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1439
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Lime green", "Part", VT(0.2,0.7,0.4),false)
1440
MakeForm(Part,"Wedge")
1441
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
1442
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Deep orange", "Part", VT(0.3,0.4,0.2),false)
1443
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1444
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "New yeller", "Part", VT(0.35,0.35,0.35),false)
1445
MakeForm(Part,"Cyl")
1446
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1447
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Navy blue", "Part", VT(0.5,0.1,0.5),false)
1448
MakeForm(Part,"Cyl")
1449
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1450
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Navy blue", "Part", VT(0.5,0.1,0.45),false)
1451
MakeForm(Part,"Cyl")
1452
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1453
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Navy blue", "Part", VT(0.2,0.5,0.2),false)
1454
MakeForm(Part,"Wedge")
1455
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1456
local LASTPART = Handle
1457
for i = 1, 10 do
1458
	if LASTPART == Handle then
1459
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Navy blue", "Part", VT(0.1,0.2,0),false)
1460
		LASTPART = Part
1461
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1462
	else
1463
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Royal purple", "Part", VT(0.1,0.05,0),false)
1464
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
1465
		LASTPART = Part
1466
	end
1467
end
1468
1469
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Lavender", "Part", VT(0.15,2,0.15),false)
1470
MakeForm(Barrel,"Cyl")
1471
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1472
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Navy blue", "Part", VT(0.25,1,0.25),false)
1473
MakeForm(Part,"Cyl")
1474
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
1475
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Navy blue", "Part", VT(0,0.1,0.2),false)
1476
MakeForm(Part,"Wedge")
1477
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1478
local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Really red", "Eye", VT(0.125,0,0.125),false)
1479
MakeForm(Hole,"Cyl")
1480
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
1481
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Deep orange", "Part", VT(0,0,0),false)
1482
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1483
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
1484
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "New yeller", "Eye", VT(0,0,0),false)
1485
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1486
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
1487
coroutine.resume(coroutine.create(function()
1488
	while wait() do
1489
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
1490
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
1491
	end
1492
end))
1493
1494
ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.7, Size2 = 0, Lifetime1 = 0.7, Lifetime2 = 0.7, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(3,9,8)})
1495
--ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 10, Size2 = 0, Lifetime1 = 0.8, Lifetime2 = 0.9, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(3,9,8)})
1496
1497
local cR=255
1498
local cG=0
1499
local cB=0
1500
local flg5=1 local omgidk=1
1501
local add=15
1502
game:GetService("RunService"):BindToRenderStep("Ghost",1,function()
1503
	if omgidk>10000 then omgidk=0 end
1504
	omgidk=omgidk+1
1505
	if cR>=255 then flg5=1 end
1506
	if cG>=255 then flg5=2 end
1507
	if cB>=255 then flg5=3 end
1508
	if flg5==1 then cR=cR-add cG=cG+add end
1509
	if flg5==2 then cG=cG-add cB=cB+add end
1510
	if flg5==3 then cB=cB-add cR=cR+add end
1511
	color=Color3.fromRGB(cR,cG,cB)
1512
for _, c in pairs(Weapon:GetDescendants()) do
1513
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
1514
		c.Material = "Glass"
1515
		c.Color = C3(0,0,0)
1516
	elseif c.ClassName == "Part" and c.Name == "Eye" then
1517
		c.Color = color
1518
		c.Material = "Neon"
1519
	end
1520
end
1521
end)
1522
Weapon.Parent = Character
1523
for _, c in pairs(Weapon:GetChildren()) do
1524
	if c.ClassName == "Part" then
1525
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1526
	end
1527
end
1528
1529
function swait(num)
1530
	if num == 0 or num == nil then
1531
		ArtificialHB.Event:wait()
1532
	else
1533
		for i = 0, num do
1534
			ArtificialHB.Event:wait()
1535
		end
1536
	end
1537
end
1538
1539
function chatfunc(text)
1540
	local chat = coroutine.wrap(function()
1541
	if Character:FindFirstChild("TalkingBillBoard")~= nil then
1542
		Character:FindFirstChild("TalkingBillBoard"):destroy()
1543
	end
1544
	local Bill = Instance.new("BillboardGui",Character)
1545
	Bill.Size = UDim2.new(0,100,0,40)
1546
	Bill.StudsOffset = Vector3.new(0,3,0)
1547
	Bill.Adornee = Character.Head
1548
	Bill.Name = "TalkingBillBoard"
1549
	local Hehe = Instance.new("TextLabel",Bill)
1550
	Hehe.BackgroundTransparency = 1
1551
	Hehe.BorderSizePixel = 0
1552
	Hehe.Text = ""
1553
	Hehe.Font = "Bodoni"
1554
	Hehe.TextSize = 40
1555
	Hehe.TextStrokeTransparency = 0
1556
	Hehe.Size = UDim2.new(1,0,0.5,0)
1557
	coroutine.resume(coroutine.create(function()
1558
		while Hehe ~= nil do
1559
			swait()	
1560
			Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))	
1561
			Hehe.Rotation = math.random(-5,5)
1562
			Hehe.TextColor3 = Color3.new(0,255,0)
1563
			Hehe.TextStrokeColor3 = Color3.new(0,0,0)
1564
		end
1565
	end))
1566
	for i = 1,string.len(text),1 do
1567
		swait()
1568
		Hehe.Text = string.sub(text,1,i)
1569
	end
1570
	swait(90)--Re[math.random(1, 93)]
1571
	for i = 0, 1, .025 do
1572
		swait()
1573
		Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
1574
		Hehe.TextStrokeTransparency = i
1575
		Hehe.TextTransparency = i
1576
	end
1577
	Bill:Destroy()
1578
	end)
1579
chat()
1580
end
1581
1582
function onChatted(msg)
1583
	chatfunc(msg)
1584
end
1585
1586
Player.Chatted:connect(onChatted)
1587
1588
local BODY = {}
1589
for _, c in pairs(Character:GetDescendants()) do
1590
	if c:IsA("BasePart") and c.Name ~= "Handle" then
1591
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
1592
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1593
		end
1594
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency,c.Size,c.Name})
1595
	elseif c:IsA("JointInstance") then
1596
		table.insert(BODY,{c,c.Parent,nil,nil,nil,nil,nil})
1597
	end
1598
end
1599
1600
function refit()
1601
	Character.Parent = workspace
1602
	for e = 1, #BODY do
1603
		if BODY[e] ~= nil then
1604
			local STUFF = BODY[e]
1605
			local PART = STUFF[1]
1606
			local PARENT = STUFF[2]
1607
			local MATERIAL = STUFF[3]
1608
			local COLOR = STUFF[4]
1609
			local TRANSPARENCY = STUFF[5]
1610
			--local SIZE = STUFF[6]
1611
			local NAME = STUFF[7]
1612
			if PART.ClassName == "Part" and PART ~= RootPart then
1613
				PART.Material = MATERIAL
1614
				PART.Transparency = TRANSPARENCY
1615
				PART.Name = NAME
1616
			end
1617
			if PART.Parent ~= PARENT then
1618
				Humanoid:remove()
1619
				PART.Parent = PARENT
1620
				Humanoid = IT("Humanoid",Character)
1621
			end
1622
		end
1623
	end
1624
end
1625
1626
local SKILLTEXTCOLOR = C3(0,255,0)
1627
local SKILLFONT = "Code"
1628
local SKILLTEXTSIZE = 7
1629
1630
Humanoid.Died:connect(function()
1631
	           refit()
1632
end)
1633
1634
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
1635
local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
1636
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.1, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
1637
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.2, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
1638
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.2, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
1639
local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.3, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
1640
local SKILL7FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.3, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 7 Frame")
1641
local SKILL8FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 8 Frame")
1642
local SKILL9FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.4, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 9 Frame")
1643
local SKILL10FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.4, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 10 Frame")
1644
local SKILL11FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.5, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 11 Frame")
1645
local SKILL12FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.5, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 12 Frame")
1646
1647
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Burning Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
1648
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[V] Teleport", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
1649
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[X] Burning Barrage", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
1650
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[C] Burning Beam", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
1651
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[B] Burning Fury", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
1652
local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[P] Dance Boi", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 6")
1653
local SKILL7TEXT = CreateLabel(SKILL7FRAME, "[T] Taunt", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 7")
1654
local SKILL8TEXT = CreateLabel(SKILL8FRAME, "[G] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 8")
1655
local SKILL9TEXT = CreateLabel(SKILL9FRAME, "[E] Burning Ravage", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 9")
1656
local SKILL10TEXT = CreateLabel(SKILL10FRAME, "[Y] Overflowing Burn", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 10")
1657
local SKILL11TEXT = CreateLabel(SKILL11FRAME, "[J] Supernova", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 11")
1658
local SKILL12TEXT = CreateLabel(SKILL12FRAME, "[U] Everyone's Hopes", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 12")
1659
1660
function printbye(Name)
1661
	local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
1662
	chatfunc(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
1663
end
1664
1665
workspace.ChildAdded:connect(function(instance)
1666
    for BANISH = 1, #TOBANISH do
1667
		if TOBANISH[BANISH] ~= nil then
1668
			if instance.Name == TOBANISH[BANISH] then
1669
				coroutine.resume(coroutine.create(function()
1670
					printbye(instance.Name)
1671
					instance:ClearAllChildren()
1672
					Debris:AddItem(instance,0.0005)
1673
				end))
1674
			end
1675
		end
1676
	end
1677
end)
1678
1679
--//=================================\\
1680
--||			DAMAGING
1681
--\\=================================//
1682
1683
function Banish(Foe)
1684
	if Foe then
1685
		coroutine.resume(coroutine.create(function()
1686
			--if game.Players:FindFirstChild(Foe.Name) then
1687
				table.insert(TOBANISH,Foe.Name)
1688
				printbye(Foe.Name)
1689
			--end
1690
			Foe.Archivable = true
1691
			local CLONE = Foe:Clone()
1692
			Foe:Destroy()
1693
			CLONE.Parent = Effects
1694
			CLONE:BreakJoints()
1695
			local MATERIALS = {"Glass","Neon"}
1696
			for _, c in pairs(CLONE:GetDescendants()) do
1697
				if c:IsA("BasePart") then
1698
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
1699
 						CreateSound(340722848, c, 10, 1, false)
1700
					end
1701
					c.Anchored = true
1702
					c.Transparency = c.Transparency + 0.2
1703
					c.Material = MATERIALS[MRANDOM(1,2)]
1704
					c.Color = C3(0,255,0)
1705
					if c.ClassName == "MeshPart" then
1706
						c.TextureID = ""
1707
					end
1708
					if c:FindFirstChildOfClass("SpecialMesh") then
1709
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1710
					end
1711
					if c:FindFirstChildOfClass("Decal") then
1712
						c:FindFirstChildOfClass("Decal"):remove()
1713
					end
1714
					c.Name = "Banished"
1715
					c.CanCollide = false
1716
				else
1717
					c:remove()
1718
				end
1719
			end
1720
			local A = false
1721
			for i = 1, 35 do
1722
				if A == false then
1723
					A = true
1724
				elseif A == true then
1725
					A = false
1726
				end
1727
				for _, c in pairs(CLONE:GetDescendants()) do
1728
					if c:IsA("BasePart") then
1729
						c.Anchored = true
1730
						c.Material = MATERIALS[MRANDOM(1,2)]
1731
						c.Transparency = c.Transparency + 0.8/35
1732
						if A == false then
1733
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
1734
						elseif A == true then
1735
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
1736
						end
1737
					end
1738
				end
1739
				Swait()
1740
			end
1741
			CLONE:remove()
1742
		end))
1743
	end
1744
end
1745
1746
function ApplyAoE(POSITION,RANGE,ISBANISH)
1747
	local CHILDREN = workspace:GetDescendants()
1748
	for index, CHILD in pairs(CHILDREN) do
1749
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1750
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1751
			if HUM then
1752
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1753
				if TORSO then
1754
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1755
						if ISBANISH == true then
1756
							Banish(CHILD)
1757
						else
1758
							if ISBANISH == "Gravity" then
1759
								HUM.PlatformStand = true
1760
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1761
									local grav = Instance.new("BodyPosition",TORSO)
1762
									grav.D = 15
1763
									grav.P = 20000
1764
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1765
									grav.position = TORSO.Position
1766
									grav.Name = "V3BanishForce"..Player.Name
1767
								else
1768
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
1769
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
1770
								end
1771
							else
1772
								HUM.PlatformStand = false
1773
							end
1774
						end
1775
					elseif ISBANISH == "Gravity" then
1776
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1777
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
1778
							HUM.PlatformStand = false
1779
						end
1780
					end
1781
				end
1782
			end
1783
		end
1784
	end
1785
end
1786
1787
UnBanishTaunts = {"You Are Released.", "If You Do The Same Thing Twice You Shall Not Be Given Mercy.", "Your Actions Have Been Forgiven.", "I shall set you free.", "I have let you go.", "Don't do that again.", "As A Person, i have the emotion of forgiving.", "Its Only Fair To Show You Mercy."}
1788
1789
--//=================================\\
1790
--||	ATTACK FUNCTIONS AND STUFF
1791
--\\=================================//
1792
local LAUGHS = {"907329532", "907329893", "865772398", "907333294"}
1793
1794
local RightHole = CreatePart(3, Character, "Metal", 0, 0, "Mid gray", "Eye", VT(0.2,0,0.2),false)
1795
MakeForm(RightHole,"Cyl")
1796
local LeftHole = CreatePart(3, Character, "Metal", 0, 0, "Mid gray", "Eye", VT(0.2,0,0.2),false)
1797
MakeForm(LeftHole,"Cyl")
1798
1799
function getbloody(victim,amount)
1800
	local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
1801
	PART.CFrame = victim.CFrame
1802
	local HITPLAYERSOUNDS = {"356551938","264486467"}
1803
	Debris:AddItem(PART,5)
1804
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1805
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1806
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1807
	local prtcl = asd:Clone()
1808
	prtcl.Parent = PART
1809
	prtcl:Emit(amount*10)
1810
end
1811
1812
GunPoint = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Really black", "Point blank", VT(0, 0, 0), false)
1813
1814
function FireArc(Part, ToLocation, AmountOfTime, Height, DoesCourontine)
1815
	if DoesCourontine == false then
1816
		local Direction = CF(Part.Position, ToLocation)
1817
		local Distance = (Part.Position - ToLocation).magnitude
1818
		for i = 1, AmountOfTime do
1819
			Swait()
1820
			Part.CFrame = Direction * CF(0, AmountOfTime / 200 + (AmountOfTime / Height - i * 2 / Height), -Distance / AmountOfTime)
1821
			Direction = Part.CFrame
1822
		end
1823
		Part:remove()
1824
	elseif DoesCourontine == true then
1825
		coroutine.resume(coroutine.create(function()
1826
			local Direction = CF(Part.Position, ToLocation)
1827
			local Distance = (Part.Position - ToLocation).magnitude
1828
			for i = 1, AmountOfTime do
1829
				Swait()
1830
				Part.CFrame = Direction * CF(0, AmountOfTime / 200 + (AmountOfTime / Height - i * 2 / Height), -Distance / AmountOfTime)
1831
				Direction = Part.CFrame
1832
			end
1833
			Part:remove()
1834
		end))
1835
	end
1836
end
1837
1838
function Absoluteum()
1839
	local HITFLOOR, HITPOS, NORMAL = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 7 * Player_Size, Character)
1840
	if HITFLOOR ~= nil then
1841
		do
1842
			local HITBODIES = {}
1843
			ATTACK = true
1844
			Rooted = true
1845
			local ABSOLUTE = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "ABSOLUTEUM", VT(0, 0, 0))
1846
			MakeForm(ABSOLUTE, "Ball")
1847
			CreateSound("416200578", RootPart, 10, 1)
1848
			for i = 0, 8, 0.1 / Animation_Speed do
1849
				Swait()
1850
				ABSOLUTE.Size = ABSOLUTE.Size + VT(0.2, 0.2, 0.2)
1851
				ABSOLUTE.CFrame = RootPart.CFrame * CF(0, 5 + ABSOLUTE.Size.Y / 2, 0)
1852
				ABSOLUTE.Transparency = ABSOLUTE.Transparency - 0.01
1853
				local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, "Maroon", "ABSOLUTEUM", VT(2, 2, 2))
1854
				MakeForm(CHARGE, "Ball")
1855
				CHARGE.CFrame = CF(RootPart.Position) * CF(MRANDOM(-15, 15), -15, MRANDOM(-15, 15))
1856
				FireArc(CHARGE, ABSOLUTE.Position, 45, 45, true)
1857
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1858
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1859
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1860
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1861
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1862
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1863
			end
1864
			CreateSound(LAUGHS[MRANDOM(1, #LAUGHS)], Head, 10, 0.9)
1865
			CreateSound("160772554", ABSOLUTE, 10, MRANDOM(5, 7) / 10)
1866
			for i = 1, 45 do
1867
				Swait()
1868
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1869
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1870
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1871
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1872
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1873
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1874
			end
1875
			coroutine.resume(coroutine.create(function()
1876
				local IMPACT = false
1877
				local BULLET = ABSOLUTE
1878
				MakeForm(BULLET, "Ball")
1879
				BULLET.CFrame = CF(BULLET.Position, Mouse.Hit.p)
1880
				for i = 1, 500 do
1881
					Swait()
1882
					BULLET.CFrame = BULLET.CFrame * CF(0, 0, -2)
1883
					local HIT = Raycast(BULLET.Position, BULLET.CFrame.lookVector, BULLET.Size.X / 2, Character)
1884
					MagicSphere(VT(10, 10, 10), 55, CF(BULLET.CFrame * CF(MRANDOM(-BULLET.Size.X / 2.5, BULLET.Size.X / 2.5), MRANDOM(-BULLET.Size.X / 2.5, BULLET.Size.X / 2.5), MRANDOM(-BULLET.Size.X / 2.5, BULLET.Size.X / 2.5)).p), "Really red", VT(-10, -10, -10) / 55)
1885
					if HIT ~= nil then
1886
						IMPACT = true
1887
						break
1888
					end
1889
				end
1890
				if IMPACT == false then
1891
					for i = 1, 40 do
1892
						Swait()
1893
						BULLET.Size = BULLET.Size * 0.9
1894
					end
1895
					BULLET:remove()
1896
				else
1897
					CreateSound("1127492102", BULLET, 10, MRANDOM(8, 13) / 10)
1898
					for i = 1, 175 do
1899
						Swait()
1900
						BULLET.Size = BULLET.Size * 0.99
1901
						Slice("Round", 0, 35, CF(BULLET.Position) * ANGLES(RAD(MRANDOM(-18, 18)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-18, 18))), "Really red", VT(i, 0, i) / 85)
1902
					end
1903
					CreateSound("438666001", BULLET, 10, 3)
1904
					Swait(35)
1905
					BULLET.Transparency = 1
1906
					for i = 1, 20 do
1907
						for e = 1, 5 do
1908
							MagicSphere(VT(0.2, 0.2, 0.2), 50, CF(BULLET.CFrame * CF(MRANDOM(-5, 5), MRANDOM(-5, 5), MRANDOM(-5, 5)).p, BULLET.Position), "Really black", VT(1, 1, i * 4), 0)
1909
							Slice("Round", 0, 35, CF(BULLET.Position) * ANGLES(RAD(MRANDOM(-18, 18)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-18, 18))), "Really red", VT(i, 0, i) / 3)
1910
						end
1911
						AddChildrenToTable(BULLET.Position, workspace, i * 25, HITBODIES)
1912
						CreateSound("178452241", BULLET, 10, MRANDOM(8, 13) / 10)
1913
						CreateSound("178452243", BULLET, 10, MRANDOM(8, 13) / 10)
1914
						MagicSphere(BULLET.Size, 35, BULLET.CFrame, C3(MRANDOM(0, 10) / 10, 0, 0), VT(i, i, i) * 2)
1915
						Swait(5)
1916
						for e = 1, #HITBODIES do
1917
							if HITBODIES[e] ~= nil then
1918
								local BOD = HITBODIES[e]
1919
								local TORS = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
1920
								if TORS then
1921
									BOD:BreakJoints()
1922
									for _, c in pairs(BOD:GetChildren()) do
1923
										if c.ClassName == "Part" or c.ClassName == "MeshPart" then
1924
											local bv = Instance.new("BodyVelocity")
1925
											bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
1926
											bv.velocity = CF(BULLET.Position, c.Position).lookVector * 250
1927
											bv.Parent = c
1928
											Debris:AddItem(bv, 0.2)
1929
										end
1930
									end
1931
								end
1932
							end
1933
						end
1934
						CreateWave(VT(0, 2, 0), 75, CF(BULLET.Position), true, -15, "Really red", VT(i, 0, i) * 2)
1935
					end
1936
					MagicSphere(BULLET.Size, 100, BULLET.CFrame, C3(1, 0, 0), VT(12, 12, 12))
1937
					Debris:AddItem(BULLET, 10)
1938
				end
1939
			end))
1940
			ATTACK = false
1941
			Rooted = false
1942
		end
1943
	end
1944
end
1945
1946
function Nuke()
1947
	ATTACK = true
1948
	Rooted = true
1949
	local CHARGE = false
1950
	local BLASTS = {468991944, 468991990}
1951
	coroutine.resume(coroutine.create(function()
1952
		repeat
1953
			Swait()
1954
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(-15 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 0.1 / Animation_Speed)
1955
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-35 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 0.1 / Animation_Speed)
1956
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(140 - 7.5 * SIN(SINE / 12)), RAD(-7.5 * SIN(SINE / 12)), RAD(-45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
1957
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(140 - 7.5 * SIN(SINE / 12)), RAD(7.5 * SIN(SINE / 12)), RAD(45 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
1958
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(25 - 7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.1 / Animation_Speed)
1959
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(25 - 7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.1 / Animation_Speed)
1960
		until CHARGE == true
1961
		for i = 0, 0.4, 0.1 / Animation_Speed do
1962
			Swait()
1963
			WACKYEFFECT({
1964
				Time = 15,
1965
				EffectType = "Sphere",
1966
				Size = VT(60, 60, 60),
1967
				Size2 = VT(0, 0, 0),
1968
				Transparency = 1,
1969
				Transparency2 = 0.7,
1970
				CFrame = CF(RootPart.Position),
1971
				MoveToPos = nil,
1972
				RotationX = 0,
1973
				RotationY = 0,
1974
				RotationZ = 0,
1975
				Material = "Neon",
1976
				Color = C3(1, 1, 1),
1977
				SoundID = nil,
1978
				SoundPitch = nil,
1979
				SoundVolume = nil
1980
			})
1981
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
1982
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1983
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(160 - 7.5 * SIN(SINE / 12)), RAD(-7.5 * SIN(SINE / 12)), RAD(-50 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1984
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(160 - 7.5 * SIN(SINE / 12)), RAD(7.5 * SIN(SINE / 12)), RAD(50 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1985
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(35 - 7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1986
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(35 - 7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1987
		end
1988
		coroutine.resume(coroutine.create(function()
1989
			local POS = RootPart.Position
1990
			wait(0.2)
1991
			for i = 1, 5 do
1992
				WACKYEFFECT({
1993
					Time = 65,
1994
					EffectType = "Sphere",
1995
					Size = VT(2, 2, 2),
1996
					Size2 = VT(0, 0, 500),
1997
					Transparency = 1,
1998
					Transparency2 = 0,
1999
					CFrame = CF(POS),
2000
					MoveToPos = nil,
2001
					RotationX = MRANDOM(-2, 2),
2002
					RotationY = MRANDOM(-12, 12),
2003
					RotationZ = MRANDOM(-2, 2),
2004
					Material = "Neon",
2005
					Color = C3(1, 1, 1),
2006
					SoundID = nil,
2007
					SoundPitch = nil,
2008
					SoundVolume = nil
2009
				})
2010
			end
2011
			wait(1)
2012
			SHAKECAM(POS, 9999999999, 25, 25)
2013
			ApplyAoE(POS, 450)
2014
			WACKYEFFECT({
2015
				Time = 85,
2016
				EffectType = "Sphere",
2017
				Size = VT(120, 120, 120),
2018
				Size2 = VT(350, 350, 350),
2019
				Transparency = 0,
2020
				Transparency2 = 1,
2021
				CFrame = CF(POS),
2022
				MoveToPos = nil,
2023
				RotationX = 0,
2024
				RotationY = 0,
2025
				RotationZ = 0,
2026
				Material = "Neon",
2027
				Color = C3(1, 1, 1),
2028
				SoundID = nil,
2029
				SoundPitch = 1,
2030
				SoundVolume = 10
2031
			})
2032
			for i = 1, 20 do
2033
				WACKYEFFECT({
2034
					Time = 85,
2035
					EffectType = "Sphere",
2036
					Size = VT(120, 120, 120),
2037
					Size2 = VT(120, 120, 144) + VT(i * 3, i * 3, i * 3),
2038
					Transparency = 0.8,
2039
					Transparency2 = 1,
2040
					CFrame = CF(POS),
2041
					MoveToPos = nil,
2042
					RotationX = 0,
2043
					RotationY = 0,
2044
					RotationZ = 0,
2045
					Material = "Neon",
2046
					Color = C3(1, 1, 1),
2047
					SoundID = nil,
2048
					SoundPitch = 1,
2049
					SoundVolume = 10
2050
				})
2051
				WACKYEFFECT({
2052
					Time = 100,
2053
					EffectType = "Wave",
2054
					Size = VT(25, 2, 25),
2055
					Size2 = VT(400, 0, 400) * 1.2,
2056
					Transparency = 0,
2057
					Transparency2 = 1,
2058
					CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
2059
					MoveToPos = nil,
2060
					RotationX = 0,
2061
					RotationY = 0,
2062
					RotationZ = 0,
2063
					Material = "Neon",
2064
					Color = C3(1, 1, 1),
2065
					SoundID = nil,
2066
					SoundPitch = nil,
2067
					SoundVolume = nil
2068
				})
2069
			end
2070
			local HITFLOOR, HITPOS = Raycast(POS, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 150, Character)
2071
			for i = 1, 5 do
2072
				CreateSound(438666077, Effects, 15, 1 - i / 15, false)
2073
				WACKYEFFECT({
2074
					Time = 120,
2075
					EffectType = "Wave",
2076
					Size = VT(150, 2, 150),
2077
					Size2 = VT(300 + i * 170, 0, 300 + i * 170) * 1.2,
2078
					Transparency = 0,
2079
					Transparency2 = 1,
2080
					CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)),
2081
					MoveToPos = nil,
2082
					RotationX = 0,
2083
					RotationY = 0,
2084
					RotationZ = 0,
2085
					Material = "Neon",
2086
					Color = C3(1, 1, 1),
2087
					SoundID = nil,
2088
					SoundPitch = nil,
2089
					SoundVolume = nil
2090
				})
2091
			end
2092
		end))
2093
		for i = 0, 1, 0.1 / Animation_Speed do
2094
			Swait()
2095
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
2096
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2097
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(45 - 7.5 * SIN(SINE / 12)), RAD(45 - 7.5 * SIN(SINE / 12)), RAD(12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2098
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(45 - 7.5 * SIN(SINE / 12)), RAD(-45 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2099
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2100
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2101
		end
2102
		ATTACK = false
2103
		Rooted = false
2104
	end))
2105
	for i = 1, 30 do
2106
		wait(0.01)
2107
		local POS = CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * CF(0, 0, MRANDOM(10, 150))
2108
		local HITFLOOR, HITPOS = Raycast(POS.p, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 150, Character)
2109
		if HITFLOOR then
2110
			ApplyAoE(HITPOS, 65, true)
2111
			local TURN = ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(0, 25)), RAD(0), RAD(0))
2112
			WACKYEFFECT({
2113
				Time = 25,
2114
				EffectType = "Sphere",
2115
				Size = VT(22, 22, 22),
2116
				Size2 = VT(85, 85, 85),
2117
				Transparency = 0,
2118
				Transparency2 = 1,
2119
				CFrame = CF(HITPOS),
2120
				MoveToPos = nil,
2121
				RotationX = 0,
2122
				RotationY = 0,
2123
				RotationZ = 0,
2124
				Material = "Neon",
2125
				Color = C3(1, 1, 1),
2126
				SoundID = BLASTS[MRANDOM(1, #BLASTS)],
2127
				SoundPitch = MRANDOM(9, 12) / 10,
2128
				SoundVolume = 10
2129
			})
2130
			for e = 1, 3 do
2131
				WACKYEFFECT({
2132
					EffectType = "Wave",
2133
					Size = VT(25, 0, 25),
2134
					Size2 = VT(40, 0, 40) + VT(e * 6, e / 5, e * 6),
2135
					Transparency = 0,
2136
					Transparency2 = 1,
2137
					CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
2138
					MoveToPos = nil,
2139
					RotationX = 0,
2140
					RotationY = 3,
2141
					RotationZ = 0,
2142
					Material = "Neon",
2143
					Color = C3(1, 1, 1),
2144
					SoundID = nil,
2145
					SoundPitch = nil,
2146
					SoundVolume = nil
2147
				})
2148
				WACKYEFFECT({
2149
					Time = 35,
2150
					EffectType = "Sphere",
2151
					Size = VT(22, 45, 22),
2152
					Size2 = VT(25, 45 + e * 75, 25),
2153
					Transparency = 0,
2154
					Transparency2 = 1,
2155
					CFrame = CF(HITPOS) * TURN,
2156
					MoveToPos = nil,
2157
					RotationX = 0,
2158
					RotationY = 0,
2159
					RotationZ = 0,
2160
					Material = "Neon",
2161
					Color = C3(1, 1, 1),
2162
					SoundID = nil,
2163
					SoundPitch = MRANDOM(9, 12) / 10,
2164
					SoundVolume = 10
2165
				})
2166
			end
2167
		end
2168
	end
2169
	CHARGE = true
2170
end
2171
2172
function SpectralBanishing()
2173
	ATTACK = true
2174
	Rooted = false
2175
	chatfunc("If you desire to be a ghost...", 20)
2176
	for i = 0, 5, 0.1 / Animation_Speed do
2177
		Swait()
2178
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.25 / Animation_Speed)
2179
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-45 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.25 / Animation_Speed)
2180
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
2181
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
2182
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.25 / Animation_Speed)
2183
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.25 / Animation_Speed)
2184
	end
2185
	chatfunc("Then move on to the afterlife!", 6)
2186
	CreateSound("238353911", GunPoint, 10, MRANDOM(9, 11) / 10)
2187
	MagicSphere(VT(0.1, 0.1, 0.1), 45, GunPoint.CFrame, "Really red", VT(0.1, 0.1, 0.1))
2188
	MagicSphere(VT(0.1, 0.1, 0.1), 45, GunPoint.CFrame, "Really red", VT(0.05, 0.05, 0.05))
2189
	local RayHit, Way = CastProperRay(GunPoint.Position, CF(GunPoint.Position) * CF(0, 1500, 0).p, 1500, Character)
2190
	local distance = (GunPoint.Position - Way).magnitude
2191
	for i = 1, 5 do
2192
		local laser = Instance.new("Part", Effects)
2193
		laser.Transparency = 0
2194
		laser.CanCollide = false
2195
		laser.Anchored = true
2196
		laser.Color = C3(1, 0, 0)
2197
		laser.Material = "Neon"
2198
		laser.formFactor = Enum.FormFactor.Custom
2199
		laser.Size = Vector3.new(0.15, 0.15, distance)
2200
		laser.CFrame = CFrame.new(GunPoint.Position, Way) * CFrame.new(0, 0, -distance / 2)
2201
		table.insert(Effects2, {
2202
			laser,
2203
			"Disappear",
2204
			0.1,
2205
			1,
2206
			1,
2207
			1,
2208
			2
2209
		})
2210
	end
2211
	coroutine.resume(coroutine.create(function()
2212
		Swait(15)
2213
		local FILTER = IT("ColorCorrectionEffect", game.Lighting)
2214
		for i = 1, 25 do
2215
			Swait()
2216
			FILTER.TintColor = C3(1, 1 - i / 50, 1 - i / 50)
2217
		end
2218
		local GAME = game.Players:GetChildren()
2219
		for PLAYER = 1, #GAME do
2220
			do
2221
				local PLAY = GAME[PLAYER]
2222
				if PLAY.Character ~= nil and PLAY.Character.Parent ~= workspace then
2223
					PLAY.Character.Parent = nil
2224
					coroutine.resume(coroutine.create(function()
2225
						if PLAY.Character:FindFirstChild("HumanoidRootPart") then
2226
							PLAY.Character.Parent = workspace
2227
							local Value = IT("BoolValue", Delete)
2228
							Value.Name = PLAY.Name
2229
						end
2230
					end))
2231
				end
2232
			end
2233
		end
2234
		for i = 1, 25 do
2235
			Swait()
2236
			FILTER.TintColor = C3(1, 0.4980392156862745 + i / 50, 0.4980392156862745 + i / 50)
2237
		end
2238
	end))
2239
	for i = 0, 2, 0.1 / Animation_Speed do
2240
		Swait()
2241
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.25 / Animation_Speed)
2242
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-45 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.25 / Animation_Speed)
2243
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(195), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
2244
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
2245
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.25 / Animation_Speed)
2246
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.25 / Animation_Speed)
2247
	end
2248
	ATTACK = false
2249
	Rooted = false
2250
end
2251
2252
function Madness()
2253
	ATTACK = true
2254
	Rooted = false
2255
	local GYRO = IT("BodyGyro",RootPart)
2256
	GYRO.D = 750
2257
	GYRO.P = 20000
2258
	GYRO.MaxTorque = VT(0,40000000,0)
2259
	local LOCKED = true
2260
	local SHOT = false
2261
	coroutine.resume(coroutine.create(function()
2262
		for i=0, 1, 0.1 / Animation_Speed do
2263
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
2264
			Swait()
2265
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2266
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2267
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2268
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2269
		end
2270
		LOCKED = false
2271
		SHOT = true
2272
		repeat
2273
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
2274
			Swait()
2275
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2276
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2277
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2278
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2279
		until HOLD == false and SHOT == false
2280
		for i=0, 0.3, 0.1 / Animation_Speed do
2281
			Swait()
2282
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2283
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2284
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2285
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2286
		end
2287
		GYRO:remove()
2288
		ATTACK = false
2289
		Rooted = false
2290
	end))
2291
	repeat wait() until LOCKED == false
2292
	repeat
2293
		SHOT = true
2294
		wait(0.2)
2295
		SHOT = false
2296
		local BULLET = Lightning({Material = "Glass", FadeIn = true, Color = C3(0,0,0), Start = Hole.CFrame*CF(0, 1, 0.045).p, End = Mouse.Hit.p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
2297
		local HIT = BULLET.Hit
2298
		local HITPOS = BULLET.End
2299
		if HIT then
2300
			if HIT.Parent:FindFirstChildOfClass("Humanoid") then
2301
				Banish(HIT.Parent)
2302
			end
2303
		end
2304
		WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 2, SoundVolume = 1})
2305
		WACKYEFFECT({Time = 15, EffectType = "Skull", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 2})
2306
		WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(1,1.2,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 145080998, SoundPitch = 1, SoundVolume = 2})
2307
		WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(2,1,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 145080998, SoundPitch = 1, SoundVolume = 2})
2308
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
2309
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
2310
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
2311
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
2312
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
2313
	until HOLD == false
2314
end
2315
2316
function EMOTE()
2317
	ATTACK = true
2318
	Rooted = false
2319
	local LOOP = 0
2320
	for i=0, 0.1, 0.1 / Animation_Speed do
2321
		Swait()
2322
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2323
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2324
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2325
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2326
	end
2327
	for i=0, 3, 0.1 / Animation_Speed do
2328
		Swait()
2329
		LOOP = LOOP + 1
2330
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2331
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2332
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2333
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.8, 0.4) * ANGLES(RAD(170), RAD(0), RAD(-25 - 25 * SIN(LOOP / 5))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2334
	end
2335
	for i=0, 0.1, 0.1 / Animation_Speed do
2336
		Swait()
2337
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2338
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2339
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2340
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2341
	end
2342
	ATTACK = false
2343
	Rooted = false
2344
end
2345
2346
function Kill(Char)
2347
	local NewCharacter = IT("Model",Effects)
2348
	NewCharacter.Name = "Ow im ded ;-;"
2349
	for _, c in pairs(Char:GetDescendants()) do
2350
		if c:IsA("BasePart") and c.Transparency == 0 then
2351
			if c.Parent == Char then
2352
				getbloody(c,5)
2353
			end
2354
			c:BreakJoints()
2355
			c.Material = "Glass"
2356
			c.Color = C3(0.5,0,0)
2357
			c.CanCollide = true
2358
			c.Transparency = 0.3
2359
			if c:FindFirstChildOfClass("SpecialMesh") then
2360
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
2361
			end
2362
			if c.Name == "Head" then
2363
				c:ClearAllChildren()
2364
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
2365
			end
2366
			if c.ClassName == "MeshPart" then
2367
				c.TextureID = ""
2368
			end
2369
			if c:FindFirstChildOfClass("BodyPosition") then
2370
				c:FindFirstChildOfClass("BodyPosition"):remove()
2371
			end
2372
			if c:FindFirstChildOfClass("ParticleEmitter") then
2373
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
2374
			end
2375
			c.Parent = NewCharacter
2376
			c.Name = "DeadPart"
2377
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
2378
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
2379
		end
2380
	end
2381
	Char:remove()
2382
	Debris:AddItem(NewCharacter,5)
2383
end
2384
2385
function Taunt()
2386
	ATTACK = true
2387
	Rooted = true
2388
	local TAUNT = CreateSound(907333294, Torso, 7, 1, false)
2389
	repeat
2390
		Swait()
2391
		TAUNT.Parent = Torso
2392
		TAUNT.Playing = true
2393
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2394
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(-0.02, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
2395
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2396
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2397
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2398
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2399
	until TAUNT.TimePosition >= 1.25
2400
	for i=0, 1.6, 0.1 / Animation_Speed do
2401
		Swait()
2402
		TAUNT.Parent = Torso
2403
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(5)), 1 / Animation_Speed)
2404
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
2405
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2406
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2407
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2408
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2409
	end
2410
	ATTACK = false
2411
	Rooted = false
2412
end
2413
2414
function oofBeam()
2415
	ATTACK = true
2416
	Rooted = false
2417
    VALUE2 = true
2418
	local GYRO = IT("BodyGyro", RootPart)
2419
	GYRO.D = 20
2420
	GYRO.P = 4000
2421
	GYRO.MaxTorque = VT(0, 40000, 0)
2422
	local POS = RootPart.Position + VT(0, 25, 0)
2423
	CreateSound("1371567007", Effects, 35, MRANDOM(9, 10) / 10)
2424
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2425
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2426
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2427
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2428
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2429
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2430
	coroutine.resume(coroutine.create(function()
2431
		local E = 0
2432
		repeat
2433
			E = E + 5
2434
			GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
2435
			Swait()
2436
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2437
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2438
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2439
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2440
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2441
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2442
		until ATTACK == false
2443
		GYRO:remove()
2444
	end))
2445
	for i = 1, 50 do
2446
		Swait()
2447
	end
2448
	for i = 1, 25 do
2449
		Swait()
2450
		WACKYEFFECT({
2451
			Time = 15,
2452
			EffectType = "Skull",
2453
			Size = VT(4, 4, 4),
2454
			Size2 = VT(0, 0, 0),
2455
			Transparency = 1,
2456
			Transparency2 = 0,
2457
			CFrame = CF(Eon.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))) * CF(0, 0, 35),
2458
			MoveToPos = Eon.Position,
2459
			RotationX = 0,
2460
			RotationY = 0,
2461
			RotationZ = 0,
2462
			Material = "Neon",
2463
			Color = C3(1, 0, 0),
2464
			SoundID = nil,
2465
			SoundPitch = nil,
2466
			SoundVolume = nil
2467
		})
2468
	end
2469
	local LOOP = 0
2470
	local BEAMO = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Lime green"), "Beamo", VT(0,0,0))
2471
	MakeForm(BEAMO, "Ball")
2472
	local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Really red"), "Beam", VT(0, 0, 0), true)
2473
	MakeForm(BEAM, "Cyl")
2474
	repeat
2475
		local DISTANCE = (Eon.Position - Mouse.Hit.p).Magnitude
2476
		if DISTANCE < 2000 then
2477
			BEAMO.Size = VT(3 + 1 * COS(SINE / 4),  3 + 1 * COS(SINE / 4), 3 + 1 * COS(SINE / 4))
2478
	        BEAMO.CFrame = CF(Eon.Position)
2479
			BEAM.Size = VT(2 + 1 * COS(SINE / 4), DISTANCE, 2 + 1 * COS(SINE / 4))
2480
			BEAM.CFrame = CF(Eon.Position, Mouse.Hit.p) * CF(0, 0, -DISTANCE / 2) * ANGLES(RAD(90), RAD(0), RAD(0))
2481
			ApplyAoE(Mouse.Hit.p, 14,true,false)
2482
			WACKYEFFECT({
2483
				Time = 35,
2484
				EffectType = "Sphere",
2485
				Size = VT(6 + 2 * COS(SINE / 4), 6 + 2 * COS(SINE / 4), 6 + 2 * COS(SINE / 4)) * 2,
2486
				Size2 = VT(5, 75, 5),
2487
				Transparency = 0,
2488
				Transparency2 = 1,
2489
				CFrame = CF(Mouse.Hit.p) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
2490
				MoveToPos = nil,
2491
				RotationX = 0,
2492
				RotationY = 0,
2493
				RotationZ = 0,
2494
				Material = "Neon",
2495
				Color = C3(1, 0, 0),
2496
				SoundID = nil,
2497
				SoundPitch = MRANDOM(9, 12) / 10,
2498
				SoundVolume = 10
2499
			})
2500
		WACKYEFFECT({TIME = 25, EffectType = "Sphere", Size = VT(1.5,1.5,1.5), Size2 = VT(0,0,0), Transparency = 0.5, Transparency2 = 1, CFrame = Eon.CFrame, MoveToPos = Eon.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-6).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2501
			Swait()
2502
			LOOP = LOOP + 1
2503
		end
2504
	until KEYHOLD == false and LOOP >= 35 or DISTANCE >= 2000
2505
	coroutine.resume(coroutine.create(function()
2506
		for i = 1, 15 do
2507
			Swait()
2508
			BEAM.Size = BEAM.Size - VT(0.1, 0, 0.1)
2509
			BEAMO.Size = BEAMO.Size - VT(0.1, 0.1, 0.1)
2510
			BEAM.Transparency = BEAM.Transparency + 0.06666666666666667
2511
			BEAMO.Transparency = BEAMO.Transparency + 0.06666666666666667
2512
end
2513
		BEAM:remove()
2514
		BEAMO:remove()
2515
	end))
2516
	ATTACK = false
2517
	Rooted = false
2518
    VALUE2 = false
2519
end
2520
2521
function TakeOnMe()
2522
	Speed = 5
2523
	local MEME = CreateSound(0, Effects, 2, 1, false)
2524
	ATTACK = true
2525
	Rooted = false
2526
	local DANCE = true
2527
	local KEY = Mouse.KeyDown:connect(function(NEWKEY)
2528
		if NEWKEY == "p" then
2529
			DANCE = false
2530
		end
2531
	end)
2532
	PLAYSONG = false
2533
	while true do
2534
		for i = 1, 15 do
2535
			Swait()
2536
			MEME.Parent = Effects
2537
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2538
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2539
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2540
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2541
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2542
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -1) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2543
		end
2544
		if DANCE == false then
2545
			break
2546
		end
2547
		for i = 1, 15 do
2548
			Swait()
2549
			MEME.Parent = Effects
2550
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2551
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2552
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2553
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(10)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2554
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2555
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2556
		end
2557
	end
2558
	PLAYSONG = true
2559
	KEY:Disconnect()
2560
	MEME:remove()
2561
	Speed = 25
2562
	ATTACK = false
2563
	Rooted = false
2564
end
2565
2566
function Banisher_Bullet()
2567
	ATTACK = true
2568
	Rooted = false
2569
	for i=0, 0.05, 0.1 / Animation_Speed do
2570
		Swait()
2571
		turnto(Mouse.Hit.p)
2572
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
2573
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
2574
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2575
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2576
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2577
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2578
	end
2579
	repeat
2580
		for i=0, 0.05, 0.1 / Animation_Speed do
2581
			Swait()
2582
			turnto(Mouse.Hit.p)
2583
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
2584
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
2585
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2586
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2587
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2588
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2589
		end
2590
		local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
2591
		SpawnTrail(Hole.Position,POS)
2592
		if HIT ~= nil then
2593
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
2594
				Banish(HIT.Parent)
2595
			end
2596
		end
2597
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,7.5,6), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2598
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,6.5,6), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2599
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,6.5,6), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2600
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,6.5,6), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2601
		for i=0, 0.05, 0.1 / Animation_Speed do
2602
			Swait()
2603
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
2604
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
2605
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(130), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2606
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2607
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2608
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2609
		end
2610
	until KEYHOLD == false
2611
	ATTACK = false
2612
	Rooted = false
2613
end
2614
function Execute()
2615
	ATTACK = true
2616
	Rooted = false
2617
	local Part = CreatePart(3, Character, "Neon", 0, 0, "Mid gray", "Part", VT(0,1,4),false)
2618
	Part.Color = C3(0,0,0)
2619
	MakeForm(Part,"Wedge")
2620
	Part.CanCollide = true
2621
	CreateWeldOrSnapOrMotor("Weld", Handle, RightBarrel, Part, CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(135)) *CF(0, 0.5, 0), CF(0, 0, 0))
2622
	for i=0, 1, 0.1 / Animation_Speed do
2623
		Swait()
2624
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.2 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-50)), 1 / Animation_Speed)
2625
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(50)), 1 / Animation_Speed)
2626
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(125), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2627
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(140 - 12 * SIN(SINE / 12)), RAD(15 + 2.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2628
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2629
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2630
	end
2631
	CreateSound(541909867, RightBarrel, 7, 1, false)
2632
	local TOCH = Part.Touched:Connect(function(hit)
2633
		if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent ~= Character then
2634
			Banish(hit.Parent)
2635
		end
2636
	end)
2637
	for i=0, 0.35, 0.1 / Animation_Speed do
2638
		Swait()
2639
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.2 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(50)), 1 / Animation_Speed)
2640
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 1 / Animation_Speed)
2641
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.25, -0.3) * ANGLES(RAD(50), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2642
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(140 - 12 * SIN(SINE / 12)), RAD(15 + 2.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2643
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2644
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2645
	end
2646
	TOCH:disconnect()
2647
	for i=0, 0.35, 0.1 / Animation_Speed do
2648
		Swait()
2649
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.2 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(60)), 1 / Animation_Speed)
2650
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-55)), 1 / Animation_Speed)
2651
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.25, -0.3) * ANGLES(RAD(50), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2652
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(140 - 12 * SIN(SINE / 12)), RAD(15 + 2.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2653
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2654
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2655
	end
2656
	Part:remove()
2657
	ATTACK = false
2658
	Rooted = false
2659
end
2660
function Banisher_Burn()
2661
	ATTACK = true
2662
	Rooted = true
2663
	CreateSound(LAUGHS[MRANDOM(1,#LAUGHS)], Torso, 7, 1, false)
2664
	for i=0, 1, 0.1 / Animation_Speed do
2665
		Swait()
2666
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2667
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2668
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2669
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2670
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2671
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2672
	end	
2673
	coroutine.resume(coroutine.create(function()
2674
		local POS = Mouse.Hit.p
2675
		local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Lime green", "Strike", VT(0,2000,0))
2676
		MakeForm(RAY,"Cyl")
2677
		local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Really blue", "Strike", VT(0,0,0))
2678
		MakeForm(SPHERE,"Ball")
2679
		local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "New Yeller", "Strike", VT(0,0,0))
2680
		MakeForm(SHIELD,"Ball")
2681
		SHIELD.CFrame = CF(POS)
2682
		RAY.CFrame = CF(POS)
2683
		SPHERE.CFrame = CF(POS)
2684
		CreateSound(440145570, SPHERE, 10, 0.8, false)
2685
		CreateSound(415700134, SPHERE, 10, 0.8, false)
2686
		for i = 1, 200 do
2687
			Swait()
2688
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*1.2,5+(i),SPHERE.Size.X*1.2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(0), RAD(i), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i, RotationZ = 0, Material = "Neon", Color = C3(0,255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2689
			RAY.Size = RAY.Size + VT(0.05,0,0.05)
2690
			SPHERE.Size = SPHERE.Size + VT(2,2,2)
2691
			SHIELD.Size = SPHERE.Size + VT(3,3,3)
2692
			ApplyAoE(SPHERE.Position,SPHERE.Size.X/2,true)
2693
		end	
2694
		for i = 1, 45 do
2695
			Swait()
2696
			RAY.Transparency = RAY.Transparency + 1/45
2697
			SPHERE.Transparency = RAY.Transparency 
2698
			SHIELD.Transparency = SPHERE.Transparency + 1/45
2699
		end
2700
		RAY:remove()
2701
		SHIELD:remove()
2702
		SPHERE:remove()
2703
	end))
2704
	for i=0, 1, 0.1 / Animation_Speed do
2705
		Swait()
2706
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
2707
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2708
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(-45), RAD(85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2709
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(45), RAD(-85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2710
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2711
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2712
	end
2713
	ATTACK = false
2714
	Rooted = false
2715
end
2716
function Teleport()
2717
	ATTACK = true
2718
	Rooted = false
2719
	for i=0, 0.5, 0.1 / Animation_Speed do
2720
		Swait()
2721
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2722
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-25), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
2723
	end
2724
	for e = 1, #BODY do
2725
		if BODY[e] ~= nil then
2726
			local STUFF = BODY[e]
2727
			local PART = STUFF[1]
2728
			if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
2729
				local PRT = PART:Clone()
2730
				PRT.Anchored = true
2731
				PRT.CanCollide = false
2732
				PRT.Material = "Neon"
2733
				PRT.Color = C3(255,100,255)
2734
				PRT.Name = "WarpEffect"
2735
				PRT.Parent = Effects
2736
				PRT.CFrame = PART.CFrame
2737
				PRT:BreakJoints()
2738
				if PRT:FindFirstChildOfClass("Sound") then
2739
					PRT:FindFirstChildOfClass("Sound"):remove()
2740
				end
2741
				if PRT:FindFirstChildOfClass("Decal") then
2742
					PRT:FindFirstChildOfClass("Decal"):remove()
2743
				end
2744
				coroutine.resume(coroutine.create(function()
2745
					for i = 1, 100 do
2746
						Swait()
2747
						PRT.Transparency = PRT.Transparency + 1/100
2748
					end
2749
					PRT:remove()
2750
				end))
2751
			end
2752
		end
2753
	end
2754
	CreateSound(217767125, Torso, 10, 1)
2755
	local POS = RootPart.Orientation
2756
	RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
2757
	RootPart.Orientation = POS
2758
	RootJoint.Parent = RootPart
2759
	for i=0, 0.5, 0.1 / Animation_Speed do
2760
		Swait()
2761
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2762
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-15), RAD(12)) * ANGLES(RAD(175 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
2763
	end
2764
	for i=0, 0.1, 0.1 / Animation_Speed do
2765
		Swait()
2766
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
2767
	end
2768
	ATTACK = false
2769
	Rooted = false
2770
end
2771
function BanishmentBeam()
2772
	ATTACK = true
2773
	Rooted = false
2774
	local GYRO = IT("BodyGyro",RootPart)
2775
	GYRO.D = 100
2776
	GYRO.P = 2000
2777
	GYRO.MaxTorque = VT(0,4000000,0)
2778
	GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
2779
	CreateSound("93724183", RightArm, 5, 1, false)
2780
	for i=1, 35 do
2781
		Swait()
2782
		WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
2783
		GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
2784
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
2785
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
2786
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2787
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2788
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2789
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2790
	end
2791
	local BEAM = CreatePart(3, Effects, "Neon", 0, 1, "Lime green", "Lazer", VT(0,0,0))
2792
	local LOOP = CreateSound("415700134", RightArm, 5, 1, false)
2793
	local TOCH = BEAM.Touched:Connect(function(hit)
2794
		if hit.Anchored == false and hit.Parent ~= Head and  hit.Parent ~= Character and hit.Parent ~= Effects then
2795
			Kill(hit)
2796
		end
2797
	end)
2798
	local I = 0
2799
	repeat
2800
		Swait()
2801
		I = I + 1
2802
		if I <= 10 then
2803
			BEAM.Transparency = BEAM.Transparency - 0.1
2804
		end
2805
		local STARTPOS = RightArm.CFrame*CF(0,-4,0).p
2806
		local ENDHIT,ENDPOS = CastProperRay(STARTPOS,Mouse.Hit.p,650,Character)
2807
		local DISTANCE = (STARTPOS - ENDPOS).Magnitude
2808
		BEAM.CFrame = CF(STARTPOS,ENDPOS)*CF(0,0,-DISTANCE/2)*ANGLES(RAD(0),RAD(0),RAD(I*5))
2809
		BEAM.Size = VT(2,2,DISTANCE)
2810
		WACKYEFFECT({Time = 5, EffectType = "Box", Size = VT(1,1,1), Size2 = VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = CF(ENDPOS), MoveToPos = CF(ENDPOS)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,15,0).p, RotationX = MRANDOM(-5,5), RotationY = MRANDOM(-5,5), RotationZ = MRANDOM(-5,5), Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2811
		WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-4,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
2812
		WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = CF(ENDPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
2813
		GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
2814
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
2815
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
2816
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2817
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2818
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2819
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2820
		if ENDHIT ~= nil then
2821
			if ENDHIT.Anchored == false and ENDHIT.Parent ~= Effects then
2822
				Banish(ENDHIT)
2823
			end
2824
		end
2825
	until LOOP.Playing == false
2826
	GYRO:remove()
2827
	BEAM:remove()
2828
	ATTACK = false
2829
	Rooted = false
2830
end
2831
function Deathbound()
2832
	CreateSound(LAUGHS[MRANDOM(1,#LAUGHS)], Torso, 10, 1, false)
2833
	ATTACK = true
2834
	Rooted = true
2835
	for i=0, 1, 0.1 / Animation_Speed do
2836
		Swait()
2837
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2838
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2839
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, 0) * ANGLES(RAD(15), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2840
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 1, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2841
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2842
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2843
	end
2844
	local DONE = false
2845
	local GATE = nil
2846
	local GATESPIN = true
2847
	coroutine.resume(coroutine.create(function()
2848
		repeat
2849
			Swait()
2850
			if GATE ~= nil then
2851
				GATE.CFrame = GATE.CFrame * ANGLES(RAD(0), RAD(-3), RAD(0))
2852
			end
2853
		until GATESPIN == false
2854
	end))
2855
	coroutine.resume(coroutine.create(function()
2856
		repeat
2857
			Swait()
2858
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.2 - 0.25 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
2859
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2860
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(15), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2861
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2862
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2863
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2864
		until DONE == true
2865
		Swait(50)
2866
		for i = 1, 35 do
2867
			Swait(4)
2868
			local FIRED = false
2869
			local CHILDREN = workspace:GetDescendants()
2870
			for index, CHILD in pairs(CHILDREN) do
2871
				if CHILD.ClassName == "Model" and CHILD ~= Character then
2872
					local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2873
					if HUM then
2874
						local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2875
						if TORSO then
2876
							if (TORSO.Position - GATE.Position).Magnitude <= GATE.Size.X/2.5 + TORSO.Size.Magnitude/5 then
2877
								local HITFLOOR,HITPOS = Raycast(TORSO.Position, (CF(TORSO.Position, TORSO.Position + VT(0, -1, 0))).lookVector, 15, Character)
2878
								local CFRAME = CF(HITPOS)*ANGLES(RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)))
2879
								WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = CFRAME*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = 213603013, SoundPitch = 1.5, SoundVolume = 6})
2880
								WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2881
								SpawnTrail(CFRAME.p,CFRAME*CF(0,1000,0).p)		
2882
								Banish(CHILD)
2883
								FIRED = true
2884
								break
2885
							end
2886
						end
2887
					end
2888
				end
2889
			end
2890
			if FIRED == false then
2891
				local CFRAME = GATE.CFrame*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0,MRANDOM(2,math.ceil(GATE.Size.X/2.5)))*ANGLES(RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)))
2892
				WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = CFRAME*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = 213603013, SoundPitch = 1.5, SoundVolume = 6})
2893
				WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2894
				SpawnTrail(CFRAME.p,CFRAME*CF(0,1000,0).p)
2895
				local HITBOD = Raycast(CFRAME.p, (CF(CFRAME.p, CFRAME.p + VT(0, 1, 0))).lookVector, 1000, Character)
2896
				if HITBOD ~= nil then
2897
					if HITBOD.Parent:FindFirstChildOfClass("Humanoid") then
2898
						Kill(HITBOD.Parent)
2899
					end
2900
				end
2901
			end
2902
		end
2903
		for i = 1, 45 do
2904
			Swait()
2905
			GATE.Size = GATE.Size - VT(3,0,3)
2906
		end
2907
		GATESPIN = false
2908
		GATE:remove()
2909
	end))
2910
	Swait(15)
2911
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 15, Character)
2912
	GATE = CreatePart(3, Effects, "Neon", 0, 1, "Teal", "Gate", VT(0,0,0))
2913
	local DECAL = IT("Decal",GATE)
2914
	DECAL.Texture = "http://www.roblox.com/asset/?id=647661410"
2915
	DECAL.Face = "Top"
2916
	GATE.CFrame = CF(HITPOS)
2917
	CreateSound(160772554, GATE, 7, 1.3, false)
2918
	for i = 1, 45 do
2919
		Swait()
2920
		GATE.Size = GATE.Size + VT(3,0,3)
2921
	end
2922
	CreateSound(213603013, RightHole, 7, 1, false)
2923
	CreateSound(213603013, LeftHole, 7, 1, false)
2924
	WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,2,2), Transparency = 0, Transparency2 = 1, CFrame = RightHole.CFrame*CF(0,-1,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2925
	WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,2,2), Transparency = 0, Transparency2 = 1, CFrame = LeftHole.CFrame*CF(0,-1,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2926
	ATTACK = false
2927
	Rooted = false
2928
	DONE = true
2929
end
2930
2931
2932
--//=================================\\
2933
--||	  ASSIGN THINGS TO KEYS
2934
--\\=================================//
2935
2936
function MouseDown(Mouse)
2937
	if ATTACK == false then
2938
	                EMOTE()
2939
	end
2940
end
2941
2942
function MouseUp(Mouse)
2943
HOLD = false
2944
end
2945
2946
function KeyDown(Key)
2947
	KEYHOLD = true
2948
	if Key == "z" and ATTACK == false then
2949
		Banisher_Bullet()
2950
	end
2951
2952
	if Key == "b" and ATTACK == false then
2953
                 Banisher_Burn()
2954
	end
2955
2956
	if Key == "c" and ATTACK == false then
2957
                 BanishmentBeam()
2958
	end
2959
2960
	if Key == "v" and ATTACK == false then
2961
                 Teleport()
2962
	end
2963
2964
	if Key == "t" and ATTACK == false then
2965
                 Taunt()
2966
	end
2967
2968
	if Key == "e" and ATTACK == false then
2969
                 Madness()
2970
	end	
2971
2972
	if Key == "j" and ATTACK == false then
2973
                 Nuke()
2974
	end	
2975
2976
	if Key == "y" and ATTACK == false then
2977
                 oofBeam()
2978
	end
2979
2980
	if Key == "u" and ATTACK == false then
2981
		Absoluteum()
2982
	end
2983
2984
	if Key == "g" and ATTACK == false then
2985
		               chatfunc(UnBanishTaunts[MRANDOM(1,#UnBanishTaunts)])
2986
			       TOBANISH = {}
2987
	end
2988
2989
	if Key == "p" and ATTACK == false then
2990
		TakeOnMe()
2991
	end
2992
2993
	if Key == "x" and ATTACK == false then
2994
                 Deathbound()
2995
	end
2996
end
2997
2998
function KeyUp(Key)
2999
	KEYHOLD = false
3000
end
3001
3002
	Mouse.Button1Down:connect(function(NEWKEY)
3003
		MouseDown(NEWKEY)
3004
	end)
3005
	Mouse.Button1Up:connect(function(NEWKEY)
3006
		MouseUp(NEWKEY)
3007
	end)
3008
	Mouse.KeyDown:connect(function(NEWKEY)
3009
		KeyDown(NEWKEY)
3010
	end)
3011
	Mouse.KeyUp:connect(function(NEWKEY)
3012
		KeyUp(NEWKEY)
3013
	end)
3014
3015
--//=================================\\
3016
--\\=================================//
3017
3018
3019
function unanchor()
3020
	if UNANCHOR == true then
3021
		g = Character:GetChildren()
3022
		for i = 1, #g do
3023
			if g[i].ClassName == "Part" then
3024
				g[i].Anchored = false
3025
			end
3026
		end
3027
	end
3028
end
3029
3030
3031
--//=================================\\
3032
--||	WRAP THE WHOLE SCRIPT UP
3033
--\\=================================//
3034
3035
Humanoid.Changed:connect(function(Jump)
3036
	if Jump == "Jump" and (Disable_Jump == true) then
3037
		Humanoid.Jump = false
3038
	end
3039
end)
3040
3041
local CONNECT = nil
3042
3043
while true do
3044
	Swait()
3045
	ANIMATE.Parent = nil
3046
	if Character:FindFirstChildOfClass("Humanoid") == nil then
3047
		Humanoid = IT("Humanoid",Character)
3048
	end
3049
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
3050
	    v:Stop();
3051
	end
3052
	SINE = SINE + CHANGE
3053
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
3054
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
3055
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
3056
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 26)
3057
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
3058
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / 3)
3059
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / 3)
3060
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / 3)
3061
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / 3)
3062
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
3063
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / 3)
3064
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / 3)
3065
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / 3)
3066
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / 3)
3067
	end
3068
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
3069
		ANIM = "Jump"
3070
		if ATTACK == false then
3071
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3072
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3073
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3074
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3075
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3076
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3077
	    end
3078
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
3079
		ANIM = "Fall"
3080
		if ATTACK == false then
3081
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3082
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3083
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3084
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3085
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3086
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3087
		end
3088
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
3089
		ANIM = "Idle"
3090
		if ATTACK == false then
3091
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / 3)
3092
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 4.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / 3)
3093
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45 + 2 * SIN(SINE / 12)), RAD(-25))* RIGHTSHOULDERC0, 0.15 / 3)
3094
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / 3)
3095
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1.1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / 3)
3096
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / 3)
3097
		end
3098
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
3099
		ANIM = "Walk"
3100
		if ATTACK == false then
3101
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / 3)
3102
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / 3)
3103
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / 3)
3104
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / 3)
3105
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / 3)
3106
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / 3)
3107
		end
3108
	end
3109
	unanchor()
3110
	Humanoid.MaxHealth = "inf"
3111
	Humanoid.Health = "inf"
3112
	if Rooted == false then
3113
		Disable_Jump = false
3114
		Humanoid.WalkSpeed = Speed
3115
	elseif Rooted == true then
3116
		Disable_Jump = true
3117
		Humanoid.WalkSpeed = 0
3118
	end
3119
refit()
3120
	sick.Parent = Torso
3121
	sick:resume()
3122
	sick.Volume = 5
3123
	sick.Pitch = 1
3124
	sick.SoundId = "rbxassetid://0"
3125
	sick.Name = "BanishV3Music"
3126
end
3127
3128
--//=================================\\
3129
--\\=================================//
3130
3131
3132
3133
3134
3135
--//====================================================\\--
3136
--||			  		 END OF SCRIPT
3137
--\\====================================================//--