View difference between Paste ID: gFaF1Li3 and eKaAFCcw
SHOW: | | - or go back to the newest paste.
1
--fixed by allahuahkbar
2
--made by shackluster
3
4
--//                     			\\--
5
--||            MADE BY SHACKLUSTER        ||--
6
--||            FIXED BY ALLAHUAHKBAR      ||--
7
--||            ARCHANGEL    		       ||--
8
--\\                     			//--
9
10
--Converted with ttyyuu12345's model to script plugin v4
11
function sandbox(var,func)
12
	local env = getfenv(func)
13
	local newenv = setmetatable({},{
14
		__index = function(self,k)
15
			if k=="script" then
16
				return var
17
			else
18
				return env[k]
19
			end
20
		end,
21
	})
22
	setfenv(func,newenv)
23
	return func
24
end
25
function NS(...)
26
	local tab = {...}
27
	local fat = {}
28
	for i = 1, #tab do
29
		local v = tab[i]
30
		table.insert(fat,NumberSequenceKeypoint.new(v[1],v[2]))
31
	end
32
	return NumberSequence.new(fat);	
33
end
34
35
cors = {}
36
mas = Instance.new("Model",game:GetService("Lighting"))
37
ParticleEmitter0 = Instance.new("ParticleEmitter")
38
ParticleEmitter1 = Instance.new("ParticleEmitter")
39
ParticleEmitter2 = Instance.new("ParticleEmitter")
40
ParticleEmitter0.Name = "Flames"
41
ParticleEmitter0.Parent = mas
42
ParticleEmitter0.Speed = NumberRange.new(0, 15)
43
ParticleEmitter0.Rotation = NumberRange.new(0, 360)
44
ParticleEmitter0.Enabled = false
45
ParticleEmitter0.LightEmission = 1
46
ParticleEmitter0.LightInfluence = 1
47
ParticleEmitter0.Transparency = NumberSequence.new(1,0)
48
ParticleEmitter0.ZOffset = 1
49
ParticleEmitter0.Size = NumberSequence.new(10,0)
50
ParticleEmitter0.EmissionDirection = Enum.NormalId.Back
51
ParticleEmitter0.Lifetime = NumberRange.new(0, 2)
52
ParticleEmitter0.Rate = 9999
53
ParticleEmitter0.RotSpeed = NumberRange.new(-25, 25)
54
ParticleEmitter0.SpreadAngle = Vector2.new(25, 25)
55
ParticleEmitter0.VelocitySpread = 25
56
ParticleEmitter0.Texture = "rbxasset://textures/particles/sparkles_main.dds"
57
ParticleEmitter1.Name = "Death"
58
ParticleEmitter1.Parent = mas
59
ParticleEmitter1.Rotation = NumberRange.new(0, 360)
60
ParticleEmitter1.Enabled = false
61
ParticleEmitter1.LightEmission = 0.75
62
ParticleEmitter1.Texture = "rbxasset://textures/particles/sparkles_main.dds"
63
ParticleEmitter1.Transparency = NS({0,0.47540986537933},{.168,0.37704920768738},{.457,0.25683063268661},{.803,0.4426229596138},{.948,0.62841534614563},{1,1})
64
ParticleEmitter1.ZOffset = 0.5
65
ParticleEmitter1.Size = NS({0,1},{.656,1.8032789230347},{.843,1.4207655191422},{1,0})
66
ParticleEmitter1.Acceleration = Vector3.new(0, 35, 0)
67
ParticleEmitter1.Drag = 5
68
ParticleEmitter1.EmissionDirection = Enum.NormalId.Right
69
ParticleEmitter1.Lifetime = NumberRange.new(0, 1)
70
ParticleEmitter1.Rate = 999
71
ParticleEmitter1.RotSpeed = NumberRange.new(-56, 56)
72
ParticleEmitter1.SpreadAngle = Vector2.new(360, 360)
73
ParticleEmitter1.VelocitySpread = 360
74
ParticleEmitter2.Name = "Wing"
75
ParticleEmitter2.Parent = mas
76
ParticleEmitter2.Rotation = NumberRange.new(0, 360)
77
ParticleEmitter2.Enabled = false
78
ParticleEmitter2.LightEmission = 1
79
ParticleEmitter2.Texture = "rbxasset://textures/particles/explosion01_implosion_main.dds"
80
ParticleEmitter2.Size = NS({0,0.05464494228363},{.193,1.0382515192032},{.352,1.3661205768585},{1,0})
81
ParticleEmitter2.Acceleration = Vector3.new(0, -7, 15)
82
ParticleEmitter2.Lifetime = NumberRange.new(0.80000001192093, 0.80000001192093)
83
ParticleEmitter2.LockedToPart = true
84
ParticleEmitter2.Rate = 300
85
86
for i,v in pairs(mas:GetChildren()) do
87
	v.Parent = script
88
	pcall(function() v:MakeJoints() end)
89
end
90
mas:Destroy()
91
for i,v in pairs(cors) do
92
	spawn(function()
93
		pcall(v)
94
	end)
95
end
96
97
98
New = function(Object, Parent, Name, Data)
99
	local Object = Instance.new(Object)
100
	for Index, Value in pairs(Data or {}) do
101
		Object[Index] = Value
102
	end
103
	Object.Parent = Parent
104
	Object.Name = Name
105
	return Object
106
end
107
108
109
110
111
wait(0.2)
112
Player = game:GetService("Players").LocalPlayer
113
PlayerGui = Player.PlayerGui
114
Cam = workspace.CurrentCamera
115
Backpack = Player.Backpack
116
Character = Player.Character
117
Humanoid = Character.Humanoid
118
for _, v in next, Humanoid:GetPlayingAnimationTracks() do
119
	v:Stop()
120
end
121
Mouse = Player:GetMouse()
122
RootPart = Character.HumanoidRootPart
123
Torso = Character.Torso
124
Head = Character.Head
125
RightArm = Character["Right Arm"]
126
LeftArm = Character["Left Arm"]
127
RightLeg = Character["Right Leg"]
128
LeftLeg = Character["Left Leg"]
129
RootJoint = RootPart.RootJoint
130
Neck = Torso.Neck
131
RightShoulder = Torso["Right Shoulder"]
132
LeftShoulder = Torso["Left Shoulder"]
133
RightHip = Torso["Right Hip"]
134
LeftHip = Torso["Left Hip"]
135
local sick = Instance.new("Sound", Character)
136
wait(1)
137
IT = Instance.new
138
CF = CFrame.new
139
VT = Vector3.new
140
RAD = math.rad
141
C3 = Color3.new
142
UD2 = UDim2.new
143
BRICKC = BrickColor.new
144
ANGLES = CFrame.Angles
145
EULER = CFrame.fromEulerAnglesXYZ
146
COS = math.cos
147
ACOS = math.acos
148
SIN = math.sin
149
ASIN = math.asin
150
ABS = math.abs
151
MRANDOM = math.random
152
FLOOR = math.floor
153
Animation_Speed = 3
154
Frame_Speed = 0.016666666666666666
155
local Speed = 70
156
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
157
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
158
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
159
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
160
local DAMAGEMULTIPLIER = 1
161
local ANIM = "Idle"
162
local ATTACK = false
163
local EQUIPPED = false
164
local HOLD = false
165
local COMBO = 1
166
local Rooted = false
167
local SINE = 0
168
local KEYHOLD = false
169
local CHANGE = 2 / Animation_Speed
170
local WALKINGANIM = false
171
local VALUE1 = false
172
local VALUE2 = false
173
local ROBLOXIDLEANIMATION = IT("Animation")
174
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
175
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
176
local WEAPONGUI = IT("ScreenGui", PlayerGui)
177
WEAPONGUI.Name = "Weapon GUI"
178
local Effects = IT("Folder", Character)
179
Effects.Name = "Effects"
180
local ANIMATOR = Humanoid.Animator
181
local ANIMATE = Character.Animate
182
local UNANCHOR = true
183
ArtificialHB = Instance.new("BindableEvent", script)
184
ArtificialHB.Name = "ArtificialHB"
185
script:WaitForChild("ArtificialHB")
186
frame = Frame_Speed
187
tf = 0
188
allowframeloss = false
189
tossremainder = false
190
lastframe = tick()
191
script.ArtificialHB:Fire()
192
game:GetService("RunService").Heartbeat:connect(function(s, p)
193
	tf = tf + s
194
	if tf >= frame then
195
		if allowframeloss then
196
			script.ArtificialHB:Fire()
197
			lastframe = tick()
198
		else
199
			for i = 1, math.floor(tf / frame) do
200
				script.ArtificialHB:Fire()
201
			end
202
			lastframe = tick()
203
		end
204
		if tossremainder then
205
			tf = 0
206
		else
207
			tf = tf - frame * math.floor(tf / frame)
208
		end
209
	end
210
end)
211
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
212
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
213
end
214
function PositiveAngle(NUMBER)
215
	if NUMBER >= 0 then
216
		NUMBER = 0
217
	end
218
	return NUMBER
219
end
220
function NegativeAngle(NUMBER)
221
	if NUMBER <= 0 then
222
		NUMBER = 0
223
	end
224
	return NUMBER
225
end
226
function Swait(NUMBER)
227
	if NUMBER == 0 or NUMBER == nil then
228
		ArtificialHB.Event:wait()
229
	else
230
		for i = 1, NUMBER do
231
			ArtificialHB.Event:wait()
232
		end
233
	end
234
end
235
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
236
	local NEWMESH = IT(MESH)
237
	if MESH == "SpecialMesh" then
238
		NEWMESH.MeshType = MESHTYPE
239
		if MESHID ~= "nil" and MESHID ~= "" then
240
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id=" .. MESHID
241
		end
242
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
243
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id=" .. TEXTUREID
244
		end
245
	end
246
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
247
	NEWMESH.Scale = SCALE
248
	NEWMESH.Parent = PARENT
249
	return NEWMESH
250
end
251
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
252
	local NEWPART = IT("Part")
253
	NEWPART.formFactor = FORMFACTOR
254
	NEWPART.Reflectance = REFLECTANCE
255
	NEWPART.Transparency = TRANSPARENCY
256
	NEWPART.CanCollide = false
257
	NEWPART.Locked = true
258
	NEWPART.Anchored = true
259
	if ANCHOR == false then
260
		NEWPART.Anchored = false
261
	end
262
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
263
	NEWPART.Name = NAME
264
	NEWPART.Size = SIZE
265
	NEWPART.Position = Torso.Position
266
	NEWPART.Material = MATERIAL
267
	NEWPART:BreakJoints()
268
	NEWPART.Parent = PARENT
269
	return NEWPART
270
end
271
local weldBetween = function(a, b)
272
	local weldd = Instance.new("ManualWeld")
273
	weldd.Part0 = a
274
	weldd.Part1 = b
275
	weldd.C0 = CFrame.new()
276
	weldd.C1 = b.CFrame:inverse() * a.CFrame
277
	weldd.Parent = a
278
	return weldd
279
end
280
function QuaternionFromCFrame(cf)
281
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
282
	local trace = m00 + m11 + m22
283
	if trace > 0 then
284
		local s = math.sqrt(1 + trace)
285
		local recip = 0.5 / s
286
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
287
	else
288
		local i = 0
289
		if m00 < m11 then
290
			i = 1
291
		end
292
		if m22 > (i == 0 and m00 or m11) then
293
			i = 2
294
		end
295
		if i == 0 then
296
			local s = math.sqrt(m00 - m11 - m22 + 1)
297
			local recip = 0.5 / s
298
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
299
		elseif i == 1 then
300
			local s = math.sqrt(m11 - m22 - m00 + 1)
301
			local recip = 0.5 / s
302
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
303
		elseif i == 2 then
304
			local s = math.sqrt(m22 - m00 - m11 + 1)
305
			local recip = 0.5 / s
306
			return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
307
		end
308
	end
309
end
310
function QuaternionToCFrame(px, py, pz, x, y, z, w)
311
	local xs, ys, zs = x + x, y + y, z + z
312
	local wx, wy, wz = w * xs, w * ys, w * zs
313
	local xx = x * xs
314
	local xy = x * ys
315
	local xz = x * zs
316
	local yy = y * ys
317
	local yz = y * zs
318
	local zz = z * zs
319
	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))
320
end
321
function QuaternionSlerp(a, b, t)
322
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
323
	local startInterp, finishInterp
324
	if cosTheta >= 1.0E-4 then
325
		if 1 - cosTheta > 1.0E-4 then
326
			local theta = ACOS(cosTheta)
327
			local invSinTheta = 1 / SIN(theta)
328
			startInterp = SIN((1 - t) * theta) * invSinTheta
329
			finishInterp = SIN(t * theta) * invSinTheta
330
		else
331
			startInterp = 1 - t
332
			finishInterp = t
333
		end
334
	elseif 1 + cosTheta > 1.0E-4 then
335
		local theta = ACOS(-cosTheta)
336
		local invSinTheta = 1 / SIN(theta)
337
		startInterp = SIN((t - 1) * theta) * invSinTheta
338
		finishInterp = SIN(t * theta) * invSinTheta
339
	else
340
		startInterp = t - 1
341
		finishInterp = t
342
	end
343
	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
344
end
345
function Clerp(a, b, t)
346
	local qa = {
347
		QuaternionFromCFrame(a)
348
	}
349
	local qb = {
350
		QuaternionFromCFrame(b)
351
	}
352
	local ax, ay, az = a.x, a.y, a.z
353
	local bx, by, bz = b.x, b.y, b.z
354
	local _t = 1 - t
355
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
356
end
357
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
358
	local frame = IT("Frame")
359
	frame.BackgroundTransparency = TRANSPARENCY
360
	frame.BorderSizePixel = BORDERSIZEPIXEL
361
	frame.Position = POSITION
362
	frame.Size = SIZE
363
	frame.BackgroundColor3 = COLOR
364
	frame.BorderColor3 = BORDERCOLOR
365
	frame.Name = NAME
366
	frame.Parent = PARENT
367
	return frame
368
end
369
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
370
	local label = IT("TextLabel")
371
	label.BackgroundTransparency = 1
372
	label.Size = UD2(1, 0, 1, 0)
373
	label.Position = UD2(0, 0, 0, 0)
374
	label.TextColor3 = TEXTCOLOR
375
	label.TextStrokeTransparency = STROKETRANSPARENCY
376
	label.TextTransparency = TRANSPARENCY
377
	label.FontSize = TEXTFONTSIZE
378
	label.Font = TEXTFONT
379
	label.BorderSizePixel = BORDERSIZEPIXEL
380
	label.TextScaled = false
381
	label.Text = TEXT
382
	label.Name = NAME
383
	label.Parent = PARENT
384
	return label
385
end
386
function NoOutlines(PART)
387
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
388
end
389
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
390
	local NEWWELD = IT(TYPE)
391
	NEWWELD.Part0 = PART0
392
	NEWWELD.Part1 = PART1
393
	NEWWELD.C0 = C0
394
	NEWWELD.C1 = C1
395
	NEWWELD.Parent = PARENT
396
	return NEWWELD
397
end
398
local S = IT("Sound")
399
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
400
	local NEWSOUND
401
	coroutine.resume(coroutine.create(function()
402
		NEWSOUND = S:Clone()
403
		NEWSOUND.Parent = PARENT
404
		NEWSOUND.EmitterSize = VOLUME * 3
405
		NEWSOUND.Volume = VOLUME
406
		NEWSOUND.Pitch = PITCH
407
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id=" .. ID
408
		NEWSOUND:play()
409
		if DOESLOOP == true then
410
			NEWSOUND.Looped = true
411
		else
412
			repeat
413
				wait(1)
414
			until NEWSOUND.Playing == false
415
			NEWSOUND:remove()
416
		end
417
	end))
418
	return NEWSOUND
419
end
420
function CFrameFromTopBack(at, top, back)
421
	local right = top:Cross(back)
422
	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)
423
end
424
function WACKYEFFECT(Table)
425
	local TYPE = Table.EffectType or "Sphere"
426
	local SIZE = Table.Size or VT(1, 1, 1)
427
	local ENDSIZE = Table.Size2 or VT(0, 0, 0)
428
	local TRANSPARENCY = Table.Transparency or 0
429
	local ENDTRANSPARENCY = Table.Transparency2 or 1
430
	local CFRAME = Table.CFrame or Torso.CFrame
431
	local MOVEDIRECTION = Table.MoveToPos or nil
432
	local ROTATION1 = Table.RotationX or 0
433
	local ROTATION2 = Table.RotationY or 0
434
	local ROTATION3 = Table.RotationZ or 0
435
	local MATERIAL = Table.Material or "Neon"
436
	local COLOR = Table.Color or C3(1, 1, 1)
437
	local TIME = Table.Time or 45
438
	local SOUNDID = Table.SoundID or nil
439
	local SOUNDPITCH = Table.SoundPitch or nil
440
	local SOUNDVOLUME = Table.SoundVolume or nil
441
	coroutine.resume(coroutine.create(function()
442
		local PLAYSSOUND = false
443
		local SOUND
444
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1, 1, 1), true)
445
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
446
			PLAYSSOUND = true
447
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
448
		end
449
		EFFECT.Color = COLOR
450
		local MSH
451
		if TYPE == "Sphere" then
452
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0, 0, 0))
453
		elseif TYPE == "Block" then
454
			MSH = IT("BlockMesh", EFFECT)
455
			MSH.Scale = VT(SIZE.X, SIZE.X, SIZE.X)
456
		elseif TYPE == "Wave" then
457
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0, 0, -SIZE.X / 8))
458
		elseif TYPE == "Ring" then
459
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X, SIZE.X, 0.1), VT(0, 0, 0))
460
		elseif TYPE == "Slash" then
461
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
462
		elseif TYPE == "Round Slash" then
463
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
464
		elseif TYPE == "Swirl" then
465
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0, 0, 0))
466
		elseif TYPE == "Skull" then
467
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0, 0, 0))
468
		elseif TYPE == "Crystal" then
469
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0, 0, 0))
470
		end
471
		if MSH ~= nil then
472
			local MOVESPEED
473
			if MOVEDIRECTION ~= nil then
474
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude / TIME
475
			end
476
			local GROWTH = SIZE - ENDSIZE
477
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
478
			if TYPE == "Block" then
479
				EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
480
			else
481
				EFFECT.CFrame = CFRAME
482
			end
483
			for LOOP = 1, TIME + 1 do
484
				Swait()
485
				MSH.Scale = MSH.Scale - GROWTH / TIME
486
				if TYPE == "Wave" then
487
					MSH.Offset = VT(0, 0, -MSH.Scale.X / 8)
488
				end
489
				EFFECT.Transparency = EFFECT.Transparency - TRANS / TIME
490
				if TYPE == "Block" then
491
					EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
492
				else
493
					EFFECT.CFrame = EFFECT.CFrame * ANGLES(RAD(ROTATION1), RAD(ROTATION2), RAD(ROTATION3))
494
				end
495
				if MOVEDIRECTION ~= nil then
496
					local ORI = EFFECT.Orientation
497
					EFFECT.CFrame = CF(EFFECT.Position, MOVEDIRECTION) * CF(0, 0, -MOVESPEED)
498
					EFFECT.Orientation = ORI
499
				end
500
			end
501
			if PLAYSSOUND == false then
502
				EFFECT:remove()
503
			else
504
				repeat
505
					Swait()
506
				until SOUND.Playing == false
507
				EFFECT:remove()
508
			end
509
		elseif PLAYSSOUND == false then
510
			EFFECT:remove()
511
		else
512
			repeat
513
				Swait()
514
			until SOUND.Playing == false
515
			EFFECT:remove()
516
		end
517
	end))
518
end
519
function MakeForm(PART, TYPE)
520
	if TYPE == "Cyl" then
521
		local MSH = IT("CylinderMesh", PART)
522
	elseif TYPE == "Ball" then
523
		local MSH = IT("SpecialMesh", PART)
524
		MSH.MeshType = "Sphere"
525
	elseif TYPE == "Wedge" then
526
		local MSH = IT("SpecialMesh", PART)
527
		MSH.MeshType = "Wedge"
528
	end
529
end
530
Debris = game:GetService("Debris")
531
function CastProperRay(StartPos, EndPos, Distance, Ignore)
532
	local DIRECTION = CF(StartPos, EndPos).lookVector
533
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
534
end
535
function turnto(position)
536
	RootPart.CFrame = CFrame.new(RootPart.CFrame.p, VT(position.X, RootPart.Position.Y, position.Z)) * CFrame.new(0, 0, 0)
537
end
538
local DECAL = IT("Decal")
539
function MakeRing()
540
	local RING = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "MagicRing", VT(0, 0, 0), true)
541
	local MSH = IT("BlockMesh", RING)
542
	local TOP = DECAL:Clone()
543
	local BOTTOM = DECAL:Clone()
544
	TOP.Parent = RING
545
	BOTTOM.Parent = RING
546
	TOP.Face = "Top"
547
	BOTTOM.Face = "Bottom"
548
	TOP.Texture = "http://www.roblox.com/asset/?id=127817121"
549
	BOTTOM.Texture = "http://www.roblox.com/asset/?id=127817121"
550
	local function REMOVE()
551
		coroutine.resume(coroutine.create(function()
552
			local SIZE = MSH.Scale.X
553
			for i = 1, 35 do
554
				Swait()
555
				MSH.Scale = MSH.Scale - VT(SIZE, 0, SIZE) / 60
556
				TOP.Transparency = TOP.Transparency + 0.02857142857142857
557
				BOTTOM.Transparency = BOTTOM.Transparency + 0.02857142857142857
558
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(-5), RAD(0))
559
			end
560
			RING:remove()
561
		end))
562
	end
563
	return RING, MSH, REMOVE
564
end
565
function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
566
	local TORSO = Torso
567
	local HUM = Humanoid
568
	if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
569
		coroutine.wrap(function()
570
			VT = Vector3.new
571
			MRANDOM = math.random
572
			local A = TIME
573
			local B = INTENSITY
574
			local C = true
575
			local HUMANOID = Humanoid
576
			local TIMER = A or 35
577
			local SHAKE = B or 5
578
			local FADE = C or true
579
			if HUMANOID then
580
				local FADER = SHAKE / TIMER
581
				for i = 1, TIMER do
582
					wait()
583
					HUMANOID.CameraOffset = VT(MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10)
584
				end
585
				HUMANOID.CameraOffset = VT(0, 0, 0)
586
			end
587
588
		end)()
589
	end
590
end
591
592
local SKILLTEXTCOLOR = C3(0, 0, 0)
593
local SKILLFONT = "SciFi"
594
local SKILLTEXTSIZE = 7
595
local WING = Instance.new("Attachment")
596
local WING1 = WING:Clone()
597
local WING2 = WING:Clone()
598
WING1.Parent = Torso
599
WING2.Parent = Torso
600
WING1.Position = VT(-1, 0.6, 1)
601
WING2.Position = VT(1, 0.6, 1)
602
WING1.Orientation = VT(0, 0, 0)
603
WING2.Orientation = VT(0, 0, 0)
604
local WINGS = {}
605
for i = 1, 5 do
606
	local PARTICLES = script.Wing:Clone()
607
	PARTICLES.Parent = WING1
608
	PARTICLES.Enabled = true
609
	PARTICLES.Acceleration = VT(-i * 10, -5 - i * 1.5, 15)
610
	table.insert(WINGS, {
611
		PARTICLES,
612
		VT(-i * 30, 0, 25)
613
	})
614
end
615
for i = 1, 5 do
616
	local PARTICLES = script.Wing:Clone()
617
	PARTICLES.Parent = WING2
618
	PARTICLES.Enabled = true
619
	PARTICLES.Acceleration = VT(i * 10, -5 - i * 1.5, 15)
620
	table.insert(WINGS, {
621
		PARTICLES,
622
		VT(i * 30, 0, 25)
623
	})
624
end
625
626-
Base = New("Part",Head,"Base",{BrickColor = BrickColor.new("Institutional white"),Material = Enum.Material.SmoothPlastic,Transparency = 1,Transparency = 1,Size = Vector3.new(2, 1, 1),CFrame = CFrame.new(4.56395578, 30.9732971, 96.5572357, -1, 0, -3.7252903e-09, 0, 1, 0, -3.7252903e-09, 0, -1.00000012),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0,0,0),})
626+
Base = New("Part",Head,"Base",{BrickColor = BrickColor.random(),Material = Enum.Material.SmoothPlastic,Transparency = 1,Transparency = 1,Size = Vector3.new(2, 1, 1),CFrame = CFrame.new(4.56395578, 30.9732971, 96.5572357, -1, 0, -3.7252903e-09, 0, 1, 0, -3.7252903e-09, 0, -1.00000012),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,BrickColor.random().Color,})
627
Mesh = New("SpecialMesh",Base,"Mesh",{Scale = Vector3.new(1,1,1),})
628
Hood = New("Part",Head,"Hood",{Size = Vector3.new(2.04900002, 2.18899989, 1.97500002),CFrame = CFrame.new(4.59299994, 31.1469994, 96.4520035, -0.99907124, -0.00109502568, 0.043075189, -0.00244226633, 0.999509037, -0.0312363114, -0.0430198386, -0.0313125029, -0.998583436),BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
629
Mesh = New("SpecialMesh",Hood,"Mesh",{MeshId = "rbxassetid://93129244",TextureId = "rbxassetid://94020325",MeshType = Enum.MeshType.FileMesh,})
630
mot = New("Motor",Hood,"mot",{Part0 = Hood,Part1 = Base,C0 = CFrame.new(0, 0, 0, -0.99907124, -0.00244226633, -0.0430198386, -0.00109502568, 0.999509037, -0.0313125029, 0.043075189, -0.0312363114, -0.998583436),C1 = CFrame.new(-0.0290441513, 0.17370224, 0.105232239, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
631
632
CreateWeldOrSnapOrMotor('Weld', Head, Head, Base, CF(), CF())
633
634-
Head.Color = C3(0,0,0)
634+
Head.Color = C3(0,255,0)
635
636
local DParticles = script.Death
637
DParticles:remove()
638
DParticles.Name = "ArchangelDeathParticles"
639
local BODY = {}
640
for _, c in pairs(Character:GetDescendants()) do
641
	if c:IsA("BasePart") and c.Name ~= "Handle" then
642
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
643
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
644
		end
645
		table.insert(BODY, {
646
			c,
647
			c.Parent,
648
			c.Material,
649
			c.Color,
650
			c.Transparency
651
		})
652
	elseif c:IsA("JointInstance") then
653
		table.insert(BODY, {
654
			c,
655
			c.Parent,
656
			nil,
657
			nil,
658
			nil
659
		})
660
	end
661
end
662
for e = 1, #BODY do
663
	if BODY[e] ~= nil then
664
		do
665
			local STUFF = BODY[e]
666
			local PART = STUFF[1]
667
			local PARENT = STUFF[2]
668
			local MATERIAL = STUFF[3]
669
			local COLOR = STUFF[4]
670
			local TRANSPARENCY = STUFF[5]
671
			if PART.ClassName == "Part" and PART ~= RootPart then
672
				PART.Material = MATERIAL
673
				PART.Color = COLOR
674
				PART.Transparency = TRANSPARENCY
675
			end
676
			PART.AncestryChanged:Connect(function()
677
				PART.Parent = PARENT
678
			end)
679
		end
680
	end
681
end
682
function refit()
683
	Character.Parent = workspace
684
	for e = 1, #BODY do
685
		if BODY[e] ~= nil then
686
			local STUFF = BODY[e]
687
			local PART = STUFF[1]
688
			local PARENT = STUFF[2]
689
			local MATERIAL = STUFF[3]
690
			local COLOR = STUFF[4]
691
			local TRANSPARENCY = STUFF[5]
692
			if PART:IsA("BasePart") and PART ~= RootPart then
693
				PART.Material = MATERIAL
694
				PART.Color = COLOR
695
				PART.Transparency = TRANSPARENCY
696
			end
697
			if PART.Parent ~= PARENT then
698
				Humanoid:remove()
699
				PART.Parent = PARENT
700
				Humanoid = IT("Humanoid", Character)
701
			end
702
		end
703
	end
704
end
705
Humanoid.Died:connect(function()
706
	refit()
707
end)
708
709
710
local SKILLTEXTCOLOR = C3(1, 1, 1)
711
local SKILLFONT = "Fantasy"
712
local SKILLTEXTSIZE = 3
713
local ATTACKS = {
714
	"Z - Holy Smite",
715
	"B - Divine Ravage",
716
	"C - Divine Earthquake",
717
	"V - Beam of Light",
718
	"X - Divine Nova"
719
}
720
for i = 1, #ATTACKS do
721
	local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.74, 0, 0.97 - 0.02 * i, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill Frame")
722
	local SKILLTEXT = CreateLabel(SKILLFRAME, "[" .. ATTACKS[i] .. "]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
723
	SKILLTEXT.TextXAlignment = "Right"
724
end
725
726
function ApplyAoE(POSITION, RANGE)
727
	local PARTS = {}
728
	for index, CHILD in pairs(workspace:GetDescendants()) do
729
		if CHILD.ClassName == "Model" and CHILD ~= Character then
730
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
731
			if HUM then
732
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
733
				if TORSO and HUM.Health > 0 and RANGE >= (TORSO.Position - POSITION).Magnitude then
734
					CHILD:BreakJoints()
735
					for index, PART in pairs(CHILD:GetChildren()) do
736
						if PART:IsA("BasePart") and PART.Name ~= "HumanoidRootPart" then
737
							local P = DParticles:Clone()
738
							P.Parent = PART
739
							P.Enabled = true
740
							P.Color = ColorSequence.new(PART.Color, C3(1, 1, 1))
741
							PART.Anchored = true
742
							table.insert(PARTS, {PART, P})
743
						end
744
					end
745
				end
746
			end
747
		elseif CHILD:IsA("BasePart") and CHILD.Parent.Parent ~= Character and CHILD.Parent:FindFirstChildOfClass("Humanoid") == nil and CHILD:FindFirstChild("ewdfrfgrwefd") == nil and CHILD.Size.Magnitude < RANGE * 2 and CHILD.Size.Magnitude < 200 and RANGE > (CHILD.Position - POSITION).Magnitude then
748
			local FOLDER = IT("Folder", CHILD)
749
			FOLDER.Name = "ewdfrfgrwefd"
750
			local P = DParticles:Clone()
751
			P.Parent = CHILD
752
			P.Enabled = true
753
			CHILD:BreakJoints()
754
			CHILD.CanCollide = false
755
			CHILD.Anchored = true
756
			P.Rate = math.ceil(CHILD.Size.Magnitude / 2)
757
			P.Color = ColorSequence.new(CHILD.Color, C3(1, 1, 1))
758
			table.insert(PARTS, {CHILD, P})
759
		end
760
	end
761
	coroutine.resume(coroutine.create(function()
762
		if #PARTS > 0 then
763
			for i = 1, 85 do
764
				Swait()
765
				for E = 1, #PARTS do
766
					local F = PARTS[E]
767
					local A = F[1]
768
					local B = F[2]
769
					A.Transparency = A.Transparency + 0.011764705882352941
770
					B.Rate = math.ceil(B.Rate * 1.2)
771
					for index, E in pairs(A:GetChildren()) do
772
						if E:IsA("Decal") or E:IsA("Texture") then
773
							E.Transparency = E.Transparency + 0.011764705882352941
774
						elseif E:IsA("JointInstance") then
775
							E:remove()
776
						elseif E:IsA("Light") or E:IsA("ParticleEmitter") and E ~= B and E.Name ~= "ArchangelDeathParticles" or E:IsA("Fire") or E:IsA("Sparkles") or E:IsA("Smoke") then
777
							E.Enabled = false
778
						end
779
					end
780
				end
781
			end
782
			for E = 1, #PARTS do
783
				local F = PARTS[E]
784
				local A = F[1]
785
				local B = F[2]
786
				B.Enabled = false
787
				Debris:AddItem(A, 3)
788
			end
789
		end
790
	end))
791
end
792
function Smite()
793
	local RING, MESH, DELET = MakeRing()
794
	local POS = Mouse.Hit.p
795
	RING.CFrame = CF(Mouse.Hit.p + VT(MRANDOM(-25, 25), 200, MRANDOM(-25, 25)), Mouse.Hit.p) * ANGLES(RAD(90), RAD(0), RAD(0))
796
	for i = 1, 45 do
797
		Swait()
798
		MESH.Scale = MESH.Scale + VT(12, 0, 12)
799
		RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
800
	end
801
	local HITFLOOR, HITPOS = Raycast(RING.Position, CF(RING.Position, RING.CFrame * CF(0, -1, 0).p).lookVector, 500, Character)
802
	if HITFLOOR then
803
		local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Pearl"), "Beam", VT(0, 0, 0), true)
804
		MakeForm(BEAM, "Cyl")
805
		local DIST = (RING.Position - HITPOS).Magnitude
806
		BEAM.Size = VT(0, DIST, 0)
807
		BEAM.CFrame = CF(RING.Position, HITPOS) * CF(0, 0, -DIST / 2) * ANGLES(RAD(90), RAD(0), RAD(0))
808
		for i = 1, 5 do
809
			WACKYEFFECT({
810
				EffectType = "Wave",
811
				Size = VT(25, 0, 25),
812
				Size2 = VT(40, 0, 40) + VT(i * 6, i / 5, i * 6),
813
				Transparency = 0,
814
				Transparency2 = 1,
815
				CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
816
				MoveToPos = nil,
817
				RotationX = 0,
818
				RotationY = 3,
819
				RotationZ = 0,
820
				Material = "Neon",
821
				Color = C3(1, 1, 1),
822
				SoundID = nil,
823
				SoundPitch = nil,
824
				SoundVolume = nil
825
			})
826
			WACKYEFFECT({
827
				EffectType = "Round Slash",
828
				Size = VT(3, 0, 3) / 13,
829
				Size2 = (VT(3, 0, 3) + VT(i, 0, i)) / 5,
830
				Transparency = 0,
831
				Transparency2 = 1,
832
				CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
833
				MoveToPos = nil,
834
				RotationX = 0,
835
				RotationY = 0,
836
				RotationZ = 0,
837
				Material = "Neon",
838
				Color = C3(1, 1, 1),
839
				SoundID = nil,
840
				SoundPitch = nil,
841
				SoundVolume = nil
842
			})
843
			WACKYEFFECT({
844
				Time = 35,
845
				EffectType = "Sphere",
846
				Size = VT(22, 22, 22),
847
				Size2 = VT(45, 45, 45) + VT(i * 5, i * 5, i * 5),
848
				Transparency = 0,
849
				Transparency2 = 1,
850
				CFrame = CF(HITPOS),
851
				MoveToPos = nil,
852
				RotationX = 0,
853
				RotationY = 0,
854
				RotationZ = 0,
855
				Material = "Neon",
856
				Color = C3(1, 1, 1),
857
				SoundID = 459523898,
858
				SoundPitch = MRANDOM(9, 12) / 10,
859
				SoundVolume = 10
860
			})
861
		end
862
		SHAKECAM(HITPOS, 100, 8, 15)
863
		ApplyAoE(HITPOS, 50)
864
		for i = 1, 25 do
865
			Swait()
866
			BEAM.Size = BEAM.Size + VT(0.5, 0, 0.5)
867
			BEAM.Transparency = BEAM.Transparency + 0.04
868
		end
869
		BEAM:remove()
870
	end
871
	wait(0.2)
872
	DELET()
873
end
874
function Ravage()
875
	ATTACK = true
876
	Rooted = false
877
	local RING, MESH, DELET = MakeRing()
878
	RING.Anchored = false
879
	RING.CFrame = RightArm.CFrame * CF(0, -1.3, 0)
880
	local WELD = weldBetween(RightArm, RING)
881
	local GYRO = IT("BodyGyro", RootPart)
882
	GYRO.D = 20
883
	GYRO.P = 4000
884
	GYRO.MaxTorque = VT(0, 40000, 0)
885
	coroutine.resume(coroutine.create(function()
886
		repeat
887
			GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
888
			Swait()
889
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(90)), 1 / Animation_Speed)
890
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-90)), 1 / Animation_Speed)
891
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
892
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
893
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
894
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
895
		until ATTACK == false
896
		GYRO:remove()
897
	end))
898
	CreateSound(459523787, RING, 8, 1, false)
899
	for i = 1, 45 do
900
		Swait()
901
		MESH.Scale = MESH.Scale + VT(13, 0, 13)
902
		WELD.C0 = WELD.C0 * ANGLES(RAD(0), RAD(5), RAD(0))
903
	end
904
	wait(0.3)
905
	repeat
906
		for i = 1, 25 do
907
			Swait()
908
			WACKYEFFECT({
909
				Time = 15,
910
				EffectType = "Sphere",
911
				Size = VT(4, 4, 4),
912
				Size2 = VT(0, 0, 0),
913
				Transparency = 1,
914
				Transparency2 = 0,
915
				CFrame = CF(RING.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))) * CF(0, 0, 35),
916
				MoveToPos = RING.Position,
917
				RotationX = 0,
918
				RotationY = 0,
919
				RotationZ = 0,
920
				Material = "Neon",
921
				Color = C3(1, 1, 1),
922
				SoundID = nil,
923
				SoundPitch = nil,
924
				SoundVolume = nil
925
			})
926
		end
927
		WACKYEFFECT({
928
			Time = 35,
929
			EffectType = "Sphere",
930
			Size = VT(25, 2, 25),
931
			Size2 = VT(35, 5, 35),
932
			Transparency = 0,
933
			Transparency2 = 1,
934
			CFrame = RING.CFrame,
935
			MoveToPos = nil,
936
			RotationX = 0,
937
			RotationY = 0,
938
			RotationZ = 0,
939
			Material = "Neon",
940
			Color = C3(1, 1, 1),
941
			SoundID = 459523898,
942
			SoundPitch = MRANDOM(9, 12) / 10,
943
			SoundVolume = 10
944
		})
945
		coroutine.resume(coroutine.create(function()
946
			local PROJECTILE = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Pearl"), "Beam", VT(12, 12, 12), true)
947
			MakeForm(PROJECTILE, "Ball")
948
			PROJECTILE.CFrame = RootPart.CFrame * CF(0, 0, -10)
949
			local FIRE = script.Flames:Clone()
950
			FIRE.Parent = PROJECTILE
951
			FIRE.Enabled = true
952
			local SPEED = -0.2
953
			for i = 1, 1000 do
954
				Swait()
955
				SPEED = SPEED - 0.01
956
				local HIT = Raycast(PROJECTILE.Position, PROJECTILE.CFrame.lookVector, 6 + SPEED / 5, Character)
957
				if HIT then
958
					do
959
						local POS = PROJECTILE.Position
960
						ApplyAoE(POS, 100)
961
						SHAKECAM(POS, 150, 12, 15)
962
						coroutine.resume(coroutine.create(function()
963
							for i = 1, 5 do
964
								Swait()
965
								WACKYEFFECT({
966
									Time = 85,
967
									EffectType = "Wave",
968
									Size = VT(25, 0, 25),
969
									Size2 = VT(40, 0, 40) + VT(i * 6, i / 5, i * 6) * 15,
970
									Transparency = 0,
971
									Transparency2 = 1,
972
									CFrame = CF(POS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
973
									MoveToPos = nil,
974
									RotationX = 0,
975
									RotationY = 3,
976
									RotationZ = 0,
977
									Material = "Neon",
978
									Color = C3(1, 1, 1),
979
									SoundID = nil,
980
									SoundPitch = nil,
981
									SoundVolume = nil
982
								})
983
								WACKYEFFECT({
984
									Time = 85,
985
									EffectType = "Round Slash",
986
									Size = VT(3, 0, 3) / 13,
987
									Size2 = (VT(3, 0, 3) + VT(i, 0, i)) * 2,
988
									Transparency = 0,
989
									Transparency2 = 1,
990
									CFrame = CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
991
									MoveToPos = nil,
992
									RotationX = 0,
993
									RotationY = 0,
994
									RotationZ = 0,
995
									Material = "Neon",
996
									Color = C3(1, 1, 1),
997
									SoundID = nil,
998
									SoundPitch = nil,
999
									SoundVolume = nil
1000
								})
1001
								WACKYEFFECT({
1002
									Time = 75,
1003
									EffectType = "Sphere",
1004
									Size = VT(22, 22, 22),
1005
									Size2 = VT(45, 45, 45) + VT(i * 5, i * 5, i * 5) * 7,
1006
									Transparency = 0,
1007
									Transparency2 = 1,
1008
									CFrame = CF(POS),
1009
									MoveToPos = nil,
1010
									RotationX = 0,
1011
									RotationY = 0,
1012
									RotationZ = 0,
1013
									Material = "Neon",
1014
									Color = C3(1, 1, 1),
1015
									SoundID = 533636431,
1016
									SoundPitch = MRANDOM(9, 12) / 10,
1017
									SoundVolume = 10
1018
								})
1019
							end
1020
						end))
1021
						break
1022
					end
1023
				else
1024
					PROJECTILE.CFrame = PROJECTILE.CFrame * CF(0, 0, SPEED)
1025
					for index, CHILD in pairs(workspace:GetDescendants()) do
1026
						if CHILD.ClassName == "Model" and CHILD ~= Character then
1027
							local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1028
							if HUM then
1029
								local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1030
								if TORSO and 0 < HUM.Health and 150 > (TORSO.Position - PROJECTILE.Position).Magnitude then
1031
									PROJECTILE.CFrame = Clerp(PROJECTILE.CFrame, CF(PROJECTILE.Position, TORSO.Position), 0.08)
1032
								end
1033
							end
1034
						end
1035
					end
1036
				end
1037
			end
1038
			FIRE.Enabled = false
1039
			PROJECTILE.Transparency = 1
1040
			Debris:AddItem(PROJECTILE, 5)
1041
		end))
1042
	until KEYHOLD == false
1043
	wait(0.1)
1044
	RING.Anchored = true
1045
	WELD:remove()
1046
	DELET()
1047
	ATTACK = false
1048
	Rooted = false
1049
end
1050
function Earthquake()
1051
	ATTACK = true
1052
	Rooted = true
1053
	local GYRO = IT("BodyGyro", RootPart)
1054
	GYRO.D = 20
1055
	GYRO.P = 4000
1056
	GYRO.MaxTorque = VT(0, 40000, 0)
1057
	local RING, MESH, DELET = MakeRing()
1058
	local HITFLOOR, HITPOS = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 15, Character)
1059
	RING.CFrame = CF(HITPOS)
1060
	for i = 0, 0.6, 0.1 / Animation_Speed do
1061
		GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
1062
		Swait()
1063
		MESH.Scale = MESH.Scale + VT(53, 0, 53)
1064
		RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
1065
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 1 / Animation_Speed)
1066
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
1067
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25 - 7.5 * SIN(SINE / 12)), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1068
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1069
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1070
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1071
	end
1072
	local BLASTS = {468991944, 468991990}
1073
	coroutine.resume(coroutine.create(function()
1074
		local CFRAME = RootPart.CFrame
1075
		for i = 1, 100 do
1076
			CFRAME = CFRAME * CF(0, 0, -35)
1077
			do
1078
				local HITFLOOR, HITPOS = Raycast(CFRAME.p, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 15, Character)
1079
				if HITFLOOR then
1080
					Swait()
1081
					do
1082
						local OFFSET = CFRAME * CF(MRANDOM(-25, 25), 0, 0)
1083
						coroutine.resume(coroutine.create(function()
1084
							local RING, MESH, DELET = MakeRing()
1085
							RING.CFrame = CF(OFFSET.p.X, HITPOS.Y, OFFSET.p.Z)
1086
							for i = 1, 25 do
1087
								Swait()
1088
								MESH.Scale = MESH.Scale + VT(42, 0, 42)
1089
								RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
1090
							end
1091
							ApplyAoE(RING.Position, 65)
1092
							SHAKECAM(RING.Position, 80, 12, 15)
1093
							local TURN = ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(0, 25)), RAD(0), RAD(0))
1094
							WACKYEFFECT({
1095
								Time = 25,
1096
								EffectType = "Sphere",
1097
								Size = VT(22, 22, 22),
1098
								Size2 = VT(85, 85, 85),
1099
								Transparency = 0,
1100
								Transparency2 = 1,
1101
								CFrame = CF(RING.Position),
1102
								MoveToPos = nil,
1103
								RotationX = 0,
1104
								RotationY = 0,
1105
								RotationZ = 0,
1106
								Material = "Neon",
1107
								Color = C3(1, 1, 1),
1108
								SoundID = BLASTS[MRANDOM(1, #BLASTS)],
1109
								SoundPitch = MRANDOM(9, 12) / 10,
1110
								SoundVolume = 10
1111
							})
1112
							for e = 1, 3 do
1113
								WACKYEFFECT({
1114
									EffectType = "Wave",
1115
									Size = VT(25, 0, 25),
1116
									Size2 = VT(40, 0, 40) + VT(e * 6, e / 5, e * 6),
1117
									Transparency = 0,
1118
									Transparency2 = 1,
1119
									CFrame = CF(RING.Position) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
1120
									MoveToPos = nil,
1121
									RotationX = 0,
1122
									RotationY = 3,
1123
									RotationZ = 0,
1124
									Material = "Neon",
1125
									Color = C3(1, 1, 1),
1126
									SoundID = nil,
1127
									SoundPitch = nil,
1128
									SoundVolume = nil
1129
								})
1130
								WACKYEFFECT({
1131
									Time = 35,
1132
									EffectType = "Sphere",
1133
									Size = VT(22, 45, 22),
1134
									Size2 = VT(25, 45 + e * 75, 25),
1135
									Transparency = 0,
1136
									Transparency2 = 1,
1137
									CFrame = CF(RING.Position) * TURN,
1138
									MoveToPos = nil,
1139
									RotationX = 0,
1140
									RotationY = 0,
1141
									RotationZ = 0,
1142
									Material = "Neon",
1143
									Color = C3(1, 1, 1),
1144
									SoundID = nil,
1145
									SoundPitch = MRANDOM(9, 12) / 10,
1146
									SoundVolume = 10
1147
								})
1148
							end
1149
							wait(0.3)
1150
							DELET()
1151
						end))
1152
					end
1153
				end
1154
			end
1155
		end
1156
	end))
1157
	Rooted = false
1158
	for i = 0, 0.2, 0.1 / Animation_Speed do
1159
		Swait()
1160
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(75)), 1 / Animation_Speed)
1161
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), 1 / Animation_Speed)
1162
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(145 - 7.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12)), RAD(12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1163
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1164
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1165
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1166
	end
1167
	DELET()
1168
	GYRO:remove()
1169
	ATTACK = false
1170
	Rooted = false
1171
end
1172
function Beam()
1173
	ATTACK = true
1174
	Rooted = false
1175
	local GYRO = IT("BodyGyro", RootPart)
1176
	GYRO.D = 20
1177
	GYRO.P = 4000
1178
	GYRO.MaxTorque = VT(0, 40000, 0)
1179
	local RING, MESH, DELET = MakeRing()
1180
	local POS = RootPart.Position + VT(0, 25, 0)
1181
	RING.CFrame = CF(POS, Mouse.Hit.p) * ANGLES(RAD(90), RAD(0), RAD(0))
1182
	CreateSound(459523787, RING, 8, 1, false)
1183
	local BLASTS = {468991944, 468991990}
1184
	coroutine.resume(coroutine.create(function()
1185
		local E = 0
1186
		repeat
1187
			E = E + 5
1188
			GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
1189
			Swait()
1190
			RING.CFrame = CF(POS, Mouse.Hit.p) * ANGLES(RAD(90), RAD(E), RAD(0))
1191
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(90)), 1 / Animation_Speed)
1192
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-90)), 1 / Animation_Speed)
1193
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1194
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1195
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1196
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1197
		until ATTACK == false
1198
		GYRO:remove()
1199
		DELET()
1200
	end))
1201
	for i = 1, 50 do
1202
		Swait()
1203
		MESH.Scale = MESH.Scale + VT(22, 0, 22)
1204
	end
1205
	for i = 1, 25 do
1206
		Swait()
1207
		WACKYEFFECT({
1208
			Time = 15,
1209
			EffectType = "Sphere",
1210
			Size = VT(4, 4, 4),
1211
			Size2 = VT(0, 0, 0),
1212
			Transparency = 1,
1213
			Transparency2 = 0,
1214
			CFrame = CF(RING.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))) * CF(0, 0, 35),
1215
			MoveToPos = RING.Position,
1216
			RotationX = 0,
1217
			RotationY = 0,
1218
			RotationZ = 0,
1219
			Material = "Neon",
1220
			Color = C3(1, 1, 1),
1221
			SoundID = nil,
1222
			SoundPitch = nil,
1223
			SoundVolume = nil
1224
		})
1225
	end
1226
	local LOOP = 0
1227
	local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Pearl"), "Beam", VT(0, 0, 0), true)
1228
	MakeForm(BEAM, "Cyl")
1229
	CreateSound(BLASTS[MRANDOM(1, #BLASTS)], RING, 5, MRANDOM(9, 11) / 10, false)
1230
	repeat
1231
		local DISTANCE = (RING.Position - Mouse.Hit.p).Magnitude
1232
		if DISTANCE < 2000 then
1233
			BEAM.Size = VT(10 + 2 * COS(SINE / 4), DISTANCE, 10 + 2 * COS(SINE / 4))
1234
			BEAM.CFrame = CF(RING.Position, Mouse.Hit.p) * CF(0, 0, -DISTANCE / 2) * ANGLES(RAD(90), RAD(0), RAD(0))
1235
			ApplyAoE(Mouse.Hit.p, 35)
1236
			WACKYEFFECT({
1237
				Time = 35,
1238
				EffectType = "Sphere",
1239
				Size = VT(10 + 2 * COS(SINE / 4), 10 + 2 * COS(SINE / 4), 10 + 2 * COS(SINE / 4)) * 2,
1240
				Size2 = VT(5, 75, 5),
1241
				Transparency = 0,
1242
				Transparency2 = 1,
1243
				CFrame = CF(Mouse.Hit.p) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
1244
				MoveToPos = nil,
1245
				RotationX = 0,
1246
				RotationY = 0,
1247
				RotationZ = 0,
1248
				Material = "Neon",
1249
				Color = C3(1, 1, 1),
1250
				SoundID = nil,
1251
				SoundPitch = MRANDOM(9, 12) / 10,
1252
				SoundVolume = 10
1253
			})
1254
			Swait()
1255
			LOOP = LOOP + 1
1256
		end
1257
	until KEYHOLD == false and LOOP >= 35 or DISTANCE >= 2000
1258
	coroutine.resume(coroutine.create(function()
1259
		for i = 1, 15 do
1260
			Swait()
1261
			BEAM.Size = BEAM.Size - VT(0.2, 0, 0.2)
1262
			BEAM.Transparency = BEAM.Transparency + 0.06666666666666667
1263
		end
1264
		BEAM:remove()
1265
	end))
1266
	ATTACK = false
1267
	Rooted = false
1268
end
1269
function Nuke()
1270
	ATTACK = true
1271
	Rooted = true
1272
	local CHARGE = false
1273
	local BLASTS = {468991944, 468991990}
1274
	coroutine.resume(coroutine.create(function()
1275
		repeat
1276
			Swait()
1277
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(-15 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 0.1 / Animation_Speed)
1278
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-35 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 0.1 / Animation_Speed)
1279
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(140 - 7.5 * SIN(SINE / 12)), RAD(-7.5 * SIN(SINE / 12)), RAD(-45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
1280
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(140 - 7.5 * SIN(SINE / 12)), RAD(7.5 * SIN(SINE / 12)), RAD(45 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
1281
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(25 - 7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.1 / Animation_Speed)
1282
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(25 - 7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.1 / Animation_Speed)
1283
		until CHARGE == true
1284
		for i = 0, 0.4, 0.1 / Animation_Speed do
1285
			Swait()
1286
			WACKYEFFECT({
1287
				Time = 15,
1288
				EffectType = "Sphere",
1289
				Size = VT(60, 60, 60),
1290
				Size2 = VT(0, 0, 0),
1291
				Transparency = 1,
1292
				Transparency2 = 0.7,
1293
				CFrame = CF(RootPart.Position),
1294
				MoveToPos = nil,
1295
				RotationX = 0,
1296
				RotationY = 0,
1297
				RotationZ = 0,
1298
				Material = "Neon",
1299
				Color = C3(1, 1, 1),
1300
				SoundID = nil,
1301
				SoundPitch = nil,
1302
				SoundVolume = nil
1303
			})
1304
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
1305
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1306
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(160 - 7.5 * SIN(SINE / 12)), RAD(-7.5 * SIN(SINE / 12)), RAD(-50 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1307
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(160 - 7.5 * SIN(SINE / 12)), RAD(7.5 * SIN(SINE / 12)), RAD(50 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1308
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(35 - 7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1309
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(35 - 7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1310
		end
1311
		coroutine.resume(coroutine.create(function()
1312
			local POS = RootPart.Position
1313
			wait(0.2)
1314
			for i = 1, 5 do
1315
				WACKYEFFECT({
1316
					Time = 65,
1317
					EffectType = "Sphere",
1318
					Size = VT(2, 2, 2),
1319
					Size2 = VT(0, 0, 500),
1320
					Transparency = 1,
1321
					Transparency2 = 0,
1322
					CFrame = CF(POS),
1323
					MoveToPos = nil,
1324
					RotationX = MRANDOM(-2, 2),
1325
					RotationY = MRANDOM(-12, 12),
1326
					RotationZ = MRANDOM(-2, 2),
1327
					Material = "Neon",
1328
					Color = C3(1, 1, 1),
1329
					SoundID = nil,
1330
					SoundPitch = nil,
1331
					SoundVolume = nil
1332
				})
1333
			end
1334
			wait(1)
1335
			SHAKECAM(POS, 9999999999, 25, 25)
1336
			ApplyAoE(POS, 450)
1337
			WACKYEFFECT({
1338
				Time = 85,
1339
				EffectType = "Sphere",
1340
				Size = VT(120, 120, 120),
1341
				Size2 = VT(350, 350, 350),
1342
				Transparency = 0,
1343
				Transparency2 = 1,
1344
				CFrame = CF(POS),
1345
				MoveToPos = nil,
1346
				RotationX = 0,
1347
				RotationY = 0,
1348
				RotationZ = 0,
1349
				Material = "Neon",
1350
				Color = C3(1, 1, 1),
1351
				SoundID = nil,
1352
				SoundPitch = 1,
1353
				SoundVolume = 10
1354
			})
1355
			for i = 1, 20 do
1356
				WACKYEFFECT({
1357
					Time = 85,
1358
					EffectType = "Sphere",
1359
					Size = VT(120, 120, 120),
1360
					Size2 = VT(120, 120, 144) + VT(i * 3, i * 3, i * 3),
1361
					Transparency = 0.8,
1362
					Transparency2 = 1,
1363
					CFrame = CF(POS),
1364
					MoveToPos = nil,
1365
					RotationX = 0,
1366
					RotationY = 0,
1367
					RotationZ = 0,
1368
					Material = "Neon",
1369
					Color = C3(1, 1, 1),
1370
					SoundID = nil,
1371
					SoundPitch = 1,
1372
					SoundVolume = 10
1373
				})
1374
				WACKYEFFECT({
1375
					Time = 100,
1376
					EffectType = "Wave",
1377
					Size = VT(25, 2, 25),
1378
					Size2 = VT(400, 0, 400) * 1.2,
1379
					Transparency = 0,
1380
					Transparency2 = 1,
1381
					CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
1382
					MoveToPos = nil,
1383
					RotationX = 0,
1384
					RotationY = 0,
1385
					RotationZ = 0,
1386
					Material = "Neon",
1387
					Color = C3(1, 1, 1),
1388
					SoundID = nil,
1389
					SoundPitch = nil,
1390
					SoundVolume = nil
1391
				})
1392
			end
1393
			local HITFLOOR, HITPOS = Raycast(POS, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 150, Character)
1394
			for i = 1, 5 do
1395
				CreateSound(438666077, Effects, 15, 1 - i / 15, false)
1396
				WACKYEFFECT({
1397
					Time = 120,
1398
					EffectType = "Wave",
1399
					Size = VT(150, 2, 150),
1400
					Size2 = VT(300 + i * 170, 0, 300 + i * 170) * 1.2,
1401
					Transparency = 0,
1402
					Transparency2 = 1,
1403
					CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)),
1404
					MoveToPos = nil,
1405
					RotationX = 0,
1406
					RotationY = 0,
1407
					RotationZ = 0,
1408
					Material = "Neon",
1409
					Color = C3(1, 1, 1),
1410
					SoundID = nil,
1411
					SoundPitch = nil,
1412
					SoundVolume = nil
1413
				})
1414
			end
1415
		end))
1416
		for i = 0, 1, 0.1 / Animation_Speed do
1417
			Swait()
1418
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
1419
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1420
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(45 - 7.5 * SIN(SINE / 12)), RAD(45 - 7.5 * SIN(SINE / 12)), RAD(12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1421
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(45 - 7.5 * SIN(SINE / 12)), RAD(-45 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1422
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1423
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1424
		end
1425
		ATTACK = false
1426
		Rooted = false
1427
	end))
1428
	for i = 1, 30 do
1429
		wait(0.01)
1430
		local POS = CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * CF(0, 0, MRANDOM(10, 150))
1431
		local HITFLOOR, HITPOS = Raycast(POS.p, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 150, Character)
1432
		if HITFLOOR then
1433
			ApplyAoE(HITPOS, 65)
1434
			local TURN = ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(0, 25)), RAD(0), RAD(0))
1435
			WACKYEFFECT({
1436
				Time = 25,
1437
				EffectType = "Sphere",
1438
				Size = VT(22, 22, 22),
1439
				Size2 = VT(85, 85, 85),
1440
				Transparency = 0,
1441
				Transparency2 = 1,
1442
				CFrame = CF(HITPOS),
1443
				MoveToPos = nil,
1444
				RotationX = 0,
1445
				RotationY = 0,
1446
				RotationZ = 0,
1447
				Material = "Neon",
1448
				Color = C3(1, 1, 1),
1449
				SoundID = BLASTS[MRANDOM(1, #BLASTS)],
1450
				SoundPitch = MRANDOM(9, 12) / 10,
1451
				SoundVolume = 10
1452
			})
1453
			for e = 1, 3 do
1454
				WACKYEFFECT({
1455
					EffectType = "Wave",
1456
					Size = VT(25, 0, 25),
1457
					Size2 = VT(40, 0, 40) + VT(e * 6, e / 5, e * 6),
1458
					Transparency = 0,
1459
					Transparency2 = 1,
1460
					CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
1461
					MoveToPos = nil,
1462
					RotationX = 0,
1463
					RotationY = 3,
1464
					RotationZ = 0,
1465
					Material = "Neon",
1466
					Color = C3(1, 1, 1),
1467
					SoundID = nil,
1468
					SoundPitch = nil,
1469
					SoundVolume = nil
1470
				})
1471
				WACKYEFFECT({
1472
					Time = 35,
1473
					EffectType = "Sphere",
1474
					Size = VT(22, 45, 22),
1475
					Size2 = VT(25, 45 + e * 75, 25),
1476
					Transparency = 0,
1477
					Transparency2 = 1,
1478
					CFrame = CF(HITPOS) * TURN,
1479
					MoveToPos = nil,
1480
					RotationX = 0,
1481
					RotationY = 0,
1482
					RotationZ = 0,
1483
					Material = "Neon",
1484
					Color = C3(1, 1, 1),
1485
					SoundID = nil,
1486
					SoundPitch = MRANDOM(9, 12) / 10,
1487
					SoundVolume = 10
1488
				})
1489
			end
1490
		end
1491
	end
1492
	CHARGE = true
1493
end
1494
function MouseDown(Mouse)
1495
	if ATTACK == false then
1496
	end
1497
end
1498
function MouseUp(Mouse)
1499
	HOLD = false
1500
end
1501
function KeyDown(Key)
1502
	KEYHOLD = true
1503
	if Key == "z" and ATTACK == false then
1504
		Smite()
1505
	end
1506
	if Key == "b" and ATTACK == false then
1507
		Ravage()
1508
	end
1509
	if Key == "c" and ATTACK == false then
1510
		Earthquake()
1511
	end
1512
	if Key == "v" and ATTACK == false then
1513
		Beam()
1514
	end
1515
	if Key == "x" and ATTACK == false then
1516
		Nuke()
1517
	end
1518
end
1519
function KeyUp(Key)
1520
	if Key ~= "w" and Key ~= "s" and Key ~= "a" and Key ~= "d" then
1521
		KEYHOLD = false
1522
	end
1523
end
1524
Mouse.Button1Down:connect(function(NEWKEY)
1525
	MouseDown(NEWKEY)
1526
end)
1527
Mouse.Button1Up:connect(function(NEWKEY)
1528
	MouseUp(NEWKEY)
1529
end)
1530
Mouse.KeyDown:connect(function(NEWKEY)
1531
	KeyDown(NEWKEY)
1532
end)
1533
Mouse.KeyUp:connect(function(NEWKEY)
1534
	KeyUp(NEWKEY)
1535
end)
1536
function unanchor()
1537
	for _, c in pairs(Character:GetChildren()) do
1538
		if c:IsA("BasePart") and c ~= RootPart then
1539
			c.Anchored = false
1540
		end
1541
	end
1542
	if UNANCHOR == true then
1543
		RootPart.Anchored = false
1544
	else
1545
		RootPart.Anchored = true
1546
	end
1547
end
1548
Humanoid.Changed:connect(function(Jump)
1549
	if Jump == "Jump" and Disable_Jump == true then
1550
		Humanoid.Jump = false
1551
	end
1552
end)
1553
while true do
1554
	Swait()
1555
	Humanoid.HipHeight = 7
1556
	script.Parent = WEAPONGUI
1557
	ANIMATE.Parent = nil
1558
	for _, v in next, Humanoid:GetPlayingAnimationTracks() do
1559
		v:Stop()
1560
	end
1561
	SINE = SINE + CHANGE / 2
1562
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1563
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1564
	if ATTACK == false then
1565
		if TORSOVELOCITY < 1 then
1566
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
1567
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1568
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1569
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1570
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1571
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1572
		elseif TORSOVELOCITY > 1 then
1573
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1574
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1575
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(25 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1576
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-25 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1577
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1578
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1579
		end
1580
	end
1581
	for WING = 1, #WINGS do
1582
		local STUFF = WINGS[WING]
1583
		local FEATHERS = STUFF[1]
1584
		local ACCEL = STUFF[2]
1585
		FEATHERS.Acceleration = ACCEL + VT(0, 35 * SIN(SINE / 12), 0)
1586
	end
1587
	unanchor()
1588
	Humanoid.MaxHealth = 3000000
1589
	Humanoid.Health = 3000000
1590
	if Rooted == false then
1591
		Disable_Jump = false
1592
		Humanoid.WalkSpeed = Speed
1593
	elseif Rooted == true then
1594
		Disable_Jump = true
1595
		Humanoid.WalkSpeed = 0
1596
	end
1597
	for _, c in pairs(Character:GetChildren()) do
1598
		if c.ClassName == "Accessory" or c.Name == "Body Colors" then
1599
			local hand = c:FindFirstChild'Handle'
1600
			if(hand)then
1601
				hand.Parent = Character
1602
				weldBetween(hand,Head)
1603
			end
1604
			c:destroy()
1605
		end
1606
	end
1607
	sick.Playing = true
1608
	sick.SoundId = "rbxassetid://1073318933"
1609
	sick.Looped = true
1610
	sick.Pitch = 1
1611
	sick.Volume = 3
1612
	if sick.Parent ~= Character then
1613
		sick = IT("Sound", Character)
1614
	end
1615-
	Head.Color = C3(0,0,0)
1615+
	Head.Color = C3(0,255,0)
1616
	pcall(function() Head:FindFirstChildOfClass'Decal':destroy() end)
1617
	ApplyAoE(Torso.Position, 12)
1618
	refit()
1619
end