View difference between Paste ID: WCZmdeTa and GCje9tx0
SHOW: | | - or go back to the newest paste.
1
local Player = game:GetService("Players").basstracker1970
2
local Mouse,mouse,UserInputService,ContextActionService
3
do
4
    script.Parent = Player.Character
5
    local CAS = {Actions={}}
6
    local Event = Instance.new("RemoteEvent")
7
    Event.Name = "UserInput_Event"
8
    Event.Parent = Player.Character
9
    local fakeEvent = function()
10
        local t = {_fakeEvent=true}
11
        t.Connect = function(self,f)self.Function=f end
12
        t.connect = t.Connect
13
        return t
14
    end
15
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
16
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
17
    function CAS:BindAction(name,fun,touch,...)
18
        CAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
19
    end
20
    function CAS:UnbindAction(name)
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
        end
28
    end
29
    m.TrigEvent = te
30
    UIS.TrigEvent = te
31
    Event.OnServerEvent:Connect(function(plr,io)
32
        if plr~=Player then return end
33
        if io.isMouse then
34
            m.Target = io.Target
35
            m.Hit = io.Hit
36
        elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
37
            if io.UserInputState == Enum.UserInputState.Begin then
38
                m:TrigEvent("Button1Down")
39
            else
40
                m:TrigEvent("Button1Up")
41
            end
42
        else
43
            for n,t in pairs(CAS.Actions) do
44
                for _,k in pairs(t.Keys) do
45
                    if k==io.KeyCode then
46
                        t.Function(t.Name,io.UserInputState,io)
47
                    end
48
                end
49
            end
50
            if io.UserInputState == Enum.UserInputState.Begin then
51
                m:TrigEvent("KeyDown",io.KeyCode.Name:lower())
52
                UIS:TrigEvent("InputBegan",io,false)
53
            else
54
                m:TrigEvent("KeyUp",io.KeyCode.Name:lower())
55
                UIS:TrigEvent("InputEnded",io,false)
56
            end
57
        end
58
    end)
59
    Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
60
    end
61
wait(0.2)
62
63
--Converted with ttyyuu12345's model to script plugin v4
64
function sandbox(var,func)
65
	local env = getfenv(func)
66
	local newenv = setmetatable({},{
67
		__index = function(self,k)
68
			if k=="script" then
69
				return var
70
			else
71
				return env[k]
72
			end
73
		end,
74
	})
75
	setfenv(func,newenv)
76
	return func
77
end
78
function NS(...)
79
	local tab = {...}
80
	local fat = {}
81
	for i = 1, #tab do
82
		local v = tab[i]
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
wait(1)
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()
756+
757-
	refit()
757+
758
759
local SKILLTEXTCOLOR = C3(1, 1, 1)
760
local SKILLFONT = "Fantasy"
761
local SKILLTEXTSIZE = 3
762
local ATTACKS = {
763
	"Z - Holy Smite",
764
	"B - Divine Ravage",
765
	"C - Divine Earthquake",
766
	"V - Beam of Light",
767
	"X - Divine Nova"
768
}
769
for i = 1, #ATTACKS do
770
	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")
771
	local SKILLTEXT = CreateLabel(SKILLFRAME, "[" .. ATTACKS[i] .. "]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
772
	SKILLTEXT.TextXAlignment = "Right"
773
end
774
775
function ApplyAoE(POSITION, RANGE)
776
	local PARTS = {}
777
	for index, CHILD in pairs(workspace:GetDescendants()) do
778
		if CHILD.ClassName == "Model" and CHILD ~= Character then
779
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
780
			if HUM then
781
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
782
				if TORSO and HUM.Health > 0 and RANGE >= (TORSO.Position - POSITION).Magnitude then
783
					CHILD:BreakJoints()
784
					for index, PART in pairs(CHILD:GetChildren()) do
785
						if PART:IsA("BasePart") and PART.Name ~= "HumanoidRootPart" then
786
							local P = DParticles:Clone()
787
							P.Parent = PART
788
							P.Enabled = true
789
							P.Color = ColorSequence.new(PART.Color, C3(1, 1, 1))
790
							PART.Anchored = true
791
							table.insert(PARTS, {PART, P})
792
						end
793
					end
794
				end
795
			end
796
		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
797
			local FOLDER = IT("Folder", CHILD)
798
			FOLDER.Name = "ewdfrfgrwefd"
799
			local P = DParticles:Clone()
800
			P.Parent = CHILD
801
			P.Enabled = true
802
			CHILD:BreakJoints()
803
			CHILD.CanCollide = false
804
			CHILD.Anchored = true
805
			P.Rate = math.ceil(CHILD.Size.Magnitude / 2)
806
			P.Color = ColorSequence.new(CHILD.Color, C3(1, 1, 1))
807
			table.insert(PARTS, {CHILD, P})
808
		end
809
	end
810
	coroutine.resume(coroutine.create(function()
811
		if #PARTS > 0 then
812
			for i = 1, 85 do
813
				Swait()
814
				for E = 1, #PARTS do
815
					local F = PARTS[E]
816
					local A = F[1]
817
					local B = F[2]
818
					A.Transparency = A.Transparency + 0.011764705882352941
819
					B.Rate = math.ceil(B.Rate * 1.2)
820
					for index, E in pairs(A:GetChildren()) do
821
						if E:IsA("Decal") or E:IsA("Texture") then
822
							E.Transparency = E.Transparency + 0.011764705882352941
823
						elseif E:IsA("JointInstance") then
824
							E:remove()
825
						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
826
							E.Enabled = false
827
						end
828
					end
829
				end
830
			end
831
			for E = 1, #PARTS do
832
				local F = PARTS[E]
833
				local A = F[1]
834
				local B = F[2]
835
				B.Enabled = false
836
				Debris:AddItem(A, 3)
837
			end
838
		end
839
	end))
840
end
841
function Smite()
842
	local RING, MESH, DELET = MakeRing()
843
	local POS = Mouse.Hit.p
844
	RING.CFrame = CF(Mouse.Hit.p + VT(MRANDOM(-25, 25), 200, MRANDOM(-25, 25)), Mouse.Hit.p) * ANGLES(RAD(90), RAD(0), RAD(0))
845
	for i = 1, 45 do
846
		Swait()
847
		MESH.Scale = MESH.Scale + VT(12, 0, 12)
848
		RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
849
	end
850
	local HITFLOOR, HITPOS = Raycast(RING.Position, CF(RING.Position, RING.CFrame * CF(0, -1, 0).p).lookVector, 500, Character)
851
	if HITFLOOR then
852
		local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Pearl"), "Beam", VT(0, 0, 0), true)
853
		MakeForm(BEAM, "Cyl")
854
		local DIST = (RING.Position - HITPOS).Magnitude
855
		BEAM.Size = VT(0, DIST, 0)
856
		BEAM.CFrame = CF(RING.Position, HITPOS) * CF(0, 0, -DIST / 2) * ANGLES(RAD(90), RAD(0), RAD(0))
857
		for i = 1, 5 do
858
			WACKYEFFECT({
859
				EffectType = "Wave",
860
				Size = VT(25, 0, 25),
861
				Size2 = VT(40, 0, 40) + VT(i * 6, i / 5, i * 6),
862
				Transparency = 0,
863
				Transparency2 = 1,
864
				CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
865
				MoveToPos = nil,
866
				RotationX = 0,
867
				RotationY = 3,
868
				RotationZ = 0,
869
				Material = "Neon",
870
				Color = C3(1, 1, 1),
871
				SoundID = nil,
872
				SoundPitch = nil,
873
				SoundVolume = nil
874
			})
875
			WACKYEFFECT({
876
				EffectType = "Round Slash",
877
				Size = VT(3, 0, 3) / 13,
878
				Size2 = (VT(3, 0, 3) + VT(i, 0, i)) / 5,
879
				Transparency = 0,
880
				Transparency2 = 1,
881
				CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
882
				MoveToPos = nil,
883
				RotationX = 0,
884
				RotationY = 0,
885
				RotationZ = 0,
886
				Material = "Neon",
887
				Color = C3(1, 1, 1),
888
				SoundID = nil,
889
				SoundPitch = nil,
890
				SoundVolume = nil
891
			})
892
			WACKYEFFECT({
893
				Time = 35,
894
				EffectType = "Sphere",
895
				Size = VT(22, 22, 22),
896
				Size2 = VT(45, 45, 45) + VT(i * 5, i * 5, i * 5),
897
				Transparency = 0,
898
				Transparency2 = 1,
899
				CFrame = CF(HITPOS),
900
				MoveToPos = nil,
901
				RotationX = 0,
902
				RotationY = 0,
903
				RotationZ = 0,
904
				Material = "Neon",
905
				Color = C3(1, 1, 1),
906
				SoundID = 459523898,
907
				SoundPitch = MRANDOM(9, 12) / 10,
908
				SoundVolume = 10
909
			})
910
		end
911
		SHAKECAM(HITPOS, 100, 8, 15)
912
		ApplyAoE(HITPOS, 50)
913
		for i = 1, 25 do
914
			Swait()
915
			BEAM.Size = BEAM.Size + VT(0.5, 0, 0.5)
916
			BEAM.Transparency = BEAM.Transparency + 0.04
917
		end
918
		BEAM:remove()
919
	end
920
	wait(0.2)
921
	DELET()
922
end
923
function Ravage()
924
	ATTACK = true
925
	Rooted = false
926
	local RING, MESH, DELET = MakeRing()
927
	RING.Anchored = false
928
	RING.CFrame = RightArm.CFrame * CF(0, -1.3, 0)
929
	local WELD = weldBetween(RightArm, RING)
930
	local GYRO = IT("BodyGyro", RootPart)
931
	GYRO.D = 20
932
	GYRO.P = 4000
933
	GYRO.MaxTorque = VT(0, 40000, 0)
934
	coroutine.resume(coroutine.create(function()
935
		repeat
936
			GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
937
			Swait()
938
			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)
939
			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)
940
			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)
941
			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)
942
			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)
943
			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)
944
		until ATTACK == false
945
		GYRO:remove()
946
	end))
947
	CreateSound(459523787, RING, 8, 1, false)
948
	for i = 1, 45 do
949
		Swait()
950
		MESH.Scale = MESH.Scale + VT(13, 0, 13)
951
		WELD.C0 = WELD.C0 * ANGLES(RAD(0), RAD(5), RAD(0))
952
	end
953
	wait(0.3)
954
	repeat
955
		for i = 1, 25 do
956
			Swait()
957
			WACKYEFFECT({
958
				Time = 15,
959
				EffectType = "Sphere",
960
				Size = VT(4, 4, 4),
961
				Size2 = VT(0, 0, 0),
962
				Transparency = 1,
963
				Transparency2 = 0,
964
				CFrame = CF(RING.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))) * CF(0, 0, 35),
965
				MoveToPos = RING.Position,
966
				RotationX = 0,
967
				RotationY = 0,
968
				RotationZ = 0,
969
				Material = "Neon",
970
				Color = C3(1, 1, 1),
971
				SoundID = nil,
972
				SoundPitch = nil,
973
				SoundVolume = nil
974
			})
975
		end
976
		WACKYEFFECT({
977
			Time = 35,
978
			EffectType = "Sphere",
979
			Size = VT(25, 2, 25),
980
			Size2 = VT(35, 5, 35),
981
			Transparency = 0,
982
			Transparency2 = 1,
983
			CFrame = RING.CFrame,
984
			MoveToPos = nil,
985
			RotationX = 0,
986
			RotationY = 0,
987
			RotationZ = 0,
988
			Material = "Neon",
989
			Color = C3(1, 1, 1),
990
			SoundID = 459523898,
991
			SoundPitch = MRANDOM(9, 12) / 10,
992
			SoundVolume = 10
993
		})
994
		coroutine.resume(coroutine.create(function()
995
			local PROJECTILE = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Pearl"), "Beam", VT(12, 12, 12), true)
996
			MakeForm(PROJECTILE, "Ball")
997
			PROJECTILE.CFrame = RootPart.CFrame * CF(0, 0, -10)
998
			local FIRE = script.Flames:Clone()
999
			FIRE.Parent = PROJECTILE
1000
			FIRE.Enabled = true
1001
			local SPEED = -0.2
1002
			for i = 1, 1000 do
1003
				Swait()
1004
				SPEED = SPEED - 0.01
1005
				local HIT = Raycast(PROJECTILE.Position, PROJECTILE.CFrame.lookVector, 6 + SPEED / 5, Character)
1006
				if HIT then
1007
					do
1008
						local POS = PROJECTILE.Position
1009
						ApplyAoE(POS, 100)
1010
						SHAKECAM(POS, 150, 12, 15)
1011
						coroutine.resume(coroutine.create(function()
1012
							for i = 1, 5 do
1013
								Swait()
1014
								WACKYEFFECT({
1015
									Time = 85,
1016
									EffectType = "Wave",
1017
									Size = VT(25, 0, 25),
1018
									Size2 = VT(40, 0, 40) + VT(i * 6, i / 5, i * 6) * 15,
1019
									Transparency = 0,
1020
									Transparency2 = 1,
1021
									CFrame = CF(POS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
1022
									MoveToPos = nil,
1023
									RotationX = 0,
1024
									RotationY = 3,
1025
									RotationZ = 0,
1026
									Material = "Neon",
1027
									Color = C3(1, 1, 1),
1028
									SoundID = nil,
1029
									SoundPitch = nil,
1030
									SoundVolume = nil
1031
								})
1032
								WACKYEFFECT({
1033
									Time = 85,
1034
									EffectType = "Round Slash",
1035
									Size = VT(3, 0, 3) / 13,
1036
									Size2 = (VT(3, 0, 3) + VT(i, 0, i)) * 2,
1037
									Transparency = 0,
1038
									Transparency2 = 1,
1039
									CFrame = CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
1040
									MoveToPos = nil,
1041
									RotationX = 0,
1042
									RotationY = 0,
1043
									RotationZ = 0,
1044
									Material = "Neon",
1045
									Color = C3(1, 1, 1),
1046
									SoundID = nil,
1047
									SoundPitch = nil,
1048
									SoundVolume = nil
1049
								})
1050
								WACKYEFFECT({
1051
									Time = 75,
1052
									EffectType = "Sphere",
1053
									Size = VT(22, 22, 22),
1054
									Size2 = VT(45, 45, 45) + VT(i * 5, i * 5, i * 5) * 7,
1055
									Transparency = 0,
1056
									Transparency2 = 1,
1057
									CFrame = CF(POS),
1058
									MoveToPos = nil,
1059
									RotationX = 0,
1060
									RotationY = 0,
1061
									RotationZ = 0,
1062
									Material = "Neon",
1063
									Color = C3(1, 1, 1),
1064
									SoundID = 533636431,
1065
									SoundPitch = MRANDOM(9, 12) / 10,
1066
									SoundVolume = 10
1067
								})
1068
							end
1069
						end))
1070
						break
1071
					end
1072
				else
1073
					PROJECTILE.CFrame = PROJECTILE.CFrame * CF(0, 0, SPEED)
1074
					for index, CHILD in pairs(workspace:GetDescendants()) do
1075
						if CHILD.ClassName == "Model" and CHILD ~= Character then
1076
							local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1077
							if HUM then
1078
								local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1079
								if TORSO and 0 < HUM.Health and 150 > (TORSO.Position - PROJECTILE.Position).Magnitude then
1080
									PROJECTILE.CFrame = Clerp(PROJECTILE.CFrame, CF(PROJECTILE.Position, TORSO.Position), 0.08)
1081
								end
1082
							end
1083
						end
1084
					end
1085
				end
1086
			end
1087
			FIRE.Enabled = false
1088
			PROJECTILE.Transparency = 1
1089
			Debris:AddItem(PROJECTILE, 5)
1090
		end))
1091
	until KEYHOLD == false
1092
	wait(0.1)
1093
	RING.Anchored = true
1094
	WELD:remove()
1095
	DELET()
1096
	ATTACK = false
1097
	Rooted = false
1098
end
1099
function Earthquake()
1100
	ATTACK = true
1101
	Rooted = true
1102
	local GYRO = IT("BodyGyro", RootPart)
1103
	GYRO.D = 20
1104
	GYRO.P = 4000
1105
	GYRO.MaxTorque = VT(0, 40000, 0)
1106
	local RING, MESH, DELET = MakeRing()
1107
	local HITFLOOR, HITPOS = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 15, Character)
1108
	RING.CFrame = CF(HITPOS)
1109
	for i = 0, 0.6, 0.1 / Animation_Speed do
1110
		GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
1111
		Swait()
1112
		MESH.Scale = MESH.Scale + VT(53, 0, 53)
1113
		RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
1114
		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)
1115
		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)
1116
		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)
1117
		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)
1118
		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)
1119
		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)
1120
	end
1121
	local BLASTS = {468991944, 468991990}
1122
	coroutine.resume(coroutine.create(function()
1123
		local CFRAME = RootPart.CFrame
1124
		for i = 1, 100 do
1125
			CFRAME = CFRAME * CF(0, 0, -35)
1126
			do
1127
				local HITFLOOR, HITPOS = Raycast(CFRAME.p, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 15, Character)
1128
				if HITFLOOR then
1129
					Swait()
1130
					do
1131
						local OFFSET = CFRAME * CF(MRANDOM(-25, 25), 0, 0)
1132
						coroutine.resume(coroutine.create(function()
1133
							local RING, MESH, DELET = MakeRing()
1134
							RING.CFrame = CF(OFFSET.p.X, HITPOS.Y, OFFSET.p.Z)
1135
							for i = 1, 25 do
1136
								Swait()
1137
								MESH.Scale = MESH.Scale + VT(42, 0, 42)
1138
								RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
1139
							end
1140
							ApplyAoE(RING.Position, 65)
1141
							SHAKECAM(RING.Position, 80, 12, 15)
1142
							local TURN = ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(0, 25)), RAD(0), RAD(0))
1143
							WACKYEFFECT({
1144
								Time = 25,
1145
								EffectType = "Sphere",
1146
								Size = VT(22, 22, 22),
1147
								Size2 = VT(85, 85, 85),
1148
								Transparency = 0,
1149
								Transparency2 = 1,
1150
								CFrame = CF(RING.Position),
1151
								MoveToPos = nil,
1152
								RotationX = 0,
1153
								RotationY = 0,
1154
								RotationZ = 0,
1155
								Material = "Neon",
1156
								Color = C3(1, 1, 1),
1157
								SoundID = BLASTS[MRANDOM(1, #BLASTS)],
1158
								SoundPitch = MRANDOM(9, 12) / 10,
1159
								SoundVolume = 10
1160
							})
1161
							for e = 1, 3 do
1162
								WACKYEFFECT({
1163
									EffectType = "Wave",
1164
									Size = VT(25, 0, 25),
1165
									Size2 = VT(40, 0, 40) + VT(e * 6, e / 5, e * 6),
1166
									Transparency = 0,
1167
									Transparency2 = 1,
1168
									CFrame = CF(RING.Position) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
1169
									MoveToPos = nil,
1170
									RotationX = 0,
1171
									RotationY = 3,
1172
									RotationZ = 0,
1173
									Material = "Neon",
1174
									Color = C3(1, 1, 1),
1175
									SoundID = nil,
1176
									SoundPitch = nil,
1177
									SoundVolume = nil
1178
								})
1179
								WACKYEFFECT({
1180
									Time = 35,
1181
									EffectType = "Sphere",
1182
									Size = VT(22, 45, 22),
1183
									Size2 = VT(25, 45 + e * 75, 25),
1184
									Transparency = 0,
1185
									Transparency2 = 1,
1186
									CFrame = CF(RING.Position) * TURN,
1187
									MoveToPos = nil,
1188
									RotationX = 0,
1189
									RotationY = 0,
1190
									RotationZ = 0,
1191
									Material = "Neon",
1192
									Color = C3(1, 1, 1),
1193
									SoundID = nil,
1194
									SoundPitch = MRANDOM(9, 12) / 10,
1195
									SoundVolume = 10
1196
								})
1197
							end
1198
							wait(0.3)
1199
							DELET()
1200
						end))
1201
					end
1202
				end
1203
			end
1204
		end
1205
	end))
1206
	Rooted = false
1207
	for i = 0, 0.2, 0.1 / Animation_Speed do
1208
		Swait()
1209
		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)
1210
		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)
1211
		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)
1212
		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)
1213
		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)
1214
		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)
1215
	end
1216
	DELET()
1217
	GYRO:remove()
1218
	ATTACK = false
1219
	Rooted = false
1220
end
1221
function Beam()
1222
	ATTACK = true
1223
	Rooted = false
1224
	local GYRO = IT("BodyGyro", RootPart)
1225
	GYRO.D = 20
1226
	GYRO.P = 4000
1227
	GYRO.MaxTorque = VT(0, 40000, 0)
1228
	local RING, MESH, DELET = MakeRing()
1229
	local POS = RootPart.Position + VT(0, 25, 0)
1230
	RING.CFrame = CF(POS, Mouse.Hit.p) * ANGLES(RAD(90), RAD(0), RAD(0))
1231
	CreateSound(459523787, RING, 8, 1, false)
1232
	local BLASTS = {468991944, 468991990}
1233
	coroutine.resume(coroutine.create(function()
1234
		local E = 0
1235
		repeat
1236
			E = E + 5
1237
			GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
1238
			Swait()
1239
			RING.CFrame = CF(POS, Mouse.Hit.p) * ANGLES(RAD(90), RAD(E), RAD(0))
1240
			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)
1241
			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)
1242
			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)
1243
			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)
1244
			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)
1245
			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)
1246
		until ATTACK == false
1247
		GYRO:remove()
1248
		DELET()
1249
	end))
1250
	for i = 1, 50 do
1251
		Swait()
1252
		MESH.Scale = MESH.Scale + VT(22, 0, 22)
1253
	end
1254
	for i = 1, 25 do
1255
		Swait()
1256
		WACKYEFFECT({
1257
			Time = 15,
1258
			EffectType = "Sphere",
1259
			Size = VT(4, 4, 4),
1260
			Size2 = VT(0, 0, 0),
1261
			Transparency = 1,
1262
			Transparency2 = 0,
1263
			CFrame = CF(RING.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))) * CF(0, 0, 35),
1264
			MoveToPos = RING.Position,
1265
			RotationX = 0,
1266
			RotationY = 0,
1267
			RotationZ = 0,
1268
			Material = "Neon",
1269
			Color = C3(1, 1, 1),
1270
			SoundID = nil,
1271
			SoundPitch = nil,
1272
			SoundVolume = nil
1273
		})
1274
	end
1275
	local LOOP = 0
1276
	local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Pearl"), "Beam", VT(0, 0, 0), true)
1277
	MakeForm(BEAM, "Cyl")
1278
	CreateSound(BLASTS[MRANDOM(1, #BLASTS)], RING, 5, MRANDOM(9, 11) / 10, false)
1279
	repeat
1280
		local DISTANCE = (RING.Position - Mouse.Hit.p).Magnitude
1281
		if DISTANCE < 2000 then
1282
			BEAM.Size = VT(10 + 2 * COS(SINE / 4), DISTANCE, 10 + 2 * COS(SINE / 4))
1283
			BEAM.CFrame = CF(RING.Position, Mouse.Hit.p) * CF(0, 0, -DISTANCE / 2) * ANGLES(RAD(90), RAD(0), RAD(0))
1284
			ApplyAoE(Mouse.Hit.p, 35)
1285
			WACKYEFFECT({
1286
				Time = 35,
1287
				EffectType = "Sphere",
1288
				Size = VT(10 + 2 * COS(SINE / 4), 10 + 2 * COS(SINE / 4), 10 + 2 * COS(SINE / 4)) * 2,
1289
				Size2 = VT(5, 75, 5),
1290
				Transparency = 0,
1291
				Transparency2 = 1,
1292
				CFrame = CF(Mouse.Hit.p) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
1293
				MoveToPos = nil,
1294
				RotationX = 0,
1295
				RotationY = 0,
1296
				RotationZ = 0,
1297
				Material = "Neon",
1298
				Color = C3(1, 1, 1),
1299
				SoundID = nil,
1300
				SoundPitch = MRANDOM(9, 12) / 10,
1301
				SoundVolume = 10
1302
			})
1303
			Swait()
1304
			LOOP = LOOP + 1
1305
		end
1306
	until KEYHOLD == false and LOOP >= 35 or DISTANCE >= 2000
1307
	coroutine.resume(coroutine.create(function()
1308
		for i = 1, 15 do
1309
			Swait()
1310
			BEAM.Size = BEAM.Size - VT(0.2, 0, 0.2)
1311
			BEAM.Transparency = BEAM.Transparency + 0.06666666666666667
1312
		end
1313
		BEAM:remove()
1314
	end))
1315
	ATTACK = true
1316
	Rooted = false
1317
end
1318
function Nuke()
1319
	ATTACK = true
1320
	Rooted = true
1321
	local CHARGE = false
1322
	local BLASTS = {468991944, 468991990}
1323
	coroutine.resume(coroutine.create(function()
1324
		repeat
1325
			Swait()
1326
			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)
1327
			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)
1328
			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)
1329
			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)
1330
			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)
1331
			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)
1332
		until CHARGE == true
1333
		for i = 0, 0.4, 0.1 / Animation_Speed do
1334
			Swait()
1335
			WACKYEFFECT({
1336
				Time = 15,
1337
				EffectType = "Sphere",
1338
				Size = VT(60, 60, 60),
1339
				Size2 = VT(0, 0, 0),
1340
				Transparency = 1,
1341
				Transparency2 = 0.7,
1342
				CFrame = CF(RootPart.Position),
1343
				MoveToPos = nil,
1344
				RotationX = 0,
1345
				RotationY = 0,
1346
				RotationZ = 0,
1347
				Material = "Neon",
1348
				Color = C3(1, 1, 1),
1349
				SoundID = nil,
1350
				SoundPitch = nil,
1351
				SoundVolume = nil
1352
			})
1353
			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)
1354
			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)
1355
			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)
1356
			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)
1357
			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)
1358
			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)
1359
		end
1360
		coroutine.resume(coroutine.create(function()
1361
			local POS = RootPart.Position
1362
			wait(0.2)
1363
			for i = 1, 5 do
1364
				WACKYEFFECT({
1365
					Time = 65,
1366
					EffectType = "Sphere",
1367
					Size = VT(2, 2, 2),
1368
					Size2 = VT(0, 0, 500),
1369
					Transparency = 1,
1370
					Transparency2 = 0,
1371
					CFrame = CF(POS),
1372
					MoveToPos = nil,
1373
					RotationX = MRANDOM(-2, 2),
1374
					RotationY = MRANDOM(-12, 12),
1375
					RotationZ = MRANDOM(-2, 2),
1376
					Material = "Neon",
1377
					Color = C3(1, 1, 1),
1378
					SoundID = nil,
1379
					SoundPitch = nil,
1380
					SoundVolume = nil
1381
				})
1382
			end
1383
			wait(1)
1384
			SHAKECAM(POS, 9999999999, 25, 25)
1385
			ApplyAoE(POS, 450)
1386
			WACKYEFFECT({
1387
				Time = 85,
1388
				EffectType = "Sphere",
1389
				Size = VT(120, 120, 120),
1390
				Size2 = VT(350, 350, 350),
1391
				Transparency = 0,
1392
				Transparency2 = 1,
1393
				CFrame = CF(POS),
1394
				MoveToPos = nil,
1395
				RotationX = 0,
1396
				RotationY = 0,
1397
				RotationZ = 0,
1398
				Material = "Neon",
1399
				Color = C3(1, 1, 1),
1400
				SoundID = nil,
1401
				SoundPitch = 1,
1402
				SoundVolume = 10
1403
			})
1404
			for i = 1, 20 do
1405
				WACKYEFFECT({
1406
					Time = 85,
1407
					EffectType = "Sphere",
1408
					Size = VT(120, 120, 120),
1409
					Size2 = VT(120, 120, 144) + VT(i * 3, i * 3, i * 3),
1410
					Transparency = 0.8,
1411
					Transparency2 = 1,
1412
					CFrame = CF(POS),
1413
					MoveToPos = nil,
1414
					RotationX = 0,
1415
					RotationY = 0,
1416
					RotationZ = 0,
1417
					Material = "Neon",
1418
					Color = C3(1, 1, 1),
1419
					SoundID = nil,
1420
					SoundPitch = 1,
1421
					SoundVolume = 10
1422
				})
1423
				WACKYEFFECT({
1424
					Time = 100,
1425
					EffectType = "Wave",
1426
					Size = VT(25, 2, 25),
1427
					Size2 = VT(400, 0, 400) * 1.2,
1428
					Transparency = 0,
1429
					Transparency2 = 1,
1430
					CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
1431
					MoveToPos = nil,
1432
					RotationX = 0,
1433
					RotationY = 0,
1434
					RotationZ = 0,
1435
					Material = "Neon",
1436
					Color = C3(1, 1, 1),
1437
					SoundID = nil,
1438
					SoundPitch = nil,
1439
					SoundVolume = nil
1440
				})
1441
			end
1442
			local HITFLOOR, HITPOS = Raycast(POS, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 150, Character)
1443
			for i = 1, 5 do
1444
				CreateSound(438666077, Effects, 15, 1 - i / 15, false)
1445
				WACKYEFFECT({
1446
					Time = 120,
1447
					EffectType = "Wave",
1448
					Size = VT(150, 2, 150),
1449
					Size2 = VT(300 + i * 170, 0, 300 + i * 170) * 1.2,
1450
					Transparency = 0,
1451
					Transparency2 = 1,
1452
					CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)),
1453
					MoveToPos = nil,
1454
					RotationX = 0,
1455
					RotationY = 0,
1456
					RotationZ = 0,
1457
					Material = "Neon",
1458
					Color = C3(255, 0, 0),
1459
					SoundID = nil,
1460
					SoundPitch = nil,
1461
					SoundVolume = nil
1462
				})
1463
			end
1464
		end))
1465
		for i = 0, 1, 0.1 / Animation_Speed do
1466
			Swait()
1467
			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)
1468
			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)
1469
			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)
1470
			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)
1471
			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)
1472
			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)
1473
		end
1474
		ATTACK = false
1475
		Rooted = false
1476
	end))
1477
	for i = 1, 30 do
1478
		wait(0.01)
1479
		local POS = CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * CF(0, 0, MRANDOM(10, 150))
1480
		local HITFLOOR, HITPOS = Raycast(POS.p, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 150, Character)
1481
		if HITFLOOR then
1482
			ApplyAoE(HITPOS, 65)
1483
			local TURN = ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(0, 25)), RAD(0), RAD(0))
1484
			WACKYEFFECT({
1485
				Time = 25,
1486
				EffectType = "Sphere",
1487
				Size = VT(22, 22, 22),
1488
				Size2 = VT(85, 85, 85),
1489
				Transparency = 0,
1490
				Transparency2 = 1,
1491
				CFrame = CF(HITPOS),
1492
				MoveToPos = nil,
1493
				RotationX = 0,
1494
				RotationY = 0,
1495
				RotationZ = 0,
1496
				Material = "Neon",
1497
				Color = C3(1, 1, 1),
1498
				SoundID = BLASTS[MRANDOM(1, #BLASTS)],
1499
				SoundPitch = MRANDOM(9, 12) / 10,
1500
				SoundVolume = 10
1501
			})
1502
			for e = 1, 3 do
1503
				WACKYEFFECT({
1504
					EffectType = "Wave",
1505
					Size = VT(25, 0, 25),
1506
					Size2 = VT(40, 0, 40) + VT(e * 6, e / 5, e * 6),
1507
					Transparency = 0,
1508
					Transparency2 = 1,
1509
					CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
1510
					MoveToPos = nil,
1511
					RotationX = 0,
1512
					RotationY = 3,
1513
					RotationZ = 0,
1514
					Material = "Neon",
1515
					Color = C3(1, 1, 1),
1516
					SoundID = nil,
1517
					SoundPitch = nil,
1518
					SoundVolume = nil
1519
				})
1520
				WACKYEFFECT({
1521
					Time = 35,
1522
					EffectType = "Sphere",
1523
					Size = VT(22, 45, 22),
1524
					Size2 = VT(25, 45 + e * 75, 25),
1525
					Transparency = 0,
1526
					Transparency2 = 1,
1527
					CFrame = CF(HITPOS) * TURN,
1528
					MoveToPos = nil,
1529
					RotationX = 0,
1530
					RotationY = 0,
1531
					RotationZ = 0,
1532
					Material = "Neon",
1533
					Color = C3(1, 1, 1),
1534
					SoundID = nil,
1535
					SoundPitch = MRANDOM(9, 12) / 10,
1536
					SoundVolume = 10
1537
				})
1538
			end
1539
		end
1540
	end
1541
	CHARGE = true
1542
end
1543
function MouseDown(Mouse)
1544
	if ATTACK == false then
1545
	end
1546
end
1547
function MouseUp(Mouse)
1548
	HOLD = false
1549
end
1550
function KeyDown(Key)
1551
	KEYHOLD = true
1552
	if Key == "z" and ATTACK == false then
1553
		Smite()
1554
	end
1555
	if Key == "b" and ATTACK == false then
1556
		Ravage()
1557
	end
1558
	if Key == "c" and ATTACK == false then
1559
		Earthquake()
1560
	end
1561
	if Key == "v" and ATTACK == false then
1562
		Beam()
1563
	end
1564
	if Key == "x" and ATTACK == false then
1565
		Nuke()
1566
	end
1567
end
1568
function KeyUp(Key)
1569
	if Key ~= "w" and Key ~= "s" and Key ~= "a" and Key ~= "d" then
1570
		KEYHOLD = false
1571
	end
1572
end
1573
Mouse.Button1Down:connect(function(NEWKEY)
1574
	MouseDown(NEWKEY)
1575
end)
1576
Mouse.Button1Up:connect(function(NEWKEY)
1577
	MouseUp(NEWKEY)
1578
end)
1579
Mouse.KeyDown:connect(function(NEWKEY)
1580
	KeyDown(NEWKEY)
1581
end)
1582
Mouse.KeyUp:connect(function(NEWKEY)
1583
	KeyUp(NEWKEY)
1584
end)
1585
function unanchor()
1586
	for _, c in pairs(Character:GetChildren()) do
1587
		if c:IsA("BasePart") and c ~= RootPart then
1588
			c.Anchored = false
1589
		end
1590
	end
1591
	if UNANCHOR == true then
1592
		RootPart.Anchored = false
1593
	else
1594
		RootPart.Anchored = true
1595
	end
1596
end
1597
Humanoid.Changed:connect(function(Jump)
1598
	if Jump == "Jump" and Disable_Jump == true then
1599
		Humanoid.Jump = false
1600
	end
1601
end)
1602
while true do
1603
	Swait()
1604
	Humanoid.HipHeight = 7
1605
	script.Parent = WEAPONGUI
1606
	ANIMATE.Parent = nil
1607
	for _, v in next, Humanoid:GetPlayingAnimationTracks() do
1608
		v:Stop()
1609
	end
1610
	SINE = SINE + CHANGE / 2
1611
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1612
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1613
	if ATTACK == false then
1614
		if TORSOVELOCITY < 1 then
1615
			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)
1616
			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)
1617
			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)
1618
			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)
1619
			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)
1620
			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)
1621
		elseif TORSOVELOCITY > 1 then
1622
			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)
1623
			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)
1624
			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)
1625
			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)
1626
			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)
1627
			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)
1628
		end
1629
	end
1630
	for WING = 1, #WINGS do
1631
		local STUFF = WINGS[WING]
1632
		local FEATHERS = STUFF[1]
1633
		local ACCEL = STUFF[2]
1634
		FEATHERS.Acceleration = ACCEL + VT(0, 35 * SIN(SINE / 12), 0)
1635
	end
1636
	unanchor()
1637
	Humanoid.MaxHealth = 3000000000000
1638
	Humanoid.Health = 3000000000000000
1639
	if Rooted == false then
1640
		Disable_Jump = false
1641
		Humanoid.WalkSpeed = Speed
1642
	elseif Rooted == true then
1643
		Disable_Jump = true
1644
		Humanoid.WalkSpeed = 0
1645
	end
1646
	for _, c in pairs(Character:GetChildren()) do
1647
		if c.ClassName == "Accessory" or c.Name == "Body Colors" then
1648
			local hand = c:FindFirstChild'Handle'
1649
			if(hand)then
1650
				hand.Parent = Character
1651
				weldBetween(hand,Head)
1652
			end
1653
			c:destroy()
1654
		end
1655
	end
1656
	sick.Playing = true
1657
	sick.SoundId = "rbxassetid://1073318933"
1658
	sick.Looped = true
1659
	sick.Pitch = 1
1660
	sick.Volume = 3
1661
	if sick.Parent ~= Character then
1662
		sick = IT("Sound", Character)
1663
	end
1664
	Head.Color = C3(0,0,0)
1665
	pcall(function() Head:FindFirstChildOfClass'Decal':destroy() end)
1666
	ApplyAoE(Torso.Position, 12)
1667
	------refit()
1668
end