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