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