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