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