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