View difference between Paste ID: ScK3bHbQ and 6XuJJ1Gt
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,game,owner = owner,game
4
local RealPlayer = Player
5
do
6
	print("FE Compatibility code V2 by Mokiros")
7
	local RealPlayer = RealPlayer
8
	script.Parent = RealPlayer.Character
9
10
	--Fake event to make stuff like Mouse.KeyDown work
11
	local Disconnect_Function = function(this)
12
		this[1].Functions[this[2]] = nil
13
	end
14
	local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
15
	local FakeEvent_Metatable = {__index={
16
		Connect = function(this,f)
17
			local i = tostring(math.random(0,10000))
18
			while this.Functions[i] do
19
				i = tostring(math.random(0,10000))
20
			end
21
			this.Functions[i] = f
22
			return setmetatable({this,i},Disconnect_Metatable)
23
		end
24
	}}
25
	FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
26
	local function fakeEvent()
27
		return setmetatable({Functions={}},FakeEvent_Metatable)
28
	end
29
30
	--Creating fake input objects with fake variables
31
    local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
32
    FakeMouse.keyUp = FakeMouse.KeyUp
33
    FakeMouse.keyDown = FakeMouse.KeyDown
34
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
35
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
36
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
37
	end}
38
	--Merged 2 functions into one by checking amount of arguments
39
	CAS.UnbindAction = CAS.BindAction
40
41
	--This function will trigger the events that have been :Connect()'ed
42
	local function TriggerEvent(self,ev,...)
43
		for _,f in pairs(self[ev].Functions) do
44
			f(...)
45
		end
46
	end
47
	FakeMouse.TriggerEvent = TriggerEvent
48
	UIS.TriggerEvent = TriggerEvent
49
50
	--Client communication
51
	local Event = Instance.new("RemoteEvent")
52
	Event.Name = "UserInput_Event"
53
	Event.OnServerEvent:Connect(function(plr,io)
54
	    if plr~=RealPlayer then return end
55
		FakeMouse.Target = io.Target
56
		FakeMouse.Hit = io.Hit
57
		if not io.isMouse then
58
			local b = io.UserInputState == Enum.UserInputState.Begin
59
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
60
				return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
61
			end
62
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
63
				return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
64
			end
65
			for _,t in pairs(CAS.Actions) do
66
				for _,k in pairs(t.Keys) do
67
					if k==io.KeyCode then
68
						t.Function(t.Name,io.UserInputState,io)
69
					end
70
				end
71
			end
72
			FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
73
			UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
74
	    end
75
	end)
76
	Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
77
	local Mouse = owner:GetMouse()
78
	local UIS = game:GetService("UserInputService")
79
	local input = function(io,RobloxHandled)
80
		if RobloxHandled then return end
81
		--Since InputObject is a client-side instance, we create and pass table instead
82
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
83
	end
84
	UIS.InputBegan:Connect(input)
85
	UIS.InputEnded:Connect(input)
86
87
	local h,t
88
	--Give the server mouse data every second frame, but only if the values changed
89
	--If player is not moving their mouse, client won't fire events
90
	local HB = game:GetService("RunService").Heartbeat
91
	while true do
92
		if h~=Mouse.Hit or t~=Mouse.Target then
93
			h,t=Mouse.Hit,Mouse.Target
94
			Event:FireServer({isMouse=true,Target=t,Hit=h})
95
		end
96
		--Wait 2 frames
97
		for i=1,2 do
98
			HB:Wait()
99
		end
100
	end]==],script)
101
102
	----Sandboxed game object that allows the usage of client-side methods and services
103
	--Real game object
104
	local RealGame = game
105
106
	--Metatable for fake service
107
	local FakeService_Metatable = {
108
		__index = function(self,k)
109
			local s = rawget(self,"_RealService")
110
			if s then
111
				return typeof(s[k])=="function"
112
				and function(_,...)return s[k](s,...)end or s[k]
113
			end
114
		end,
115
		__newindex = function(self,k,v)
116
			local s = rawget(self,"_RealService")
117
			if s then s[k]=v end
118
		end
119
	}
120
	local function FakeService(t,RealService)
121
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
122
		return setmetatable(t,FakeService_Metatable)
123
	end
124
125
	--Fake game object
126
	local FakeGame = {
127
		GetService = function(self,s)
128
			return rawget(self,s) or RealGame:GetService(s)
129
		end,
130
		Players = FakeService({
131
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
132
		},"Players"),
133
		UserInputService = FakeService(UIS,"UserInputService"),
134
		ContextActionService = FakeService(CAS,"ContextActionService"),
135
		RunService = FakeService({
136
			_btrs = {},
137
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
138
			BindToRenderStep = function(self,name,_,fun)
139
				self._btrs[name] = self.Heartbeat:Connect(fun)
140
			end,
141
			UnbindFromRenderStep = function(self,name)
142
				self._btrs[name]:Disconnect()
143
			end,
144
		},"RunService")
145
	}
146
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
147
	FakeGame.service = FakeGame.GetService
148
	FakeService(FakeGame,game)
149
	--Changing owner to fake player object to support owner:GetMouse()
150
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
151
end
152
153
local Player = game:GetService("Players").LocalPlayer
154
155
local Mouse,mouse,UserInputService,ContextActionService
156
do
157
	script.Parent = Player.Character
158
	local CAS = {Actions={}}
159
	local Event = Instance.new("RemoteEvent")
160
	Event.Name = "UserInput_Event"
161
	Event.Parent = Player.Character
162
	local fakeEvent = function()
163
		local t = {_fakeEvent=true}
164
		t.Connect = function(self,f)self.Function=f end
165
		t.connect = t.Connect
166
		return t
167
	end
168
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
169
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
170
	function CAS:BindAction(name,fun,touch,...)
171
		CAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
172
	end
173
	function CAS:UnbindAction(name)
174
		CAS.Actions[name] = nil
175
	end
176
	local function te(self,ev,...)
177
		local t = m[ev]
178
		if t and t._fakeEvent and t.Function then
179
			t.Function(...)
180
		end
181
	end
182
	m.TrigEvent = te
183
	UIS.TrigEvent = te
184
	Event.OnServerEvent:Connect(function(plr,io)
185
	    if plr~=Player then return end
186
		if io.isMouse then
187
			m.Target = io.Target
188
			m.Hit = io.Hit
189
		elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
190
	        if io.UserInputState == Enum.UserInputState.Begin then
191
				m:TrigEvent("Button1Down")
192
			else
193
				m:TrigEvent("Button1Up")
194
			end
195
		else
196
			for n,t in pairs(CAS.Actions) do
197
				for _,k in pairs(t.Keys) do
198
					if k==io.KeyCode then
199
						t.Function(t.Name,io.UserInputState,io)
200
					end
201
				end
202
			end
203
	        if io.UserInputState == Enum.UserInputState.Begin then
204
	            m:TrigEvent("KeyDown",io.KeyCode.Name:lower())
205
				UIS:TrigEvent("InputBegan",io,false)
206
			else
207
				m:TrigEvent("KeyUp",io.KeyCode.Name:lower())
208
				UIS:TrigEvent("InputEnded",io,false)
209
	        end
210
	    end
211
	end)
212
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
213
	end
214
215
plr = game:GetService("Players").LocalPlayer
216
217
print ("Updated 0.1 Fixed and change Smite2 Move")
218
219
--//====================================================\\--
220
--||		The Switcher by WanTH092
221
--\\====================================================//--
222
223
wait(0.2)
224
225
Player = game:GetService("Players").LocalPlayer
226
PlayerGui = Player.PlayerGui
227
Cam = workspace.CurrentCamera
228
Backpack = Player.Backpack
229
Character = Player.Character
230
Humanoid = Character.Humanoid
231
Mouse = Player:GetMouse()
232
RootPart = Character["HumanoidRootPart"]
233
Torso = Character["Torso"]
234
Head = Character["Head"]
235
RightArm = Character["Right Arm"]
236
LeftArm = Character["Left Arm"]
237
RightLeg = Character["Right Leg"]
238
LeftLeg = Character["Left Leg"]
239
RootJoint = RootPart["RootJoint"]
240
Neck = Torso["Neck"]
241
RightShoulder = Torso["Right Shoulder"]
242
LeftShoulder = Torso["Left Shoulder"]
243
RightHip = Torso["Right Hip"]
244
LeftHip = Torso["Left Hip"]
245
Character.Archivable = true
246
Player:ClearCharacterAppearance()
247
248
IT = Instance.new
249
CF = CFrame.new
250
VT = Vector3.new
251
RAD = math.rad
252
C3 = Color3.new
253
UD2 = UDim2.new
254
BRICKC = BrickColor.new
255
ANGLES = CFrame.Angles
256
EULER = CFrame.fromEulerAnglesXYZ
257
COS = math.cos
258
ACOS = math.acos
259
SIN = math.sin
260
ASIN = math.asin
261
ABS = math.abs
262
MRANDOM = math.random
263
FLOOR = math.floor
264
265
--//=================================\\
266
--|| 	      USEFUL VALUES
267
--\\=================================//
268
269
Animation_Speed = 3
270
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
271
local Speed = 25
272
local SIZE = 1.4
273
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
274
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
275
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
276
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
277
local DAMAGEMULTIPLIER = 1
278
local ANIM = "Idle"
279
local ATTACK = false
280
local EQUIPPED = false
281
local HOLD = false
282
local COMBO = 1
283
local Rooted = false
284
local SINE = 0
285
local KEYHOLD = false
286
local CHANGE = 2 / Animation_Speed
287
local WALKINGANIM = false
288
local VALUE1 = false
289
local VALUE2 = false
290
local ROBLOXIDLEANIMATION = IT("Animation")
291
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
292
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
293
local ATANIM = IT("Animation")
294
ATANIM.Name = "Attack Animation"
295
ATANIM.AnimationId = "http://www.roblox.com/asset/?id=74894663"
296
--ROBLOXIDLEANIMATION.Parent = Humanoid
297
local WEAPONGUI = IT("ScreenGui", PlayerGui)
298
WEAPONGUI.Name = "Weapon GUI"
299
local Weapon = IT("Model")
300
Weapon.Name = "Adds"
301
local Effects = IT("Folder", Weapon)
302
Effects.Name = "Effects"
303
local ANIMATOR = Humanoid.Animator
304
local ANIMATE = Character.Animate
305
local UNANCHOR = true
306
local CLOCKLOOP = 0
307
local SONG = 1117396305
308
local CLOCKTARGET = nil
309
local CLOCKSPEED = 0
310
script.Parent = WEAPONGUI
311
local CLONE = Character:Clone()
312
CLONE.Parent = nil
313
Character.Archivable = false
314
local sick = Instance.new("Sound",Torso)
315
local TAUNT = false
316
Player_Size = 1.4
317
local PLAYSONG = true
318
local MODE = "Main"
319
320
--//=================================\\
321
--\\=================================//
322
323
324
--//=================================\\
325
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
326
--\\=================================//
327
328
ArtificialHB = Instance.new("BindableEvent", script)
329
ArtificialHB.Name = "ArtificialHB"
330
331
script:WaitForChild("ArtificialHB")
332
333
frame = Frame_Speed
334
tf = 0
335
allowframeloss = false
336
tossremainder = false
337
lastframe = tick()
338
script.ArtificialHB:Fire()
339
340
game:GetService("RunService").Heartbeat:connect(function(s, p)
341
	tf = tf + s
342
	if tf >= frame then
343
		if allowframeloss then
344
			script.ArtificialHB:Fire()
345
			lastframe = tick()
346
		else
347
			for i = 1, math.floor(tf / frame) do
348
				script.ArtificialHB:Fire()
349
			end
350
		lastframe = tick()
351
		end
352
		if tossremainder then
353
			tf = 0
354
		else
355
			tf = tf - frame * math.floor(tf / frame)
356
		end
357
	end
358
end)
359
360
--//=================================\\
361
--\\=================================//
362
363
--//=================================\\
364
--||          SOME TAG EDIT
365
--\\=================================//
366
367
m = game.Players.LocalPlayer
368
char = m.Character
369
local txt = Instance.new("BillboardGui", char)
370
txt.Adornee = char.Head
371
txt.Name = "_status"
372
txt.Size = UDim2.new(2, 0, 1.2, 0)
373
txt.StudsOffset = Vector3.new(-9, 8, 0)
374
local text = Instance.new("TextLabel", txt)
375
text.Size = UDim2.new(10, 0, 7, 0)
376
text.FontSize = "Size24"
377
text.TextScaled = true
378
text.TextTransparency = 0
379
text.BackgroundTransparency = 1
380
text.TextTransparency = 0
381
text.TextStrokeTransparency = 0
382
text.Font = "Bodoni"
383
text.TextStrokeColor3 = Color3.new(0, 0, 0)
384
v = Instance.new("Part")
385
v.Name = "ColorBrick"
386
v.Parent = m.Character
387
v.FormFactor = "Symmetric"
388
v.Anchored = true
389
v.CanCollide = false
390
v.BottomSurface = "Smooth"
391
v.TopSurface = "Smooth"
392
v.Size = Vector3.new(10, 5, 3)
393
v.Transparency = 1
394
v.CFrame = char.Torso.CFrame
395
v.BrickColor = BrickColor.new("Really black")
396
v.Transparency = 1
397
v.Shape = "Block"
398
spawn(function()
399
local TweenService = game:GetService("TweenService")
400
local Colours = {Color3.fromRGB(255,0,0),Color3.fromRGB(255,255,0),Color3.fromRGB(255,255,255),Color3.fromRGB(255,0,0),Color3.fromRGB(255,255,0),Color3.fromRGB(0,0,0),Color3.fromRGB(255,255,255),Color3.fromRGB(0,0,0)}
401
local Int = 0
402
while wait(0.5) do
403
    if Int == #Colours then Int = 0 end
404
    Int = Int+1
405
    TweenService:Create(text,TweenInfo.new(1),{TextColor3 = Colours[Int]}):Play()
406
end
407
end)
408
text.Text = "Edit by wanTH092"
409
wait(3)
410
text.Text = "Showcased by NameClan (Lol)"
411
wait(4)
412
text.Text = "The Switcher"
413
414
--//=================================\\
415
--\\=================================//
416
417
--//=================================\\
418
--|| 	      SOME FUNCTIONS
419
--\\=================================//
420
421
local EyeSizes={
422
	NumberSequenceKeypoint.new(0,2,0),
423
	NumberSequenceKeypoint.new(1,0,0)
424
}
425
local EyeTrans={
426
	NumberSequenceKeypoint.new(0,0.5,0),
427
	NumberSequenceKeypoint.new(1,1,0)
428
}
429
local PE=Instance.new("ParticleEmitter",nil)
430
PE.LightEmission=.8
431
PE.Color = ColorSequence.new(BRICKC("Crimson").Color,BRICKC("Really red").Color)
432
PE.Size=NumberSequence.new(EyeSizes)
433
PE.Transparency=NumberSequence.new(EyeTrans)
434
PE.Lifetime=NumberRange.new(0.35,1)
435
PE.Rotation=NumberRange.new(0,360)
436
PE.Rate=100
437
PE.VelocitySpread = 10000
438
PE.Acceleration = Vector3.new(0,85,0)
439
PE.Drag = 5
440
PE.Speed = NumberRange.new(0.1,5)
441
PE.Texture="http://www.roblox.com/asset/?id=1460745664"
442
PE.ZOffset = 0.5
443
PE.Name = "PE"
444
PE.Enabled = false
445
function Fire(art)
446
	local PARTICLES = PE:Clone()
447
	PARTICLES.Parent = art
448
	PARTICLES.Enabled = true
449
	return PARTICLES
450
end
451
452
function Slice(KIND, SIZE, WAIT, CFRAME, COLOR, GROW)
453
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
454
	local mesh
455
	if KIND == "Base" then
456
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0, SIZE / 10, SIZE / 10), VT(0, 0, 0))
457
	elseif KIND == "Thin" then
458
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
459
	elseif KIND == "Round" then
460
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
461
	end
462
	wave.CFrame = CFRAME
463
	coroutine.resume(coroutine.create(function(PART)
464
		for i = 1, WAIT do
465
			Swait()
466
			mesh.Scale = mesh.Scale + GROW / 10
467
			wave.Transparency = wave.Transparency + 0.5 / WAIT
468
			if wave.Transparency > 0.99 then
469
				wave:remove()
470
			end
471
		end
472
	end))
473
end
474
475
function AddChildrenToTable(FROM, PARENT, DIST, TABLE)
476
	for _, c in pairs(PARENT:GetChildren()) do
477
		if c.ClassName == "Model" then
478
			if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then
479
				local HUMANOID = c:FindFirstChildOfClass("Humanoid")
480
				local TORSO = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
481
				if DIST > (TORSO.Position - FROM).Magnitude then
482
					table.insert(TABLE, c)
483
				end
484
				AddChildrenToTable(FROM, c, DIST, TABLE)
485
			elseif c.ClassName == "Folder" then
486
				AddChildrenToTable(FROM, c, DIST, TABLE)
487
			end
488
		end
489
	end
490
end
491
492
function VanishPlayer()
493
	for _, c in pairs(Character:GetChildren()) do
494
		if c.ClassName == "Part" then
495
			c.Transparency = 1
496
			if c:FindFirstChildOfClass("Decal") then
497
				c:FindFirstChildOfClass("Decal").Transparency = 1
498
			end
499
			if c:FindFirstChildOfClass("ParticleEmitter") then
500
				c:FindFirstChildOfClass("ParticleEmitter").Enabled = false
501
			end
502
		elseif c.ClassName == "Accessory" then
503
			c.Handle.Transparency = 1
504
			if c.Handle:FindFirstChildOfClass("ParticleEmitter") then
505
				c.Handle:FindFirstChildOfClass("ParticleEmitter").Enabled = false
506
			end
507
		end
508
	end
509
end
510
511
function killnearest(position,range,maxstrength)
512
	for i,v in ipairs(workspace:GetChildren()) do
513
	local body = v:GetChildren()
514
		for part = 1, #body do
515
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
516
				if(body[part].Position - position).Magnitude < range then
517
					if v.ClassName == "Model" then
518
						v:BreakJoints()
519
					end
520
					--table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
521
					body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
522
				end
523
			end
524
		end
525
		if v.ClassName == "Part" then
526
			if v.Anchored == false and (v.Position - position).Magnitude < range then
527
				--table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
528
				v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
529
			end
530
		end
531
	end
532
end
533
534
function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
535
	PLAYMAINANIM = false
536
	if WhichPose == "Cast1" then
537
		for i=0, Time, 0.1 / Animation_Speed do
538
			Swait()
539
			if Magic == true then
540
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
541
			end
542
			if Gyro ~= nil and Gyro ~= false then
543
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
544
			end
545
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
546
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0.35*SIZE + ((1*SIZE) - 1*SIZE)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
547
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE + 0.15*SIZE * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
548
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE + 0.15*SIZE * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
549
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
550
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
551
		end
552
	elseif WhichPose == "Cast2" then
553
		for i=0, Time, 0.1 / Animation_Speed do
554
			Swait()
555
			if Magic == true then
556
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
557
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
558
			end
559
			if Gyro ~= nil and Gyro ~= false then
560
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
561
			end
562
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
563
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0.4 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
564
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
565
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
566
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
567
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
568
		end
569
	elseif WhichPose == "RightArmUp2" then
570
		for i=0, Time, 0.1 / Animation_Speed do
571
			Swait()
572
			if Magic == true then
573
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
574
			end
575
			if Gyro ~= nil and Gyro ~= false then
576
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
577
			end
578
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
579
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0) - 0)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
580
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.8, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
581
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
582
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
583
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
584
		end
585
	elseif WhichPose == "Prepare key" then
586
		for i=0, Time, 0.1 / Animation_Speed do
587
			Swait()
588
			if Gyro ~= nil and Gyro ~= false then
589
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
590
			end
591
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
592
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0.4*SIZE + ((1*SIZE) - 1*SIZE)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
593
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE + 0.15*SIZE * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
594
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE + 0.15*SIZE * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
595
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
596
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
597
		end
598
	elseif WhichPose == "Turn key" then
599
		for i=0, Time, 0.1 / Animation_Speed do
600
			Swait()
601
			if Gyro ~= nil and Gyro ~= false then
602
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
603
			end
604
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
605
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0.4*SIZE + ((1*SIZE) - 1*SIZE)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
606
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5*SIZE + 0.15*SIZE * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
607
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE + 0.15*SIZE * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
608
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
609
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
610
		end
611
	end
612
	PLAYMAINANIM = true
613
end
614
615
616
local EyeSizes={
617
	NumberSequenceKeypoint.new(0,1,0),
618
	NumberSequenceKeypoint.new(1,0,0)
619
}
620
local EyeTrans={
621
	NumberSequenceKeypoint.new(0,0.8,0),
622
	NumberSequenceKeypoint.new(1,1,0)
623
}
624
local PE=Instance.new("ParticleEmitter",nil)
625
PE.LightEmission=.8
626
PE.Color = ColorSequence.new(BRICKC("Really red").Color)
627
PE.Size=NumberSequence.new(EyeSizes)
628
PE.Transparency=NumberSequence.new(EyeTrans)
629
PE.Lifetime=NumberRange.new(0.35,1.5)
630
PE.Rotation=NumberRange.new(0,360)
631
PE.Rate=999
632
PE.VelocitySpread = 10000
633
PE.Acceleration = Vector3.new(0,0,0)
634
PE.Drag = 5
635
PE.Speed = NumberRange.new(0,0,0)
636
PE.Texture="http://www.roblox.com/asset/?id=1351966707"
637
PE.ZOffset = -0
638
PE.Name = "PE"
639
PE.Enabled = false
640
641
function particles(art)
642
	local PARTICLES = PE:Clone()
643
	PARTICLES.Parent = art
644
end
645
646
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
647
	if FLOOR ~= nil then
648
		coroutine.resume(coroutine.create(function()
649
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
650
			PART.CFrame = CF(POSITION)
651
			for i = 1, 45 do
652
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
653
				RingPiece.Material = FLOOR.Material
654
				RingPiece.Color = FLOOR.Color
655
				RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
656
				Debris:AddItem(RingPiece,SWAIT)
657
			end
658
			PART:remove()
659
		end))
660
	end
661
end
662
663
function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
664
	if FLOOR ~= nil then
665
		for i = 1, AMOUNT do
666
			local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
667
			DEBREE.Material = FLOOR.Material
668
			DEBREE.Color = FLOOR.Color
669
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
670
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
671
			coroutine.resume(coroutine.create(function()
672
				Swait(15)
673
				DEBREE.Parent = workspace
674
				DEBREE.CanCollide = true
675
				Debris:AddItem(DEBREE,SWAIT)
676
			end))
677
		end
678
	end
679
end
680
681
local DECAL = IT("Decal")
682
function MakeRing()
683
	local RING = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "MagicRing", VT(0, 0, 0), true)
684
	local MSH = IT("BlockMesh", RING)
685
	local TOP = DECAL:Clone()
686
	local BOTTOM = DECAL:Clone()
687
	TOP.Parent = RING
688
	BOTTOM.Parent = RING
689
	TOP.Face = "Top"
690
	BOTTOM.Face = "Bottom"
691
	TOP.Texture = "http://www.roblox.com/asset/?id=273474310"
692
	BOTTOM.Texture = "http://www.roblox.com/asset/?id=273474310"
693
	local function REMOVE()
694
		coroutine.resume(coroutine.create(function()
695
			local SIZE = MSH.Scale.X
696
			for i = 1, 35 do
697
				Swait()
698
				MSH.Scale = MSH.Scale - VT(SIZE, 0, SIZE) / 60
699
				TOP.Transparency = TOP.Transparency + 0.02857142857142857
700
				BOTTOM.Transparency = BOTTOM.Transparency + 0.02857142857142857
701
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(-5), RAD(0))
702
			end
703
			RING:remove()
704
		end))
705
	end
706
	return RING, MSH, REMOVE
707
end
708
709
function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
710
	local TORSO = Torso
711
	local HUM = Humanoid
712
	if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
713
		coroutine.wrap(function()
714
			VT = Vector3.new
715
			MRANDOM = math.random
716
			local A = TIME
717
			local B = INTENSITY
718
			local C = true
719
			local HUMANOID = Humanoid
720
			local TIMER = A or 35
721
			local SHAKE = B or 5
722
			local FADE = C or true
723
			if HUMANOID then
724
				local FADER = SHAKE / TIMER
725
				for i = 1, TIMER do
726
					wait()
727
					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)
728
				end
729
				HUMANOID.CameraOffset = VT(0, 0, 0)
730
			end
731
732
		end)()
733
	end
734
end
735
736
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
737
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
738
end
739
740
function PositiveAngle(NUMBER)
741
	if NUMBER >= 0 then
742
		NUMBER = 0
743
	end
744
	return NUMBER
745
end
746
747
function NegativeAngle(NUMBER)
748
	if NUMBER <= 0 then
749
		NUMBER = 0
750
	end
751
	return NUMBER
752
end
753
754
function Swait(NUMBER)
755
	if NUMBER == 0 or NUMBER == nil then
756
		ArtificialHB.Event:wait()
757
	else
758
		for i = 1, NUMBER do
759
			ArtificialHB.Event:wait()
760
		end
761
	end
762
end
763
764
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
765
	local NEWMESH = IT(MESH)
766
	if MESH == "SpecialMesh" then
767
		NEWMESH.MeshType = MESHTYPE
768
		if MESHID ~= "nil" and MESHID ~= "" then
769
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
770
		end
771
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
772
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
773
		end
774
	end
775
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
776
	NEWMESH.Scale = SCALE
777
	NEWMESH.Parent = PARENT
778
	return NEWMESH
779
end
780
781
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
782
	local NEWPART = IT("Part")
783
	NEWPART.formFactor = FORMFACTOR
784
	NEWPART.Reflectance = REFLECTANCE
785
	NEWPART.Transparency = TRANSPARENCY
786
	NEWPART.CanCollide = false
787
	NEWPART.Locked = true
788
	NEWPART.Anchored = true
789
	if ANCHOR == false then
790
		NEWPART.Anchored = false
791
	end
792
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
793
	NEWPART.Name = NAME
794
	NEWPART.Size = SIZE
795
	NEWPART.Position = Torso.Position
796
	NEWPART.Material = MATERIAL
797
	NEWPART:BreakJoints()
798
	NEWPART.Parent = PARENT
799
	return NEWPART
800
end
801
802
	local function weldBetween(a, b)
803
	    local weldd = Instance.new("ManualWeld")
804
	    weldd.Part0 = a
805
	    weldd.Part1 = b
806
	    weldd.C0 = CFrame.new()
807
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
808
	    weldd.Parent = a
809
	    return weldd
810
	end
811
812
813
function QuaternionFromCFrame(cf)
814
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
815
	local trace = m00 + m11 + m22
816
	if trace > 0 then 
817
		local s = math.sqrt(1 + trace)
818
		local recip = 0.5 / s
819
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
820
	else
821
		local i = 0
822
		if m11 > m00 then
823
			i = 1
824
		end
825
		if m22 > (i == 0 and m00 or m11) then
826
			i = 2
827
		end
828
		if i == 0 then
829
			local s = math.sqrt(m00 - m11 - m22 + 1)
830
			local recip = 0.5 / s
831
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
832
		elseif i == 1 then
833
			local s = math.sqrt(m11 - m22 - m00 + 1)
834
			local recip = 0.5 / s
835
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
836
		elseif i == 2 then
837
			local s = math.sqrt(m22 - m00 - m11 + 1)
838
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
839
		end
840
	end
841
end
842
 
843
function QuaternionToCFrame(px, py, pz, x, y, z, w)
844
	local xs, ys, zs = x + x, y + y, z + z
845
	local wx, wy, wz = w * xs, w * ys, w * zs
846
	local xx = x * xs
847
	local xy = x * ys
848
	local xz = x * zs
849
	local yy = y * ys
850
	local yz = y * zs
851
	local zz = z * zs
852
	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))
853
end
854
 
855
function QuaternionSlerp(a, b, t)
856
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
857
	local startInterp, finishInterp;
858
	if cosTheta >= 0.0001 then
859
		if (1 - cosTheta) > 0.0001 then
860
			local theta = ACOS(cosTheta)
861
			local invSinTheta = 1 / SIN(theta)
862
			startInterp = SIN((1 - t) * theta) * invSinTheta
863
			finishInterp = SIN(t * theta) * invSinTheta
864
		else
865
			startInterp = 1 - t
866
			finishInterp = t
867
		end
868
	else
869
		if (1 + cosTheta) > 0.0001 then
870
			local theta = ACOS(-cosTheta)
871
			local invSinTheta = 1 / SIN(theta)
872
			startInterp = SIN((t - 1) * theta) * invSinTheta
873
			finishInterp = SIN(t * theta) * invSinTheta
874
		else
875
			startInterp = t - 1
876
			finishInterp = t
877
		end
878
	end
879
	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
880
end
881
882
function Clerp(a, b, t)
883
	local qa = {QuaternionFromCFrame(a)}
884
	local qb = {QuaternionFromCFrame(b)}
885
	local ax, ay, az = a.x, a.y, a.z
886
	local bx, by, bz = b.x, b.y, b.z
887
	local _t = 1 - t
888
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
889
end
890
891
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
892
	local frame = IT("Frame")
893
	frame.BackgroundTransparency = TRANSPARENCY
894
	frame.BorderSizePixel = BORDERSIZEPIXEL
895
	frame.Position = POSITION
896
	frame.Size = SIZE
897
	frame.BackgroundColor3 = COLOR
898
	frame.BorderColor3 = BORDERCOLOR
899
	frame.Name = NAME
900
	frame.Parent = PARENT
901
	return frame
902
end
903
904
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
905
	local label = IT("TextLabel")
906
	label.BackgroundTransparency = 1
907
	label.Size = UD2(1, 0, 1, 0)
908
	label.Position = UD2(0, 0, 0, 0)
909
	label.TextColor3 = TEXTCOLOR
910
	label.TextStrokeTransparency = STROKETRANSPARENCY
911
	label.TextTransparency = TRANSPARENCY
912
	label.FontSize = TEXTFONTSIZE
913
	label.Font = TEXTFONT
914
	label.BorderSizePixel = BORDERSIZEPIXEL
915
	label.TextStrokeColor3 = C3(1,1,1)
916
	label.TextScaled = false
917
	label.Text = TEXT
918
	label.Name = NAME
919
	label.Parent = PARENT
920
	return label
921
end
922
923
function NoOutlines(PART)
924
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
925
end
926
927
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
928
	local NEWWELD = IT(TYPE)
929
	NEWWELD.Part0 = PART0
930
	NEWWELD.Part1 = PART1
931
	NEWWELD.C0 = C0
932
	NEWWELD.C1 = C1
933
	NEWWELD.Parent = PARENT
934
	return NEWWELD
935
end
936
937
local S = IT("Sound")
938
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
939
	local NEWSOUND = nil
940
	coroutine.resume(coroutine.create(function()
941
		NEWSOUND = S:Clone()
942
		NEWSOUND.Parent = PARENT
943
		NEWSOUND.Volume = VOLUME
944
		NEWSOUND.Pitch = PITCH
945
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
946
		NEWSOUND:play()
947
		if DOESLOOP == true then
948
			NEWSOUND.Looped = true
949
		else
950
			repeat wait(1) until NEWSOUND.Playing == false
951
			NEWSOUND:remove()
952
		end
953
	end))
954
	return NEWSOUND
955
end
956
957
function CFrameFromTopBack(at, top, back)
958
	local right = top:Cross(back)
959
	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)
960
end
961
962
--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})
963
function WACKYEFFECT(Table)
964
	local TYPE = (Table.EffectType or "Sphere")
965
	local SIZE = (Table.Size or VT(1,1,1))
966
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
967
	local TRANSPARENCY = (Table.Transparency or 0)
968
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
969
	local CFRAME = (Table.CFrame or Torso.CFrame)
970
	local MOVEDIRECTION = (Table.MoveToPos or nil)
971
	local ROTATION1 = (Table.RotationX or 0)
972
	local ROTATION2 = (Table.RotationY or 0)
973
	local ROTATION3 = (Table.RotationZ or 0)
974
	local MATERIAL = (Table.Material or "Neon")
975
	local COLOR = (Table.Color or C3(1,1,1))
976
	local TIME = (Table.Time or 45)
977
	local SOUNDID = (Table.SoundID or nil)
978
	local SOUNDPITCH = (Table.SoundPitch or nil)
979
	local SOUNDVOLUME = (Table.SoundVolume or nil)
980
	coroutine.resume(coroutine.create(function()
981
		local PLAYSSOUND = false
982
		local SOUND = nil
983
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
984
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
985
			PLAYSSOUND = true
986
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
987
		end
988
		EFFECT.Color = COLOR
989
		local MSH = nil
990
		if TYPE == "Sphere" then
991
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
992
		elseif TYPE == "Block" then
993
			MSH = IT("BlockMesh",EFFECT)
994
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
995
		elseif TYPE == "Wave" then
996
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
997
		elseif TYPE == "Ring" then
998
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
999
		elseif TYPE == "Slash" then
1000
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1001
		elseif TYPE == "Round Slash" then
1002
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1003
		elseif TYPE == "Swirl" then
1004
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1005
		elseif TYPE == "Skull" then
1006
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1007
		elseif TYPE == "Crystal" then
1008
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1009
		end
1010
		if MSH ~= nil then
1011
			local MOVESPEED = nil
1012
			if MOVEDIRECTION ~= nil then
1013
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
1014
			end
1015
			local GROWTH = SIZE - ENDSIZE
1016
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1017
			if TYPE == "Block" then
1018
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1019
			else
1020
				EFFECT.CFrame = CFRAME
1021
			end
1022
			for LOOP = 1, TIME+1 do
1023
				Swait()
1024
				MSH.Scale = MSH.Scale - GROWTH/TIME
1025
				if TYPE == "Wave" then
1026
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
1027
				end
1028
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1029
				if TYPE == "Block" then
1030
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1031
				else
1032
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1033
				end
1034
				if MOVEDIRECTION ~= nil then
1035
					local ORI = EFFECT.Orientation
1036
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
1037
					EFFECT.Orientation = ORI
1038
				end
1039
			end
1040
			if PLAYSSOUND == false then
1041
				EFFECT:remove()
1042
			else
1043
				repeat Swait() until SOUND.Playing == false
1044
				EFFECT:remove()
1045
			end
1046
		else
1047
			if PLAYSSOUND == false then
1048
				EFFECT:remove()
1049
			else
1050
				repeat Swait() until SOUND.Playing == false
1051
				EFFECT:remove()
1052
			end
1053
		end
1054
	end))
1055
end
1056
1057
function MakeForm(PART,TYPE)
1058
	if TYPE == "Cyl" then
1059
		local MSH = IT("CylinderMesh",PART)
1060
	elseif TYPE == "Ball" then
1061
		local MSH = IT("SpecialMesh",PART)
1062
		MSH.MeshType = "Sphere"
1063
	elseif TYPE == "Wedge" then
1064
		local MSH = IT("SpecialMesh",PART)
1065
		MSH.MeshType = "Wedge"
1066
	end
1067
end
1068
1069
Debris = game:GetService("Debris")
1070
1071
function CastProperRay(StartPos, EndPos, Distance, Ignore)
1072
	local DIRECTION = CF(StartPos,EndPos).lookVector
1073
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
1074
end
1075
1076
function turnto(position)
1077
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1078
end
1079
1080
--//=================================\\
1081
--||	     RAGDOLL STUFF
1082
--\\=================================//
1083
1084
function recurse(root,callback,i)
1085
	i= i or 0
1086
	for _,v in pairs(root:GetChildren()) do
1087
		i = i + 1
1088
		callback(i,v)
1089
		
1090
		if #v:GetChildren() > 0 then
1091
			i = recurse(v,callback,i)
1092
		end
1093
	end
1094
	
1095
	return i
1096
end
1097
1098
function ragdollJoint(character, part0, part1, attachmentName, className, properties)
1099
	attachmentName = attachmentName.."RigAttachment"
1100
	local constraint = Instance.new(className.."Constraint")
1101
	constraint.Attachment0 = part0:FindFirstChild(attachmentName)
1102
	constraint.Attachment1 = part1:FindFirstChild(attachmentName)
1103
	constraint.Name = "RagdollConstraint"..part1.Name
1104
	
1105
	for _,propertyData in next,properties or {} do
1106
		constraint[propertyData[1]] = propertyData[2]
1107
	end
1108
	
1109
	constraint.Parent = character
1110
end
1111
1112
function getAttachment0(character, attachmentName)
1113
	for _,child in next,character:GetChildren() do
1114
		local attachment = child:FindFirstChild(attachmentName)
1115
		if attachment then
1116
			return attachment
1117
		end
1118
	end
1119
end
1120
1121
function ArtificialHitbox(Part)
1122
	local HITBOX = CreatePart(3, Part, "Metal", 0, 1, "Really black", "Hitbox", Part.Size/2, false)
1123
	HITBOX.CanCollide = true
1124
	HITBOX.CFrame = Part.CFrame
1125
	weldBetween(Part,HITBOX)
1126
end
1127
1128
function R15Ragdoll(character,KeepArms)
1129
	character:BreakJoints()
1130
	coroutine.resume(coroutine.create(function()
1131
		recurse(character, function(_,v)
1132
			if v:IsA("Attachment") then
1133
				v.Axis = Vector3.new(0, 1, 0)
1134
				v.SecondaryAxis = Vector3.new(0, 0, 1)
1135
				v.Rotation = Vector3.new(0, 0, 0)
1136
			end
1137
		end)
1138
		for _,child in next,character:GetChildren() do
1139
			if child:IsA("Accoutrement") then
1140
				for _,part in next,child:GetChildren() do
1141
					if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
1142
						local attachment1 = part:FindFirstChildOfClass("Attachment")
1143
						local attachment0 = getAttachment0(character,attachment1.Name)
1144
						if attachment0 and attachment1 then
1145
							local constraint = Instance.new("HingeConstraint")
1146
							constraint.Attachment0 = attachment0
1147
							constraint.Attachment1 = attachment1
1148
							constraint.LimitsEnabled = true
1149
							constraint.UpperAngle = 0
1150
							constraint.LowerAngle = 0
1151
							constraint.Parent = character
1152
						end
1153
						ArtificialHitbox(part)
1154
					elseif part.Name == "HumanoidRootPart" then
1155
						part:remove()
1156
					end
1157
				end
1158
			end
1159
		end
1160
		
1161
		ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
1162
			{"LimitsEnabled",true};
1163
			{"UpperAngle",5};
1164
		})
1165
		if character:FindFirstChild("Head") then
1166
			ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
1167
				{"LimitsEnabled",true};
1168
				{"UpperAngle",15};
1169
			})
1170
		end
1171
		
1172
		local handProperties = {
1173
			{"LimitsEnabled", true};
1174
			{"UpperAngle",0};
1175
			{"LowerAngle",0};
1176
		}
1177
		ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
1178
		ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
1179
		
1180
		local shinProperties = {
1181
			{"LimitsEnabled", true};
1182
			{"UpperAngle", 0};
1183
			{"LowerAngle", -75};
1184
		}
1185
		ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
1186
		ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
1187
		
1188
		local footProperties = {
1189
			{"LimitsEnabled", true};
1190
			{"UpperAngle", 15};
1191
			{"LowerAngle", -45};
1192
		}
1193
		ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
1194
		ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
1195
		if KeepArms == true then
1196
			ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
1197
			ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
1198
			ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
1199
			ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
1200
		end
1201
		ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
1202
		ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
1203
		Debris:AddItem(character,5)
1204
	end))
1205
end
1206
1207
function Ragdoll(Character2,CharTorso,KeepArms)
1208
	coroutine.resume(coroutine.create(function()
1209
		Character2:BreakJoints()
1210
		local hum = Character2:findFirstChild("Humanoid")
1211
		hum:remove()
1212
		local function Scan(ch)
1213
			local e
1214
			for e = 1,#ch do
1215
				Scan(ch[e]:GetChildren())
1216
				if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
1217
					ch[e]:remove()
1218
				end
1219
			end
1220
		end
1221
		local NEWHUM = IT("Humanoid")
1222
		NEWHUM.Name = "Corpse"
1223
		NEWHUM.Health = 0
1224
		NEWHUM.MaxHealth = 0
1225
		NEWHUM.PlatformStand = true
1226
		NEWHUM.Parent = Character2
1227
		NEWHUM.DisplayDistanceType = "None"
1228
	
1229
		local ch = Character2:GetChildren()
1230
		local i
1231
		for i = 1,#ch do
1232
			if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
1233
				ch[i]:remove()
1234
			end
1235
		end
1236
	
1237
		local Torso2 = Character2.Torso
1238
		local movevector = Vector3.new()
1239
	
1240
		if Torso2 then
1241
			movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
1242
			local Head = Character2:FindFirstChild("Head")
1243
			if Head then
1244
				local Neck = Instance.new("Weld")
1245
				Neck.Name = "Neck"
1246
				Neck.Part0 = Torso2
1247
				Neck.Part1 = Head
1248
				Neck.C0 = CFrame.new(0, 1.5, 0)
1249
				Neck.C1 = CFrame.new()
1250
				Neck.Parent = Torso2
1251
	
1252
			end
1253
			local Limb = Character2:FindFirstChild("Right Arm")
1254
			if Limb and KeepArms == true then
1255
	
1256
				Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
1257
				local Joint = Instance.new("Glue")
1258
				Joint.Name = "RightShoulder"
1259
				Joint.Part0 = Torso2
1260
				Joint.Part1 = Limb
1261
				Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
1262
				Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
1263
				Joint.Parent = Torso2
1264
	
1265
				local B = Instance.new("Part")
1266
				B.TopSurface = 0
1267
				B.BottomSurface = 0
1268
				B.formFactor = "Symmetric"
1269
				B.Size = Vector3.new(1, 1, 1)
1270
				B.Transparency = 1
1271
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
1272
				B.Parent = Character2
1273
				local W = Instance.new("Weld")
1274
				W.Part0 = Limb
1275
				W.Part1 = B
1276
				W.C0 = CFrame.new(0, -0.5, 0)
1277
				W.Parent = Limb
1278
	
1279
			end
1280
			local Limb = Character2:FindFirstChild("Left Arm")
1281
			if Limb and KeepArms == true then
1282
	
1283
				Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
1284
				local Joint = Instance.new("Glue")
1285
				Joint.Name = "LeftShoulder"
1286
				Joint.Part0 = Torso2
1287
				Joint.Part1 = Limb
1288
				Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
1289
				Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
1290
				Joint.Parent = Torso2
1291
	
1292
				local B = Instance.new("Part")
1293
				B.TopSurface = 0
1294
				B.BottomSurface = 0
1295
				B.formFactor = "Symmetric"
1296
				B.Size = Vector3.new(1, 1, 1)
1297
				B.Transparency = 1
1298
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
1299
				B.Parent = Character2
1300
				local W = Instance.new("Weld")
1301
				W.Part0 = Limb
1302
				W.Part1 = B
1303
				W.C0 = CFrame.new(0, -0.5, 0)
1304
				W.Parent = Limb
1305
	
1306
			end
1307
			local Limb = Character2:FindFirstChild("Right Leg")
1308
			if Limb then
1309
	
1310
				Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
1311
				local Joint = Instance.new("Glue")
1312
				Joint.Name = "RightHip"
1313
				Joint.Part0 = Torso2
1314
				Joint.Part1 = Limb
1315
				Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
1316
				Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
1317
				Joint.Parent = Torso2
1318
	
1319
				local B = Instance.new("Part")
1320
				B.TopSurface = 0
1321
				B.BottomSurface = 0
1322
				B.formFactor = "Symmetric"
1323
				B.Size = Vector3.new(1, 1, 1)
1324
				B.Transparency = 1
1325
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
1326
				B.Parent = Character2
1327
				local W = Instance.new("Weld")
1328
				W.Part0 = Limb
1329
				W.Part1 = B
1330
				W.C0 = CFrame.new(0, -0.5, 0)
1331
				W.Parent = Limb
1332
	
1333
			end
1334
			local Limb = Character2:FindFirstChild("Left Leg")
1335
			if Limb then
1336
	
1337
				Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
1338
				local Joint = Instance.new("Glue")
1339
				Joint.Name = "LeftHip"
1340
				Joint.Part0 = Torso2
1341
				Joint.Part1 = Limb
1342
				Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
1343
				Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
1344
				Joint.Parent = Torso2
1345
	
1346
				local B = Instance.new("Part")
1347
				B.TopSurface = 0
1348
				B.BottomSurface = 0
1349
				B.formFactor = "Symmetric"
1350
				B.Size = Vector3.new(1, 1, 1)
1351
				B.Transparency = 1
1352
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
1353
				B.Parent = Character2
1354
				local W = Instance.new("Weld")
1355
				W.Part0 = Limb
1356
				W.Part1 = B
1357
				W.C0 = CFrame.new(0, -0.5, 0)
1358
				W.Parent = Limb
1359
	
1360
			end
1361
			--[
1362
			local Bar = Instance.new("Part")
1363
			Bar.TopSurface = 0
1364
			Bar.BottomSurface = 0
1365
			Bar.formFactor = "Symmetric"
1366
			Bar.Size = Vector3.new(1, 1, 1)
1367
			Bar.Transparency = 1
1368
			Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
1369
			Bar.Parent = Character2
1370
			local Weld = Instance.new("Weld")
1371
			Weld.Part0 = Torso2
1372
			Weld.Part1 = Bar
1373
			Weld.C0 = CFrame.new(0, 0.5, 0)
1374
			Weld.Parent = Torso2
1375
			--]]
1376
		end
1377
		Character2.Parent = workspace
1378
		Debris:AddItem(Character2,5)
1379
	
1380
		return Character2,Torso2
1381
	end))
1382
end
1383
1384
--//=================================\\
1385
--||	     WEAPON CREATION
1386
--\\=================================//
1387
1388
local BODY = {}
1389
for _, c in pairs(Character:GetDescendants()) do
1390
	if c:IsA("BasePart") and c.Name ~= "Handle" then
1391
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
1392
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1393
		end
1394
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
1395
	elseif c:IsA("JointInstance") then
1396
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
1397
	end
1398
end
1399
for e = 1, #BODY do
1400
	if BODY[e] ~= nil then
1401
		local STUFF = BODY[e]
1402
		local PART = STUFF[1]
1403
		local PARENT = STUFF[2]
1404
		local MATERIAL = STUFF[3]
1405
		local COLOR = STUFF[4]
1406
		local TRANSPARENCY = STUFF[5]
1407
		if PART.ClassName == "Part" and PART ~= RootPart then
1408
			PART.Material = MATERIAL
1409
			PART.Color = COLOR
1410
			PART.Transparency = TRANSPARENCY
1411
		end
1412
		PART.AncestryChanged:Connect(function()
1413
			PART.Parent = PARENT
1414
		end)
1415
	end
1416
end
1417
1418
function refit()
1419
	Character.Parent = workspace
1420
	for e = 1, #BODY do
1421
		if BODY[e] ~= nil then
1422
			local STUFF = BODY[e]
1423
			local PART = STUFF[1]
1424
			local PARENT = STUFF[2]
1425
			local MATERIAL = STUFF[3]
1426
			local COLOR = STUFF[4]
1427
			local TRANSPARENCY = STUFF[5]
1428
			if PART.ClassName == "Part" and PART ~= RootPart then
1429
				PART.Material = MATERIAL
1430
				PART.Color = COLOR
1431
				PART.Transparency = TRANSPARENCY
1432
			end
1433
			if PART.Parent ~= PARENT then
1434
				Humanoid:remove()
1435
				PART.Parent = PARENT
1436
				Humanoid = IT("Humanoid",Character)
1437
			end
1438
		end
1439
	end
1440
end
1441
1442
function chatfunc(text)
1443
	local chat = coroutine.wrap(function()
1444
	if Character:FindFirstChild("TalkingBillBoard")~= nil then
1445
		Character:FindFirstChild("TalkingBillBoard"):destroy()
1446
	end
1447
	local Bill = Instance.new("BillboardGui",Character)
1448
	Bill.Size = UDim2.new(0,100,0,40)
1449
	Bill.StudsOffset = Vector3.new(0,3,0)
1450
	Bill.Adornee = Character.Head
1451
	Bill.Name = "TalkingBillBoard"
1452
	local Hehe = Instance.new("TextLabel",Bill)
1453
	Hehe.BackgroundTransparency = 1
1454
	Hehe.BorderSizePixel = 0
1455
	Hehe.Text = ""
1456
	Hehe.Font = "Fantasy"
1457
	Hehe.TextSize = 40
1458
	Hehe.TextStrokeTransparency = 0
1459
	Hehe.Size = UDim2.new(1,0,0.5,0)
1460
	coroutine.resume(coroutine.create(function()
1461
		while Hehe ~= nil do
1462
			wait()	
1463
			Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))	
1464
			Hehe.Rotation = math.random(-5,5)
1465
			Hehe.TextColor3 = Color3.new(3,9,2)
1466
			Hehe.TextStrokeColor3 = Color3.new(255,255,0)
1467
		end
1468
	end))
1469
	for i = 1,string.len(text),1 do
1470
		wait()
1471
		Hehe.Text = string.sub(text,1,i)
1472
	end
1473
	wait(3)--Re[math.random(1, 93)]
1474
	for i = 0, 1, .025 do
1475
		wait()
1476
		Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
1477
		Hehe.TextStrokeTransparency = i
1478
		Hehe.TextTransparency = i
1479
	end
1480
	Bill:Destroy()
1481
	end)
1482
chat()
1483
end
1484
1485
function onChatted(msg)
1486
	chatfunc(msg)
1487
end
1488
1489
Player.Chatted:connect(onChatted)
1490
1491
1492
Humanoid.Parent = nil
1493
RootPart.Size = RootPart.Size*SIZE
1494
Torso.Size = Torso.Size*SIZE
1495
RightArm.Size = RightArm.Size*SIZE
1496
RightLeg.Size = RightLeg.Size*SIZE
1497
LeftArm.Size = LeftArm.Size*SIZE
1498
LeftLeg.Size = LeftLeg.Size*SIZE
1499
RootJoint.C0 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
1500
RootJoint.C1 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
1501
Neck.C0 = NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1 * SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
1502
Neck.C1 = CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180))
1503
RightShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
1504
LeftShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
1505
RightHip.C0 = CF(1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
1506
LeftHip.C0 = CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
1507
RightHip.C1 = CF(0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
1508
LeftHip.C1 = CF(-0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
1509
Head.Size = Head.Size*SIZE
1510
RootJoint.Parent = RootPart
1511
Neck.Parent = Torso
1512
RightShoulder.Parent = Torso
1513
LeftShoulder.Parent = Torso
1514
RightHip.Parent = Torso
1515
LeftHip.Parent = Torso
1516
1517
Humanoid.DisplayDistanceType = "None"
1518
local top = Instance.new("Shirt")
1519
top.ShirtTemplate = "rbxassetid://45695443"
1520
top.Parent = Character
1521
top.Name = "Cloth"
1522
local bottom = Instance.new("Pants")
1523
bottom.PantsTemplate = "rbxassetid://45696190"
1524
bottom.Parent = Character
1525
bottom.Name = "Cloth"
1526
1527
local part = CreatePart(3, Weapon, "Neon", 0, 0, "Lavender", "Handle", VT(1.05*Player_Size,2.05*Player_Size,1.05*Player_Size))
1528
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1529
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(1.07*Player_Size,1.07*Player_Size,1.07*Player_Size))
1530
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1531
local part = CreatePart(3, Weapon, "Glass", 0, 0, "Institutional white", "Handle", VT(1.07*Player_Size,0.5*Player_Size,1.07*Player_Size))
1532
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0 * Player_Size, 0.85 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1533
local part = CreatePart(3, Weapon, "Glass", 0, 0, "Institutional white", "Handle", VT(0.5*Player_Size,0.5*Player_Size,1.07*Player_Size))
1534
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0.4 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1535
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(0.7*Player_Size,0.5*Player_Size,1.07*Player_Size))
1536
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.2 * Player_Size, 0.25 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1537
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(0.5*Player_Size,1.5*Player_Size, 0.5*Player_Size))
1538
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0.35 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1539
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(0.5*Player_Size,1.5*Player_Size, 0.5*Player_Size))
1540
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.35 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1541
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Institutional white", "Handle", VT(0.5*Player_Size,0.5*Player_Size, 1.2*Player_Size))
1542
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.2 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1543
1544
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(0.2*Player_Size,0.2*Player_Size, 0.2*Player_Size))
1545
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0.4 * Player_Size, 0.12 * Player_Size, -0.75 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)), CF(0, 0, 0))
1546
local mesh = IT("SpecialMesh",part)
1547
mesh.MeshType = "FileMesh"
1548
mesh.MeshId = "http://www.roblox.com/asset/?id=55821108"
1549
1550
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(0.2*Player_Size,0.2*Player_Size, 0.2*Player_Size))
1551
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0.4 * Player_Size, 0.12 * Player_Size, 0.75 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(0)), CF(0, 0, 0))
1552
local mesh = IT("SpecialMesh",part)
1553
mesh.MeshType = "FileMesh"
1554
mesh.MeshId = "http://www.roblox.com/asset/?id=55820516"
1555
1556
local part = CreatePart(3, Weapon, "Glass", 0, 0, "Lavender", "Handle", VT(0.35*Player_Size,0.35*Player_Size, 1.25*Player_Size))
1557
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.2 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1558
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Institutional white", "Handle", VT(0.5*Player_Size,0.5*Player_Size, 1.2*Player_Size))
1559
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.2 * Player_Size, -0.7 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1560
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Institutional white", "Handle", VT(1.1*Player_Size,0.2*Player_Size, 1.1*Player_Size))
1561
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0 * Player_Size, -0.7 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1562
local part = CreatePart(3, Weapon, "Neon", 0, 0, "Lavender", "Handle", VT(1.15*Player_Size,0.05*Player_Size, 1.15*Player_Size))
1563
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0 * Player_Size, -0.7 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1564
local part = CreatePart(3, Weapon, "Glass", 0, 0, "Institutional white", "Handle", VT(1*Player_Size,0.1*Player_Size,1*Player_Size))
1565
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1566
local mesh = IT("CylinderMesh",part)
1567
1568
local beampart = CreatePart(3, Weapon, "Neon", 0, 0, "Lavender", "Handle", VT(0.6*Player_Size,0.1*Player_Size,0.6*Player_Size))
1569
local weld = CreateWeldOrSnapOrMotor("Weld", beampart, LeftArm, beampart, CF(0 * Player_Size, -1.02 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1570
local mesh = IT("CylinderMesh",beampart)
1571
1572
local PRT = CreatePart(3, Weapon, "Fabric", 0, 0, "Really black", "Hat", VT(1,1,1),false)
1573
PRT.Color = C3(0,0,0)
1574
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.72*SIZE,0.1) * ANGLES(RAD(15), RAD(0), RAD(0)), CF(0, 0, 0))
1575
CreateMesh("SpecialMesh", PRT, "FileMesh", "26768040", "", VT(1,1,1)*SIZE, VT(0,0,0))
1576
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Detail", VT(1,1,1),false)
1577
PRT.Color = C3(0,0,0)
1578
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
1579
CreateMesh("SpecialMesh", PRT, "FileMesh", "13520257", "", VT(1,1,1)*SIZE, VT(0,0,0))
1580
local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(1,1.2,0.2),false)
1581
PRT.Color = C3(255/255, 255/255, 0/255)
1582
MakeForm(PRT,"Ball")
1583
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
1584
local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.4,0.5),false)
1585
PRT.Color = C3(255/255, 0/255, 0/255)
1586
MakeForm(PRT,"Ball")
1587
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,-0.3,-.5*SIZE), CF(0, 0, 0))
1588
local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
1589
PRT.Color = C3(255/255, 255/255, 0/255)
1590
MakeForm(PRT,"Ball")
1591
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0.25,0.25,-.5*SIZE), CF(0, 0, 0))
1592
local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
1593
PRT.Color = C3(255/255, 255/255, 0/255)
1594
MakeForm(PRT,"Ball")
1595
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(-0.25,0.25,-.5*SIZE), CF(0, 0, 0))
1596
local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.4,0.4,0.3),false)
1597
PRT.Color = C3(255/255, 0/255, 0/255)
1598
MakeForm(PRT,"Ball")
1599
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(-0.17,-0.25,-.5*SIZE) * ANGLES(RAD(-15), RAD(15), RAD(0)), CF(0, 0, 0))
1600
local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.4,0.4,0.3),false)
1601
PRT.Color = C3(255/255, 0/255, 0/255)
1602
MakeForm(PRT,"Ball")
1603
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0.17,-0.25,-.5*SIZE) * ANGLES(RAD(-15), RAD(-15), RAD(0)), CF(0, 0, 0))
1604
1605
local LASTPART = Head
1606
for i = 1, 24 do
1607
	local MATH = (1-(i/30))
1608
	if LASTPART == Head then
1609
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Detail", VT(0.25*MATH,0.15,0.25*MATH),false)
1610
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.8, 0.3, -0.4) * ANGLES(RAD(-25), RAD(220), RAD(90)), CF(0, 0, 0))
1611
		LASTPART = Horn
1612
		Horn.Color = C3(1-((i*4-4)/255),1-((i*6-6)/255),1-((i*3-3)/255))
1613
	else
1614
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Detail", VT(0.25*MATH,0.15,0.25*MATH),false)
1615
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(5), RAD(3), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
1616
		LASTPART = Horn
1617
		Horn.Color = C3(1-((i*4-4)/255),1-((i*6-6)/255),1-((i*3-3)/255))
1618
	end
1619
end
1620
local LASTPART = Head
1621
for i = 1, 24 do
1622
	local MATH = (1-(i/30))
1623
	if LASTPART == Head then
1624
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Detail", VT(0.25*MATH,0.15,0.25*MATH),false)
1625
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.8, 0.3, -0.4) * ANGLES(RAD(-25), RAD(-220), RAD(-90)), CF(0, 0, 0))
1626
		LASTPART = Horn
1627
		Horn.Color = C3(1-((i*4-4)/255),1-((i*6-6)/255),1-((i*3-3)/255))
1628
	else
1629
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Detail", VT(0.25*MATH,0.15,0.25*MATH),false)
1630
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(5), RAD(-3), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
1631
		LASTPART = Horn
1632
		Horn.Color = C3(1-((i*4-4)/255),1-((i*6-6)/255),1-((i*3-3)/255))
1633
	end
1634
end
1635
local LASTPART = Head
1636
for i = 1, 8 do
1637
	local MATH = (1-(i/14))
1638
	if LASTPART == Head then
1639
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Detail", VT(0.25*MATH,0.15,0.25*MATH),false)
1640
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.65, -0.3, -0.4) * ANGLES(RAD(-25), RAD(250), RAD(90)), CF(0, 0, 0))
1641
		LASTPART = Horn
1642
		Horn.Color = C3(1-((i*4-4)/255),1-((i*6-6)/255),1-((i*3-3)/255))
1643
	else
1644
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Detail", VT(0.25*MATH,0.15,0.25*MATH),false)
1645
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(10), RAD(3), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
1646
		LASTPART = Horn
1647
		Horn.Color = C3(1-((i*4-4)/255),1-((i*6-6)/255),1-((i*3-3)/255))
1648
	end
1649
end
1650
local LASTPART = Head
1651
for i = 1, 8 do
1652
	local MATH = (1-(i/14))
1653
	if LASTPART == Head then
1654
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Detail", VT(0.25*MATH,0.15,0.25*MATH),false)
1655
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.65, -0.3, -0.4) * ANGLES(RAD(-25), RAD(-250), RAD(-90)), CF(0, 0, 0))
1656
		LASTPART = Horn
1657
		Horn.Color = C3(1-((i*4-4)/255),1-((i*6-6)/255),1-((i*3-3)/255))
1658
	else
1659
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Detail", VT(0.25*MATH,0.15,0.25*MATH),false)
1660
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(10), RAD(-3), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
1661
		LASTPART = Horn
1662
		Horn.Color = C3(1-((i*4-4)/255),1-((i*6-6)/255),1-((i*3-3)/255))
1663
	end
1664
end
1665
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(1.05,0.06,1.05)*SIZE,false)
1666
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1667
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0.5,0.1,0.5)*SIZE,false)
1668
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
1669
MakeForm(PRT,"Cyl")
1670
local PRT = CreatePart(3, Weapon, "Neon", 0, 0, "Mid gray", "Watch", VT(0.45,0.11,0.45)*SIZE,false)
1671
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
1672
MakeForm(PRT,"Cyl")
1673
PRT.Color = C3(255/255, 0/255, 0/255)
1674
local RING = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0.055,0.15,0.055)*SIZE,false)
1675
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RING, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
1676
MakeForm(RING,"Cyl")
1677
RING.Color = C3(0,0,0)
1678
for i = 1, 12 do
1679
	local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Really red", "Watch", VT(0,0.15,0)*SIZE,false)
1680
	PRT.Color = C3(0,0,0)
1681
	local MSH = IT("BlockMesh",PRT)
1682
	MSH.Scale = VT(0.6,1,1)
1683
	CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD((360/12)*i), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.2*SIZE))
1684
end
1685
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Really red", "Watch", VT(0,0.15,0.15)*SIZE,false)
1686
PRT.Color = C3(0,0,0)
1687
local MSH = IT("BlockMesh",PRT)
1688
MSH.Scale = VT(0.4,1,1)
1689
local WATCH1 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.075*SIZE))
1690
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Really red", "Watch", VT(0,0.15,0.15/1.5)*SIZE,false)
1691
PRT.Color = C3(0,0,0)
1692
local MSH = IT("BlockMesh",PRT)
1693
MSH.Scale = VT(0.4,1,1)
1694
local WATCH2 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -(0.075/1.5)*SIZE))
1695
coroutine.resume(coroutine.create(function()
1696
	while true do
1697
		Swait()
1698
		CLOCKLOOP = CLOCKLOOP - 1*CLOCKSPEED
1699
		WATCH1.C0 = Clerp(WATCH1.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5), RAD(0)), 1 / Animation_Speed)
1700
		WATCH2.C0 = Clerp(WATCH2.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5/2), RAD(0)), 1 / Animation_Speed)
1701
		if CLOCKLOOP <= -150 then
1702
			if VALUE1 == false then
1703
				CLOCKLOOP = 0
1704
				WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = RING.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(255/255, 0/255, 0/255), SoundID = 743521450, SoundPitch = 1.2, SoundVolume = 1})
1705
				local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
1706
				ApplyAoE(HITPOS,10,15,45,75,false)
1707
				WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(15,2,15), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 255/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 1})
1708
				WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(12,3,12), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 0/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 1})
1709
				if CLOCKTARGET ~= nil then
1710
					CLOCKTARGET.Health = CLOCKTARGET.Health - 20
1711
					if CLOCKTARGET.Torso ~= nil then
1712
						CLOCKTARGET.Torso.CFrame = CLOCKTARGET.Torso.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
1713
					end
1714
					if CLOCKTARGET.Health == 0 then
1715
						CLOCKTARGET = nil
1716
					end
1717
				end
1718
			end
1719
		end
1720
	end
1721
end))
1722
1723
for _, c in pairs(Weapon:GetChildren()) do
1724
	if c.ClassName == "Part" then
1725
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1726
	end
1727
end
1728
1729
Neck.Name = "Weld"
1730
RootJoint.Name = "Weld"
1731
RightShoulder.Name = "Weld"
1732
LeftShoulder.Name = "Weld"
1733
RightHip.Name = "Weld"
1734
LeftHip.Name = "Weld"
1735
1736
local SKILLTEXTCOLOR = C3(255/255, 255/255, 0/255)
1737
local SKILLFONT = "Fantasy"
1738
local SKILLTEXTSIZE = 7
1739
1740
Weapon.Parent = Character
1741
Humanoid.Parent = Character
1742
1743
Humanoid.Died:connect(function()
1744
	ATTACK = true
1745
end)
1746
1747
--//=================================\\
1748
--||			DAMAGING
1749
--\\=================================//
1750
1751
function CheckTableForString(Table, String)
1752
	for i, v in pairs(Table) do
1753
		if string.find(string.lower(String), string.lower(v)) then
1754
			return true
1755
		end
1756
	end
1757
	return false
1758
end
1759
1760
function CheckIntangible(Hit)
1761
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
1762
	if Hit and Hit.Parent then
1763
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
1764
			return true
1765
		end
1766
	end
1767
	return false
1768
end
1769
1770
function ApplyDamage(Humanoid,Damage,TorsoPart)
1771
	local defence = Instance.new("BoolValue",Humanoid.Parent)
1772
	defence.Name = ("HitBy"..Player.Name)
1773
	game:GetService("Debris"):AddItem(defence, 0.001)
1774
	Damage = Damage * DAMAGEMULTIPLIER
1775
	if Humanoid.Health ~= 0 then
1776
		local CritChance = MRANDOM(1,100)
1777
		if Damage > Humanoid.Health then
1778
			Damage = math.ceil(Humanoid.Health)
1779
			if Damage == 0 then
1780
				Damage = 0.1
1781
			end
1782
		end
1783
		Humanoid.Health = Humanoid.Health - Damage
1784
	end
1785
end
1786
1787
function MagicSphere2(size,waitt,cframe,color)
1788
	local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(1,1,1))
1789
	local mesh = IT("SpecialMesh",wave)
1790
	mesh.MeshType = "Sphere"
1791
	mesh.Scale = VT(size,size,size)
1792
	mesh.Offset = VT(0,0,0)
1793
	wave.CFrame = cframe
1794
	coroutine.resume(coroutine.create(function(PART)
1795
		for i = 1, waitt do
1796
			Swait()
1797
			mesh.Scale = mesh.Scale - VT(size/waitt,size/waitt,size/waitt)
1798
			wave.Transparency = wave.Transparency - (1/waitt)
1799
		end
1800
		wave:remove()
1801
	end))
1802
end
1803
1804
function MagicSphere(size,waitt,cframe,color)
1805
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(1,1,1))
1806
	local mesh = IT("SpecialMesh",wave)
1807
	mesh.MeshType = "Sphere"
1808
	mesh.Scale = VT(size,size,size)
1809
	mesh.Offset = VT(0,0,0)
1810
	wave.CFrame = cframe
1811
	coroutine.resume(coroutine.create(function(PART)
1812
		for i = 1, waitt do
1813
			Swait()
1814
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
1815
			wave.Transparency = wave.Transparency + (1/waitt)
1816
			if wave.Transparency > 0.99 then
1817
				wave:remove()
1818
			end
1819
		end
1820
	end))
1821
end
1822
1823
function CreateSwirl(inair,size,doesrotate,rotatedirection,waitt,cframe,color)
1824
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
1825
	local mesh = IT("SpecialMesh",wave)
1826
	mesh.MeshType = "FileMesh"
1827
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
1828
	mesh.Scale = VT(size,size,size)
1829
	wave.CFrame = cframe
1830
	coroutine.resume(coroutine.create(function(PART)
1831
		for i = 1, waitt do
1832
			Swait()
1833
			mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
1834
			if doesrotate == true then
1835
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
1836
			end
1837
			wave.Transparency = wave.Transparency + (0.5/waitt)
1838
			if wave.Transparency > 0.99 then
1839
				wave:remove()
1840
			end
1841
		end
1842
	end))
1843
end
1844
1845
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
1846
	local Direction = CFrame.new(StartPos, Vec).lookVector
1847
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
1848
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
1849
	if RayHit and CheckIntangible(RayHit) then
1850
		if DelayIfHit then
1851
			wait()
1852
		end
1853
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
1854
	end
1855
	return RayHit, RayPos, RayNormal
1856
end
1857
1858
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
1859
	local CHILDREN = workspace:GetDescendants()
1860
	for index, CHILD in pairs(CHILDREN) do
1861
		if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
1862
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1863
			if HUM then
1864
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1865
				if TORSO then
1866
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1867
						if INSTAKILL == true then
1868
							CHILD:BreakJoints()
1869
						else
1870
							local DMG = MRANDOM(MINDMG,MAXDMG)
1871
							ApplyDamage(HUM,DMG,TORSO)
1872
						end
1873
						if FLING > 0 then
1874
							for _, c in pairs(CHILD:GetChildren()) do
1875
								if c:IsA("BasePart") then
1876
									local bv = Instance.new("BodyVelocity") 
1877
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1878
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
1879
									bv.Parent = c
1880
									Debris:AddItem(bv,0.05)
1881
								end
1882
							end
1883
						end
1884
					end
1885
				end
1886
			end
1887
		end
1888
	end
1889
end
1890
--//=================================\\
1891
--||	MODE CHANGING
1892
--\\=================================//
1893
1894
function Switch()
1895
	ATTACK = true
1896
	Rooted = true
1897
	if MODE == "Main" then
1898
		for i=0, 0.3, 0.1 / Animation_Speed do
1899
			Swait()
1900
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1901
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1902
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1903
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 1, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1904
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1905
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1906
		end
1907
		for i=0, 1, 0.1 / Animation_Speed do
1908
			Swait()
1909
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.75 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1910
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
1911
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1912
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65, -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1913
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1914
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1915
		end
1916
		CreateSound(363808674, Torso, 6, 1, false)
1917
		for i=0, 0.6, 0.1 / Animation_Speed do
1918
			Swait()
1919
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.5 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1920
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
1921
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1922
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1923
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1924
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1925
		end
1926
		CreateSound(363808674, Torso, 6, 1, false)
1927
		for i=0, 0.6, 0.1 / Animation_Speed do
1928
			Swait()
1929
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1930
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
1931
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1932
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1933
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1934
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1935
		end
1936
        SONG = 1092048938
1937
		CLOCKSPEED = 1.5
1938
		text.Text = "InJustice"
1939
		MODE = "JusticeHorn"
1940
	elseif MODE == "JusticeHorn" then
1941
		CreateSound(147722227, Torso, 4, 1.3, false)
1942
		for i=0, 0.3, 0.1 / Animation_Speed do
1943
			Swait()
1944
			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)
1945
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.5 + ((0.1) - 0.1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1946
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.8, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1947
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.8, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1948
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.25 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1949
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.25 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1950
		end
1951
		SONG = 1117396305
1952
		CLOCKSPEED = 0
1953
		text.Text = "The Switcher"
1954
		MODE = "Main"
1955
	end
1956
	ATTACK = false
1957
	Rooted = false
1958
end
1959
1960
function Switch3()
1961
	ATTACK = true
1962
	Rooted = true
1963
	if MODE == "Main" then
1964
		for i=0, 0.3, 0.1 / Animation_Speed do
1965
			Swait()
1966
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1967
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1968
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1969
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 1, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1970
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1971
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1972
		end
1973
		for i=0, 1, 0.1 / Animation_Speed do
1974
			Swait()
1975
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.75 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1976
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
1977
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1978
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65, -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1979
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1980
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1981
		end
1982
		CreateSound(363808674, Torso, 6, 1, false)
1983
		for i=0, 0.6, 0.1 / Animation_Speed do
1984
			Swait()
1985
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.5 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1986
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
1987
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1988
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1989
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1990
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1991
		end
1992
		CreateSound(363808674, Torso, 6, 1, false)
1993
		for i=0, 0.6, 0.1 / Animation_Speed do
1994
			Swait()
1995
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1996
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
1997
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1998
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1999
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2000
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2001
		end
2002
		SONG = 1873219898
2003
		CLOCKSPEED = 0.3
2004
		text.Text = "Superior"
2005
		MODE = "Superior"
2006
	elseif MODE == "Superior" then
2007
		CreateSound(147722227, Torso, 4, 1.3, false)
2008
		for i=0, 0.3, 0.1 / Animation_Speed do
2009
			Swait()
2010
			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)
2011
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.5 + ((0.1) - 0.1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
2012
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.8, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2013
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.8, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2014
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.25 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2015
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.25 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2016
		end
2017
		SONG = 1117396305
2018
		CLOCKSPEED = 0
2019
		text.Text = "The Switcher"
2020
		MODE = "Main"
2021
	end
2022
	ATTACK = false
2023
	Rooted = false
2024
end
2025
2026
function Switch2()
2027
	ATTACK = true
2028
	Rooted = true
2029
	if MODE == "Main" then
2030
		for i=0, 0.3, 0.1 / Animation_Speed do
2031
			Swait()
2032
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2033
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2034
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2035
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 1, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2036
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2037
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2038
		end
2039
		for i=0, 1, 0.1 / Animation_Speed do
2040
			Swait()
2041
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.75 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2042
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
2043
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2044
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65, -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2045
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2046
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2047
		end
2048
		CreateSound(363808674, Torso, 6, 1, false)
2049
		for i=0, 0.6, 0.1 / Animation_Speed do
2050
			Swait()
2051
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.5 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2052
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
2053
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2054
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2055
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2056
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2057
		end
2058
		CreateSound(363808674, Torso, 6, 1, false)
2059
		for i=0, 0.6, 0.1 / Animation_Speed do
2060
			Swait()
2061
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2062
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.4 + ((0.1) - 0.1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
2063
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2064
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2065
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2066
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.5 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2067
		end
2068
		SONG = 534861083
2069
		CLOCKSPEED = 0.75
2070
		text.Text = "T0M-YUM"
2071
		MODE = "Maniac"
2072
	elseif MODE == "Maniac" then
2073
		CreateSound(147722227, Torso, 4, 1.3, false)
2074
		for i=0, 0.3, 0.1 / Animation_Speed do
2075
			Swait()
2076
			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)
2077
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.5 + ((0.1) - 0.1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
2078
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.8, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2079
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.8, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2080
			RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1.25 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2081
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1.25 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2082
		end
2083
		SONG = 1117396305
2084
		CLOCKSPEED = 0
2085
		text.Text = "The Switcher"
2086
		MODE = "Main"
2087
	end
2088
	ATTACK = false
2089
	Rooted = false
2090
end
2091
2092
--//=================================\\
2093
--||	ATTACK FUNCTIONS AND STUFF
2094
--\\=================================//
2095
2096
function ApplyAoE(POSITION,RANGE,FLING,BURN)
2097
	local CHILDREN = workspace:GetDescendants()
2098
	for index, CHILD in pairs(CHILDREN) do
2099
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2100
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2101
			if HUM then
2102
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2103
				if TORSO then
2104
					if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
2105
						CHILD:BreakJoints()
2106
						if FLING ~= 0 then
2107
							for _, c in pairs(CHILD:GetChildren()) do
2108
								if c:IsA("BasePart") and c.Transparency == 0 then
2109
									if BURN == true then
2110
										Fire(c)
2111
									end
2112
									local bv = Instance.new("BodyVelocity") 
2113
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2114
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
2115
									bv.Parent = c
2116
									Debris:AddItem(bv,0.05)
2117
								end
2118
							end
2119
						end
2120
					end
2121
				end
2122
			end
2123
		end
2124
	end
2125
end
2126
2127
function MagicMissiles()
2128
	ATTACK = true
2129
	Rooted = true
2130
	local SELECTING = true
2131
	local SPOTS = {}
2132
	coroutine.resume(coroutine.create(function()
2133
		local LOOP = 0
2134
		repeat
2135
			LOOP = LOOP + 1
2136
			Swait()
2137
			if LOOP >= 10 then
2138
				LOOP = 0
2139
				for i = 1, #SPOTS do
2140
					if SPOTS[i] ~= nil then
2141
						WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(8,2,8), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(0/255, 255/255, 0/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2142
						WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(6,3,6), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(0/255, 255/255, 0/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2143
					end
2144
				end
2145
			end
2146
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
2147
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2148
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(115), RAD(45), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2149
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2150
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2151
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2152
		until SELECTING == false
2153
		Rooted = false
2154
		repeat
2155
			LOOP = LOOP + 1
2156
			Swait()
2157
			if LOOP >= 10 then
2158
				LOOP = 0
2159
				for i = 1, #SPOTS do
2160
					if SPOTS[i] ~= nil then
2161
						WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(8,2,8), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 0/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2162
						WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(6,3,6), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 0/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2163
					end
2164
				end
2165
			end
2166
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
2167
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 4 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
2168
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2169
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2170
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2171
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2172
		until ATTACK == false
2173
	end))
2174
	repeat
2175
		repeat Swait() until HOLD == true
2176
			local DIST = (RootPart.Position - Mouse.Hit.p).Magnitude
2177
			if DIST > 1500 then
2178
				DIST = 1500
2179
			end
2180
			local RAY,RAYPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, DIST, workspace)	
2181
			local HITFLOOR,HITPOS,NORMAL = Raycast(RAYPOS+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 25*SIZE, Character)	
2182
			if HITFLOOR ~= nil then
2183
				table.insert(SPOTS,CF(HITPOS,HITPOS+NORMAL) * ANGLES(RAD(90), RAD(0), RAD(0)))
2184
				WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(6,2,6), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.2,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 0/255), SoundID = 90655239, SoundPitch = 1, SoundVolume = 6})
2185
				WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(4,3,4), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.2,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 0/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2186
			end
2187
		repeat Swait() until HOLD == false
2188
	until #SPOTS == 1
2189
	chatfunc("Justice rains from above.")
2190
	SELECTING = false
2191
	for i = 1, #SPOTS do
2192
		if SPOTS[i] ~= nil then
2193
			local POS = SPOTS[i]
2194
			coroutine.resume(coroutine.create(function()
2195
				local MISSILE = IT("Model",Effects)
2196
				MISSILE.Name = "Missile"
2197
				local BASEPART = CreatePart(3, MISSILE, "Neon", 0, 1, "Really black", "Part", VT(2,2,2))
2198
				MakeForm(BASEPART,"Cyl")
2199
				MISSILE.PrimaryPart = BASEPART
2200
				BASEPART.CFrame = POS*CF(0,-30*3,0)
2201
				local HEAD = CreatePart(3, MISSILE, "Neon", 0, 1, "Really black", "Part", VT(2,4,2))
2202
				MakeForm(HEAD,"Ball")
2203
				HEAD.CFrame = BASEPART.CFrame*CF(0,1,0)
2204
				local TAIL = CreatePart(3, MISSILE, "Neon", 0, 1, "Really black", "Part", VT(2.5,0.1,2.5))
2205
				MakeForm(TAIL,"Cyl")
2206
				TAIL.CFrame = BASEPART.CFrame*CF(0,1,0)
2207
				for i = 1, 10 do
2208
					Swait()
2209
					for _, c in pairs(MISSILE:GetChildren()) do
2210
						if c.ClassName == "Part" then
2211
							c.Transparency = c.Transparency - 1/10
2212
						end
2213
					end
2214
				end
2215
				for i = 1, 15*1.5 do
2216
					Swait()
2217
					MISSILE:SetPrimaryPartCFrame(BASEPART.CFrame*CF(0,1.35*3,0))
2218
				end
2219
				ApplyAoE(BASEPART.CFrame.p,40,70,90,150,false)
2220
				WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(150,2,150), Transparency = 0.5, Transparency2 = 1, CFrame = BASEPART.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 0/255), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
2221
				WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(70,70,70), Transparency = 0, Transparency2 = 1, CFrame = BASEPART.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 0/255), SoundID = 165970126, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 4})
2222
				WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(44,4,44), Transparency = 0, Transparency2 = 1, CFrame = POS * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 255/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2223
				WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(40,6,40), Transparency = 0, Transparency2 = 1, CFrame = POS * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 255/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2224
				MISSILE:remove()
2225
			end))
2226
		end
2227
	end
2228
	wait(0.8)
2229
	ATTACK = false
2230
	Rooted = false
2231
end
2232
2233
function TimesUp()
2234
	CLOCKTARGET = nil
2235
	if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2236
		local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
2237
		local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
2238
		if TORSO then
2239
			ATTACK = true
2240
			Rooted = false
2241
			coroutine.resume(coroutine.create(function()
2242
				repeat
2243
					Swait()
2244
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
2245
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2246
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.5*SIZE, -0.2*SIZE) * ANGLES(RAD(75), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2247
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2248
					RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2249
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2250
				until ATTACK == false
2251
			end))
2252
			if Effects:FindFirstChild("NeonDoll") then
2253
				repeat Swait() until Effects:FindFirstChild("NeonDoll") == nil
2254
			end
2255
			wait(0.5)
2256
			local FAKECHARACTER = IT("Model",Effects)
2257
			FAKECHARACTER.Name = "NeonDoll"
2258
			local TORS = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "New Yeller", "Part", VT(0.3,0.3,0.15),false)
2259
			CreateWeldOrSnapOrMotor("Weld", RING, RING, TORS, CF(0,0.6,0), CF(0,0,0))
2260
			local LEG = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "New Yeller", "Part", VT(0.15,0.3,0.15),false)
2261
			CreateWeldOrSnapOrMotor("Weld", TORS, TORS, LEG, CF(0.15/2,-0.15,0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0,0.15,0))
2262
			local LEG = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "New Yeller", "Part", VT(0.15,0.3,0.15),false)
2263
			CreateWeldOrSnapOrMotor("Weld", TORS, TORS, LEG, CF(-0.15/2,-0.15,0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0,0.15,0))
2264
			local ARM = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "New Yeller", "Part", VT(0.15,0.3,0.15),false)
2265
			CreateWeldOrSnapOrMotor("Weld", TORS, TORS, ARM, CF(0.15,0.15/2,0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0,0.15,0))
2266
			local ARM = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "New Yeller", "Part", VT(0.15,0.3,0.15),false)
2267
			CreateWeldOrSnapOrMotor("Weld", TORS, TORS, ARM, CF(-0.15,0.15/2,0) * ANGLES(RAD(0), RAD(0), RAD(-90)), CF(0,0.15,0))
2268
			local HEAD = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "New Yeller", "Part", VT(0.15,0.15,0.15),false)
2269
			CreateWeldOrSnapOrMotor("Weld", TORS, TORS, HEAD, CF(0,0.225,0), CF(0,0,0))
2270
			CreateSound(201858045, TORS, 5, 0.4, false)
2271
			for i = 1, 150 do
2272
				Swait()
2273
				CLOCKSPEED = 0.5
2274
				for _, c in pairs(FAKECHARACTER:GetChildren()) do
2275
					if c.ClassName == "Part" then
2276
						c.Transparency = c.Transparency - 0.5/150
2277
					end
2278
				end
2279
			end
2280
			CLOCKTARGET = HUM
2281
			chatfunc("IT'S TIME TO STOP")
2282
			coroutine.resume(coroutine.create(function()
2283
				repeat Swait() CLOCKSPEED = 5 until CLOCKTARGET == nil
2284
				for i = 1, 25 do
2285
					Swait()
2286
					for _, c in pairs(FAKECHARACTER:GetChildren()) do
2287
						if c.ClassName == "Part" then
2288
							c.Transparency = c.Transparency + 0.5/25
2289
						end
2290
					end
2291
				end
2292
				CLOCKSPEED = 1.5
2293
				FAKECHARACTER:remove()
2294
			end))
2295
			wait(0.5)
2296
			ATTACK = false
2297
			Rooted = false
2298
		end
2299
	end
2300
end
2301
2302
function ChainPunch()
2303
	ATTACK = true
2304
	Rooted = false
2305
	local GYRO = IT("BodyGyro",RootPart)
2306
	GYRO.D = 25
2307
	GYRO.P = 2000
2308
	GYRO.MaxTorque = VT(0,40000,0)
2309
	GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
2310
	repeat
2311
		Swait()
2312
		GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
2313
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
2314
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 4 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
2315
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(90), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2316
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2317
		RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2318
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2319
	until HOLD == true
2320
	local POS = Mouse.Hit.p
2321
	local CHAINS = false
2322
	local CHAINLINKS = {}
2323
	local A = IT("Attachment",RightArm)
2324
	A.Position = VT(1,-1,0)*SIZE
2325
	A.Orientation = VT(-90, -89.982, 0)
2326
	local B = IT("Attachment",RightArm)
2327
	B.Position = VT(-1,-1,0)*SIZE
2328
	B.Orientation = VT(-90, 89.988, 0)
2329
	local C = IT("Attachment",RightArm)
2330
	C.Position = VT(0.5,-1.3,0)*SIZE
2331
	C.Orientation = VT(-90, -89.982, 0)
2332
	local D = IT("Attachment",RightArm)
2333
	D.Position = VT(-0.5,-1.3,0)*SIZE
2334
	D.Orientation = VT(-90, 89.988, 0)
2335
	local LIGHT = IT("Attachment",RightArm)
2336
	LIGHT.Position = VT(0,-1,0)*SIZE
2337
	local LIGHT2 = IT("PointLight",LIGHT)
2338
	LIGHT2.Range = 7
2339
	LIGHT2.Brightness = 5
2340
	LIGHT2.Color = C3(255/255, 255/255, 0/255)
2341
	for i = 1, 2 do
2342
		local TWIST = -2
2343
		local START = A
2344
		local END = B
2345
		if i == 1 then
2346
			START = B
2347
			END = A
2348
		end
2349
		local ChainLink = IT("Beam",Torso)
2350
		ChainLink.Texture = "rbxassetid://73042633"
2351
		ChainLink.Color = ColorSequence.new(C3(255/255, 255/255, 0/255))
2352
		ChainLink.TextureSpeed = 1
2353
		ChainLink.Width0 = 1
2354
		ChainLink.Width1 = 1
2355
		ChainLink.TextureLength = 2.5
2356
		ChainLink.Attachment0 = START
2357
		ChainLink.Attachment1 = END
2358
		ChainLink.CurveSize0 = TWIST
2359
		ChainLink.CurveSize1 = TWIST
2360
		--ChainLink.FaceCamera = true
2361
		ChainLink.Segments = 45
2362
		ChainLink.Transparency = NumberSequence.new(1)
2363
		table.insert(CHAINLINKS,ChainLink)
2364
	end
2365
	for i = 1, 2 do
2366
		local TWIST = -1
2367
		local START = C
2368
		local END = D
2369
		if i == 1 then
2370
			START = D
2371
			END = C
2372
		end
2373
		local ChainLink = IT("Beam",Torso)
2374
		ChainLink.Texture = "rbxassetid://73042633"
2375
		ChainLink.Color = ColorSequence.new(SKILLTEXTCOLOR)
2376
		ChainLink.TextureSpeed = 1
2377
		ChainLink.Width0 = 1
2378
		ChainLink.Width1 = 1
2379
		ChainLink.TextureLength = 5
2380
		ChainLink.Attachment0 = START
2381
		ChainLink.Attachment1 = END
2382
		ChainLink.CurveSize0 = TWIST
2383
		ChainLink.CurveSize1 = TWIST
2384
		--ChainLink.FaceCamera = true
2385
		ChainLink.Segments = 25
2386
		ChainLink.LightEmission = 0.5
2387
		ChainLink.Transparency = NumberSequence.new(1)
2388
		table.insert(CHAINLINKS,ChainLink)
2389
	end
2390
	coroutine.resume(coroutine.create(function()
2391
		repeat
2392
			chatfunc("SMASH!!!")
2393
			Swait()
2394
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
2395
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed)
2396
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0.2*SIZE) * ANGLES(RAD(60), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2397
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2398
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
2399
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
2400
		until CHAINS == true
2401
		repeat
2402
			Swait()
2403
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
2404
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 1 / Animation_Speed)
2405
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, -0.2*SIZE) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2406
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2407
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
2408
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
2409
		until ATTACK == false
2410
		for e = 1, 15 do
2411
			Swait()
2412
			for i = 1, #CHAINLINKS do
2413
				CHAINLINKS[i].Transparency = NumberSequence.new((e/15))
2414
			end
2415
		end
2416
		A:remove()
2417
		B:remove()
2418
		C:remove()
2419
		D:remove()
2420
	end))
2421
	CreateSound(233856115, RightArm, 5, 1.2, false)
2422
	for e = 1, 15 do
2423
		Swait()
2424
		for i = 1, #CHAINLINKS do
2425
			CHAINLINKS[i].Transparency = NumberSequence.new(1-(e/15))
2426
		end
2427
	end
2428
	CHAINS = true
2429
	Rooted = true
2430
	wait(0.25)
2431
	local FIST = CreatePart(3, Effects, "Neon", 0, 0.5, "New Yeller", "Part", VT(2,2,2))
2432
	FIST.Color = C3(1, 215/255, 1)
2433
	FIST.CFrame = CF(RightArm.CFrame*CF(0,-1.3*SIZE,0).p,POS) * ANGLES(RAD(90), RAD(0), RAD(0)) 
2434
	local LIGHT3 = IT("PointLight",FIST)
2435
	LIGHT3.Range = 7
2436
	LIGHT3.Brightness = 5
2437
	LIGHT3.Color = C3(255/255, 0/255, 0/255)
2438
	CreateMesh("SpecialMesh", FIST, "FileMesh", "90718752", "", VT(10,10,10), VT(0,0,0))
2439
	local FISTA = IT("Attachment",FIST)
2440
	FISTA.Position = VT(0.062, 0.977, 0)
2441
	local ChainLink = IT("Beam",Torso)
2442
	ChainLink.Texture = "rbxassetid://73042633"
2443
	ChainLink.Color = ColorSequence.new(SKILLTEXTCOLOR)
2444
	ChainLink.TextureSpeed = 0
2445
	ChainLink.Width0 = 3
2446
	ChainLink.Width1 = 3
2447
	ChainLink.TextureLength = 12
2448
	ChainLink.Attachment0 = LIGHT
2449
	ChainLink.Attachment1 = FISTA
2450
	ChainLink.FaceCamera = true
2451
	ChainLink.Segments = 45
2452
	ChainLink.LightEmission = 0.5
2453
	ChainLink.Transparency = NumberSequence.new(0.25)
2454
	local FISTSOUND = CreateSound(288641686, FIST, 5, 1.2, false)
2455
	for i = 1, 85 do
2456
		Swait()
2457
		FIST.CFrame = FIST.CFrame*CF(0,-2,0)
2458
		ChainLink.TextureLength = 12+(i*2)
2459
		ApplyAoE(FIST.Position,10,15,25,100,false)
2460
		WACKYEFFECT({Time = 5, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(15,1,15), Transparency = 0.5, Transparency2 = 1, CFrame = FIST.CFrame*CF(0,-1,0) * ANGLES(RAD(0), RAD(i*15), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(2, 9, 0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2461
		local HITFLOOR = Raycast(FIST.Position, (CF(FIST.Position, FIST.CFrame*CF(0,-1,0).p)).lookVector, 2.1, Character)
2462
		if HITFLOOR ~= nil then
2463
			HITFLOOR:BreakJoints()
2464
			coroutine.resume(coroutine.create(function()
2465
				for i = 1, 15 do
2466
					Swait()
2467
					FISTSOUND.Volume = FISTSOUND.Volume - 0.15
2468
					ApplyAoE(FIST.Position,10+(i*2),5,15,5,false)
2469
					WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35), Transparency = 0.5, Transparency2 = 1, CFrame = FIST.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(2, 9, 0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2470
				end
2471
			end))
2472
			break
2473
		end
2474
	end
2475
	coroutine.resume(coroutine.create(function()
2476
		for i = 1, 50 do
2477
			Swait()
2478
			FIST.Transparency = FIST.Transparency + 0.5/50
2479
			LIGHT3.Range = LIGHT3.Range - 300/500
2480
		end
2481
		FIST:remove()
2482
	end))
2483
	LIGHT:remove()
2484
	GYRO:remove()
2485
	ATTACK = false
2486
	Rooted = false
2487
end
2488
2489
function WarpMeteor()
2490
    chatfunc("Meteor Strike..")
2491
	local DIST = (RootPart.Position - Mouse.Hit.p).Magnitude
2492
	if DIST > 180 then
2493
		DIST = 180
2494
	end
2495
	local RAY,RAYPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, DIST, workspace)	
2496
	local HITFLOOR,HITPOS,NORMAL = Raycast(RAYPOS+VT(0,45,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 75*SIZE, Character)
2497
	if HITFLOOR then
2498
		local POS = HITPOS	
2499
		ATTACK = true
2500
		Rooted = true
2501
		local WARPED = false
2502
		local SMASHED = false
2503
		local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
2504
		coroutine.resume(coroutine.create(function()
2505
			repeat
2506
				Swait()
2507
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
2508
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2509
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(-55 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2510
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2511
				RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2512
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2513
			until WARPED == true
2514
			repeat
2515
				Swait()
2516
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
2517
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2518
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(-55 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2519
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2520
				RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE + 0.06 * SIN(SINE / 24) - 0.1*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2521
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.1*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2522
			until SMASHED == true
2523
			repeat
2524
				Swait()
2525
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(90), RAD(0), RAD(0)), 1 / Animation_Speed)
2526
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-40), RAD(0), RAD(0)), 1 / Animation_Speed)
2527
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(170), RAD(-15), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2528
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(170), RAD(15), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2529
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
2530
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
2531
			until ATTACK == false
2532
		end))
2533
		VALUE1 = true
2534
		CreateSound(233856115, Torso, 5, 1.6, false)
2535
		for i = 1, 25 do
2536
			Swait()
2537
			for _, c in pairs(Character:GetChildren()) do
2538
				if c.ClassName == "Part" then
2539
					c.Transparency = c.Transparency + 1/25
2540
				end
2541
			end
2542
			for _, c in pairs(Weapon:GetChildren()) do
2543
				if c.ClassName == "Part" then
2544
					c.Transparency = c.Transparency + 1/25
2545
				end
2546
			end
2547
		end
2548
		UNANCHOR = false
2549
		RootPart.Anchored = true
2550
		RootPart.Velocity = VT(0,0,0)
2551
		local ROOTPOS = RootPart.Position
2552
		RootPart.CFrame = CF(POS+VT(0,300,0),VT(ROOTPOS.X,POS.Y+300,ROOTPOS.Z))
2553
		WARPED = true
2554
		for i = 1, 25 do
2555
			Swait()
2556
			for _, c in pairs(Character:GetChildren()) do
2557
				if c.ClassName == "Part" then
2558
					c.Transparency = c.Transparency - 1/25
2559
				end
2560
			end
2561
			for _, c in pairs(Weapon:GetChildren()) do
2562
				if c.ClassName == "Part" then
2563
					c.Transparency = c.Transparency - 1/25
2564
				end
2565
			end
2566
		end
2567
		local SHELL = CreatePart(3, Effects, "Neon", 0, 1, "New Yeller", "Part", VT(0,0,0))
2568
		SHELL.CFrame = RootPart.CFrame
2569
		MakeForm(SHELL,"Ball")
2570
		CreateSound(402981977, SHELL, 5, 1.6, false)
2571
		for i = 1, 10 do
2572
			Swait()
2573
			SHELL.Transparency = SHELL.Transparency - 1/10
2574
			SHELL.Size = SHELL.Size + VT(0.6,0.6,0.6)*1.8
2575
		end
2576
		for i = 1, math.ceil(75/2) do
2577
			Swait()
2578
			RootPart.CFrame = RootPart.CFrame*CF(0,-3.5*2,0)
2579
			SHELL.CFrame = CF(RootPart.Position)
2580
			WACKYEFFECT({Time = 5, EffectType = "Sphere", Size = SHELL.Size, Size2 = VT(45,43,45), Transparency = 0.5, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = SHELL.Position+VT(0,15,0), RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 0/255), SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
2581
		end
2582
		RootPart.CFrame = CF(POS+VT(0,1,0),VT(ROOTPOS.X,HITPOS.Y+1,ROOTPOS.Z))
2583
		SHELL.CFrame = CF(RootPart.Position)
2584
		WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = SHELL.Size, Size2 = VT(75,55,75)*4, Transparency = 0, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = 165970126, SoundPitch = 0.75, SoundVolume = 6})
2585
		WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(SHELL.Size.X,5,SHELL.Size.Z), Size2 = VT(65,43,65)*3.8, Transparency = 0, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 0/255), SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
2586
		WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(SHELL.Size.X,5,SHELL.Size.Z), Size2 = VT(65,43,65)*4, Transparency = 0, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 0/255), SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
2587
		for i = 1, 5 do
2588
			WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(75,43,75)*4, Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(255/255, 255/255, 0/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2589
		end
2590
		SHELL:remove()
2591
		ApplyAoE(RootPart.Position,115,75,115,215,false)
2592
		SMASHED = true
2593
		wait(1)
2594
		VALUE1 = false
2595
		UNANCHOR = true
2596
		ATTACK = false
2597
		Rooted = false
2598
	end
2599
end
2600
2601
function PandorasBox()
2602
    chatfunc("What's Inside The Box")
2603
	local HITFLOOR,HITPOS = Raycast(RootPart.CFrame*CF(0,0,-6.5).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
2604
	if HITFLOOR ~= nil then
2605
		ATTACK = true
2606
		Rooted = true
2607
		local RINGSPIN = true
2608
		local CONSTRUCTING = true
2609
		local RING = CreatePart(3, Effects, "Neon", 0, 1, "Alder", "Ring", VT(0,0,0))
2610
		RING.Color = C3(0,0,0)
2611
		MakeForm(RING,"Cyl")
2612
		RING.CFrame = CF(HITPOS)
2613
		CreateSound(402981977, RING, 5, 1.2, false)
2614
		coroutine.resume(coroutine.create(function()
2615
			repeat
2616
				Swait()
2617
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
2618
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
2619
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2620
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(115), RAD(45), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2621
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2622
				RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2623
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2624
			until CONSTRUCTING == false
2625
			repeat 
2626
				Swait() 
2627
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
2628
			until RINGSPIN == false
2629
			for i = 1, 25 do
2630
				Swait()
2631
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
2632
				RING.Size = RING.Size - VT(0.15,0,0.15)
2633
				--DECAL.Transparency = DECAL.Transparency + 1/25
2634
				RING.Transparency = RING.Transparency + 1/25
2635
			end
2636
			RING:remove()
2637
		end))
2638
		for i = 1, 15 do
2639
			Swait()
2640
			RING.Size = RING.Size + VT(0.75,0,0.75)
2641
			RING.Transparency = RING.Transparency - 1/15
2642
		end
2643
		local BOXSPIN = true
2644
		local PANDORASBOX = IT("Model",Effects)
2645
		PANDORASBOX.Name = "Pandora's Box"
2646
		local BOX = IT("Model",PANDORASBOX)
2647
		BOX.Name = "Body"
2648
		local LID = IT("Model",PANDORASBOX)
2649
		LID.Name = "Lid"
2650
		--BUILDING THE BOX--
2651
			local BASE = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Black", VT(2,1.8,2))
2652
			BASE.Color = C3(0,0,0)
2653
			PANDORASBOX.PrimaryPart = BASE
2654
			BASE.CFrame = CF(HITPOS+VT(0,-8,0),VT(RootPart.Position.X,HITPOS.Y-8,RootPart.Position.Z))
2655
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(0.2,1.9,0.2))
2656
			WOOD.CFrame = BASE.CFrame*CF(1,0,1)
2657
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(0.2,1.9,0.2))
2658
			WOOD.CFrame = BASE.CFrame*CF(1,0,-1)
2659
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(0.2,1.9,0.2))
2660
			WOOD.CFrame = BASE.CFrame*CF(-1,0,1)
2661
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(0.2,1.9,0.2))
2662
			WOOD.CFrame = BASE.CFrame*CF(-1,0,-1)
2663
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(2.1,0.2,0.2))
2664
			WOOD.CFrame = BASE.CFrame*CF(0,0.9,1)
2665
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(2.1,0.2,0.2))
2666
			WOOD.CFrame = BASE.CFrame*CF(0,0.9,-1)
2667
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(0.2,0.2,2.1))
2668
			WOOD.CFrame = BASE.CFrame*CF(1,0.9,0)
2669
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(0.2,0.2,2.1))
2670
			WOOD.CFrame = BASE.CFrame*CF(-1,0.9,0)
2671
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(2.1,0.2,0.2))
2672
			WOOD.CFrame = BASE.CFrame*CF(0,-0.9,1)
2673
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(2.1,0.2,0.2))
2674
			WOOD.CFrame = BASE.CFrame*CF(0,-0.9,-1)
2675
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(0.2,0.2,2.1))
2676
			WOOD.CFrame = BASE.CFrame*CF(1,-0.9,0)
2677
			local WOOD = CreatePart(3, BOX, "Neon", 0, 0, "New Yeller", "Marble", VT(0.2,0.2,2.1))
2678
			WOOD.CFrame = BASE.CFrame*CF(-1,-0.9,0)
2679
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Really black", "Marble", VT(2.1,1.9,0.1))
2680
			WOOD.CFrame = BASE.CFrame*CF(0,0,1)
2681
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Really black", "Marble", VT(2.1,1.9,0.1))
2682
			WOOD.CFrame = BASE.CFrame*CF(0,0,-1)
2683
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Really black", "Marble", VT(0.1,1.9,2.1))
2684
			WOOD.CFrame = BASE.CFrame*CF(1,0,0)
2685
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Really black", "Marble", VT(0.1,1.9,2.1))
2686
			WOOD.CFrame = BASE.CFrame*CF(-1,0,0)
2687
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Really black", "Marble", VT(2.1,0.1,2.1))
2688
			WOOD.CFrame = BASE.CFrame*CF(0,-0.9,0)
2689
			-------------
2690
			local LIDPART = CreatePart(3, LID, "Marble", 0, 0, "Really black", "Marble", VT(2.1,0.1,2.1))
2691
			LIDPART.CFrame = BASE.CFrame*CF(0,1,0)
2692
			LID.PrimaryPart = LIDPART
2693
			local WOOD = CreatePart(3, LID, "Neon", 0, 0, "New Yeller", "Marble", VT(2.1,0.2,0.2))
2694
			WOOD.CFrame = LIDPART.CFrame*CF(0,0,-1)
2695
			local WOOD = CreatePart(3, LID, "Neon", 0, 0, "New Yeller", "Marble", VT(2.1,0.2,0.2))
2696
			WOOD.CFrame = LIDPART.CFrame*CF(0,0,1)
2697
			local WOOD = CreatePart(3, LID, "Neon", 0, 0, "New Yeller", "Marble", VT(0.2,0.2,2.1))
2698
			WOOD.CFrame = LIDPART.CFrame*CF(1,0,0)
2699
			local WOOD = CreatePart(3, LID, "Neon", 0, 0, "New Yeller", "Marble", VT(0.2,0.2,2.1))
2700
			WOOD.CFrame = LIDPART.CFrame*CF(-1,0,0)
2701
			local DECAL = IT("Decal",LIDPART)
2702
			DECAL.Face = "Top"
2703
			DECAL.Texture = "http://www.roblox.com/asset/?id=1501226061"
2704
			DECAL.Color3 = C3(0,0,0)
2705
		--BUILDING THE BOX--
2706
		coroutine.resume(coroutine.create(function()
2707
			repeat
2708
				Swait()
2709
				PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * ANGLES(RAD(0), RAD(2.45), RAD(0)))
2710
			until BOXSPIN == false
2711
		end))
2712
		for i = 1, 25 do
2713
			Swait()
2714
			PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * CF(0,1.5-(i/12.5),0))
2715
		end
2716
		wait(0.5)
2717
		BOXSPIN = false
2718
		CONSTRUCTING = false	
2719
		coroutine.resume(coroutine.create(function()
2720
			WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = LIDPART.Size, Size2 = VT(3,0,3)*4, Transparency = 0, Transparency2 = 1, CFrame = LIDPART.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 168586586, SoundPitch = 1.3, SoundVolume = 6})
2721
			--[[for i = 1, 45 do
2722
				Swait()
2723
				LID:SetPrimaryPartCFrame(LIDPART.CFrame * CF(0,1.5-(i/12.5),0.5) * ANGLES(RAD(0.7), RAD(0), RAD(0)))
2724
			end-
2725
			LID:remove()]]--
2726
			for _, c in pairs(LID:GetChildren()) do
2727
				if c.ClassName == "Part" then
2728
					c.Anchored = false
2729
					c.CanCollide = true
2730
					if c ~= LIDPART then
2731
						weldBetween(LIDPART,c)
2732
					end
2733
				end
2734
			end
2735
			LIDPART.Velocity = CF(LIDPART.Position,LIDPART.CFrame*CF(15,25,0).p).lookVector*65
2736
			Debris:AddItem(LID,15)
2737
			wait(0.5)
2738
			local RANDOMEFFECT = MRANDOM(1,4)
2739
			if RANDOMEFFECT == 1 then
2740
				for i = 1, 45 do
2741
					wait((2-(i/15))/15)
2742
					WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(0,MRANDOM(12,15),0) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,MRANDOM(1,5)), MoveToPos = BASE.Position, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.8, SoundVolume = 6})
2743
				end	
2744
				wait(1)
2745
				WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(35,35,35)*12, Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = 165970126, SoundPitch = 0.75, SoundVolume = 6})
2746
				WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(45,3,45)*10, Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = 469345336, SoundPitch = 0.75, SoundVolume = 6})
2747
				WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(45,3,45)*9, Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
2748
				for i = 1, 5 do
2749
					WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35)*12, Transparency = 0.5, Transparency2 = 1, CFrame = BASE.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2750
				end
2751
				ApplyAoE(BASE.Position,50,1,200,375,false)
2752
				ApplyAoE(BASE.Position,250,35,75,175,false)
2753
			elseif RANDOMEFFECT == 2 then
2754
				local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "New Yeller", "Field", VT(0.3,0.3,0.3))
2755
				FIELD.CFrame = BASE.CFrame
2756
				MakeForm(FIELD,"Ball")
2757
				for i = 1, 50 do
2758
					Swait()
2759
					FIELD.Size = FIELD.Size + VT(0.01,0.01,0.01)
2760
					FIELD.CFrame = FIELD.CFrame * CF(0,0.75-(i/45),0)
2761
				end
2762
				wait(0.2)
2763
				local LOOP = CreateSound(1393698948, FIELD, 0, 1.2, true)
2764
				coroutine.resume(coroutine.create(function()
2765
					for i = 1, 75 do
2766
						Swait()
2767
						LOOP.Volume = LOOP.Volume + 10/75
2768
						LOOP.Parent = FIELD
2769
						local CHILDREN = workspace:GetDescendants()
2770
						for index, CHILD in pairs(CHILDREN) do
2771
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
2772
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2773
								if HUM then
2774
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2775
									if TORSO then
2776
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
2777
											HUM.Health = HUM.Health - 0.1
2778
											TORSO.Velocity = VT(0,5,0)
2779
											HUM.PlatformStand = true
2780
											if TORSO.RotVelocity.Magnitude < 15 then
2781
										 		TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
2782
											end
2783
										end
2784
									end
2785
								end
2786
							end
2787
						end
2788
						FIELD.Size = FIELD.Size + VT(3,3,3)
2789
						FIELD.Transparency = FIELD.Transparency + 0.8/75
2790
					end
2791
					for i = 1, 500 do
2792
						Swait()
2793
						LOOP.Parent = FIELD
2794
						local CHILDREN = workspace:GetDescendants()
2795
						for index, CHILD in pairs(CHILDREN) do
2796
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
2797
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2798
								if HUM then
2799
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2800
									if TORSO then
2801
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
2802
											TORSO.Velocity = VT(0,5,0)
2803
											HUM.Health = HUM.Health - 0.1
2804
											HUM.PlatformStand = true
2805
											if TORSO.RotVelocity.Magnitude < 15 then
2806
										 		TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
2807
											end
2808
										end
2809
									end
2810
								end
2811
							end
2812
						end
2813
					end
2814
					for i = 1, 25 do
2815
						Swait()
2816
						LOOP.Volume = LOOP.Volume + 10/25
2817
						LOOP.Parent = FIELD
2818
						local CHILDREN = workspace:GetDescendants()
2819
						for index, CHILD in pairs(CHILDREN) do
2820
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
2821
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2822
								if HUM then
2823
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2824
									if TORSO then
2825
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/1.8 then
2826
											TORSO.Velocity = VT(0,5,0)
2827
											HUM.Health = HUM.Health - 0.1
2828
											HUM.PlatformStand = false
2829
											if TORSO.RotVelocity.Magnitude < 15 then
2830
										 		TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
2831
											end
2832
										end
2833
									end
2834
								end
2835
							end
2836
						end
2837
						FIELD.Size = FIELD.Size - VT(3,3,3)
2838
						FIELD.Transparency = FIELD.Transparency + 0.2/25
2839
					end	
2840
					FIELD:remove()
2841
				end))
2842
			elseif RANDOMEFFECT == 3 then
2843
				for i = 1, 10 do
2844
					wait(0.15)
2845
					WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(3,8,3), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(0,0.3,0), MoveToPos = BASE.Position+VT(0,6,0), RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 90655239, SoundPitch = 0.8, SoundVolume = 6})
2846
					coroutine.resume(coroutine.create(function()
2847
						local MINION = CLONE:Clone()
2848
						MINION.Parent = Effects
2849
						MINION.Name = "Shadow"
2850
						MINION.HumanoidRootPart.CFrame = BASE.CFrame*CF(0,5,0) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))
2851
						MINION.HumanoidRootPart.Velocity = CF(MINION.HumanoidRootPart.Position,MINION.HumanoidRootPart.CFrame*CF(0,8,-15).p).lookVector*MRANDOM(55,100)
2852
						for _, c in pairs(MINION:GetChildren()) do
2853
							if c.ClassName == "Part" then
2854
								c.Material = "Neon"
2855
								c.Color = C3(0,0,0)
2856
								c.Transparency = 0.25
2857
								if c.Name == "Head" then
2858
									c:ClearAllChildren()
2859
									local MSH = IT("BlockMesh",c)
2860
									MSH.Scale = VT(0.5,1,1)
2861
								end
2862
							end
2863
						end
2864
						local TORSO = MINION.Torso
2865
						local HUMAN = MINION.Humanoid
2866
						HUMAN.WalkSpeed = 20
2867
						HUMAN.MaxHealth = math.huge
2868
						HUMAN.Health = math.huge
2869
						HUMAN.DisplayDistanceType = "None"
2870
						HUMAN.Died:connect(function()
2871
							MINION:remove()
2872
							--CreateSound(SHOUTS[MRANDOM(1,3)], TORSO, 3, 0.5, false)
2873
						end)
2874
						wait(1)
2875
						local findNearestTorso = function(POS)
2876
							local list = game.Workspace:GetDescendants()
2877
							local torso = nil
2878
							local dist = 500
2879
							local temp = nil
2880
							local human = nil
2881
							local temp2 = nil
2882
							for x = 1, #list do
2883
								temp2 = list[x]
2884
								if (temp2.className == "Model") and (temp2 ~= Character) and (temp2.Parent ~= Effects) then
2885
									temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
2886
									human = temp2:findFirstChildOfClass("Humanoid")
2887
									if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
2888
										if (temp.Position - POS).magnitude < dist then
2889
											torso = temp
2890
											dist = (temp.Position - POS).magnitude
2891
										end
2892
									end
2893
								end
2894
							end
2895
							return torso, dist
2896
						end
2897
						for i = 1, 40 do
2898
							if HUMAN.Health == 0 then
2899
								break
2900
							end
2901
							wait(0.3)
2902
							local target,dist= findNearestTorso(TORSO.Position)
2903
							if target then
2904
								HUMAN:MoveTo(target.Position)
2905
								if dist < 25 then
2906
									CreateSound(348663022, TORSO, 10, 1, true)
2907
									wait(2)
2908
									--local ANIM = HUMAN:LoadAnimation(ATANIM)
2909
									--ANIM:Play()
2910
									--CreateSound(SHOUTS[MRANDOM(1,3)], TORSO, 1, 1, false)
2911
									ApplyAoE(TORSO.Position,10,0,0,85,true)
2912
									WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 201858087, SoundPitch = 0.8, SoundVolume = 10})
2913
									for i = 1, 5 do
2914
										WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(15,1,15), Transparency = 0.5, Transparency2 = 1, CFrame = TORSO.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-15,15)/7.5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
2915
									end
2916
									break
2917
								end
2918
							end
2919
						end
2920
						MINION:remove()
2921
					end))
2922
				end
2923
			elseif RANDOMEFFECT == 4 then
2924
				local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "Alder", "Field", VT(0.3,0.3,0.3))
2925
				FIELD.Color = C3(0,0,0)
2926
				FIELD.CFrame = BASE.CFrame
2927
				MakeForm(FIELD,"Ball")
2928
				FIELD.CanCollide = true
2929
				for i = 1, 50 do
2930
					Swait()
2931
					FIELD.Size = FIELD.Size + VT(0.01,0.01,0.01)
2932
					FIELD.CFrame = FIELD.CFrame * CF(0,0.75-(i/45),0)
2933
				end
2934
				wait(0.2)
2935
				local LOOP = CreateSound(487214658, FIELD, 0, 1, true)
2936
				coroutine.resume(coroutine.create(function()
2937
					local E = 0
2938
					for i = 1, 75 do
2939
						E = E + 1
2940
						Swait()
2941
						if E >= 35 then
2942
							E = 0
2943
							WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = FIELD.Size*30, Size2 = FIELD.Size, Transparency = 0.8, Transparency2 = 1, CFrame = FIELD.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = nil, SoundPitch = 1, SoundVolume = 6})
2944
						end
2945
						LOOP.Volume = LOOP.Volume + 10/75
2946
						LOOP.Parent = FIELD
2947
						local CHILDREN = workspace:GetDescendants()
2948
						for index, CHILD in pairs(CHILDREN) do
2949
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
2950
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2951
								if HUM then
2952
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2953
									if TORSO then
2954
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X*30 then
2955
											for _, c in pairs(CHILD:GetChildren()) do
2956
												if c:IsA("BasePart") then
2957
													local bv = Instance.new("BodyVelocity") 
2958
													bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2959
													bv.velocity = CF(FIELD.Position,c.Position).lookVector*-50
2960
													bv.Parent = c
2961
													Debris:AddItem(bv,0.05)
2962
												end
2963
											end
2964
											HUM.Health = HUM.Health - 0.3
2965
										end
2966
									end
2967
								end
2968
							end
2969
						end
2970
						FIELD.Size = FIELD.Size + VT(0.3,0.3,0.3)/5
2971
					end
2972
					for i = 1, 180 do
2973
						E = E + 1
2974
						Swait()
2975
						if E >= 35 then
2976
							E = 0
2977
							WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = FIELD.Size*30, Size2 = FIELD.Size, Transparency = 0.8, Transparency2 = 1, CFrame = FIELD.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = nil, SoundPitch = 1, SoundVolume = 6})
2978
						end
2979
						LOOP.Parent = FIELD
2980
						local CHILDREN = workspace:GetDescendants()
2981
						for index, CHILD in pairs(CHILDREN) do
2982
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
2983
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2984
								if HUM then
2985
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2986
									if TORSO then
2987
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X*30 then
2988
											for _, c in pairs(CHILD:GetChildren()) do
2989
												if c:IsA("BasePart") then
2990
													local bv = Instance.new("BodyVelocity") 
2991
													bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2992
													bv.velocity = CF(FIELD.Position,c.Position).lookVector*-50
2993
													bv.Parent = c
2994
													Debris:AddItem(bv,0.05)
2995
												end
2996
											end
2997
											HUM.Health = HUM.Health - 0.3
2998
										end
2999
									end
3000
								end
3001
							end
3002
						end
3003
					end
3004
					ApplyAoE(FIELD.Position,40,15,20,375,false)
3005
					WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = FIELD.Size, Size2 = VT(35,35,35), Transparency = 0, Transparency2 = 1, CFrame = FIELD.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = 231917744, SoundPitch = 1, SoundVolume = 6})
3006
					for i = 1, 5 do
3007
						WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35), Transparency = 0.5, Transparency2 = 1, CFrame = FIELD.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
3008
					end
3009
					FIELD:remove()
3010
				end))
3011
			elseif RANDOMEFFECT == 5 then
3012
			end
3013
			wait(0.5)
3014
			for i = 1, 25 do
3015
				Swait()
3016
				PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * CF(0,-0.3,0))
3017
			end
3018
			PANDORASBOX:remove()
3019
			RINGSPIN = false
3020
		end))
3021
		ATTACK = false
3022
		Rooted = false
3023
	end
3024
end
3025
3026
function TimeSweep() 
3027
    ATTACK = true
3028
    Rooted = false
3029
    for i=0, 0.5, 0.1 / Animation_Speed do
3030
        Swait()
3031
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3032
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 1*SIZE, -0.3*SIZE) * ANGLES(RAD(0.98), RAD(-119.59 + 2.5 * SIN(SINE / 25)), RAD(-175.39 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3033
    end
3034
    for e = 1, #BODY do
3035
        if BODY[e] ~= nil then
3036
            local STUFF = BODY[e]
3037
            local PART = STUFF[1]
3038
            if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
3039
                local PRT = PART:Clone()
3040
                PRT.Anchored = true
3041
                PRT.CanCollide = false
3042
                PRT.Material = "Neon"
3043
                PRT.Color = C3(1,0,0)
3044
                PRT.Name = "WarpEffect"
3045
                PRT.Parent = Effects
3046
                PRT.CFrame = PART.CFrame
3047
                PRT:BreakJoints()
3048
                if PRT:FindFirstChildOfClass("Sound") then
3049
                    PRT:FindFirstChildOfClass("Sound"):remove()
3050
                end
3051
                if PRT:FindFirstChildOfClass("Decal") then
3052
                    PRT:FindFirstChildOfClass("Decal"):remove()
3053
                end
3054
                coroutine.resume(coroutine.create(function()
3055
                    for i = 1, 100 do
3056
                        Swait()
3057
                        PRT.Transparency = PRT.Transparency + 1/100
3058
                    end
3059
                    PRT:remove()
3060
                end))
3061
            end
3062
        end
3063
    end
3064
    local POS = RootPart.Orientation
3065
    RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
3066
    RootPart.Orientation = POS
3067
    RootJoint.Parent = RootPart
3068
    for i=0, 0.5, 0.1 / Animation_Speed do
3069
        Swait()
3070
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3071
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 1*SIZE, -0.3*SIZE) * ANGLES(RAD(0.98), RAD(-119.59 + 2.5 * SIN(SINE / 25)), RAD(-175.39 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3072
     end
3073
    for i=0, 0.1, 0.1 / Animation_Speed do
3074
        Swait()
3075
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 1*SIZE, -0.3*SIZE) * ANGLES(RAD(0.98), RAD(-119.59 + 2.5 * SIN(SINE / 25)), RAD(-175.39 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3076
    end
3077
    ATTACK = false
3078
    Rooted = false
3079
end
3080
3081
function Taunt()
3082
    chatfunc("Just don't bore me yeah")
3083
	ATTACK = true
3084
	Rooted = true
3085
	local TAUNT = CreateSound(159882635, Torso,17, 1, false)
3086
	repeat
3087
		Swait()
3088
		TAUNT.Parent = Torso
3089
		TAUNT.Playing = true
3090
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3091
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(-0.02*SIZE, 0*SIZE, 0.4*SIZE + ((1*SIZE) - 1*SIZE)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
3092
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1*SIZE, 0.5*SIZE, -0.45*SIZE) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3093
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1*SIZE, 0.15*SIZE, -0.45*SIZE) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3094
		RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3095
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3096
	until TAUNT.TimePosition >= 1.25
3097
	for i=0, 1.6, 0.1 / Animation_Speed do
3098
		Swait()
3099
		TAUNT.Parent = Torso
3100
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(5)), 1 / Animation_Speed)
3101
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0.4*SIZE + ((1*SIZE) - 1*SIZE)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
3102
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1*SIZE, 0.5*SIZE, -0.45*SIZE) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3103
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1*SIZE, 0.15*SIZE, -0.45*SIZE) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3104
		RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3105
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3106
	end
3107
	ATTACK = false
3108
	Rooted = false
3109
end
3110
3111
function Smite()
3112
	local RING, MESH, DELET = MakeRing()
3113
	local POS = Mouse.Hit.p
3114
	RING.CFrame = CF(Mouse.Hit.p + VT(MRANDOM(-25, 25), 200, MRANDOM(-25, 25)), Mouse.Hit.p) * ANGLES(RAD(90), RAD(0), RAD(0))
3115
	for i = 1, 45 do
3116
		Swait()
3117
		MESH.Scale = MESH.Scale + VT(12, 0, 12)
3118
		RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
3119
	end
3120
	local HITFLOOR, HITPOS = Raycast(RING.Position, CF(RING.Position, RING.CFrame * CF(0, -1, 0).p).lookVector, 500, Character)
3121
	if HITFLOOR then
3122
		local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Really red"), "Beam", VT(0, 0, 0), true)
3123
		MakeForm(BEAM, "Cyl")
3124
		local DIST = (RING.Position - HITPOS).Magnitude
3125
		BEAM.Size = VT(0, DIST, 0)
3126
		BEAM.CFrame = CF(RING.Position, HITPOS) * CF(0, 0, -DIST / 2) * ANGLES(RAD(90), RAD(0), RAD(0))
3127
		for i = 1, 5 do
3128
			WACKYEFFECT({
3129
				EffectType = "Wave",
3130
				Size = VT(25, 0, 25),
3131
				Size2 = VT(40, 0, 40) + VT(i * 6, i / 5, i * 6),
3132
				Transparency = 0,
3133
				Transparency2 = 1,
3134
				CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
3135
				MoveToPos = nil,
3136
				RotationX = 0,
3137
				RotationY = 3,
3138
				RotationZ = 0,
3139
				Material = "Neon",
3140
				Color = C3(0, 0, 0),
3141
				SoundID = nil,
3142
				SoundPitch = nil,
3143
				SoundVolume = nil
3144
			})
3145
			WACKYEFFECT({
3146
				EffectType = "Round Slash",
3147
				Size = VT(3, 0, 3) / 13,
3148
				Size2 = (VT(3, 0, 3) + VT(i, 0, i)) / 5,
3149
				Transparency = 0,
3150
				Transparency2 = 1,
3151
				CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
3152
				MoveToPos = nil,
3153
				RotationX = 0,
3154
				RotationY = 0,
3155
				RotationZ = 0,
3156
				Material = "Neon",
3157
			    Color = C3(1, 0, 0),
3158
				SoundID = nil,
3159
				SoundPitch = nil,
3160
				SoundVolume = nil
3161
			})
3162
			WACKYEFFECT({
3163
				Time = 35,
3164
				EffectType = "Sphere",
3165
				Size = VT(22, 22, 22),
3166
				Size2 = VT(45, 45, 45) + VT(i * 5, i * 5, i * 5),
3167
				Transparency = 0,
3168
				Transparency2 = 1,
3169
				CFrame = CF(HITPOS),
3170
				MoveToPos = nil,
3171
				RotationX = 0,
3172
				RotationY = 0,
3173
				RotationZ = 0,
3174
				Material = "Neon",
3175
				Color = C3(0, 0, 0),
3176
				SoundID = 459523898,
3177
				SoundPitch = MRANDOM(9, 12) / 10,
3178
				SoundVolume = 10
3179
			})
3180
		end
3181
		SHAKECAM(HITPOS, 100, 8, 15)
3182
		ApplyAoE(HITPOS, 50)
3183
		for i = 1, 25 do
3184
			Swait()
3185
			BEAM.Size = BEAM.Size + VT(0.5, 0, 0.5)
3186
			BEAM.Transparency = BEAM.Transparency + 0.04
3187
		end
3188
		BEAM:remove()
3189
	end
3190
	wait(0.2)
3191
	DELET()
3192
end
3193
3194
function Earthquake()
3195
	ATTACK = true
3196
	Rooted = true
3197
	local GYRO = IT("BodyGyro", RootPart)
3198
	GYRO.D = 20
3199
	GYRO.P = 4000
3200
	GYRO.MaxTorque = VT(0, 40000, 0)
3201
	local RING, MESH, DELET = MakeRing()
3202
	local HITFLOOR, HITPOS = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 15, Character)
3203
	RING.CFrame = CF(HITPOS)
3204
	for i = 0, 0.6, 0.1 / Animation_Speed do
3205
		GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
3206
		Swait()
3207
		MESH.Scale = MESH.Scale + VT(53, 0, 53)
3208
		RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
3209
		WACKYEFFECT({TIME = 15, EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
3210
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3211
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
3212
	end
3213
	local BLASTS = {468991944, 468991990}
3214
	coroutine.resume(coroutine.create(function()
3215
		local CFRAME = RootPart.CFrame
3216
		for i = 1, 100 do
3217
			CFRAME = CFRAME * CF(0, 0, -35)
3218
			do
3219
				local HITFLOOR, HITPOS = Raycast(CFRAME.p, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 15, Character)
3220
				if HITFLOOR then
3221
					Swait()
3222
					do
3223
						local OFFSET = CFRAME * CF(MRANDOM(-25, 25), 0, 0)
3224
						coroutine.resume(coroutine.create(function()
3225
							local RING, MESH, DELET = MakeRing()
3226
							RING.CFrame = CF(OFFSET.p.X, HITPOS.Y, OFFSET.p.Z)
3227
							for i = 1, 25 do
3228
								Swait()
3229
								MESH.Scale = MESH.Scale + VT(42, 0, 42)
3230
								RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
3231
							end
3232
							ApplyAoE(RING.Position, 65)
3233
							SHAKECAM(RING.Position, 80, 15, 30)
3234
							local TURN = ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(0, 25)), RAD(0), RAD(0))
3235
							WACKYEFFECT({
3236
								Time = 25,
3237
								EffectType = "Sphere",
3238
								Size = VT(22, 22, 22),
3239
								Size2 = VT(85, 85, 85),
3240
								Transparency = 0,
3241
								Transparency2 = 1,
3242
								CFrame = CF(RING.Position),
3243
								MoveToPos = nil,
3244
								RotationX = 0,
3245
								RotationY = 0,
3246
								RotationZ = 0,
3247
								Material = "Neon",
3248
								Color = C3(0, 0, 0),
3249
								SoundID = BLASTS[MRANDOM(1, #BLASTS)],
3250
								SoundPitch = MRANDOM(9, 12) / 10,
3251
								SoundVolume = 10
3252
							})
3253
							for e = 1, 3 do
3254
								WACKYEFFECT({
3255
									EffectType = "Wave",
3256
									Size = VT(25, 0, 25),
3257
									Size2 = VT(40, 0, 40) + VT(e * 6, e / 5, e * 6),
3258
									Transparency = 0,
3259
									Transparency2 = 1,
3260
									CFrame = CF(RING.Position) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
3261
									MoveToPos = nil,
3262
									RotationX = 0,
3263
									RotationY = 3,
3264
									RotationZ = 0,
3265
									Material = "Neon",
3266
									Color = C3(0, 0, 0),
3267
									SoundID = nil,
3268
									SoundPitch = nil,
3269
									SoundVolume = nil
3270
								})
3271
								WACKYEFFECT({
3272
									Time = 35,
3273
									EffectType = "Sphere",
3274
									Size = VT(22, 45, 22),
3275
									Size2 = VT(25, 45 + e * 75, 25),
3276
									Transparency = 0,
3277
									Transparency2 = 1,
3278
									CFrame = CF(RING.Position) * TURN,
3279
									MoveToPos = nil,
3280
									RotationX = 0,
3281
									RotationY = 0,
3282
									RotationZ = 0,
3283
									Material = "Neon",
3284
									Color = C3(0, 0, 0),
3285
									SoundID = nil,
3286
									SoundPitch = MRANDOM(9, 12) / 10,
3287
									SoundVolume = 10
3288
								})
3289
							end
3290
							wait(0.3)
3291
							DELET()
3292
						end))
3293
					end
3294
				end
3295
			end
3296
		end
3297
	end))
3298
	Rooted = false
3299
	DELET()
3300
	GYRO:remove()
3301
	ATTACK = false
3302
	Rooted = false
3303
end
3304
3305
function SpawnSmite(POS)
3306
	local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
3307
	local EMITPOS = HITPOS
3308
	if HITFLOOR ~= nil then
3309
		if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
3310
			HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
3311
			EMITPOS = HITPOS
3312
		elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
3313
			HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
3314
			EMITPOS = HITPOS
3315
		end
3316
	end
3317
	if HITFLOOR ~= nil then
3318
		ApplyAoE(EMITPOS,10)
3319
		WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
3320
		WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
3321
		WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
3322
		for i = 1, 5 do
3323
			local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
3324
			WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
3325
		end
3326
	end
3327
end
3328
3329
function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
3330
	coroutine.resume(coroutine.create(function()
3331
		local METEOR = IT("Model",Effects)
3332
		METEOR.Name = "Meteorite"
3333
		local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
3334
		METEOR.PrimaryPart = CENTER
3335
		local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
3336
		PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
3337
		for i = 1, 15 do
3338
			local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really red", "Fire", VT(5.1,1,5.1)*SIZE)
3339
			FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
3340
		end
3341
		if ISDEBREE ~= true then
3342
			METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
3343
		else
3344
			METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
3345
		end
3346
		local IMPACT = false
3347
		CreateSound(463593339, CENTER, 10, 0.6)
3348
		if SIZE >= 3.5 then
3349
			for i = 1, MRANDOM(3,7) do
3350
				SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
3351
			end
3352
		end
3353
		for i = 1, 200 do
3354
			Swait()
3355
			local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
3356
			if HITFLOOR == nil then
3357
				local ORI = CENTER.Orientation
3358
				METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
3359
			else
3360
				if HITFLOOR.Anchored == true then
3361
					CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
3362
					CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
3363
				end
3364
				IMPACT = true
3365
				break
3366
			end
3367
		end
3368
		if IMPACT == true then
3369
			WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
3370
			WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
3371
			WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
3372
			ApplyAoE(CENTER.Position,30*SIZE)
3373
		end
3374
		METEOR:remove()
3375
	end))
3376
end
3377
3378
function Smite2()
3379
	ATTACK = true
3380
	Rooted = false
3381
	CreateSound(1368573150, RightArm, 3, 0.8)
3382
	CreateSound(649634100, Torso, 10, 0.8)
3383
	for i=0, 1.2, 0.1 / Animation_Speed do
3384
		Swait()
3385
		WACKYEFFECT({TIME = 15, EffectType = "Block", Size = VT(3,3,3)/2, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
3386
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.5 + ((0.1) - 0.1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3387
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
3388
	end
3389
	local POS = Mouse.Hit.p
3390
	CreateSound(463593339, Effects, 3, 1)
3391
	coroutine.resume(coroutine.create(function()
3392
		for i = 1, 35 do
3393
			wait(MRANDOM(35,45)/100)
3394
			SpawnMeteor(CF(POS) * ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0,MRANDOM(0,1500)/10).p,MRANDOM(10,25)/10)
3395
		end
3396
	end))
3397
	ATTACK = false
3398
	Rooted = false
3399
end
3400
3401
function Taunt()
3402
	ATTACK = true
3403
	Rooted = false
3404
	TAUNT = true
3405
	for i=0, 0.1, 0.1 / Animation_Speed do
3406
		Swait()
3407
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3408
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
3409
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
3410
	end
3411
	for i=0, 3, 0.1 / Animation_Speed do
3412
		Swait()
3413
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3414
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3415
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(15)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3416
	end
3417
	CreateSound(363808674, Torso, 10, 1.3)
3418
	for i=0, 1, 0.1 / Animation_Speed do
3419
		Swait()
3420
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(120)), 3 / Animation_Speed)
3421
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 3/ Animation_Speed)
3422
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(230), RAD(0), RAD(35)) * LEFTSHOULDERC0, 3 / Animation_Speed)
3423
	end
3424
	WACKYEFFECT({EffectType = "Block", Size = VT(6,6,6), Size2 = VT(15,15,15), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
3425
	CreateSound(649634100, Torso, 10, 0.8)
3426
	for i=0, 0.01, 0.1 / Animation_Speed do
3427
		Swait()
3428
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 3 / Animation_Speed)
3429
		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, 3 / Animation_Speed)
3430
		LeftShoulder.C0 = Clerp(LeftShoulder.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)) * LEFTSHOULDERC0, 3 / Animation_Speed)
3431
	end
3432
	ATTACK = false
3433
	Rooted = false
3434
	TAUNT = false
3435
end
3436
3437
function Taunt2()
3438
	ATTACK = true
3439
	Rooted = true
3440
	local TAUNT = CreateSound(159882303,Torso,10,1,false)
3441
	coroutine.resume(coroutine.create(function()
3442
		repeat
3443
			Swait()
3444
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3445
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3446
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15*SIZE, 0.75*SIZE, -0.5*SIZE) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3447
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15*SIZE, 0.25*SIZE, -0.5*SIZE) * ANGLES(RAD(90), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3448
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3449
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3450
		until ATTACK == false
3451
	end))
3452
	repeat wait() until TAUNT.Playing == false
3453
	ATTACK = false
3454
	Rooted = false
3455
end
3456
3457
function Prison_Key()
3458
	if Mouse.Target ~= nil then
3459
		if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
3460
			local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
3461
			local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
3462
			local GYRO = IT("BodyGyro",RootPart)
3463
			GYRO.D = 750
3464
			GYRO.P = 20000
3465
			GYRO.MaxTorque = VT(0,40000000,0)
3466
			local grav = Instance.new("BodyPosition",TORSO)
3467
			grav.D = 15
3468
			grav.P = 20000
3469
			grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
3470
			grav.position = TORSO.Position
3471
			local GYRO2 = IT("BodyGyro",TORSO)
3472
			GYRO2.D = 750
3473
			GYRO2.P = 20000
3474
			GYRO2.MaxTorque = VT(0,40000000,0)
3475
			GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
3476
			grav.Name = "Jail"
3477
			local LOCKPARTS = {}
3478
			ATTACK = true
3479
			Rooted = false
3480
			local LOCK = IT("Model",Effects)
3481
			LOCK.Name = "Lock"
3482
			local LOCK2 = IT("Model",LOCK)
3483
			LOCK2.Name = "Metal"
3484
			--CREATE LOCK--
3485
				local BASE = CreatePart(3, LOCK, "Glass", 0, 0, "Really black", "Keylock", VT(3, 2.5, 1))
3486
				LOCK.PrimaryPart = BASE
3487
				BASE.CFrame = CF(TORSO.Position,RootPart.Position)*CF(0,0,-4)
3488
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "Really black", "Keylock", VT(3, 1, 3))
3489
				PRT.CFrame = BASE.CFrame*CF(0,-1.25,0)*ANGLES(RAD(90),RAD(0),RAD(0))
3490
				MakeForm(PRT,"Cyl")
3491
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(1, 1, 1))
3492
				PRT.Color = C3(0.58,0.58,0.58)
3493
				PRT.CFrame = BASE.CFrame*CF(0,0.3,-0.01)*ANGLES(RAD(90),RAD(0),RAD(0))
3494
				MakeForm(PRT,"Cyl")
3495
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(0.5, 1, 1))
3496
				PRT.Color = C3(0.58,0.58,0.58)
3497
				PRT.CFrame = BASE.CFrame*CF(0,-0.2,-0.01)
3498
				for i = 1, 45 do
3499
					local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
3500
					PRT.CFrame = BASE.CFrame*CF(0,2,0)*ANGLES(RAD(0),RAD(0),RAD(-90+(360/90*i)))*CF(0,1,0)
3501
				end
3502
				local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
3503
				PRT.CFrame = BASE.CFrame*CF(0,1.5,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0)
3504
				LOCK2.PrimaryPart = PRT
3505
			---------------
3506
			local CHILDREN = LOCK:GetDescendants()
3507
			for index, CHILD in pairs(CHILDREN) do
3508
				if CHILD:IsA("BasePart") then
3509
					CHILD.Transparency = 1
3510
				end
3511
			end
3512
			for i = 1, 75 do
3513
				LOCK:SetPrimaryPartCFrame(CF(TORSO.Position,RootPart.Position)*CF(0,0,-4))
3514
				Swait()
3515
				GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
3516
				GYRO.cframe = CF(RootPart.Position,TORSO.Position)
3517
				local CHILDREN = LOCK:GetDescendants()
3518
				for index, CHILD in pairs(CHILDREN) do
3519
					if CHILD:IsA("BasePart") then
3520
						CHILD.Transparency = CHILD.Transparency - 1/75
3521
					end
3522
				end
3523
			end
3524
			HUM.DisplayDistanceType = "None"
3525
			local KEY = IT("Model",Effects)
3526
			KEY.Name = "Key"
3527
			--CREATE KEY--
3528
				local KBASE = CreatePart(3, KEY, "Neon", 0, 0, "Black", "KeyBase", VT(0.1, 1, 0.1),false)
3529
				KEY.PrimaryPart = KBASE
3530
				KBASE.CFrame = RightArm.CFrame*CF(0,-2.1,0)*ANGLES(RAD(0),RAD(90),RAD(0))
3531
				local WLD = weldBetween(RightArm,KBASE)
3532
				for i = 1, 45 do
3533
					local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Black", "Key", VT(0.1, 0.1, 0.1),false)
3534
					PRT.CFrame = KBASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD((360/45*i)))*CF(0,0.25,0)
3535
					weldBetween(KBASE,PRT)
3536
				end
3537
				local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Black", "Key", VT(0.3, 0.1, 0.1),false)
3538
				PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.45,0)
3539
				weldBetween(KBASE,PRT)
3540
				local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Black", "Key", VT(0.3, 0.1, 0.1),false)
3541
				PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.25,0)
3542
				weldBetween(KBASE,PRT)
3543
			--------------
3544
			Rooted = true
3545
			Pose("Prepare key",1.5,1.2,false,GYRO,TORSO)
3546
			coroutine.resume(coroutine.create(function()
3547
				for i = 1, 10 do
3548
					Swait()
3549
					GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
3550
					GYRO.cframe = CF(RootPart.Position,TORSO.Position)
3551
				end
3552
				CreateSound(1149318312,BASE,5,1,false)
3553
				CreateSound(160772554,BASE,3,1,false)
3554
				LOCK2:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0))
3555
				for i = 1, 4 do
3556
					WACKYEFFECT({Time = 35, EffectType = "Crystal", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(1,1.45,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3557
				end
3558
				WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1)*25, Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
3559
				wait(1)
3560
				TORSO.Parent.Parent = LOCK
3561
				for i = 1, 75 do
3562
					Swait()
3563
					local CHILDREN = KEY:GetDescendants()
3564
					for index, CHILD in pairs(CHILDREN) do
3565
						if CHILD:IsA("BasePart") then
3566
							CHILD.Transparency = i/25
3567
						end
3568
					end
3569
					local CHILDREN = LOCK:GetDescendants()
3570
					for index, CHILD in pairs(CHILDREN) do
3571
						if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
3572
							CHILD.Transparency = CHILD.Transparency + 1/75
3573
						elseif CHILD.ClassName == "Decal" then
3574
							CHILD.Transparency = CHILD.Transparency + 1/75
3575
						end
3576
					end
3577
				end
3578
				TORSO.Parent:ClearAllChildren()
3579
				KEY:remove()
3580
				LOCK:remove()
3581
			end))
3582
			Pose("Turn key",0.8,1.2,false,GYRO,TORSO)
3583
			GYRO:remove()
3584
			ATTACK = false
3585
			Rooted = false
3586
		end
3587
	end
3588
end
3589
3590
function Endless_Pain()
3591
	local HITBODIES = {}
3592
	local HITFLOOR, HITPOS, NORMAL = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 7 * Player_Size, Character)
3593
	if HITFLOOR ~= nil then
3594
		CreateSound("463598785", RootPart, 10, 0.8)
3595
		ATTACK = true
3596
		Rooted = true
3597
		VALUE1 = true
3598
		for i = 1, 500 do
3599
			Swait()
3600
			AddChildrenToTable(HITPOS, workspace, i / 3, HITBODIES)
3601
			Slice("Round", 0.5 + i / 50, 35, CF(HITPOS + VT(0*SIZE, 0.1*SIZE, 0*SIZE), HITPOS + VT(0, 0.1, 0) + NORMAL) * ANGLES(RAD(90), RAD(0), RAD(0)) * ANGLES(RAD(MRANDOM(-18, 18)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-18, 18))), "Mid grey", VT(0.001, 0, 0.001))
3602
			Slice("Round", 0.5 + i / 50, 45, CF(HITPOS + VT(0*SIZE, 0.1*SIZE, 0*SIZE), HITPOS + VT(0, 0.1, 0) + NORMAL) * ANGLES(RAD(90), RAD(MRANDOM(-180, 180)), RAD(0)), "Mid grey", VT(0, 0, 0))
3603
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
3604
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3605
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(115), RAD(45), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3606
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3607
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
3608
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
3609
			for e = 1, #HITBODIES do
3610
				if HITBODIES[e] ~= nil then
3611
					local BOD = HITBODIES[e]
3612
					local TORS = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
3613
					if TORS and TORS:FindFirstChild("BV") == nil then
3614
						local bv = Instance.new("BodyVelocity")
3615
						bv.Name = "BV"
3616
						bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
3617
						bv.velocity = CF(TORS.Position, TORS.Position + VT(0, 1, 0)).lookVector * 20
3618
						bv.Parent = TORS
3619
						Debris:AddItem(bv, 0.1)
3620
					end
3621
				end
3622
			end
3623
		end
3624
		coroutine.resume(coroutine.create(function()
3625
			for e = 1, #HITBODIES do
3626
				Swait()
3627
				if HITBODIES[e] ~= nil then
3628
					local BOD = HITBODIES[e]
3629
					for i = 1, #HITBODIES do
3630
						if HITBODIES[i] == BOD and i ~= e then
3631
							table.remove(HITBODIES, i)
3632
						end
3633
					end
3634
					local TORS = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
3635
					if TORS then
3636
						TORS.Anchored = false
3637
						CreateSound("92597369", TORS, 10, 0.8)
3638
						Slice("Thin", 1, 35, CF(TORS.Position, HITPOS) * ANGLES(RAD(0), RAD(-90), RAD(0)), "Really red", VT(0.01, 0, 0.01))
3639
						BOD:BreakJoints()
3640
						for _, c in pairs(BOD:GetChildren()) do
3641
							if c.ClassName == "Part" or c.ClassName == "MeshPart" then
3642
								local bv = Instance.new("BodyVelocity")
3643
								bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
3644
								bv.velocity = CF(HITPOS, c.Position).lookVector * 250
3645
								bv.Parent = c
3646
								Debris:AddItem(bv, 0.2)
3647
							end
3648
						end
3649
					end
3650
				end
3651
			end
3652
		end))
3653
		VALUE1 = false
3654
		ATTACK = false
3655
		Rooted = false
3656
	end
3657
end
3658
3659
function Inferno_Ring()
3660
	ATTACK = true
3661
	Rooted = false
3662
	local GYRO = IT("BodyGyro",RootPart)
3663
	GYRO.D = 750
3664
	GYRO.P = 20000
3665
	GYRO.MaxTorque = VT(0,40000000,0)
3666
	local FIRE = IT("Model",Effects)
3667
	FIRE.Name = "Fire"
3668
	local MAIN = CreatePart(3, FIRE, "Neon", 0, 1, "Really red", "Center", VT(0,0,0))
3669
	FIRE.PrimaryPart = MAIN
3670
	local FIRES = {}
3671
	for i = 1, 45 do
3672
		local PRT = CreatePart(3, FIRE, "Neon", 0, 1, "Really red", "RingPart", VT(3,3,3))
3673
		PRT.CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD((360/45)*i),RAD(0))*CF(0,0,20)
3674
		local F = Fire(PRT)
3675
		table.insert(FIRES,F)
3676
	end
3677
	repeat
3678
		FIRE:SetPrimaryPartCFrame(CF(Mouse.Hit.p))
3679
		Pose("Cast1",1.5,0.01,false,GYRO)
3680
	until HOLD == true
3681
	coroutine.resume(coroutine.create(function()
3682
		for i = 1, 4 do
3683
			ApplyAoE(MAIN.Position,21,-15,true)
3684
			CreateSound(463598785,MAIN,3,1,false)
3685
			for E = 1, #FIRES do
3686
				if FIRES[E] ~= nil then
3687
					FIRES[E].Acceleration = VT(0,300,0)
3688
					FIRES[E].Lifetime=NumberRange.new(0.35,1.5)
3689
				end
3690
			end
3691
			wait(0.3)
3692
		end
3693
		for E = 1, #FIRES do
3694
			if FIRES[E] ~= nil then
3695
				FIRES[E].Enabled = false
3696
			end
3697
		end
3698
		Debris:AddItem(FIRE,5)
3699
	end))
3700
	CreateSound(215395388,RightArm,3,2,false)
3701
	Pose("RightArmUp",1.5,0.5,true)
3702
	GYRO:remove()
3703
	ATTACK = false
3704
	Rooted = false
3705
end
3706
3707
function TakeOnMe()
3708
	Speed = 5
3709
	local MEME = CreateSound(1554763595, Effects, 2, 1, false)
3710
	ATTACK = true
3711
	Rooted = false
3712
	local DANCE = true
3713
	local KEY = Mouse.KeyDown:connect(function(NEWKEY)
3714
		if NEWKEY == "]" then
3715
			DANCE = false
3716
		end
3717
	end)
3718
	PLAYSONG = false
3719
	while true do
3720
		for i = 1, 15 do
3721
			Swait()
3722
			MEME.Parent = Effects
3723
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 1 + 0.25*SIZE+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3724
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0.4*SIZE + ((0) - 0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3725
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55*SIZE, 0.75*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3726
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55*SIZE, 0.75*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3727
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.6*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3728
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, 0*SIZE, -1*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3729
		end
3730
		if DANCE == false then
3731
			break
3732
		end
3733
		for i = 1, 15 do
3734
			Swait()
3735
			MEME.Parent = Effects
3736
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 1 + -0.25*SIZE+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3737
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0.4*SIZE + ((0) - 0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3738
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55*SIZE, 0.75*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3739
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55*SIZE, 0.75*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(10)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3740
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, 0*SIZE, -1*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3741
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -0.6*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3742
		end
3743
	end
3744
	PLAYSONG = true
3745
	KEY:Disconnect()
3746
	MEME:remove()
3747
	Speed = 25
3748
	ATTACK = false
3749
	Rooted = false
3750
end
3751
3752
function RavagingOverthrower()
3753
    ATTACK = true
3754
    Rooted = true
3755
for i=0, 1, 0.1 / Animation_Speed do
3756
        Swait()
3757
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE + 0.05 * COS(SINE / 12) * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3758
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1.4 * SIZE) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3759
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * SIZE, 0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(100), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3760
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(30), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3761
        RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE, -0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3762
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE, -0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3763
    end
3764
    CreateSound("348663022", Torso, 5, 1)
3765
    local StartPos = RootPart.CFrame * CF(0,15,0).p
3766
    for i = 1, 5 do
3767
        MagicSphere2(25,25,CF(StartPos),"Really black")
3768
        Swait(15)
3769
    end
3770
    local soundeffect = IT("Sound",Torso)
3771
    soundeffect.SoundId = "rbxassetid://487186990"
3772
    soundeffect.Looped = true
3773
    soundeffect.Volume = 3
3774
    soundeffect.Playing = true
3775
    repeat
3776
        turnto(Mouse.Hit.p)
3777
        MagicSphere2(25,25,CF(StartPos),"White")
3778
        MagicSphere(25/10,25,CF(StartPos),"White")
3779
        local RayHit, RayPos, RayNormal = CastZapRay(StartPos, Mouse.Hit.p, 750, Character, false)
3780
        local distance = (StartPos - RayPos).magnitude
3781
        local RayBeam = IT("Part",Effects)
3782
        RayBeam.Material = "Neon"
3783
        RayBeam.Anchored = true
3784
        RayBeam.BrickColor = BRICKC"Lavender"
3785
        local mesh = IT("SpecialMesh",RayBeam)
3786
        mesh.MeshType = "Cylinder"
3787
        RayBeam.Size = Vector3.new(distance+10, 5, 5)
3788
        RayBeam.CFrame = CFrame.new(StartPos, RayPos) * CFrame.new(0, 0, -distance/2) * ANGLES(RAD(0),RAD(90),RAD(0))
3789
        MagicSphere(15,5,CF(RayPos),"Lavender")
3790
        killnearest(RayPos,15,100)
3791
        for i = 1, 3 do
3792
            CreateSwirl(0,25,true,-0.2,5,CF(RayPos) * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360))),"Really black")
3793
        end
3794
        Swait()
3795
        if KEYHOLD == false then
3796
            coroutine.resume(coroutine.create(function()
3797
                for i = 1, 5 do
3798
                    RayBeam.Transparency = RayBeam.Transparency + 1/5
3799
                    Swait()
3800
                end
3801
                RayBeam:remove()
3802
            end))
3803
        else
3804
            RayBeam:remove()
3805
        end
3806
    until KEYHOLD == false
3807
    soundeffect:remove()
3808
    ATTACK = false
3809
    Rooted = false
3810
end
3811
3812
function Wall()
3813
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 8, Character)
3814
	if HITFLOOR ~= nil then
3815
		if HITFLOOR.Anchored == true then
3816
			local WALL = HITFLOOR:Clone()
3817
			WALL.Size = VT(45,45,5)
3818
			WALL.Parent = Effects
3819
			WALL.Name = "Wall"
3820
			WALL.CFrame = RootPart.CFrame*CF(0,-65/2.1,-5)*ANGLES(RAD(-15),RAD(0),RAD(0))
3821
			CreateSound(130972023,WALL,5,0.8,false)
3822
			ATTACK = true
3823
			Rooted = true
3824
			local HIT = WALL.Touched:Connect(function(hit)
3825
				if hit.Parent ~= Character then
3826
					hit:BreakJoints()
3827
				end
3828
			end)
3829
			coroutine.resume(coroutine.create(function()
3830
				WACKYEFFECT({Time = 35, EffectType = "Box", Size = WALL.Size, Size2 = WALL.Size*2, Transparency = 0, Transparency2 = 1, CFrame = WALL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3831
				for i = 1, 90 do
3832
					Swait()
3833
					WALL.CFrame = WALL.CFrame*CF(0,0.5,0)
3834
				end
3835
				HIT:disconnect()
3836
				wait(5)
3837
				for i = 1, 46 do
3838
					Swait()
3839
					WALL.CFrame = WALL.CFrame*CF(0,-1,0)
3840
				end
3841
				WALL:remove()
3842
			end))
3843
			Pose("RightArmUp2",1.5,1.2,true)
3844
			ATTACK = false
3845
			Rooted = false
3846
		end
3847
	end
3848
end
3849
3850
function Petrify(Foe)
3851
	local STONEMODEL = IT("Model", Effects)
3852
	local CHILDREN = Foe:GetDescendants()
3853
	for index, CHILD in pairs(CHILDREN) do
3854
		if CHILD:IsA("BasePart") and CHILD.Parent.ClassName ~= "Folder" then
3855
			CHILD.Parent = STONEMODEL
3856
			CHILD.Material = "Slate"
3857
			CHILD.Color = C3(0.5, 0.5, 0.5)
3858
			if CHILD:FindFirstChildOfClass("SpecialMesh") then
3859
				local mesh = CHILD:FindFirstChildOfClass("SpecialMesh")
3860
				mesh.TextureId = ""
3861
			end
3862
			if CHILD:FindFirstChildOfClass("Decal") then
3863
				local mesh = CHILD:FindFirstChildOfClass("Decal")
3864
				mesh:remove()
3865
			end
3866
			if CHILD.ClassName == "MeshPart" then
3867
				CHILD.TextureID = ""
3868
			end
3869
			if CHILD.ClassName == "UnionOperation" then
3870
				CHILD.UsePartColor = true
3871
			end
3872
			CHILD.CanCollide = true
3873
		end
3874
	end
3875
	Debris:AddItem(STONEMODEL, 5)
3876
end
3877
3878
function Stonewill()
3879
	ATTACK = true
3880
	Rooted = true
3881
	if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
3882
		local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
3883
		local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
3884
		if TORSO then
3885
			local GYRO = IT("BodyGyro", RootPart)
3886
			GYRO.D = 750
3887
			GYRO.P = 2000
3888
			GYRO.MaxTorque = VT(0, 40000, 0)
3889
			CreateSound("907330103", Torso, 5, 1.1)
3890
			for i = 0, 1.6, 0.1 / Animation_Speed do
3891
				Swait()
3892
				WACKYEFFECT({
3893
					Time = 5,
3894
					EffectType = "Round Slash",
3895
					Size = VT(0, 0, 0),
3896
					Size2 = VT(0.01, 0, 0.01),
3897
					Transparency = 0.5,
3898
					Transparency2 = 1,
3899
					CFrame = CF(Head.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
3900
					MoveToPos = nil,
3901
					RotationX = MRANDOM(-50, 50) / 10,
3902
					RotationY = MRANDOM(-50, 50) / 10,
3903
					RotationZ = MRANDOM(-50, 50) / 10,
3904
					Material = "Neon",
3905
					Color = C3(1, 0, 0),
3906
					SoundID = nil,
3907
					SoundPitch = nil,
3908
					SoundVolume = nil
3909
				})
3910
				GYRO.cframe = CF(RootPart.Position, TORSO.Position)
3911
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.2 / Animation_Speed)
3912
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.5) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 0.2 / Animation_Speed)
3913
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.8, 0.8 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(120), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-45)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
3914
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3915
				if ANIM == "Idle" then
3916
					RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3917
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3918
				elseif ANIM == "Walk" then
3919
					RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
3920
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
3921
				elseif ANIM == "Jump" or ANIM == "Fall" then
3922
					RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3923
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3924
				end
3925
			end
3926
			GYRO:remove()
3927
			for i = 1, 15 do
3928
				WACKYEFFECT({
3929
					Time = MRANDOM(15, 85),
3930
					EffectType = "Round Slash",
3931
					Size = VT(0, 0, 0),
3932
					Size2 = VT(0.3, 0, 0.3),
3933
					Transparency = 0.5,
3934
					Transparency2 = 1,
3935
					CFrame = CF(TORSO.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
3936
					MoveToPos = nil,
3937
					RotationX = MRANDOM(-50, 50) / 10,
3938
					RotationY = MRANDOM(-50, 50) / 10,
3939
					RotationZ = MRANDOM(-50, 50) / 10,
3940
					Material = "Neon",
3941
					Color = C3(1, 0, 0),
3942
					SoundID = nil,
3943
					SoundPitch = nil,
3944
					SoundVolume = nil
3945
				})
3946
			end
3947
			local bv = Instance.new("BodyVelocity")
3948
			bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
3949
			bv.velocity = CF(Torso.Position, TORSO.Position).lookVector * 5
3950
			bv.Parent = TORSO
3951
			Debris:AddItem(bv, 0.05)
3952
			CreateSound("1222405264", TORSO, 10, 0.9)
3953
			Petrify(HUM.Parent)
3954
			for i = 0, 0.5, 0.1 / Animation_Speed do
3955
				Swait()
3956
				WACKYEFFECT({
3957
					Time = 5,
3958
					EffectType = "Round Slash",
3959
					Size = VT(0, 0, 0),
3960
					Size2 = VT(0.01, 0, 0.01),
3961
					Transparency = 0.5,
3962
					Transparency2 = 1,
3963
					CFrame = CF(Head.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
3964
					MoveToPos = nil,
3965
					RotationX = MRANDOM(-50, 50) / 10,
3966
					RotationY = MRANDOM(-50, 50) / 10,
3967
					RotationZ = MRANDOM(-50, 50) / 10,
3968
					Material = "Neon",
3969
					Color = C3(1, 0, 0),
3970
					SoundID = nil,
3971
					SoundPitch = nil,
3972
					SoundVolume = nil
3973
				})
3974
				GYRO.cframe = CF(RootPart.Position, TORSO.Position)
3975
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 2 / Animation_Speed)
3976
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.5) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 2 / Animation_Speed)
3977
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.8, 0.8 + 0.025 * COS(SINE / 22), 0) * ANGLES(RAD(0), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
3978
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3979
				if ANIM == "Idle" then
3980
					RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3981
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3982
				elseif ANIM == "Walk" then
3983
					RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
3984
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
3985
				elseif ANIM == "Jump" or ANIM == "Fall" then
3986
					RightHip.C0 = Clerp(RightHip.C0, CF(1.5, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3987
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.5, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3988
				end
3989
			end
3990
		end
3991
	end
3992
	ATTACK = false
3993
	Rooted = false
3994
end
3995
3996
--//=================================\\
3997
--||	  ASSIGN THINGS TO KEYS
3998
--\\=================================//
3999
4000
function MouseDown(Mouse)
4001
	HOLD = true
4002
	if ATTACK == false then
4003
	end
4004
end
4005
4006
function MouseUp(Mouse)
4007
HOLD = false
4008
end
4009
4010
function KeyDown(Key)
4011
	KEYHOLD = true
4012
	if Key == "z" and ATTACK == false then
4013
		if MODE == "Superior" then
4014
			TimeSweep()
4015
		elseif MODE == "JusticeHorn" then
4016
			MagicMissiles()
4017
		elseif MODE == "Maniac" then
4018
			Wall()
4019
		end
4020
	end
4021
	
4022
	if Key == "x" and ATTACK == false then
4023
		if MODE == "Superior" then
4024
			Smite2()
4025
		elseif MODE == "JusticeHorn" then
4026
			PandorasBox()
4027
		elseif MODE == "Maniac" then
4028
			Inferno_Ring()
4029
		end
4030
	end
4031
	
4032
	if Key == "c" and ATTACK == false then
4033
		if MODE == "Superior" then
4034
			Smite()
4035
		elseif MODE == "JusticeHorn" then
4036
			ChainPunch()
4037
		elseif MODE == "Maniac" then
4038
			RavagingOverthrower()
4039
		end
4040
	end
4041
4042
	if Key == "v" and ATTACK == false then
4043
		if MODE == "Superior" then
4044
			Earthquake()
4045
		elseif MODE == "JusticeHorn" then
4046
			WarpMeteor()
4047
		elseif MODE == "Maniac" then
4048
			Endless_Pain()
4049
		end
4050
	end
4051
	
4052
	if Key == "b" and ATTACK == false then
4053
		if MODE == "Superior" then
4054
			Prison_Key()
4055
		elseif MODE == "JusticeHorn" then
4056
			TimesUp()
4057
		elseif MODE == "Maniac" then
4058
			Stonewill()
4059
		end
4060
	end
4061
	
4062
4063
	if Key == "p" and ATTACK == false then
4064
		TakeOnMe()
4065
	end
4066
4067
	if Key == "1" and ATTACK == false then
4068
		Taunt()
4069
	end
4070
4071
	if Key == "2" and ATTACK == false then
4072
		Taunt2()
4073
	end
4074
	
4075
	if Key == "f" and ATTACK == false then
4076
		Switch()	
4077
	end
4078
	
4079
	if Key == "e" and ATTACK == false then
4080
		Switch2()
4081
	end
4082
	
4083
	if Key == "q" and ATTACK == false then
4084
		Switch3()
4085
	end
4086
end
4087
4088
function KeyUp(Key)
4089
	KEYHOLD = false
4090
end
4091
4092
	Mouse.Button1Down:connect(function(NEWKEY)
4093
		MouseDown(NEWKEY)
4094
	end)
4095
	Mouse.Button1Up:connect(function(NEWKEY)
4096
		MouseUp(NEWKEY)
4097
	end)
4098
	Mouse.KeyDown:connect(function(NEWKEY)
4099
		KeyDown(NEWKEY)
4100
	end)
4101
	Mouse.KeyUp:connect(function(NEWKEY)
4102
		KeyUp(NEWKEY)
4103
	end)
4104
4105
--//=================================\\
4106
--\\=================================//
4107
4108
4109
function unanchor()
4110
	if UNANCHOR == true then
4111
		RootPart.Anchored = false
4112
	end
4113
	g = Character:GetChildren()
4114
	for i = 1, #g do
4115
		if g[i].ClassName == "Part" and g[i] ~= RootPart then
4116
			g[i].Anchored = false
4117
		end
4118
	end
4119
	g = Weapon:GetChildren()
4120
	for i = 1, #g do
4121
		if g[i].ClassName == "Part" then
4122
			g[i].Anchored = false
4123
		end
4124
	end
4125
end
4126
4127
4128
--//=================================\\
4129
--||	WRAP THE WHOLE SCRIPT UP
4130
--\\=================================//
4131
4132
Humanoid.Changed:connect(function(Jump)
4133
	if Jump == "Jump" and (Disable_Jump == true) then
4134
		Humanoid.Jump = false
4135
	end
4136
end)
4137
4138
while true do
4139
	Swait()
4140
	script.Parent = WEAPONGUI
4141
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
4142
	    v:Stop();
4143
	end
4144
	ANIMATE.Parent = nil
4145
	SINE = SINE + CHANGE*1.5
4146
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
4147
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
4148
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
4149
	local WALKSPEEDVALUE = 10 / (Humanoid.WalkSpeed / 16)
4150
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
4151
		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) / Animation_Speed)
4152
		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) / Animation_Speed)
4153
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5*SIZE, 0.875*SIZE - 0.125 * SIN(SINE / WALKSPEEDVALUE)*SIZE - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0 +0.5+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(25+80 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
4154
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5*SIZE, 0.875*SIZE + 0.125 * SIN(SINE / WALKSPEEDVALUE)*SIZE - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0 +0.5+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(-25+80 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
4155
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
4156
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
4157
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4158
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5*SIZE, 1*SIZE, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4159
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5*SIZE, 1*SIZE, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4160
	end
4161
	if TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
4162
		ANIM = "Fall"
4163
		if ATTACK == false then
4164
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4165
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
4166
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4167
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
4168
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 1 / Animation_Speed)
4169
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
4170
		end
4171
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
4172
		ANIM = "Idle"
4173
		if ATTACK == false then
4174
			if MODE == "Main" then
4175
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4176
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0.5 + ((0.1) - 0.1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4177
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.95, 0.75, 0) * ANGLES(RAD(0), RAD(-15), RAD(5 + 1 * COS(SINE / 12))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
4178
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.95, 0.75, 0) * ANGLES(RAD(0), RAD(15), RAD(-5 - 1 * COS(SINE / 12))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
4179
            RightHip.C0 = Clerp(RightHip.C0, CF(1.45, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4180
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.45, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4181
			elseif MODE == "Superior" then
4182
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
4183
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4184
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 1*SIZE, -0.3*SIZE) * ANGLES(RAD(0.98), RAD(-119.59 + 2.5 * SIN(SINE / 25)), RAD(-175.39 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4185
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.35*SIZE, 0.3*SIZE) * ANGLES(RAD(9.71), RAD(3.14 - -2.5 * SIN(SINE / 12)), RAD(0.2 - -2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
4186
            RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
4187
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
4188
			elseif MODE == "JusticeHorn" then
4189
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4190
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0.4*SIZE + ((0.1) - 0.1)) * ANGLES(RAD(-5 - 2.5 * COS(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
4191
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.9*SIZE, 0.5*SIZE + 0.05*SIZE * SIN(SINE / 12), -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4192
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.9*SIZE, 0.25*SIZE + 0.05*SIZE * SIN(SINE / 12), -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
4193
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4194
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4195
			elseif MODE == "Maniac" then
4196
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
4197
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 1 / Animation_Speed)
4198
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(52 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4199
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(35), RAD(0), RAD(-42 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
4200
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(20), RAD(55), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
4201
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(10), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
4202
		   end
4203
		end
4204
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
4205
		ANIM = "Walk"
4206
		if ATTACK == false then
4207
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.005 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
4208
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4209
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(-55 + 2.5 * SIN(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4210
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(55 - 2.5 * SIN(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
4211
            RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE - 0.05*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4212
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -0.8*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4213
		end
4214
	end
4215
	unanchor()
4216
	Humanoid.MaxHealth = "inf"
4217
	Humanoid.Health = "inf"
4218
	if Rooted == false then
4219
		Disable_Jump = false
4220
		Humanoid.WalkSpeed = Speed
4221
	elseif Rooted == true then
4222
		Disable_Jump = true
4223
		Humanoid.WalkSpeed = 0
4224
	end
4225
	for _, c in pairs(Character:GetChildren()) do
4226
		if c.ClassName == "Part" and c.Name ~= "Detail" then
4227
			c.Material = "Fabric"
4228
			if c:FindFirstChildOfClass("ParticleEmitter") then
4229
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
4230
			end
4231
			if c ~= Head then
4232
				c.Color = C3(0,0,0)
4233
			else
4234
				c.Color = C3(0,0,0)
4235
			end
4236
			if c == Head then
4237
				if c:FindFirstChild("face") then
4238
					c.face:remove()
4239
				end
4240
			end
4241
		elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
4242
			c:remove()
4243
		elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
4244
			c:remove()
4245
		end
4246
	sick.SoundId = "rbxassetid://"..SONG
4247
	sick.Looped = true
4248
	sick.Pitch = 1
4249
	sick.Volume = 1
4250
	sick.Parent = Effects
4251
	sick.Playing = PLAYSONG
4252
	end
4253
	Humanoid.Name = "The-Switcher = "..Player.Name
4254
end
4255
4256
--//=================================\\
4257
--\\=================================//
4258
4259
4260
4261
4262
4263
--//====================================================\\--
4264
--||			  		 END OF SCRIPT
4265
--\\====================================================//--