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