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