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