View difference between Paste ID: MVG7rYk8 and Hned94bs
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||			   CREATED BY SHACKLUSTER
3
--\\====================================================//--
4
5
wait(0.2)
6
7
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
8
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
9
local RealPlayer = Player
10
do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
11
12
Player = owner
13
PlayerGui = Player.PlayerGui
14
Cam = workspace.CurrentCamera
15
Backpack = Player.Backpack
16
Character = Player.Character
17
Humanoid = Character.Humanoid
18
Mouse = Player:GetMouse()
19
RootPart = Character["HumanoidRootPart"]
20
Torso = Character["Torso"]
21
Head = Character["Head"]
22
RightArm = Character["Right Arm"]
23
LeftArm = Character["Left Arm"]
24
RightLeg = Character["Right Leg"]
25
LeftLeg = Character["Left Leg"]
26
RootJoint = RootPart["RootJoint"]
27
Neck = Torso["Neck"]
28
RightShoulder = Torso["Right Shoulder"]
29
LeftShoulder = Torso["Left Shoulder"]
30
RightHip = Torso["Right Hip"]
31
LeftHip = Torso["Left Hip"]
32
Character.Archivable = true
33
Player:ClearCharacterAppearance()
34
35
IT = Instance.new
36
CF = CFrame.new
37
VT = Vector3.new
38
RAD = math.rad
39
C3 = Color3.new
40
UD2 = UDim2.new
41
BRICKC = BrickColor.new
42
ANGLES = CFrame.Angles
43
EULER = CFrame.fromEulerAnglesXYZ
44
COS = math.cos
45
ACOS = math.acos
46
SIN = math.sin
47
ASIN = math.asin
48
ABS = math.abs
49
MRANDOM = math.random
50
FLOOR = math.floor
51
52
--//=================================\\
53
--|| 	      USEFUL VALUES
54
--\\=================================//
55
56
Animation_Speed = 3
57
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
58
local Speed = 20
59
local SIZE = 1
60
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
61
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
62
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
63
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
64
local DAMAGEMULTIPLIER = 1
65
local ANIM = "Idle"
66
local ATTACK = false
67
local EQUIPPED = false
68
local HOLD = false
69
local COMBO = 1
70
local Rooted = false
71
local SINE = 0
72
local KEYHOLD = false
73
local CHANGE = 2 / Animation_Speed
74
local WALKINGANIM = false
75
local VALUE1 = false
76
local VALUE2 = false
77
local ROBLOXIDLEANIMATION = IT("Animation")
78
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
79
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
80
local ATANIM = IT("Animation")
81
ATANIM.Name = "Attack Animation"
82
ATANIM.AnimationId = "http://www.roblox.com/asset/?id=74894663"
83
--ROBLOXIDLEANIMATION.Parent = Humanoid
84
local WEAPONGUI = IT("ScreenGui", PlayerGui)
85
WEAPONGUI.Name = "Weapon GUI"
86
local Weapon = IT("Model")
87
Weapon.Name = "Adds"
88
local Effects = IT("Folder", Weapon)
89
Effects.Name = "Effects"
90
local ANIMATOR = Humanoid.Animator
91
local ANIMATE = Character.Animate
92
local UNANCHOR = true
93
local CLOCKLOOP = 0
94
local SONG = 621130660
95
local CLOCKTARGET = nil
96
local CLOCKSPEED = 1
97
script.Parent = WEAPONGUI
98
local CLONE = Character:Clone()
99
CLONE.Parent = nil
100
Character.Archivable = false
101
local sick = Instance.new("Sound",Torso)
102
103
--//=================================\\
104
--\\=================================//
105
106
107
--//=================================\\
108
--\\=================================//
109
110
--//=================================\\
111
--|| 	      SOME FUNCTIONS
112
--\\=================================//
113
114-
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
114+
115-
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
115+
116
117
function Swait(NUMBER)
118-
function PositiveAngle(NUMBER)
118+
119-
	if NUMBER >= 0 then
119+
120-
		NUMBER = 0
120+
121
		end
122-
	return NUMBER
122+
123
end
124
125-
function NegativeAngle(NUMBER)
125+
126-
	if NUMBER <= 0 then
126+
127-
		NUMBER = 0
127+
128
		NEWMESH.MeshType = MESHTYPE
129-
	return NUMBER
129+
130
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
131
		end
132
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
133
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
134-
		ArtificialHB.Event:wait()
134+
135
	end
136
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
137-
			ArtificialHB.Event:wait()
137+
138
	NEWMESH.Parent = PARENT
139
	return NEWMESH
140
end
141
142
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
143
	local NEWPART = IT("Part")
144
	NEWPART.formFactor = FORMFACTOR
145
	NEWPART.Reflectance = REFLECTANCE
146
	NEWPART.Transparency = TRANSPARENCY
147
	NEWPART.CanCollide = false
148
	NEWPART.Locked = true
149
	NEWPART.Anchored = true
150
	if ANCHOR == false then
151
		NEWPART.Anchored = false
152
	end
153
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
154
	NEWPART.Name = NAME
155
	NEWPART.Size = SIZE
156
	NEWPART.Position = Torso.Position
157
	NEWPART.Material = MATERIAL
158
	NEWPART:BreakJoints()
159
	NEWPART.Parent = PARENT
160
	return NEWPART
161
end
162
163
	local function weldBetween(a, b)
164
	    local weldd = Instance.new("ManualWeld")
165
	    weldd.Part0 = a
166
	    weldd.Part1 = b
167
	    weldd.C0 = CFrame.new()
168
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
169
	    weldd.Parent = a
170
	    return weldd
171
	end
172
173
174
function QuaternionFromCFrame(cf)
175
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
176
	local trace = m00 + m11 + m22
177
	if trace > 0 then 
178
		local s = math.sqrt(1 + trace)
179
		local recip = 0.5 / s
180
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
181
	else
182
		local i = 0
183
		if m11 > m00 then
184
			i = 1
185
		end
186
		if m22 > (i == 0 and m00 or m11) then
187
			i = 2
188
		end
189
		if i == 0 then
190
			local s = math.sqrt(m00 - m11 - m22 + 1)
191
			local recip = 0.5 / s
192
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
193
		elseif i == 1 then
194
			local s = math.sqrt(m11 - m22 - m00 + 1)
195
			local recip = 0.5 / s
196
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
197
		elseif i == 2 then
198
			local s = math.sqrt(m22 - m00 - m11 + 1)
199
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
200
		end
201
	end
202
end
203
 
204
function QuaternionToCFrame(px, py, pz, x, y, z, w)
205
	local xs, ys, zs = x + x, y + y, z + z
206
	local wx, wy, wz = w * xs, w * ys, w * zs
207
	local xx = x * xs
208
	local xy = x * ys
209
	local xz = x * zs
210
	local yy = y * ys
211
	local yz = y * zs
212
	local zz = z * zs
213
	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))
214
end
215
 
216
function QuaternionSlerp(a, b, t)
217
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
218
	local startInterp, finishInterp;
219
	if cosTheta >= 0.0001 then
220
		if (1 - cosTheta) > 0.0001 then
221
			local theta = ACOS(cosTheta)
222
			local invSinTheta = 1 / SIN(theta)
223
			startInterp = SIN((1 - t) * theta) * invSinTheta
224
			finishInterp = SIN(t * theta) * invSinTheta
225
		else
226
			startInterp = 1 - t
227
			finishInterp = t
228
		end
229
	else
230
		if (1 + cosTheta) > 0.0001 then
231
			local theta = ACOS(-cosTheta)
232
			local invSinTheta = 1 / SIN(theta)
233
			startInterp = SIN((t - 1) * theta) * invSinTheta
234
			finishInterp = SIN(t * theta) * invSinTheta
235
		else
236
			startInterp = t - 1
237
			finishInterp = t
238
		end
239
	end
240
	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
241
end
242
243
function Clerp(a, b, t)
244
	local qa = {QuaternionFromCFrame(a)}
245
	local qb = {QuaternionFromCFrame(b)}
246
	local ax, ay, az = a.x, a.y, a.z
247
	local bx, by, bz = b.x, b.y, b.z
248
	local _t = 1 - t
249
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
250
end
251
252
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
253
	local frame = IT("Frame")
254
	frame.BackgroundTransparency = TRANSPARENCY
255
	frame.BorderSizePixel = BORDERSIZEPIXEL
256
	frame.Position = POSITION
257
	frame.Size = SIZE
258
	frame.BackgroundColor3 = COLOR
259
	frame.BorderColor3 = BORDERCOLOR
260
	frame.Name = NAME
261
	frame.Parent = PARENT
262
	return frame
263
end
264
265
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
266
	local label = IT("TextLabel")
267
	label.BackgroundTransparency = 1
268
	label.Size = UD2(1, 0, 1, 0)
269
	label.Position = UD2(0, 0, 0, 0)
270
	label.TextColor3 = TEXTCOLOR
271
	label.TextStrokeTransparency = STROKETRANSPARENCY
272
	label.TextTransparency = TRANSPARENCY
273
	label.FontSize = TEXTFONTSIZE
274
	label.Font = TEXTFONT
275
	label.BorderSizePixel = BORDERSIZEPIXEL
276
	label.TextStrokeColor3 = C3(1,1,1)
277
	label.TextScaled = false
278
	label.Text = TEXT
279
	label.Name = NAME
280
	label.Parent = PARENT
281
	return label
282
end
283
284
function NoOutlines(PART)
285
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
286
end
287
288
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
289
	local NEWWELD = IT(TYPE)
290
	NEWWELD.Part0 = PART0
291
	NEWWELD.Part1 = PART1
292
	NEWWELD.C0 = C0
293
	NEWWELD.C1 = C1
294
	NEWWELD.Parent = PARENT
295
	return NEWWELD
296
end
297
298
local S = IT("Sound")
299
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
300
	local NEWSOUND = nil
301
	coroutine.resume(coroutine.create(function()
302
		NEWSOUND = S:Clone()
303
		NEWSOUND.Parent = PARENT
304
		NEWSOUND.Volume = VOLUME
305
		NEWSOUND.Pitch = PITCH
306
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
307
		NEWSOUND:play()
308
		if DOESLOOP == true then
309
			NEWSOUND.Looped = true
310
		else
311
			repeat wait(1) until NEWSOUND.Playing == false
312
			NEWSOUND:remove()
313
		end
314
	end))
315
	return NEWSOUND
316
end
317
318
function CFrameFromTopBack(at, top, back)
319
	local right = top:Cross(back)
320
	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)
321
end
322
323
--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})
324
function WACKYEFFECT(Table)
325
	local TYPE = (Table.EffectType or "Sphere")
326
	local SIZE = (Table.Size or VT(1,1,1))
327
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
328
	local TRANSPARENCY = (Table.Transparency or 0)
329
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
330
	local CFRAME = (Table.CFrame or Torso.CFrame)
331
	local MOVEDIRECTION = (Table.MoveToPos or nil)
332
	local ROTATION1 = (Table.RotationX or 0)
333
	local ROTATION2 = (Table.RotationY or 0)
334
	local ROTATION3 = (Table.RotationZ or 0)
335
	local MATERIAL = (Table.Material or "Neon")
336
	local COLOR = (Table.Color or C3(1,1,1))
337
	local TIME = (Table.Time or 45)
338
	local SOUNDID = (Table.SoundID or nil)
339
	local SOUNDPITCH = (Table.SoundPitch or nil)
340
	local SOUNDVOLUME = (Table.SoundVolume or nil)
341
	coroutine.resume(coroutine.create(function()
342
		local PLAYSSOUND = false
343
		local SOUND = nil
344
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
345
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
346
			PLAYSSOUND = true
347
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
348
		end
349
		EFFECT.Color = COLOR
350
		local MSH = nil
351
		if TYPE == "Sphere" then
352
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
353
		elseif TYPE == "Block" then
354
			MSH = IT("BlockMesh",EFFECT)
355
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
356
		elseif TYPE == "Wave" then
357
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,-SIZE.X/8))
358
		elseif TYPE == "Ring" then
359
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
360
		elseif TYPE == "Slash" then
361
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
362
		elseif TYPE == "Round Slash" then
363
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
364
		elseif TYPE == "Swirl" then
365
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,0))
366
		elseif TYPE == "Skull" then
367
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,0))
368
		elseif TYPE == "Crystal" then
369
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,0))
370
		end
371
		if MSH ~= nil then
372
			local MOVESPEED = nil
373
			if MOVEDIRECTION ~= nil then
374
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
375
			end
376
			local GROWTH = SIZE - ENDSIZE
377
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
378
			if TYPE == "Block" then
379
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
380
			else
381
				EFFECT.CFrame = CFRAME
382
			end
383
			for LOOP = 1, TIME+1 do
384
				Swait()
385
				MSH.Scale = MSH.Scale - GROWTH/TIME
386
				if TYPE == "Wave" then
387
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
388
				end
389
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
390
				if TYPE == "Block" then
391
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
392
				else
393
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
394
				end
395
				if MOVEDIRECTION ~= nil then
396
					local ORI = EFFECT.Orientation
397
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
398
					EFFECT.Orientation = ORI
399
				end
400
			end
401
			if PLAYSSOUND == false then
402
				EFFECT:remove()
403
			else
404
				repeat Swait() until SOUND.Playing == false
405
				EFFECT:remove()
406
			end
407
		else
408
			if PLAYSSOUND == false then
409
				EFFECT:remove()
410
			else
411
				repeat Swait() until SOUND.Playing == false
412
				EFFECT:remove()
413
			end
414
		end
415
	end))
416
end
417
418
function MakeForm(PART,TYPE)
419
	if TYPE == "Cyl" then
420
		local MSH = IT("CylinderMesh",PART)
421
	elseif TYPE == "Ball" then
422
		local MSH = IT("SpecialMesh",PART)
423
		MSH.MeshType = "Sphere"
424
	elseif TYPE == "Wedge" then
425
		local MSH = IT("SpecialMesh",PART)
426
		MSH.MeshType = "Wedge"
427
	end
428
end
429
430
Debris = game:GetService("Debris")
431
432
function CastProperRay(StartPos, EndPos, Distance, Ignore)
433
	local DIRECTION = CF(StartPos,EndPos).lookVector
434
end
435
436
function turnto(position)
437
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
438
end
439
440
--//=================================\\
441
--||	     WEAPON CREATION
442
--\\=================================//
443
444
RootPart.Size = RootPart.Size*SIZE
445
Torso.Size = Torso.Size*SIZE
446
RightArm.Size = RightArm.Size*SIZE
447
RightLeg.Size = RightLeg.Size*SIZE
448
LeftArm.Size = LeftArm.Size*SIZE
449
LeftLeg.Size = LeftLeg.Size*SIZE
450
RootJoint.C0 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
451-
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
451+
452
Neck.C0 = NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1 * SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
453
Neck.C1 = CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180))
454
RightShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
455
LeftShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
456
RightHip.C0 = CF(1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
457
LeftHip.C0 = CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
458
RightHip.C1 = CF(0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
459
LeftHip.C1 = CF(-0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
460
Head.Size = Head.Size*SIZE
461
RootJoint.Parent = RootPart
462
Neck.Parent = Torso
463
RightShoulder.Parent = Torso
464
LeftShoulder.Parent = Torso
465
RightHip.Parent = Torso
466
LeftHip.Parent = Torso
467
468
local naeeym2 = IT("BillboardGui",Character)
469
naeeym2.AlwaysOnTop = true
470
naeeym2.Size = UDim2.new(5,35,2,15)
471
naeeym2.StudsOffset = Vector3.new(0,2,0)
472
naeeym2.MaxDistance = 75
473
naeeym2.Adornee = Character.Head
474
naeeym2.Name = "Name"
475
local top = Instance.new("Shirt")
476
top.ShirtTemplate = "rbxassetid://99405261"
477
top.Parent = Character
478
top.Name = "Cloth"
479
local bottom = Instance.new("Pants")
480
bottom.PantsTemplate = "rbxassetid://99405318"
481
bottom.Parent = Character
482
bottom.Name = "Cloth"
483
local PRT = CreatePart(3, Weapon, "Fabric", 0, 0, "Really black", "Hat", VT(0.1,0.1,0.1),false)
484
PRT.Color = C3(0,0,0)
485
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.1,0.1) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0,-0.5,0.2))
486
CreateMesh("SpecialMesh", PRT, "FileMesh", "3088871166", "", VT(1,1,1), VT(0,0,0))
487
488
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(1.05,0.06,1.05)*SIZE,false)
489
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
490
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0.5,0.1,0.5)*SIZE,false)
491
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
492
MakeForm(PRT,"Cyl")
493
local PRT = CreatePart(3, Weapon, "Neon", 0, 0, "Mid gray", "Watch", VT(0.45,0.11,0.45)*SIZE,false)
494
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
495
MakeForm(PRT,"Cyl")
496
PRT.Color = C3(159/255, 111/255, 183/255)
497
local RING = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0.055,0.15,0.055)*SIZE,false)
498
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RING, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
499
MakeForm(RING,"Cyl")
500
RING.Color = C3(0,0,0)
501
for i = 1, 12 do
502
	local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0)*SIZE,false)
503
	PRT.Color = C3(0,0,0)
504
	local MSH = IT("BlockMesh",PRT)
505
	MSH.Scale = VT(0.6,1,1)
506
	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))
507
end
508
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0.15)*SIZE,false)
509
PRT.Color = C3(0,0,0)
510
local MSH = IT("BlockMesh",PRT)
511
MSH.Scale = VT(0.4,1,1)
512
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))
513
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0.15/1.5)*SIZE,false)
514
PRT.Color = C3(0,0,0)
515
local MSH = IT("BlockMesh",PRT)
516
MSH.Scale = VT(0.4,1,1)
517
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))
518
coroutine.resume(coroutine.create(function()
519
	while true do
520
		Swait()
521
		CLOCKLOOP = CLOCKLOOP - 1*CLOCKSPEED
522
		WATCH1.C0 = Clerp(WATCH1.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5), RAD(0)), 1 / Animation_Speed)
523
		WATCH2.C0 = Clerp(WATCH2.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5/2), RAD(0)), 1 / Animation_Speed)
524
		if CLOCKLOOP <= -150 then
525
			if VALUE1 == false then
526
				CLOCKLOOP = 0
527
				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(159/255, 111/255, 183/255), SoundID = 0, SoundPitch = 1.2, SoundVolume = 4})
528
				local HITFLOOR,HITPOS = (RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
529
				ApplyAoE(HITPOS,10,15,45,75,false)
530
				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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
531
				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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
532
				if CLOCKTARGET ~= nil then
533
					CLOCKTARGET.Health = CLOCKTARGET.Health - 20
534
					if CLOCKTARGET.Torso ~= nil then
535
						CLOCKTARGET.Torso.CFrame = CLOCKTARGET.Torso.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
536
					end
537
					if CLOCKTARGET.Health == 0 then
538
						CLOCKTARGET = nil
539
					end
540
				end
541
			end
542
		end
543
	end
544
end))
545
546-
				local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
546+
547
	if c.ClassName == "Part" then
548
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
549
	end
550
end
551
552
Neck.Name = "Weld"
553
RootJoint.Name = "Weld"
554
RightShoulder.Name = "Weld"
555
LeftShoulder.Name = "Weld"
556
RightHip.Name = "Weld"
557
LeftHip.Name = "Weld"
558
559
local SKILLTEXTCOLOR = C3(159/255, 111/255, 183/255)
560
local SKILLFONT = "Fantasy"
561
local SKILLTEXTSIZE = 7
562
563
Weapon.Parent = Character
564
Humanoid.Parent = Character
565
566
Humanoid.Died:connect(function()
567
	ATTACK = true
568
end)
569
570
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23-.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
571
local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50+.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
572
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
573
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
574
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
575
576
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Magic Missiles", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 1")
577
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Times up", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 2")
578
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Chained Punch", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
579
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Warp Meteor", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 4")
580
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Pandora's Box", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 5")
581
582
--//=================================\\
583
--||			DAMAGING
584
--\\=================================//
585
586
function ApplyDamage(Humanoid,Damage,TorsoPart)
587
	local defence = Instance.new("BoolValue",Humanoid.Parent)
588
	defence.Name = ("HitBy"..Player.Name)
589
	game:GetService("Debris"):AddItem(defence, 0.001)
590
	Damage = Damage * DAMAGEMULTIPLIER
591
	if Humanoid.Health ~= 0 then
592
		local CritChance = MRANDOM(1,100)
593
		if Damage > Humanoid.Health then
594
			Damage = math.ceil(Humanoid.Health)
595
			if Damage == 0 then
596
				Damage = 0.1
597
			end
598
		end
599
		Humanoid.Health = Humanoid.Health - Damage
600
	end
601
end
602
603
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
604
	local CHILDREN = workspace:GetDescendants()
605
	for index, CHILD in pairs(CHILDREN) do
606
		if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
607
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
608
			if HUM then
609
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
610
				if TORSO then
611
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
612
						if INSTAKILL == true then
613
							CHILD:BreakJoints()
614
						else
615
							local DMG = MRANDOM(MINDMG,MAXDMG)
616
							ApplyDamage(HUM,DMG,TORSO)
617
						end
618
						if FLING > 0 then
619
							for _, c in pairs(CHILD:GetChildren()) do
620
								if c:IsA("BasePart") then
621
									local bv = Instance.new("BodyVelocity") 
622
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
623
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
624
									bv.Parent = c
625
									Debris:AddItem(bv,0.05)
626
								end
627
							end
628
						end
629
					end
630
				end
631
			end
632
		end
633
	end
634
end
635
636
--//=================================\\
637
--||	ATTACK FUNCTIONS AND STUFF
638
--\\=================================//
639
640
function MagicMissiles()
641
	ATTACK = true
642
	Rooted = true
643
	local SELECTING = true
644
	local SPOTS = {}
645
	coroutine.resume(coroutine.create(function()
646
		local LOOP = 0
647
		repeat
648
			LOOP = LOOP + 1
649
			Swait()
650
			if LOOP >= 10 then
651
				LOOP = 0
652
				for i = 1, #SPOTS do
653
					if SPOTS[i] ~= nil then
654
						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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
655
						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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
656
					end
657
				end
658
			end
659
			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)
660
			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)
661
			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)
662
			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)
663
			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)
664
			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)
665
		until SELECTING == false
666
		Rooted = false
667
		repeat
668
			LOOP = LOOP + 1
669
			Swait()
670
			if LOOP >= 10 then
671
				LOOP = 0
672
				for i = 1, #SPOTS do
673
					if SPOTS[i] ~= nil then
674
						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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
675
						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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
676
					end
677
				end
678
			end
679
			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)
680
			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)
681
			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)
682
			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)
683
			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)
684
			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)
685
		until ATTACK == false
686
	end))
687
	repeat
688
		repeat Swait() until HOLD == true
689
			local DIST = (RootPart.Position - Mouse.Hit.p).Magnitude
690
			if DIST > 65 then
691
				DIST = 65
692
			end
693
			local RAY,RAYPOS = (RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, DIST, workspace)	
694
			local HITFLOOR,HITPOS,NORMAL = (RAYPOS+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 25*SIZE, Character)	
695
			if HITFLOOR ~= nil then
696
				table.insert(SPOTS,CF(HITPOS,HITPOS+NORMAL) * ANGLES(RAD(90), RAD(0), RAD(0)))
697
				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(159/255, 111/255, 183/255), SoundID = 90655239, SoundPitch = 1, SoundVolume = 6})
698
				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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
699
			end
700
		repeat Swait() until HOLD == false
701
	until #SPOTS == 5
702
	SELECTING = false
703
	for i = 1, #SPOTS do
704
		if SPOTS[i] ~= nil then
705
			local POS = SPOTS[i]
706
			coroutine.resume(coroutine.create(function()
707
				local MISSILE = IT("Model",Effects)
708
				MISSILE.Name = "Missile"
709
				local BASEPART = CreatePart(3, MISSILE, "Neon", 0, 1, "Alder", "Part", VT(2,2,2))
710
				MakeForm(BASEPART,"Cyl")
711-
			local RAY,RAYPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, DIST, workspace)	
711+
712-
			local HITFLOOR,HITPOS,NORMAL = Raycast(RAYPOS+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 25*SIZE, Character)	
712+
713
				local HEAD = CreatePart(3, MISSILE, "Neon", 0, 1, "Alder", "Part", VT(2,4,2))
714
				MakeForm(HEAD,"Ball")
715
				HEAD.CFrame = BASEPART.CFrame*CF(0,1,0)
716
				local TAIL = CreatePart(3, MISSILE, "Neon", 0, 1, "Alder", "Part", VT(2.5,0.1,2.5))
717
				MakeForm(TAIL,"Cyl")
718
				TAIL.CFrame = BASEPART.CFrame*CF(0,-1,0)
719
				for i = 1, 10 do
720
					Swait()
721
					for _, c in pairs(MISSILE:GetChildren()) do
722
						if c.ClassName == "Part" then
723
							c.Transparency = c.Transparency - 1/10
724
						end
725
					end
726
				end
727
				for i = 1, 15*1.5 do
728
					Swait()
729
					MISSILE:SetPrimaryPartCFrame(BASEPART.CFrame*CF(0,1.35*3,0))
730
				end
731
				ApplyAoE(BASEPART.CFrame.p,20,35,45,75,false)
732
				WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(75,1,75), Transparency = 0.5, Transparency2 = 1, CFrame = BASEPART.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
733
				WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(35,35,35), Transparency = 0, Transparency2 = 1, CFrame = BASEPART.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = 165970126, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 4})
734
				WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(22,2,22), 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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
735
				WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(20,3,20), 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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
736
				MISSILE:remove()
737
			end))
738
		end
739
	end
740
	wait(0.6)
741
	ATTACK = false
742
	Rooted = false
743
end
744
745
function TimesUp()
746
	CLOCKTARGET = nil
747
	if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
748
		local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
749
		local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
750
		if TORSO then
751
			ATTACK = true
752
			Rooted = false
753
			coroutine.resume(coroutine.create(function()
754
				repeat
755
					Swait()
756
					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)
757
					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)
758
					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)
759
					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)
760
					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)
761
					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)
762
				until ATTACK == false
763
			end))
764
			if Effects:FindFirstChild("NeonDoll") then
765
				repeat Swait() until Effects:FindFirstChild("NeonDoll") == nil
766
			end
767
			wait(0.5)
768
			local FAKECHARACTER = IT("Model",Effects)
769
			FAKECHARACTER.Name = "NeonDoll"
770
			local TORS = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Alder", "Part", VT(0.3,0.3,0.15),false)
771
			CreateWeldOrSnapOrMotor("Weld", RING, RING, TORS, CF(0,0.6,0), CF(0,0,0))
772
			local LEG = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Alder", "Part", VT(0.15,0.3,0.15),false)
773
			CreateWeldOrSnapOrMotor("Weld", TORS, TORS, LEG, CF(0.15/2,-0.15,0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0,0.15,0))
774
			local LEG = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Alder", "Part", VT(0.15,0.3,0.15),false)
775
			CreateWeldOrSnapOrMotor("Weld", TORS, TORS, LEG, CF(-0.15/2,-0.15,0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0,0.15,0))
776
			local ARM = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Alder", "Part", VT(0.15,0.3,0.15),false)
777
			CreateWeldOrSnapOrMotor("Weld", TORS, TORS, ARM, CF(0.15,0.15/2,0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0,0.15,0))
778
			local ARM = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Alder", "Part", VT(0.15,0.3,0.15),false)
779
			CreateWeldOrSnapOrMotor("Weld", TORS, TORS, ARM, CF(-0.15,0.15/2,0) * ANGLES(RAD(0), RAD(0), RAD(-90)), CF(0,0.15,0))
780
			local HEAD = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Alder", "Part", VT(0.15,0.15,0.15),false)
781
			CreateWeldOrSnapOrMotor("Weld", TORS, TORS, HEAD, CF(0,0.225,0), CF(0,0,0))
782
			CreateSound(201858045, TORS, 5, 0.4, false)
783
			for i = 1, 150 do
784
				Swait()
785
				CLOCKSPEED = 6
786
				for _, c in pairs(FAKECHARACTER:GetChildren()) do
787
					if c.ClassName == "Part" then
788
						c.Transparency = c.Transparency - 0.5/150
789
					end
790
				end
791
			end
792
			CLOCKTARGET = HUM
793
			coroutine.resume(coroutine.create(function()
794
				repeat Swait() CLOCKSPEED = 2 until CLOCKTARGET == nil
795
				for i = 1, 25 do
796
					Swait()
797
					for _, c in pairs(FAKECHARACTER:GetChildren()) do
798
						if c.ClassName == "Part" then
799
							c.Transparency = c.Transparency + 0.5/25
800
						end
801
					end
802
				end
803
				CLOCKSPEED = 1
804
				FAKECHARACTER:remove()
805
			end))
806
			wait(0.5)
807
			ATTACK = false
808
			Rooted = false
809
		end
810
	end
811
end
812
813
function ChainPunch()
814
	ATTACK = true
815
	Rooted = false
816
	local GYRO = IT("BodyGyro",RootPart)
817
	GYRO.D = 25
818
	GYRO.P = 2000
819
	GYRO.MaxTorque = VT(0,40000,0)
820
	GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
821
	repeat
822
		Swait()
823
		GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
824
		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)
825
		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)
826
		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)
827
		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)
828
		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)
829
		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)
830
	until HOLD == true
831
	local POS = Mouse.Hit.p
832
	local CHAINS = false
833
	local CHAINLINKS = {}
834
	local A = IT("Attachment",RightArm)
835
	A.Position = VT(1,-1,0)*SIZE
836
	A.Orientation = VT(-90, -89.982, 0)
837
	local B = IT("Attachment",RightArm)
838
	B.Position = VT(-1,-1,0)*SIZE
839
	B.Orientation = VT(-90, 89.988, 0)
840
	local C = IT("Attachment",RightArm)
841
	C.Position = VT(0.5,-1.3,0)*SIZE
842
	C.Orientation = VT(-90, -89.982, 0)
843
	local D = IT("Attachment",RightArm)
844
	D.Position = VT(-0.5,-1.3,0)*SIZE
845
	D.Orientation = VT(-90, 89.988, 0)
846
	local LIGHT = IT("Attachment",RightArm)
847
	LIGHT.Position = VT(0,-1,0)*SIZE
848
	local LIGHT2 = IT("PointLight",LIGHT)
849
	LIGHT2.Range = 7
850
	LIGHT2.Brightness = 5
851
	LIGHT2.Color = SKILLTEXTCOLOR
852
	for i = 1, 2 do
853
		local TWIST = -2
854
		local START = A
855
		local END = B
856
		if i == 1 then
857
			START = B
858
			END = A
859
		end
860
		local ChainLink = IT("Beam",Torso)
861
		ChainLink.Texture = "rbxassetid://73042633"
862
		ChainLink.Color = ColorSequence.new(SKILLTEXTCOLOR)
863
		ChainLink.TextureSpeed = 1
864
		ChainLink.Width0 = 1
865
		ChainLink.Width1 = 1
866
		ChainLink.TextureLength = 2.5
867
		ChainLink.Attachment0 = START
868
		ChainLink.Attachment1 = END
869
		ChainLink.CurveSize0 = TWIST
870
		ChainLink.CurveSize1 = TWIST
871
		--ChainLink.FaceCamera = true
872
		ChainLink.Segments = 45
873
		ChainLink.Transparency = NumberSequence.new(1)
874
		table.insert(CHAINLINKS,ChainLink)
875
	end
876
	for i = 1, 2 do
877
		local TWIST = -1
878
		local START = C
879
		local END = D
880
		if i == 1 then
881
			START = D
882
			END = C
883
		end
884
		local ChainLink = IT("Beam",Torso)
885
		ChainLink.Texture = "rbxassetid://73042633"
886
		ChainLink.Color = ColorSequence.new(SKILLTEXTCOLOR)
887
		ChainLink.TextureSpeed = 1
888
		ChainLink.Width0 = 1
889
		ChainLink.Width1 = 1
890
		ChainLink.TextureLength = 5
891
		ChainLink.Attachment0 = START
892
		ChainLink.Attachment1 = END
893
		ChainLink.CurveSize0 = TWIST
894
		ChainLink.CurveSize1 = TWIST
895
		--ChainLink.FaceCamera = true
896
		ChainLink.Segments = 25
897
		ChainLink.LightEmission = 0.5
898
		ChainLink.Transparency = NumberSequence.new(1)
899
		table.insert(CHAINLINKS,ChainLink)
900
	end
901
	coroutine.resume(coroutine.create(function()
902
		repeat
903
			Swait()
904
			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)
905
			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)
906
			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)
907
			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)
908
			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)
909
			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)
910
		until CHAINS == true
911
		repeat
912
			Swait()
913
			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)
914
			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)
915
			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)
916
			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)
917
			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)
918
			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)
919
		until ATTACK == false
920
		for e = 1, 15 do
921
			Swait()
922
			for i = 1, #CHAINLINKS do
923
				CHAINLINKS[i].Transparency = NumberSequence.new((e/15))
924
			end
925
		end
926
		A:remove()
927
		B:remove()
928
		C:remove()
929
		D:remove()
930
	end))
931
	CreateSound(233856115, RightArm, 5, 1.2, false)
932
	for e = 1, 15 do
933
		Swait()
934
		for i = 1, #CHAINLINKS do
935
			CHAINLINKS[i].Transparency = NumberSequence.new(1-(e/15))
936
		end
937
	end
938
	CHAINS = true
939
	Rooted = true
940
	wait(0.25)
941
	local FIST = CreatePart(3, Effects, "Neon", 0, 0.5, "Alder", "Part", VT(2,2,2))
942
	FIST.Color = C3(1, 215/255, 1)
943
	FIST.CFrame = CF(RightArm.CFrame*CF(0,-1.3*SIZE,0).p,POS) * ANGLES(RAD(90), RAD(0), RAD(0)) 
944
	local LIGHT3 = IT("PointLight",FIST)
945
	LIGHT3.Range = 7
946
	LIGHT3.Brightness = 5
947
	LIGHT3.Color = SKILLTEXTCOLOR
948
	CreateMesh("SpecialMesh", FIST, "FileMesh", "0", "", VT(10,10,10), VT(0,0,0))
949
	local FISTA = IT("Attachment",FIST)
950
	FISTA.Position = VT(0.062, 0.977, 0)
951
	local ChainLink = IT("Beam",Torso)
952
	ChainLink.Texture = "rbxassetid://73042633"
953
	ChainLink.Color = ColorSequence.new(SKILLTEXTCOLOR)
954
	ChainLink.TextureSpeed = 0
955
	ChainLink.Width0 = 3
956
	ChainLink.Width1 = 3
957
	ChainLink.TextureLength = 12
958
	ChainLink.Attachment0 = LIGHT
959
	ChainLink.Attachment1 = FISTA
960
	ChainLink.FaceCamera = true
961
	ChainLink.Segments = 45
962
	ChainLink.LightEmission = 0.5
963
	ChainLink.Transparency = NumberSequence.new(0.25)
964
	local FISTSOUND = CreateSound(288641686, FIST, 5, 1.2, false)
965
	for i = 1, 85 do
966
		Swait()
967
		FIST.CFrame = FIST.CFrame*CF(0,-2,0)
968
		ChainLink.TextureLength = 12+(i*2)
969
		ApplyAoE(FIST.Position,10,15,25,100,false)
970
		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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
971
		local HITFLOOR = (FIST.Position, (CF(FIST.Position, FIST.CFrame*CF(0,-1,0).p)).lookVector, 2.1, Character)
972
		if HITFLOOR ~= nil then
973
			HITFLOOR:BreakJoints()
974
			coroutine.resume(coroutine.create(function()
975
				for i = 1, 15 do
976
					Swait()
977
					FISTSOUND.Volume = FISTSOUND.Volume - 0.15
978
					ApplyAoE(FIST.Position,10+(i*2),5,15,5,false)
979
					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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
980
				end
981
			end))
982
			break
983
		end
984
	end
985
	coroutine.resume(coroutine.create(function()
986
		for i = 1, 50 do
987
			Swait()
988
			FIST.Transparency = FIST.Transparency + 0.5/50
989-
		local HITFLOOR = Raycast(FIST.Position, (CF(FIST.Position, FIST.CFrame*CF(0,-1,0).p)).lookVector, 2.1, Character)
989+
990
		end
991
		FIST:remove()
992
	end))
993
	LIGHT:remove()
994
	GYRO:remove()
995
	ATTACK = false
996
	Rooted = false
997
end
998
999
function WarpMeteor()
1000
	local DIST = (RootPart.Position - Mouse.Hit.p).Magnitude
1001
	if DIST > 180 then
1002
		DIST = 180
1003
	end
1004
	local RAY,RAYPOS = (RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, DIST, workspace)	
1005
	local HITFLOOR,HITPOS,NORMAL = (RAYPOS+VT(0,45,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 75*SIZE, Character)
1006
	if HITFLOOR then
1007
		local POS = HITPOS	
1008
		ATTACK = true
1009
		Rooted = true
1010
		local WARPED = false
1011
		local SMASHED = false
1012
		local HITFLOOR,HITPOS,NORMAL = (RootPart.Position+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
1013
		coroutine.resume(coroutine.create(function()
1014
			repeat
1015
				Swait()
1016
				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)
1017
				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)
1018
				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)
1019
				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)
1020
				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)
1021
				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)
1022-
	local RAY,RAYPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, DIST, workspace)	
1022+
1023-
	local HITFLOOR,HITPOS,NORMAL = Raycast(RAYPOS+VT(0,45,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 75*SIZE, Character)
1023+
1024
				Swait()
1025
				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)
1026
				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)
1027
				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)
1028
				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)
1029
				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)
1030-
		local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
1030+
1031
			until SMASHED == true
1032
			repeat
1033
				Swait()
1034
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(90), RAD(0), RAD(0)), 1 / Animation_Speed)
1035
			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)
1036
			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)
1037
			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)
1038
			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)
1039
			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)
1040
			until ATTACK == false
1041
		end))
1042
		VALUE1 = true
1043
		CreateSound(233856115, Torso, 5, 1.6, false)
1044
		for i = 1, 25 do
1045
			Swait()
1046
			for _, c in pairs(Character:GetChildren()) do
1047
				if c.ClassName == "Part" then
1048
					c.Transparency = c.Transparency + 1/25
1049
				end
1050
			end
1051
			for _, c in pairs(Weapon:GetChildren()) do
1052
				if c.ClassName == "Part" then
1053
					c.Transparency = c.Transparency + 1/25
1054
				end
1055
			end
1056
		end
1057
		UNANCHOR = false
1058
		RootPart.Anchored = true
1059
		RootPart.Velocity = VT(0,0,0)
1060
		local ROOTPOS = RootPart.Position
1061
		RootPart.CFrame = CF(POS+VT(0,300,0),VT(ROOTPOS.X,POS.Y+300,ROOTPOS.Z))
1062
		WARPED = true
1063
		for i = 1, 25 do
1064
			Swait()
1065
			for _, c in pairs(Character:GetChildren()) do
1066
				if c.ClassName == "Part" then
1067
					c.Transparency = c.Transparency - 1/25
1068
				end
1069
			end
1070
			for _, c in pairs(Weapon:GetChildren()) do
1071
				if c.ClassName == "Part" then
1072
					c.Transparency = c.Transparency - 1/25
1073
				end
1074
			end
1075
		end
1076
		local SHELL = CreatePart(3, Effects, "Neon", 0, 1, "Alder", "Part", VT(0,0,0))
1077
		SHELL.CFrame = RootPart.CFrame
1078
		MakeForm(SHELL,"Ball")
1079
		CreateSound(402981977, SHELL, 5, 1.6, false)
1080
		for i = 1, 10 do
1081
			Swait()
1082
			SHELL.Transparency = SHELL.Transparency - 1/10
1083
			SHELL.Size = SHELL.Size + VT(0.6,0.6,0.6)*1.8
1084
		end
1085
		for i = 1, math.ceil(75/2) do
1086
			Swait()
1087
			RootPart.CFrame = RootPart.CFrame*CF(0,-3.5*2,0)
1088
			SHELL.CFrame = CF(RootPart.Position)
1089
			WACKYEFFECT({Time = 5, EffectType = "Sphere", Size = SHELL.Size, Size2 = VT(5,3,5), Transparency = 0.5, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = SHELL.Position+VT(0,15,0), RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
1090
		end
1091
		RootPart.CFrame = CF(POS+VT(0,1,0),VT(ROOTPOS.X,HITPOS.Y+1,ROOTPOS.Z))
1092
		SHELL.CFrame = CF(RootPart.Position)
1093
		WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = SHELL.Size, Size2 = VT(35,35,35)*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})
1094
		WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(SHELL.Size.X,5,SHELL.Size.Z), Size2 = VT(45,3,45)*3.8, Transparency = 0, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
1095
		WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(SHELL.Size.X,5,SHELL.Size.Z), Size2 = VT(45,3,45)*4, Transparency = 0, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
1096
		for i = 1, 5 do
1097
			WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35)*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(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
1098
		end
1099
		SHELL:remove()
1100
		ApplyAoE(RootPart.Position,75,35,75,175,false)
1101
		SMASHED = true
1102
		wait(1)
1103
		VALUE1 = false
1104
		UNANCHOR = true
1105
		ATTACK = false
1106
		Rooted = false
1107
	end
1108
end
1109
1110
function PandorasBox()
1111
	local HITFLOOR,HITPOS = (RootPart.CFrame*CF(0,0,-6.5).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
1112
	if HITFLOOR ~= nil then
1113
		ATTACK = true
1114
		Rooted = true
1115
		local RINGSPIN = true
1116
		local CONSTRUCTING = true
1117
		local RING = CreatePart(3, Effects, "Neon", 0, 1, "Alder", "Ring", VT(0,0,0))
1118
		RING.Color = C3(0,0,0)
1119
		MakeForm(RING,"Cyl")
1120
		RING.CFrame = CF(HITPOS)
1121
		CreateSound(402981977, RING, 5, 1.2, false)
1122
		coroutine.resume(coroutine.create(function()
1123
			repeat
1124
				Swait()
1125
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
1126
				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)
1127
				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)
1128
				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)
1129-
	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)
1129+
1130
				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)
1131
				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)
1132
			until CONSTRUCTING == false
1133
			repeat 
1134
				Swait() 
1135
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
1136
			until RINGSPIN == false
1137
			for i = 1, 25 do
1138
				Swait()
1139
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
1140
				RING.Size = RING.Size - VT(0.15,0,0.15)
1141
				--DECAL.Transparency = DECAL.Transparency + 1/25
1142
				RING.Transparency = RING.Transparency + 1/25
1143
			end
1144
			RING:remove()
1145
		end))
1146
		for i = 1, 15 do
1147
			Swait()
1148
			RING.Size = RING.Size + VT(0.75,0,0.75)
1149
			RING.Transparency = RING.Transparency - 1/15
1150
		end
1151
		local BOXSPIN = true
1152
		local PANDORASBOX = IT("Model",Effects)
1153
		PANDORASBOX.Name = "Pandora's Box"
1154
		local BOX = IT("Model",PANDORASBOX)
1155
		BOX.Name = "Body"
1156
		local LID = IT("Model",PANDORASBOX)
1157
		LID.Name = "Lid"
1158
		--BUILDING THE BOX--
1159
			local BASE = CreatePart(3, BOX, "Neon", 0, 0, "Alder", "Black", VT(2,1.8,2))
1160
			BASE.Color = C3(0,0,0)
1161
			PANDORASBOX.PrimaryPart = BASE
1162
			BASE.CFrame = CF(HITPOS+VT(0,-8,0),VT(RootPart.Position.X,HITPOS.Y-8,RootPart.Position.Z))
1163
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
1164
			WOOD.CFrame = BASE.CFrame*CF(1,0,1)
1165
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
1166
			WOOD.CFrame = BASE.CFrame*CF(1,0,-1)
1167
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
1168
			WOOD.CFrame = BASE.CFrame*CF(-1,0,1)
1169
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
1170
			WOOD.CFrame = BASE.CFrame*CF(-1,0,-1)
1171
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
1172
			WOOD.CFrame = BASE.CFrame*CF(0,0.9,1)
1173
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
1174
			WOOD.CFrame = BASE.CFrame*CF(0,0.9,-1)
1175
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
1176
			WOOD.CFrame = BASE.CFrame*CF(1,0.9,0)
1177
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
1178
			WOOD.CFrame = BASE.CFrame*CF(-1,0.9,0)
1179
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
1180
			WOOD.CFrame = BASE.CFrame*CF(0,-0.9,1)
1181
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
1182
			WOOD.CFrame = BASE.CFrame*CF(0,-0.9,-1)
1183
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
1184
			WOOD.CFrame = BASE.CFrame*CF(1,-0.9,0)
1185
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
1186
			WOOD.CFrame = BASE.CFrame*CF(-1,-0.9,0)
1187
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,1.9,0.1))
1188
			WOOD.CFrame = BASE.CFrame*CF(0,0,1)
1189
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,1.9,0.1))
1190
			WOOD.CFrame = BASE.CFrame*CF(0,0,-1)
1191
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(0.1,1.9,2.1))
1192
			WOOD.CFrame = BASE.CFrame*CF(1,0,0)
1193
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(0.1,1.9,2.1))
1194
			WOOD.CFrame = BASE.CFrame*CF(-1,0,0)
1195
			local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,0.1,2.1))
1196
			WOOD.CFrame = BASE.CFrame*CF(0,-0.9,0)
1197
			-------------
1198
			local LIDPART = CreatePart(3, LID, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,0.1,2.1))
1199
			LIDPART.CFrame = BASE.CFrame*CF(0,1,0)
1200
			LID.PrimaryPart = LIDPART
1201
			local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
1202
			WOOD.CFrame = LIDPART.CFrame*CF(0,0,-1)
1203
			local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
1204
			WOOD.CFrame = LIDPART.CFrame*CF(0,0,1)
1205
			local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
1206
			WOOD.CFrame = LIDPART.CFrame*CF(1,0,0)
1207
			local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
1208
			WOOD.CFrame = LIDPART.CFrame*CF(-1,0,0)
1209
			local DECAL = IT("Decal",LIDPART)
1210
			DECAL.Face = "Top"
1211
			DECAL.Texture = "http://www.roblox.com/asset/?id=1501226061"
1212
			DECAL.Color3 = C3(0,0,0)
1213
		--BUILDING THE BOX--
1214
		coroutine.resume(coroutine.create(function()
1215
			repeat
1216
				Swait()
1217
				PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * ANGLES(RAD(0), RAD(2.45), RAD(0)))
1218
			until BOXSPIN == false
1219
		end))
1220
		for i = 1, 25 do
1221
			Swait()
1222
			PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * CF(0,1.5-(i/12.5),0))
1223
		end
1224
		wait(0.5)
1225
		BOXSPIN = false
1226
		CONSTRUCTING = false	
1227
		coroutine.resume(coroutine.create(function()
1228
			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})
1229
			--[[for i = 1, 45 do
1230
				Swait()
1231
				LID:SetPrimaryPartCFrame(LIDPART.CFrame * CF(0,1.5-(i/12.5),0.5) * ANGLES(RAD(0.7), RAD(0), RAD(0)))
1232
			end-
1233
			LID:remove()]]--
1234
			for _, c in pairs(LID:GetChildren()) do
1235
				if c.ClassName == "Part" then
1236
					c.Anchored = false
1237
					c.CanCollide = true
1238
					if c ~= LIDPART then
1239
						weldBetween(LIDPART,c)
1240
					end
1241
				end
1242
			end
1243
			LIDPART.Velocity = CF(LIDPART.Position,LIDPART.CFrame*CF(15,25,0).p).lookVector*65
1244
			Debris:AddItem(LID,15)
1245
			wait(0.5)
1246
			local RANDOMEFFECT = MRANDOM(1,4)
1247
			if RANDOMEFFECT == 1 then
1248
				for i = 1, 45 do
1249
					wait((2-(i/15))/15)
1250
					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})
1251
				end	
1252
				wait(1)
1253
				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})
1254
				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})
1255
				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})
1256
				for i = 1, 5 do
1257
					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})
1258
				end
1259
				ApplyAoE(BASE.Position,50,1,200,375,false)
1260
				ApplyAoE(BASE.Position,250,35,75,175,false)
1261
			elseif RANDOMEFFECT == 2 then
1262
				local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "Alder", "Field", VT(0.3,0.3,0.3))
1263
				FIELD.CFrame = BASE.CFrame
1264
				MakeForm(FIELD,"Ball")
1265
				for i = 1, 50 do
1266
					Swait()
1267
					FIELD.Size = FIELD.Size + VT(0.01,0.01,0.01)
1268
					FIELD.CFrame = FIELD.CFrame * CF(0,0.75-(i/45),0)
1269
				end
1270
				wait(0.2)
1271
				local LOOP = CreateSound(1393698948, FIELD, 0, 1.2, true)
1272
				coroutine.resume(coroutine.create(function()
1273
					for i = 1, 75 do
1274
						Swait()
1275
						LOOP.Volume = LOOP.Volume + 10/75
1276
						LOOP.Parent = FIELD
1277
						local CHILDREN = workspace:GetDescendants()
1278
						for index, CHILD in pairs(CHILDREN) do
1279
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
1280
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1281
								if HUM then
1282
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1283
									if TORSO then
1284
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
1285
											HUM.Health = HUM.Health - 0.1
1286
											TORSO.Velocity = VT(0,5,0)
1287
											HUM.PlatformStand = true
1288
											if TORSO.RotVelocity.Magnitude < 15 then
1289
										 		TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
1290
											end
1291
										end
1292
									end
1293
								end
1294
							end
1295
						end
1296
						FIELD.Size = FIELD.Size + VT(3,3,3)
1297
						FIELD.Transparency = FIELD.Transparency + 0.8/75
1298
					end
1299
					for i = 1, 500 do
1300
						Swait()
1301
						LOOP.Parent = FIELD
1302
						local CHILDREN = workspace:GetDescendants()
1303
						for index, CHILD in pairs(CHILDREN) do
1304
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
1305
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1306
								if HUM then
1307
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1308
									if TORSO then
1309
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
1310
											TORSO.Velocity = VT(0,5,0)
1311
											HUM.Health = HUM.Health - 0.1
1312
											HUM.PlatformStand = true
1313
											if TORSO.RotVelocity.Magnitude < 15 then
1314
										 		TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
1315
											end
1316
										end
1317
									end
1318
								end
1319
							end
1320
						end
1321
					end
1322
					for i = 1, 25 do
1323
						Swait()
1324
						LOOP.Volume = LOOP.Volume + 10/25
1325
						LOOP.Parent = FIELD
1326
						local CHILDREN = workspace:GetDescendants()
1327
						for index, CHILD in pairs(CHILDREN) do
1328
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
1329
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1330
								if HUM then
1331
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1332
									if TORSO then
1333
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/1.8 then
1334
											TORSO.Velocity = VT(0,5,0)
1335
											HUM.Health = HUM.Health - 0.1
1336
											HUM.PlatformStand = false
1337
											if TORSO.RotVelocity.Magnitude < 15 then
1338
										 		TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
1339
											end
1340
										end
1341
									end
1342
								end
1343
							end
1344
						end
1345
						FIELD.Size = FIELD.Size - VT(3,3,3)
1346
						FIELD.Transparency = FIELD.Transparency + 0.2/25
1347
					end	
1348
					FIELD:remove()
1349
				end))
1350
			elseif RANDOMEFFECT == 3 then
1351
				for i = 1, 10 do
1352
					wait(0.15)
1353
					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})
1354
					coroutine.resume(coroutine.create(function()
1355
						local MINION = CLONE:Clone()
1356
						MINION.Parent = Effects
1357
						MINION.Name = "Shadow"
1358
						MINION.HumanoidRootPart.CFrame = BASE.CFrame*CF(0,5,0) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))
1359
						MINION.HumanoidRootPart.Velocity = CF(MINION.HumanoidRootPart.Position,MINION.HumanoidRootPart.CFrame*CF(0,8,-15).p).lookVector*MRANDOM(55,100)
1360
						for _, c in pairs(MINION:GetChildren()) do
1361
							if c.ClassName == "Part" then
1362
								c.Material = "Neon"
1363
								c.Color = C3(0,0,0)
1364
								c.Transparency = 0.25
1365
								if c.Name == "Head" then
1366
									c:ClearAllChildren()
1367
									local MSH = IT("BlockMesh",c)
1368
									MSH.Scale = VT(0.5,1,1)
1369
								end
1370
							end
1371
						end
1372
						local TORSO = MINION.Torso
1373
						local HUMAN = MINION.Humanoid
1374
						HUMAN.WalkSpeed = 20
1375
						HUMAN.MaxHealth = math.huge
1376
						HUMAN.Health = math.huge
1377
						HUMAN.DisplayDistanceType = "None"
1378
						HUMAN.Died:connect(function()
1379
							MINION:remove()
1380
							--CreateSound(SHOUTS[MRANDOM(1,3)], TORSO, 3, 0.5, false)
1381
						end)
1382
						wait(1)
1383
						local findNearestTorso = function(POS)
1384
							local list = game.Workspace:GetDescendants()
1385
							local torso = nil
1386
							local dist = 500
1387
							local temp = nil
1388
							local human = nil
1389
							local temp2 = nil
1390
							for x = 1, #list do
1391
								temp2 = list[x]
1392
								if (temp2.className == "Model") and (temp2 ~= Character) and (temp2.Parent ~= Effects) then
1393
									temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
1394
									human = temp2:findFirstChildOfClass("Humanoid")
1395
									if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
1396
										if (temp.Position - POS).magnitude < dist then
1397
											torso = temp
1398
											dist = (temp.Position - POS).magnitude
1399
										end
1400
									end
1401
								end
1402
							end
1403
							return torso, dist
1404
						end
1405
						for i = 1, 40 do
1406
							if HUMAN.Health == 0 then
1407
								break
1408
							end
1409
							wait(0.3)
1410
							local target,dist= findNearestTorso(TORSO.Position)
1411
							if target then
1412
								HUMAN:MoveTo(target.Position)
1413
								if dist < 25 then
1414
									CreateSound(348663022, TORSO, 10, 1, true)
1415
									wait(2)
1416
									--local ANIM = HUMAN:LoadAnimation(ATANIM)
1417
									--ANIM:Play()
1418
									--CreateSound(SHOUTS[MRANDOM(1,3)], TORSO, 1, 1, false)
1419
									ApplyAoE(TORSO.Position,10,0,0,85,true)
1420
									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})
1421
									for i = 1, 5 do
1422
										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})
1423
									end
1424
									break
1425
								end
1426
							end
1427
						end
1428
						MINION:remove()
1429
					end))
1430
				end
1431
			elseif RANDOMEFFECT == 4 then
1432
				local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "Alder", "Field", VT(0.3,0.3,0.3))
1433
				FIELD.Color = C3(0,0,0)
1434
				FIELD.CFrame = BASE.CFrame
1435
				MakeForm(FIELD,"Ball")
1436
				FIELD.CanCollide = true
1437
				for i = 1, 50 do
1438
					Swait()
1439
					FIELD.Size = FIELD.Size + VT(0.01,0.01,0.01)
1440
					FIELD.CFrame = FIELD.CFrame * CF(0,0.75-(i/45),0)
1441
				end
1442
				wait(0.2)
1443
				local LOOP = CreateSound(487214658, FIELD, 0, 1, true)
1444
				coroutine.resume(coroutine.create(function()
1445
					local E = 0
1446
					for i = 1, 75 do
1447
						E = E + 1
1448
						Swait()
1449
						if E >= 35 then
1450
							E = 0
1451
							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})
1452
						end
1453
						LOOP.Volume = LOOP.Volume + 10/75
1454
						LOOP.Parent = FIELD
1455
						local CHILDREN = workspace:GetDescendants()
1456
						for index, CHILD in pairs(CHILDREN) do
1457
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
1458
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1459
								if HUM then
1460
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1461
									if TORSO then
1462
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X*30 then
1463
											for _, c in pairs(CHILD:GetChildren()) do
1464
												if c:IsA("BasePart") then
1465
													local bv = Instance.new("BodyVelocity") 
1466
													bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1467
													bv.velocity = CF(FIELD.Position,c.Position).lookVector*-50
1468
													bv.Parent = c
1469
													Debris:AddItem(bv,0.05)
1470
												end
1471
											end
1472
											HUM.Health = HUM.Health - 0.3
1473
										end
1474
									end
1475
								end
1476
							end
1477
						end
1478
						FIELD.Size = FIELD.Size + VT(0.3,0.3,0.3)/5
1479
					end
1480
					for i = 1, 180 do
1481
						E = E + 1
1482
						Swait()
1483
						if E >= 35 then
1484
							E = 0
1485
							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})
1486
						end
1487
						LOOP.Parent = FIELD
1488
						local CHILDREN = workspace:GetDescendants()
1489
						for index, CHILD in pairs(CHILDREN) do
1490
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
1491
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1492
								if HUM then
1493
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1494
									if TORSO then
1495
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X*30 then
1496
											for _, c in pairs(CHILD:GetChildren()) do
1497
												if c:IsA("BasePart") then
1498
													local bv = Instance.new("BodyVelocity") 
1499
													bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1500
													bv.velocity = CF(FIELD.Position,c.Position).lookVector*-50
1501
													bv.Parent = c
1502
													Debris:AddItem(bv,0.05)
1503
												end
1504
											end
1505
											HUM.Health = HUM.Health - 0.3
1506
										end
1507
									end
1508
								end
1509
							end
1510
						end
1511
					end
1512
					ApplyAoE(FIELD.Position,40,15,20,375,false)
1513
					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})
1514
					for i = 1, 5 do
1515
						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})
1516
					end
1517
					FIELD:remove()
1518
				end))
1519
			elseif RANDOMEFFECT == 5 then
1520
			end
1521
			wait(0.5)
1522
			for i = 1, 25 do
1523
				Swait()
1524
				PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * CF(0,-0.3,0))
1525
			end
1526
			PANDORASBOX:remove()
1527
			RINGSPIN = false
1528
		end))
1529
		ATTACK = false
1530
		Rooted = false
1531
	end
1532
end
1533
1534
function Taunt()
1535
	ATTACK = true
1536
	local LAUGH = nil
1537
	coroutine.resume(coroutine.create(function()
1538
		repeat
1539
			Swait()
1540
			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)
1541
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-45)), 1 / Animation_Speed)
1542
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.15*SIZE, -0.5*SIZE) * ANGLES(RAD(170), RAD(-25), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1543
			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)
1544
			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)
1545
			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)
1546
		until LAUGH ~= nil
1547
		repeat
1548
			Swait()
1549
			LAUGH.Parent = Head
1550
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0+(0.1*LAUGH.PlaybackLoudness/75) + 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)
1551
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE+(0.1*LAUGH.PlaybackLoudness/75)) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-45)), 1 / Animation_Speed)
1552
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.15*SIZE+(0.1*LAUGH.PlaybackLoudness/75), -0.5*SIZE) * ANGLES(RAD(170), RAD(-25), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1553
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE+(0.1*LAUGH.PlaybackLoudness/75), 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1554
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE-(0.1*LAUGH.PlaybackLoudness/75) + 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)
1555
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE-(0.1*LAUGH.PlaybackLoudness/75) - 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)
1556
		until LAUGH.Playing == false
1557
	ATTACK = false
1558
	end))
1559
	wait(0.1)
1560
	sick:Pause()
1561
	LAUGH = CreateSound(525166232, Head, 10, 1, false)
1562
	wait(1)
1563
	sick:Resume()
1564
end
1565
1566
--//=================================\\
1567
--||	  ASSIGN THINGS TO KEYS
1568
--\\=================================//
1569
1570
function MouseDown(Mouse)
1571
	HOLD = true
1572
	if ATTACK == false then
1573
	end
1574
end
1575
1576
function MouseUp(Mouse)
1577
HOLD = false
1578
end
1579
1580
function KeyDown(Key)
1581
	KEYHOLD = true
1582
	if Key == "z" and ATTACK == false then
1583
		MagicMissiles()
1584
	end
1585
1586
	if Key == "b" and ATTACK == false then
1587
		TimesUp()
1588
	end
1589
1590
	if Key == "c" and ATTACK == false then
1591
		ChainPunch()
1592
	end
1593
1594
	if Key == "v" and ATTACK == false then
1595
		WarpMeteor()
1596
	end
1597
1598
	if Key == "x" and ATTACK == false then
1599
		PandorasBox()
1600
	end
1601
1602
	if Key == "t" and ATTACK == false then
1603
		Taunt()
1604
	end
1605
end
1606
1607
function KeyUp(Key)
1608
	KEYHOLD = false
1609
end
1610
1611
	Mouse.Button1Down:connect(function(NEWKEY)
1612
		MouseDown(NEWKEY)
1613
	end)
1614
	Mouse.Button1Up:connect(function(NEWKEY)
1615
		MouseUp(NEWKEY)
1616
	end)
1617
	Mouse.KeyDown:connect(function(NEWKEY)
1618
		KeyDown(NEWKEY)
1619
	end)
1620
	Mouse.KeyUp:connect(function(NEWKEY)
1621
		KeyUp(NEWKEY)
1622
	end)
1623
1624
--//=================================\\
1625
--\\=================================//
1626
1627
1628
function unanchor()
1629
	if UNANCHOR == true then
1630
		RootPart.Anchored = false
1631
	end
1632
	g = Character:GetChildren()
1633
	for i = 1, #g do
1634
		if g[i].ClassName == "Part" and g[i] ~= RootPart then
1635
			g[i].Anchored = false
1636
		end
1637
	end
1638
	g = Weapon:GetChildren()
1639
	for i = 1, #g do
1640
		if g[i].ClassName == "Part" then
1641
			g[i].Anchored = false
1642
		end
1643
	end
1644
end
1645
1646
1647
--//=================================\\
1648
--||	WRAP THE WHOLE SCRIPT UP
1649
--\\=================================//
1650
1651
Humanoid.Changed:connect(function(Jump)
1652
	if Jump == "Jump" and (Disable_Jump == true) then
1653
		Humanoid.Jump = false
1654
	end
1655
end)
1656
1657
while true do
1658
	Swait()
1659
	script.Parent = WEAPONGUI
1660
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1661
	    v:Stop();
1662
	end
1663
	ANIMATE.Parent = nil
1664
	SINE = SINE + CHANGE*1.5
1665
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1666
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1667
	local HITFLOOR = (RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
1668
	local WALKSPEEDVALUE = 10 / (Humanoid.WalkSpeed / 16)
1669
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1670
		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)
1671
		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)
1672
		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)
1673
		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)
1674
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1675
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1676
		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)
1677
		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)
1678
		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)
1679
	end
1680
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1681
		ANIM = "Jump"
1682
		if ATTACK == false then
1683
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1684
			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)
1685-
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
1685+
1686
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1687
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
1688
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
1689
	    end
1690
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1691
		ANIM = "Fall"
1692
		if ATTACK == false then
1693
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1694
			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)
1695
			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)
1696
			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)
1697
			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)
1698
			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)
1699
		end
1700
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1701
		ANIM = "Idle"
1702
		if ATTACK == false then
1703
			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)
1704
			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)
1705
			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)
1706
			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)
1707
			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)
1708
			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)
1709
		end
1710
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1711
		ANIM = "Walk"
1712
		if ATTACK == false then
1713
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, -0.1*SIZE) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
1714
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(15 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 1/ Animation_Speed)
1715
			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)
1716
			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)
1717
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE , -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1718
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1719
		end
1720
	end
1721
	unanchor()
1722
	Humanoid.MaxHealth = "inf"
1723
	Humanoid.Health = "inf"
1724
	if Rooted == false then
1725
		Disable_Jump = false
1726
		Humanoid.WalkSpeed = Speed
1727
	elseif Rooted == true then
1728
		Disable_Jump = true
1729
		Humanoid.WalkSpeed = 0
1730
	end
1731
	for _, c in pairs(Character:GetChildren()) do
1732
		if c.ClassName == "Part" and c.Name ~= "Detail" then
1733
			c.Material = "Fabric"
1734
			if c:FindFirstChildOfClass("ParticleEmitter") then
1735
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
1736
			end
1737
			if c ~= Head then
1738
				c.Color = C3(0,0,0)
1739
			else
1740
				c.Color = C3(1,1,1)
1741
			end
1742
			if c == Head then
1743
				if c:FindFirstChild("face") then
1744
					c.face:remove()
1745
				end
1746
			end
1747
		elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
1748
			c:remove()
1749
		elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
1750
			c:remove()
1751
		end
1752
	end
1753
	sick.SoundId = "rbxassetid://"..SONG
1754
	sick.Looped = true
1755
	sick.Pitch = 1
1756
	sick.Volume = 5
1757
	sick.Parent = Torso
1758
	sick:Resume()
1759
	--sick.Playing = false
1760
end
1761
1762
--//=================================\\
1763
--\\=================================//
1764
1765
1766
1767
1768
1769
--//====================================================\\--
1770
--||			  		 END OF SCRIPT
1771
--\\====================================================//--