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