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