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