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