View difference between Paste ID: nXpiyrnQ and S3TXWqQE
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||			   CREATED BY SHACKLUSTER
3
--\\====================================================//--
4
5
wait(0.2)
6
7
local Players = game:FindFirstChildOfClass("Players")
8-
Player = Players.GGHUUI
8+
Player = Players.liampdoherty --edit--
9
--Player = Players.LocalPlayer
10
PlayerGui = Player.PlayerGui
11
Cam = workspace.CurrentCamera
12
Backpack = Player.Backpack
13
Character = Player.Character
14
Humanoid = Character.Humanoid
15
Mouse = Player:GetMouse()
16
RootPart = Character["HumanoidRootPart"]
17
Torso = Character["Torso"]
18
Head = Character["Head"]
19
RightArm = Character["Right Arm"]
20
LeftArm = Character["Left Arm"]
21
RightLeg = Character["Right Leg"]
22
LeftLeg = Character["Left Leg"]
23
RootJoint = RootPart["RootJoint"]
24
Neck = Torso["Neck"]
25
RightShoulder = Torso["Right Shoulder"]
26
LeftShoulder = Torso["Left Shoulder"]
27
RightHip = Torso["Right Hip"]
28
LeftHip = Torso["Left Hip"]
29
local sick = Instance.new("Sound",Torso)
30
31
IT = Instance.new
32
CF = CFrame.new
33
VT = Vector3.new
34
RAD = math.rad
35
C3 = Color3.new
36
UD2 = UDim2.new
37
BRICKC = BrickColor.new
38
ANGLES = CFrame.Angles
39
EULER = CFrame.fromEulerAnglesXYZ
40
COS = math.cos
41
ACOS = math.acos
42
SIN = math.sin
43
ASIN = math.asin
44
ABS = math.abs
45
MRANDOM = math.random
46
FLOOR = math.floor
47
48
--//=================================\\
49
--|| 	      USEFUL VALUES
50
--\\=================================//
51
52
Animation_Speed = 3
53
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
54
local Speed = 16
55
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
56
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
57
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
58
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
59
local DAMAGEMULTIPLIER = 1
60
local ANIM = "Idle"
61
local ATTACK = false
62
local EQUIPPED = false
63
local HOLD = false
64
local COMBO = 1
65
local Rooted = false
66
local SINE = 0
67
local KEYHOLD = false
68
local CHANGE = 2 / Animation_Speed
69
local WALKINGANIM = false
70
local VALUE1 = false
71
local VALUE2 = false
72
local JUMPING = false
73
local ROBLOXIDLEANIMATION = IT("Animation")
74
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
75
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
76
--ROBLOXIDLEANIMATION.Parent = Humanoid
77
local WEAPONGUI = IT("ScreenGui", PlayerGui)
78
WEAPONGUI.Name = "Weapon GUI"
79
--local WEAPONGUI = script.RapierGui
80
WEAPONGUI.Parent = PlayerGui
81
local Effects = IT("Folder", Character)
82
Effects.Name = "Effects"
83
local ANIMATOR = Humanoid.Animator
84
local ANIMATE = Character.Animate
85
local UNANCHOR = true
86
local FORM = "Base"
87
local BASESONG = {ID = 196589513, PITCH = 1, VOLUME = 1}
88
local JUSTICESONG = {ID = 248797953, PITCH = 1, VOLUME = 2}
89
local DEMONSONG = {ID = 196588464, PITCH = 0.7, VOLUME = 3}
90
local PLAYINGSONG = BASESONG
91
local DECALTRANS = 1
92
local VOLUME = 1
93
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
94
95
local PENTAGRAM = nil
96
local HELDGUN = nil
97
local WING = nil
98
local WINGWELD = nil
99
100
--//=================================\\
101
--\\=================================//
102
103
104
--//=================================\\
105
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
106
--\\=================================//
107
108
ArtificialHB = Instance.new("BindableEvent", script)
109
ArtificialHB.Name = "ArtificialHB"
110
111
script:WaitForChild("ArtificialHB")
112
113
frame = Frame_Speed
114
tf = 0
115
allowframeloss = false
116
tossremainder = false
117
lastframe = tick()
118
script.ArtificialHB:Fire()
119
120
game:GetService("RunService").Heartbeat:connect(function(s, p)
121
	tf = tf + s
122
	if tf >= frame then
123
		if allowframeloss then
124
			script.ArtificialHB:Fire()
125
			lastframe = tick()
126
		else
127
			for i = 1, math.floor(tf / frame) do
128
				script.ArtificialHB:Fire()
129
			end
130
		lastframe = tick()
131
		end
132
		if tossremainder then
133
			tf = 0
134
		else
135
			tf = tf - frame * math.floor(tf / frame)
136
		end
137
	end
138
end)
139
140
--//=================================\\
141
--\\=================================//
142
143
--//=================================\\
144
--|| 	      SOME FUNCTIONS
145
--\\=================================//
146
147
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
148
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
149
end
150
151
function PositiveAngle(NUMBER)
152
	if NUMBER >= 0 then
153
		NUMBER = 0
154
	end
155
	return NUMBER
156
end
157
158
function NegativeAngle(NUMBER)
159
	if NUMBER <= 0 then
160
		NUMBER = 0
161
	end
162
	return NUMBER
163
end
164
165
function Swait(NUMBER)
166
	if NUMBER == 0 or NUMBER == nil then
167
		ArtificialHB.Event:wait()
168
	else
169
		for i = 1, NUMBER do
170
			ArtificialHB.Event:wait()
171
		end
172
	end
173
end
174
175
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
176
	local NEWMESH = IT(MESH)
177
	if MESH == "SpecialMesh" then
178
		NEWMESH.MeshType = MESHTYPE
179
		if MESHID ~= "nil" and MESHID ~= "" then
180
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
181
		end
182
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
183
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
184
		end
185
	end
186
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
187
	NEWMESH.Scale = SCALE
188
	NEWMESH.Parent = PARENT
189
	return NEWMESH
190
end
191
192
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
193
	local NEWPART = IT("Part")
194
	NEWPART.formFactor = FORMFACTOR
195
	NEWPART.Reflectance = REFLECTANCE
196
	NEWPART.Transparency = TRANSPARENCY
197
	NEWPART.CanCollide = false
198
	NEWPART.Locked = true
199
	NEWPART.Anchored = true
200
	if ANCHOR == false then
201
		NEWPART.Anchored = false
202
	end
203
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
204
	NEWPART.Name = NAME
205
	NEWPART.Size = SIZE
206
	NEWPART.Position = Torso.Position
207
	NEWPART.Material = MATERIAL
208
	NEWPART:BreakJoints()
209
	NEWPART.Parent = PARENT
210
	return NEWPART
211
end
212
213
	local function weldBetween(a, b)
214
	    local weldd = Instance.new("ManualWeld")
215
	    weldd.Part0 = a
216
	    weldd.Part1 = b
217
	    weldd.C0 = CFrame.new()
218
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
219
	    weldd.Parent = a
220
	    return weldd
221
	end
222
223
224
function QuaternionFromCFrame(cf)
225
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
226
	local trace = m00 + m11 + m22
227
	if trace > 0 then 
228
		local s = math.sqrt(1 + trace)
229
		local recip = 0.5 / s
230
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
231
	else
232
		local i = 0
233
		if m11 > m00 then
234
			i = 1
235
		end
236
		if m22 > (i == 0 and m00 or m11) then
237
			i = 2
238
		end
239
		if i == 0 then
240
			local s = math.sqrt(m00 - m11 - m22 + 1)
241
			local recip = 0.5 / s
242
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
243
		elseif i == 1 then
244
			local s = math.sqrt(m11 - m22 - m00 + 1)
245
			local recip = 0.5 / s
246
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
247
		elseif i == 2 then
248
			local s = math.sqrt(m22 - m00 - m11 + 1)
249
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
250
		end
251
	end
252
end
253
 
254
function QuaternionToCFrame(px, py, pz, x, y, z, w)
255
	local xs, ys, zs = x + x, y + y, z + z
256
	local wx, wy, wz = w * xs, w * ys, w * zs
257
	local xx = x * xs
258
	local xy = x * ys
259
	local xz = x * zs
260
	local yy = y * ys
261
	local yz = y * zs
262
	local zz = z * zs
263
	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))
264
end
265
 
266
function QuaternionSlerp(a, b, t)
267
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
268
	local startInterp, finishInterp;
269
	if cosTheta >= 0.0001 then
270
		if (1 - cosTheta) > 0.0001 then
271
			local theta = ACOS(cosTheta)
272
			local invSinTheta = 1 / SIN(theta)
273
			startInterp = SIN((1 - t) * theta) * invSinTheta
274
			finishInterp = SIN(t * theta) * invSinTheta
275
		else
276
			startInterp = 1 - t
277
			finishInterp = t
278
		end
279
	else
280
		if (1 + cosTheta) > 0.0001 then
281
			local theta = ACOS(-cosTheta)
282
			local invSinTheta = 1 / SIN(theta)
283
			startInterp = SIN((t - 1) * theta) * invSinTheta
284
			finishInterp = SIN(t * theta) * invSinTheta
285
		else
286
			startInterp = t - 1
287
			finishInterp = t
288
		end
289
	end
290
	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
291
end
292
293
function Clerp(a, b, t)
294
	local qa = {QuaternionFromCFrame(a)}
295
	local qb = {QuaternionFromCFrame(b)}
296
	local ax, ay, az = a.x, a.y, a.z
297
	local bx, by, bz = b.x, b.y, b.z
298
	local _t = 1 - t
299
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
300
end
301
302
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
303
	local frame = IT("Frame")
304
	frame.BackgroundTransparency = TRANSPARENCY
305
	frame.BorderSizePixel = BORDERSIZEPIXEL
306
	frame.Position = POSITION
307
	frame.Size = SIZE
308
	frame.BackgroundColor3 = COLOR
309
	frame.BorderColor3 = BORDERCOLOR
310
	frame.Name = NAME
311
	frame.Parent = PARENT
312
	return frame
313
end
314
315
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
316
	local label = IT("TextLabel")
317
	label.BackgroundTransparency = 1
318
	label.Size = UD2(1, 0, 1, 0)
319
	label.Position = UD2(0, 0, 0, 0)
320
	label.TextColor3 = TEXTCOLOR
321
	label.TextStrokeTransparency = STROKETRANSPARENCY
322
	label.TextTransparency = TRANSPARENCY
323
	label.FontSize = TEXTFONTSIZE
324
	label.Font = TEXTFONT
325
	label.BorderSizePixel = BORDERSIZEPIXEL
326
	label.TextScaled = false
327
	label.Text = TEXT
328
	label.Name = NAME
329
	label.Parent = PARENT
330
	return label
331
end
332
333
function NoOutlines(PART)
334
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
335
end
336
337
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
338
	local NEWWELD = IT(TYPE)
339
	NEWWELD.Part0 = PART0
340
	NEWWELD.Part1 = PART1
341
	NEWWELD.C0 = C0
342
	NEWWELD.C1 = C1
343
	NEWWELD.Parent = PARENT
344
	return NEWWELD
345
end
346
347
local S = IT("Sound")
348
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
349
	local NEWSOUND = nil
350
	coroutine.resume(coroutine.create(function()
351
		NEWSOUND = S:Clone()
352
		NEWSOUND.Parent = PARENT
353
		NEWSOUND.Volume = VOLUME
354
		NEWSOUND.Pitch = PITCH
355
		NEWSOUND.SoundId = "rbxassetid://"..ID
356
		NEWSOUND:play()
357
		if DOESLOOP == true then
358
			NEWSOUND.Looped = true
359
		else
360
			repeat wait(1) until NEWSOUND.Playing == false
361
			NEWSOUND:remove()
362
		end
363
	end))
364
	return NEWSOUND
365
end
366
367
function CFrameFromTopBack(at, top, back)
368
	local right = top:Cross(back)
369
	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)
370
end
371
372
--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})
373
function WACKYEFFECT(Table)
374
	local TYPE = (Table.EffectType or "Sphere")
375
	local SIZE = (Table.Size or VT(1,1,1))
376
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
377
	local TRANSPARENCY = (Table.Transparency or 0)
378
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
379
	local CFRAME = (Table.CFrame or Torso.CFrame)
380
	local MOVEDIRECTION = (Table.MoveToPos or nil)
381
	local ROTATION1 = (Table.RotationX or 0)
382
	local ROTATION2 = (Table.RotationY or 0)
383
	local ROTATION3 = (Table.RotationZ or 0)
384
	local MATERIAL = (Table.Material or "Neon")
385
	local COLOR = (Table.Color or C3(1,1,1))
386
	local TIME = (Table.Time or 45)
387
	local SOUNDID = (Table.SoundID or nil)
388
	local SOUNDPITCH = (Table.SoundPitch or nil)
389
	local SOUNDVOLUME = (Table.SoundVolume or nil)
390
	coroutine.resume(coroutine.create(function()
391
		local PLAYSSOUND = false
392
		local SOUND = nil
393
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
394
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
395
			PLAYSSOUND = true
396
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
397
		end
398
		EFFECT.Color = COLOR
399
		local MSH = nil
400
		if TYPE == "Sphere" then
401
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
402
		elseif TYPE == "Block" then
403
			MSH = IT("BlockMesh",EFFECT)
404
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
405
		elseif TYPE == "Wave" then
406
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
407
		elseif TYPE == "Ring" then
408
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
409
		elseif TYPE == "Slash" then
410
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
411
		elseif TYPE == "Round Slash" then
412
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
413
		elseif TYPE == "Swirl" then
414
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
415
		elseif TYPE == "Skull" then
416
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
417
		elseif TYPE == "Crystal" then
418
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
419
		end
420
		if MSH ~= nil then
421
			local MOVESPEED = nil
422
			if MOVEDIRECTION ~= nil then
423
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
424
			end
425
			local GROWTH = SIZE - ENDSIZE
426
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
427
			if TYPE == "Block" then
428
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
429
			else
430
				EFFECT.CFrame = CFRAME
431
			end
432
			for LOOP = 1, TIME+1 do
433
				Swait()
434
				MSH.Scale = MSH.Scale - GROWTH/TIME
435
				if TYPE == "Wave" then
436
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
437
				end
438
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
439
				if TYPE == "Block" then
440
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
441
				else
442
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
443
				end
444
				if MOVEDIRECTION ~= nil then
445
					local ORI = EFFECT.Orientation
446
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
447
					EFFECT.Orientation = ORI
448
				end
449
			end
450
			if PLAYSSOUND == false then
451
				EFFECT:remove()
452
			else
453
				repeat Swait() until SOUND.Playing == false
454
				EFFECT:remove()
455
			end
456
		else
457
			if PLAYSSOUND == false then
458
				EFFECT:remove()
459
			else
460
				repeat Swait() until SOUND.Playing == false
461
				EFFECT:remove()
462
			end
463
		end
464
	end))
465
end
466
467
function MakeForm(PART,TYPE)
468
	if TYPE == "Cyl" then
469
		local MSH = IT("CylinderMesh",PART)
470
	elseif TYPE == "Ball" then
471
		local MSH = IT("SpecialMesh",PART)
472
		MSH.MeshType = "Sphere"
473
	elseif TYPE == "Wedge" then
474
		local MSH = IT("SpecialMesh",PART)
475
		MSH.MeshType = "Wedge"
476
	end
477
end
478
479
Debris = game:GetService("Debris")
480
481
function CastProperRay(StartPos, EndPos, Distance, Ignore)
482
	local DIRECTION = CF(StartPos,EndPos).lookVector
483
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
484
	return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, DIRECTION * Distance), Ignore)
485
end
486
487
function turnto(position)
488
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
489
end
490
491
local Decal = IT("Decal")
492
function SpawnBulletHole(POSITION)
493
	local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Bullet hole", VT(0.2,0,0.2))
494
	local decal = Decal:Clone()
495
	decal.Parent = O1
496
	decal.Face = "Top"
497
	decal.Texture = "http://www.roblox.com/asset/?id=130624105"
498
	local decal2 = Decal:Clone()
499
	decal2.Parent = O1
500
	decal2.Face = "Bottom"
501
	decal2.Texture = "http://www.roblox.com/asset/?id=130624105"
502
	O1.CFrame = POSITION*ANGLES(RAD(0),RAD(MRANDOM(-180,180)),RAD(0))
503
	Debris:AddItem(O1,5)
504
end
505
506
function SpawnTrail(FROM,TO)
507
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Pearl", "Arrow", VT(0,0,0))
508
	MakeForm(TRAIL,"Cyl")
509
	local DIST = (FROM - TO).Magnitude
510
	TRAIL.Size = VT(0.1,DIST,0.1)
511
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
512
	coroutine.resume(coroutine.create(function()
513
		for i = 1, 5 do
514
			Swait()
515
			TRAIL.Transparency = TRAIL.Transparency + 0.1
516
		end
517
		TRAIL:remove()
518
	end))
519
end
520
521
function BulletDetection(FROM,TO)
522
	local DIRECTION = CF(FROM,TO).lookVector
523
	local AIMHIT,AIMPOS,NORMAL = Raycast(FROM, DIRECTION, 2000, Character)
524
	SpawnTrail(FROM,AIMPOS)
525
	coroutine.resume(coroutine.create(function()
526
		if AIMHIT ~= nil then
527
			if AIMHIT.Parent ~= Character then
528
				if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
529
					if AIMHIT.Name ~= "Head" and AIMHIT.Parent.ClassName ~= "Accessory" then
530
						ApplyDamage(AIMHIT.Parent:FindFirstChildOfClass("Humanoid"),MRANDOM(15,25),AIMHIT)
531
					elseif AIMHIT.Name == "Head" or AIMHIT.Parent.ClassName == "Accessory" then
532
						if AIMHIT.Parent.ClassName == "Accessory" then
533
							if AIMHIT:FindFirstChild("HatAttachment") or AIMHIT:FindFirstChild("FaceFrontAttachment") or AIMHIT:FindFirstChild("HairAttachment") then
534
								AIMHIT.Parent.Parent:BreakJoints()
535
								if AIMHIT.Parent.Parent:FindFirstChild("Head") then
536
									AIMHIT.Parent.Parent.Head:remove()
537
									for i = 1, 3 do
538
										WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = CF(AIMHIT.Parent.Parent.Head.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0.3,0,0), SoundID = 180083298, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 3})
539
									end
540
								end
541
							else
542
								CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)],AIMHIT,6,MRANDOM(8,12)/10,false)
543
								ApplyDamage(AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid"),15,AIMHIT)
544
							end
545
						elseif AIMHIT.Name == "Head" then
546
							for i = 1, 3 do
547
								WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = CF(AIMHIT.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0.3,0,0), SoundID = 180083298, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 3})
548
							end
549
							AIMHIT.Parent:BreakJoints()
550
							AIMHIT:remove()
551
						end
552
					end
553
				else
554
					SpawnBulletHole(CF(AIMPOS,AIMPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0)))
555
				end
556
			end
557
		end
558
	end))
559
	return AIMHIT,AIMPOS,NORMAL
560
end
561
562
function CharacterFade(COLOR,TIMER)
563
	coroutine.resume(coroutine.create(function()
564
		local FADE = IT("Model",Effects)
565
		for _, c in pairs(Character:GetChildren()) do
566
			if c.ClassName == "Part" and c ~= RootPart then
567
				local FADER = c:Clone()
568
				FADER.Color = COLOR
569
				FADER.CFrame = c.CFrame
570
				FADER.Parent = FADE
571
				FADER.Anchored = true
572
				FADER.Transparency = 0.25
573
				FADER:BreakJoints()
574
				FADER.Material = "Neon"
575
				FADER:ClearAllChildren()
576
				if FADER.Name == "Head" then
577
					FADER.Size = VT(1,1,1)
578
				end
579
			end
580
		end
581
		local TRANS = 0.75/TIMER
582
		for i = 1, TIMER do
583
			Swait()
584
			for _, c in pairs(FADE:GetChildren()) do
585
				if c.ClassName == "Part" then
586
					c.Transparency = c.Transparency + TRANS
587
				end
588
			end
589
		end
590
		FADE:remove()
591
	end))
592
end
593
594
--//=================================\\
595
--||	     WEAPON CREATION
596
--\\=================================//
597
598
local ROCKSPIKE = script.Rapier
599
ROCKSPIKE.Parent = nil
600
ROCKSPIKE.Transparency = 0
601
ROCKSPIKE.CanCollide = true
602
local Shaker = script.CamShake
603
Shaker.Parent = nil
604
local Rapier = script.Rapier
605
local BLADE = Rapier.Blade
606
local HANDLE = Rapier.Handle
607
local TRAIL = BLADE.Trail
608
local GRIP = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, HANDLE, CF(0,-1.1,-0.25)*ANGLES(RAD(-110),RAD(0),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(180)), CF(0,0,0))
609
local GUN = script.Gun
610
GUN.Parent = nil
611
GUN.Transparency = 0
612
local WINGC = script.Wing
613
WINGC.Parent = nil
614
local PICKS = script.Toothpick
615
PICKS.Parent = nil
616
if Player.Name == "Shackluster" then
617
	local PICK = PICKS:Clone()
618
	CreateWeldOrSnapOrMotor("Weld", Head, Head, PICK, CF(-0.15,-0.27,-0.9)*ANGLES(RAD(0),RAD(90),RAD(0))*ANGLES(RAD(85),RAD(0),RAD(-110))*ANGLES(RAD(80),RAD(0),RAD(0)), CF(0,0,0))
619
	PICK.Anchored = false
620
	PICK.Transparency = 0
621
	PICK.Parent = Rapier
622
end
623
local CROSS = script.Cross
624
CROSS.Parent = nil
625
626
--COLORS--
627
628
local GOLDCOLOR1 = 248
629
local GOLDCOLOR2 = 217
630
local GOLDCOLOR3 = 109
631
632
local BOPCOLOR1 = 253
633
local BOPCOLOR2 = 234
634
local BOPCOLOR3 = 141
635
636
local PURPLECOLOR1 = 89
637
local PURPLECOLOR2 = 34
638
local PURPLECOLOR3 = 89
639
640
----------
641
642
function SetTrailColor(COLOR)
643
	TRAIL.Color = ColorSequence.new(COLOR)
644
end
645
646
for _, c in pairs(Rapier:GetChildren()) do
647
	if c:IsA("BasePart") then
648
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
649
		c.Anchored = false
650
	end
651
end
652
653
local RAPIERCLONE = Rapier:Clone()
654
RAPIERCLONE.Parent = nil
655
656
Rapier.Parent = Character
657
658
local SKILLTEXTCOLOR = BRICKC"Cork".Color
659
local SKILLFONT = "Fantasy"
660
local SKILLTEXTSIZE = 7
661
662
Player.CharacterAdded:Connect(function(char)
663
	Character = char
664
	Humanoid = Character.Humanoid
665
	RootPart = Character["HumanoidRootPart"]
666
	Torso = Character["Torso"]
667
	Head = Character["Head"]
668
	RightArm = Character["Right Arm"]
669
	LeftArm = Character["Left Arm"]
670
	RightLeg = Character["Right Leg"]
671
	LeftLeg = Character["Left Leg"]
672
	RootJoint = RootPart["RootJoint"]
673
	Neck = Torso["Neck"]
674
	RightShoulder = Torso["Right Shoulder"]
675
	LeftShoulder = Torso["Left Shoulder"]
676
	RightHip = Torso["Right Hip"]
677
	LeftHip = Torso["Left Hip"]
678
	local Rapier = RAPIERCLONE:Clone()
679
	Rapier.Parent = Character
680
	local BLADE = Rapier.Blade
681
	local HANDLE = Rapier.Handle
682
	local TRAIL = BLADE.Trail
683
	local ANIMATOR = Humanoid.Animator
684
	local ANIMATE = Character.Animate
685
	GRIP = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, HANDLE, CF(0,-1.1,-0.25)*ANGLES(RAD(-110),RAD(0),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(180)), CF(0,0,0))
686
end)
687
688
Humanoid.Died:connect(function()
689
	Character = nil
690
end)
691
692
--local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
693
--local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
694
--local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.82, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
695
--local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.78, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
696
--local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.74, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
697
--
698
--local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
699
--local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
700
--local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
701
--local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
702
--local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
703
704
--//=================================\\
705
--||			DAMAGING
706
--\\=================================//
707
708
function ApplyDamage(Humanoid,Damage,TorsoPart,Stuns)
709
	local defence = Instance.new("BoolValue",Humanoid.Parent)
710
	defence.Name = ("HitBy"..Player.Name)
711
	game:GetService("Debris"):AddItem(defence, 0.001)
712
	Damage = Damage * DAMAGEMULTIPLIER
713
	if Humanoid.Health ~= 0 then
714
		local CritChance = MRANDOM(1,100)
715
		if Damage > Humanoid.Health then
716
			Damage = math.ceil(Humanoid.Health)
717
			if Damage == 0 then
718
				Damage = 0.1
719
			end
720
		end
721
		Humanoid.MaxHealth = 100
722
		if Humanoid.Health > 100 then
723
			Humanoid.Health = 100 - Damage
724
		end
725
		if Stuns == true and Humanoid.PlatformStand == false then
726
			coroutine.resume(coroutine.create(function()
727
				for _, c in pairs(Humanoid.Parent:GetChildren()) do
728
					if c.ClassName == "LocalScript" and c.Name ~= "Animate" then
729
						c:remove()
730
					end
731
				end
732
				Humanoid.PlatformStand = true
733
				wait(5)
734
				Humanoid.PlatformStand = false
735
			end))
736
		end
737
		Humanoid.Health = Humanoid.Health - Damage
738
	end
739
end
740
741
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,ISMELEE,DOESCAMSHAKE,CAMVALUES,CANSTUN,INSTAKILL)
742
	local CHILDREN = workspace:GetDescendants()
743
	for index, CHILD in pairs(CHILDREN) do
744
		if CHILD.ClassName == "Model" and CHILD ~= Character then
745
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
746
			if HUM then
747
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
748
				if TORSO then
749
					if (TORSO.Position - POSITION).Magnitude <= RANGE + TORSO.Size.Magnitude/2 then
750
						if ISMELEE == true then
751
							for i = 1, 3 do
752
								WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0.1,25,0.1), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0.3,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
753
							end
754
							CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)],TORSO,2,MRANDOM(8,12)/10,false)
755
						end
756
						if INSTAKILL == true then
757
							CHILD:BreakJoints()
758
						else
759
							local DMG = MRANDOM(MINDMG,MAXDMG)
760
							ApplyDamage(HUM,DMG,TORSO,CANSTUN)
761
						end
762
						if DOESCAMSHAKE == true then
763
							local CAMSHAKER = Shaker:Clone()
764
							CAMSHAKER.Shake.Value = CAMVALUES.SHAKE
765
							CAMSHAKER.Timer.Value = CAMVALUES.TIMER
766
							CAMSHAKER.DoesFade.Value = CAMVALUES.DOESFADE
767
							CAMSHAKER.Parent = CHILD
768
							CAMSHAKER.Disabled = false
769
						end
770
						if FLING > 0 then
771
							for _, c in pairs(CHILD:GetChildren()) do
772
								if c:IsA("BasePart") then
773
									local bv = Instance.new("BodyVelocity") 
774
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
775
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
776
									bv.Parent = c
777
									Debris:AddItem(bv,0.05)
778
								end
779
							end
780
						end
781
					end
782
				end
783
			end
784
		end
785
	end
786
end
787
788
function APPLYMELEE(MINDMG,MAXDMG,CANSTUN)
789
	local HITS = {}
790
	local TOUCH = BLADE.Touched:Connect(function(hit)
791
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
792
			local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
793
			local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
794
			if TORSO and HUM.Health > 0 then
795
				local PASS = true
796
				for i = 1, #HITS do
797
					if HITS[i] == hit.Parent then
798
						PASS = false
799
					end
800
				end
801
				table.insert(HITS,hit.Parent)
802
					if PASS == true then
803
					for i = 1, 3 do
804
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0.3,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
805
					end
806
					ApplyDamage(HUM,MRANDOM(MINDMG,MAXDMG),TORSO,CANSTUN)
807
					CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)],TORSO,2,MRANDOM(8,12)/10,false)
808
				end
809
			end
810
		end
811
	end)
812
	return TOUCH
813
end
814
815
--//=================================\\
816
--||	ATTACK FUNCTIONS AND STUFF
817
--\\=================================//
818
819
function JumpAct(Strength)
820
	Rooted = true
821
	ATTACK = true
822
	for i=0, 0.6, 0.1 / Animation_Speed do
823
		Swait()
824
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
825
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
826
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
827
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
828
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
829
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
830
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.2, -0.1) * ANGLES(RAD(-70), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
831
	end
832
	local bv = Instance.new("BodyVelocity") 
833
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
834
	bv.velocity = CF(RootPart.Position,RootPart.CFrame*CF(0,1,-0.3).p).lookVector*Strength
835
	bv.Parent = RootPart
836
	for i=0, 0.6, 0.1 / Animation_Speed do
837
		Swait()
838
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
839
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
840
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
841
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-10), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
842
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
843
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(5), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
844
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
845
	end
846
	bv:remove()
847
	Rooted = false
848
	ATTACK = false
849
end
850
851
--//=================================\\
852
--||			BASEMODE
853
--\\=================================//
854
855
function ClickSwipes()
856
	ATTACK = true
857
	Rooted = false
858
	COMBO = 1
859
	TRAIL.Enabled = true
860
	repeat
861
		if COMBO == 1 then
862
			COMBO = 2
863
			for i=0, 0.3, 0.1 / Animation_Speed do
864
				Swait()
865
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-55), RAD(55), RAD(90)), 1 / Animation_Speed)
866
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
867
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
868
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.2) * ANGLES(RAD(15), RAD(0), RAD(-35)) * ANGLES(RAD(0), RAD(65), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
869
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
870
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
871
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
872
			end
873
			CreateSound(143501853,BLADE,2,MRANDOM(8,13)/10,false)
874
			local TOUCH = APPLYMELEE(4,8,false)
875
			for i=0, 0.5, 0.1 / Animation_Speed do
876
				Swait()
877
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-70), RAD(55), RAD(90)), 1 / Animation_Speed)
878
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
879
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
880
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(55), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
881
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
882
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
883
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
884
			end
885
			TOUCH:disconnect()
886
		elseif COMBO == 2 then
887
			COMBO = 1
888
			for i=0, 0.3, 0.1 / Animation_Speed do
889
				Swait()
890
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
891
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
892
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
893
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
894
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
895
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
896
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
897
			end
898
			CreateSound(143501853,BLADE,2,MRANDOM(8,13)/10,false)
899
			local TOUCH = APPLYMELEE(4,8,false)
900
			for i=0, 0.5, 0.1 / Animation_Speed do
901
				Swait()
902
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-50), RAD(0), RAD(0)), 1 / Animation_Speed)
903
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
904
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
905
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(80), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
906
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
907
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
908
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
909
			end
910
			TOUCH:disconnect()
911
		end
912
	until HOLD == false
913
	TRAIL.Enabled = false
914
	if COMBO == 2 then
915
		for i=0, 0.5, 0.1 / Animation_Speed do
916
			Swait()
917
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-70), RAD(55), RAD(90)), 1 / Animation_Speed)
918
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
919
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
920
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(55), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
921
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
922
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
923
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
924
		end
925
	elseif COMBO == 1 then
926
		for i=0, 1, 0.1 / Animation_Speed do
927
			Swait()
928
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-50), RAD(0), RAD(0)), 1 / Animation_Speed)
929
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
930
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
931
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(80), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
932
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
933
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
934
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
935
		end
936
	end
937
	ATTACK = false
938
	Rooted = false
939
end
940
941
function Counter()
942
	ATTACK = true
943
	Rooted = true
944
	local COUNTER = false
945
	local COUNTERPHYSICS = Humanoid.HealthChanged:connect(function()
946
		COUNTER = true
947
	end)
948
	for i=0, 1.5, 0.1 / Animation_Speed do
949
		Swait()
950
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0.2) * ANGLES(RAD(95), RAD(0), RAD(0)), 1 / Animation_Speed)
951
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
952
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1 / Animation_Speed)
953
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, -0.1, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-45)) * ANGLES(RAD(25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
954
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
955
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
956
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-95), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
957
	end
958
	local BUSY = true
959
	local KEYDOWN = Mouse.KeyDown:connect(function(NEWKEY)
960
		BUSY = false
961
	end)
962
	for i=0, 8, 0.1 / Animation_Speed do
963
		Swait()
964
		if BUSY == false or COUNTER == true then
965
			break
966
		end
967
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0.2) * ANGLES(RAD(95), RAD(0), RAD(0)), 1 / Animation_Speed)
968
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
969
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1 / Animation_Speed)
970
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, -0.1, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-45)) * ANGLES(RAD(25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
971
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
972
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
973
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-95), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
974
	end
975
	KEYDOWN:disconnect()
976
	COUNTERPHYSICS:disconnect()
977
	if COUNTER == true then
978
		TRAIL.Enabled = true
979
		for i=0, 0.1, 0.1 / Animation_Speed do
980
			Swait()
981
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-20), RAD(0), RAD(0)), 2 / Animation_Speed)
982
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 2 / Animation_Speed)
983
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
984
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(140), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
985
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
986
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
987
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
988
		end
989
		CreateSound(143501853,BLADE,2,MRANDOM(8,13)/10,false)
990
		CreateSound(1447872444,BLADE,4,MRANDOM(9,11)/10,false)
991
		ApplyAoE(Torso.CFrame*CF(0,0,-0.5).p,7,12,22,15,true,true,{SHAKE = 1, TIMER = 15, DOESFADE = true},true,false)
992
		for i=0, 0.3, 0.1 / Animation_Speed do
993
			Swait()
994
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
995
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
996
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
997
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
998
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
999
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(92), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1000
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1001
		end
1002
		TRAIL.Enabled = false
1003
	end
1004
	ATTACK = false
1005
	Rooted = false
1006
end
1007
1008
function QuickSwipes()
1009
	ATTACK = true
1010
	Rooted = false
1011
	COMBO = 1
1012
	TRAIL.Enabled = true
1013
	for i = 1, 12 do
1014
		if COMBO == 1 then
1015
			COMBO = 2
1016
			for i=0, 0.1, 0.1 / Animation_Speed do
1017
				Swait()
1018
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-55), RAD(55), RAD(90)), 1 / Animation_Speed)
1019
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1020
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1021
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.2) * ANGLES(RAD(15), RAD(0), RAD(-35)) * ANGLES(RAD(0), RAD(65), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1022
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1023
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1024
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1025
			end
1026
			CreateSound(143501853,BLADE,2,MRANDOM(8,13)/10,false)
1027
			local TOUCH = APPLYMELEE(4,8,false)
1028
			for i=0, 0.4, 0.1 / Animation_Speed do
1029
				Swait()
1030
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-70), RAD(55), RAD(90)), 1 / Animation_Speed)
1031
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
1032
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
1033
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(55), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1034
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1035
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1036
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1037
			end
1038
			TOUCH:disconnect()
1039
		elseif COMBO == 2 then
1040
			COMBO = 1
1041
			for i=0, 0.1, 0.1 / Animation_Speed do
1042
				Swait()
1043
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1044
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1045
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1046
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1047
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1048
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1049
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1050
			end
1051
			CreateSound(143501853,BLADE,2,MRANDOM(8,13)/10,false)
1052
			local TOUCH = APPLYMELEE(4,8,false)
1053
			for i=0, 0.4, 0.1 / Animation_Speed do
1054
				Swait()
1055
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-50), RAD(0), RAD(0)), 1 / Animation_Speed)
1056
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
1057
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
1058
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(80), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1059
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1060
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1061
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1062
			end
1063
			TOUCH:disconnect()
1064
		end
1065
	end
1066
	Rooted = true
1067
	for i=0, 0.4, 0.1 / Animation_Speed do
1068
		Swait()
1069
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-20), RAD(0), RAD(0)), 2 / Animation_Speed)
1070
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 2 / Animation_Speed)
1071
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
1072
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-65)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1073
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1074
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1075
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1076
	end
1077
	TRAIL.Enabled = false
1078
	for i = 1, 7 do
1079
		CharacterFade(C3(1,1,1),25+(i*3))
1080
		RootPart.CFrame = RootPart.CFrame*CF(0,0,-5)
1081
		ApplyAoE(RootPart.Position,6,7,15,12,true,true,{SHAKE = 1, TIMER = 15, DOESFADE = true},false,false)
1082
	end
1083
	CreateSound(143501853,BLADE,10,MRANDOM(8,13)/10,false)
1084
	for i=0, 2, 0.1 / Animation_Speed do
1085
		Swait()
1086
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-20), RAD(0), RAD(0)), 3 / Animation_Speed)
1087
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(-5), RAD(-45)), 3 / Animation_Speed)
1088
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(45)), 3 / Animation_Speed)
1089
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
1090
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 3 / Animation_Speed)
1091
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.25) * ANGLES(RAD(35), RAD(35), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 3 / Animation_Speed)
1092
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.4) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(90)), 3 / Animation_Speed)
1093
	end
1094
	ATTACK = false
1095
	Rooted = false
1096
end
1097
1098
function JumpStrike()
1099
	ATTACK = true
1100
	Rooted = false
1101
	Speed = 150
1102
	local bv = Instance.new("BodyVelocity") 
1103
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1104
	bv.velocity = CF(RootPart.Position,RootPart.Position+VT(0,1,0)).lookVector*75
1105
	bv.Parent = RootPart
1106
	TRAIL.Enabled = true
1107
	SetTrailColor(C3(1,0,0))
1108
	local LOOP = CreateSound(120745021,BLADE,2,1.4,true)
1109
	for i=1, 3, 0.1 / Animation_Speed do
1110
		Swait()
1111
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(0)), 1 / Animation_Speed)
1112
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(i*1000)), 1 / Animation_Speed)
1113
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1114
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1115
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1116
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1117
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1118
	end
1119
	LOOP:remove()
1120
	for i=0, 1.3, 0.1 / Animation_Speed do
1121
		Swait()
1122
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
1123
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1124
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1125
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(135), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1126
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1127
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1128
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1129
	end
1130
	bv:remove()
1131
	local LANDED = nil
1132
	local FINISHEDLANDING = nil
1133
	local HITPOS = nil
1134
	coroutine.resume(coroutine.create(function()
1135
		local LOOP = 0
1136
		for i = 1, 25 do
1137
			Swait()
1138
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(25), RAD(0), RAD(0)), 2.5 / Animation_Speed)
1139
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(i*45), RAD(0), RAD(0)), 2.5 / Animation_Speed)
1140
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
1141
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1142
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1143
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
1144
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
1145
		end
1146
		repeat
1147
			Swait()
1148
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
1149
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(150), RAD(0), RAD(0)), 1 / Animation_Speed)
1150
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1151
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(135), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1152
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1153
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1154
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1155
		until FINISHEDLANDING ~= nil
1156
	end))
1157
	while wait() do
1158
		FINISHEDLANDING,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 6, Character)
1159
		if FINISHEDLANDING ~= nil then
1160
			break
1161
		end
1162
	end
1163
	Rooted = true
1164
	Speed = 16
1165
	local bv = Instance.new("BodyVelocity") 
1166
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1167
	bv.velocity = CF(RootPart.Position,RootPart.Position+VT(0,1,0)).lookVector*45
1168
	bv.Parent = RootPart
1169
	coroutine.resume(coroutine.create(function()
1170
		ApplyAoE(HITPOS,15,25,35,12,false,true,{SHAKE = 2, TIMER = 7, DOESFADE = true},false,false)
1171
		WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,1,25), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 1368637781, SoundPitch = 1.3, SoundVolume = 4})
1172
		for i = 1, 14 do
1173
			wait(0.15)
1174
			WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,1,25), Transparency = 0+((i/14)-(1/14)), Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1175
		end
1176
	end))
1177
	TRAIL.Enabled = false
1178
	for i = 1, 25 do
1179
		Swait()
1180
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(25), RAD(0), RAD(0)), 2.5 / Animation_Speed)
1181
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(i*25), RAD(0), RAD(0)), 2.5 / Animation_Speed)
1182
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
1183
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1184
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1185
		RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
1186
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
1187
	end
1188
	bv:remove()
1189
	ATTACK = false
1190
	Rooted = false
1191
	SetTrailColor(C3(1,1,1))
1192
end
1193
1194
function RockFlair()
1195
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 6, Character)
1196
	if HITFLOOR then
1197
		ATTACK = true
1198
		Rooted = true
1199
		for i=1, 3, 0.1 / Animation_Speed do
1200
			Swait()
1201
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(i*700), RAD(75), RAD(0)), 1 / Animation_Speed)
1202
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1203
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1204
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(130)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1205
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1206
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1207
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1208
		end
1209
		local HITS = {}
1210
		local POS = RootPart.Position
1211
		coroutine.resume(coroutine.create(function()
1212
			local ROCKFOLDER = IT("Folder",Character)
1213
			ROCKFOLDER.Name = "Rocks"
1214
			local ROCKS = 25
1215
			for i = 1, ROCKS do
1216
				local ROCK = ROCKSPIKE:Clone()
1217
				ROCK.Parent = ROCKFOLDER
1218
				ROCK.Size = ROCK.Size*1.2
1219
				ROCK.CFrame = CF(RootPart.Position-VT(0,15,0)) * ANGLES(RAD(0), RAD((360/ROCKS)*i), RAD(0)) * ANGLES(RAD(50), RAD(0), RAD(0))
1220
			end
1221
			local CENTER = CreatePart(3, ROCKFOLDER, "Concrete", 0, 1, "Mid gray", "Part", VT(0,0,0))
1222
			local ROCKSOUND = CreateSound(292536356,CENTER,3,1,true)
1223
			coroutine.resume(coroutine.create(function()
1224
				wait(0.2)
1225
				for i = 1, 25 do
1226
					Swait()
1227
					ROCKSOUND.Volume = ROCKSOUND.Volume - 3/25
1228
				end
1229
				CENTER:remove()
1230
			end))
1231
			coroutine.resume(coroutine.create(function()
1232
				wait(0.3)
1233
				ApplyAoE(POS,20,25,35,0,true,true,{SHAKE = 1, TIMER = 25, DOESFADE = true},false,false)
1234
			end))
1235
			for i = 1, 35 do
1236
				Swait()
1237
				for _, c in pairs(ROCKFOLDER:GetChildren()) do
1238
					c.CFrame = c.CFrame*CF(0,(1-(i/35))*0.6,0)
1239
				end
1240
			end
1241
			wait(4)
1242
			for i = 1, 70 do
1243
				Swait()
1244
				for _, c in pairs(ROCKFOLDER:GetChildren()) do
1245
					c.CanCollide = false
1246
					c.Transparency = c.Transparency + 1/70
1247
				end
1248
			end
1249
			ROCKFOLDER:remove()
1250
		end))
1251
		for i=0, 1.5, 0.1 / Animation_Speed do
1252
			Swait()
1253
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-65), RAD(0), RAD(0)), 1 / Animation_Speed)
1254
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
1255
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 1 / Animation_Speed)
1256
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, -0.1, -0.5) * ANGLES(RAD(120), RAD(0), RAD(-45)) * ANGLES(RAD(25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1257
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1258
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1259
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-95), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1260
		end
1261
		ATTACK = false
1262
		Rooted = false
1263
	end
1264
end
1265
1266
--//=================================\\
1267
--||		  JUSTICE MODE
1268
--\\=================================//
1269
1270
1271
1272
--//=================================\\
1273
--||		   DEMON MODE
1274
--\\=================================//
1275
1276
function ChangeToDemon()
1277
	SetTrailColor(BRICKC"Mulberry".Color)
1278
	ATTACK = true
1279
	Rooted = true
1280
	Speed = 12
1281
	local STARTUP = false
1282
	coroutine.resume(coroutine.create(function()
1283
		repeat
1284
			Swait()
1285
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1286
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1287
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-2.5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1288
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1289
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1290
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1291
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1292
		until STARTUP == true
1293
	end))
1294
	local FLOATINGCROSS = CROSS:Clone()
1295
	FLOATINGCROSS.Parent = Effects
1296
	FLOATINGCROSS.CFrame = RootPart.CFrame*CF(0,12,0) * ANGLES(RAD(0), RAD(90), RAD(0))
1297
	local HUMM = CreateSound(139100774,FLOATINGCROSS,6,1,false)
1298
	for i = 1, 145 do
1299
		Swait()
1300
		VOLUME = VOLUME - 1/145
1301
		FLOATINGCROSS.Transparency = FLOATINGCROSS.Transparency - 1/145
1302
	end
1303
	wait(3)
1304
	HUMM:Stop()
1305
	CreateSound(138122923,FLOATINGCROSS,6,1,false)
1306
	FLOATINGCROSS.Material = "Granite"
1307
	FLOATINGCROSS.Color = C3(1/255,1/255,1/255)
1308
	FLOATINGCROSS.CFrame = FLOATINGCROSS.CFrame * ANGLES(RAD(180), RAD(0), RAD(0))
1309
	wait(1)
1310
	local HUMM = CreateSound(472006887,FLOATINGCROSS,6,1,false)
1311
	STARTUP = true
1312
	for i = 1, 45 do
1313
		Swait()
1314
		Humanoid.HipHeight = i/45
1315
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1316
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1317
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1318
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1319
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1320
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1321
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1322
	end
1323
	PENTAGRAM = CreatePart(3, Rapier, "Concrete", 0, 1, "Mid gray", "Part", VT(15,0.4,15))
1324
	local DECAL = IT("Decal",PENTAGRAM)
1325
	DECAL.Face = "Top"
1326
	DECAL.Color3 = BRICKC"Mulberry".Color
1327
	DECAL.Texture = "http://www.roblox.com/asset/?id=32174313"
1328
	local HITFLOOR,HITPOS = CastProperRay(RootPart.Position, RootPart.Position-VT(0,15,0), 4+Humanoid.HipHeight, {Torso,RootPart,RightLeg,LeftLeg,Effects})
1329
	PENTAGRAM.CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(SINE), RAD(0))
1330
	HELDGUN = GUN:Clone()
1331
	CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, HELDGUN, CF(0,-1.75,-0.25)*ANGLES(RAD(-90),RAD(0),RAD(0)), CF(0,0,0))
1332
	HELDGUN.Parent = Rapier
1333
	HELDGUN.Transparency = 1
1334
	HELDGUN.Anchored = false
1335
	WING = WINGC:Clone()
1336
	WING.Transparency = 1
1337
	WING.Color = C3(3,3,3)
1338
	WING.Anchored = false
1339
	WINGWELD = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, WING, CF(2.7,2,2.8)*ANGLES(RAD(0),RAD(-50),RAD(0)), CF(0,0,0))
1340
	WING.Parent = Rapier
1341
	local CHANGE1 = GOLDCOLOR1 - PURPLECOLOR1
1342
	local CHANGE2 = GOLDCOLOR2 - PURPLECOLOR2
1343
	local CHANGE3 = GOLDCOLOR3 - PURPLECOLOR3
1344
	print(CHANGE1.."/"..CHANGE2.."/"..CHANGE3)
1345
	local SHADE = IT("Model",Character)
1346
	SHADE.Name = "EyeShade"
1347
	for i = 1, 16 do
1348
		local FACE = CreatePart(3, SHADE, "Fabric", 0, 1+(i-1)/16.2, "Dark stone grey", "FaceGradient", VT(1.01,0.65,1.01),false)
1349
		FACE.Color = C3(0,0,0)
1350
		Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
1351
		CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.45-(i-1)/25,0), CF(0, 0, 0))
1352
	end
1353
	for i = 1, 45 do
1354
		wait()
1355
		for _, c in pairs(Rapier:GetChildren()) do
1356
			if c.Name == "Gold" then
1357
				c.Color = C3((GOLDCOLOR1 - (CHANGE1/45)*i)/255,(GOLDCOLOR2 - (CHANGE2/45)*i)/255,(GOLDCOLOR3 - (CHANGE3/45)*i)/255)
1358
			end
1359
		end
1360
		DECALTRANS = DECALTRANS - 1/45
1361
		PENTAGRAM.Anchored = true
1362
		HELDGUN.Transparency = HELDGUN.Transparency - 1/45
1363
		WING.Transparency = WING.Transparency - 1/45
1364
		for _, c in pairs(SHADE:GetChildren()) do
1365
			c.Transparency = c.Transparency - 1/45
1366
		end
1367
	end
1368
	HELDGUN.Transparency = 0
1369
	for _, c in pairs(Character:GetChildren()) do
1370
		if c:IsA("BasePart") and c ~= "RootPart" then
1371
			local AURA = script.DemonAura:Clone()
1372
			AURA.Parent = c
1373
			AURA.Enabled = true
1374
		end
1375
	end
1376
	coroutine.resume(coroutine.create(function()
1377
		for i = 1, 145 do
1378
			Swait()
1379
			FLOATINGCROSS.Transparency = FLOATINGCROSS.Transparency + 1/145
1380
			HUMM.Volume = HUMM.Volume - 6/145
1381
		end
1382
		FLOATINGCROSS:remove()
1383
	end))
1384
	VOLUME = 1
1385
	local AURA = script.DemonAura:Clone()
1386
	AURA.Parent = BLADE
1387
	AURA.Enabled = true
1388
	FORM = "Demon"
1389
	PLAYINGSONG = DEMONSONG
1390
	ATTACK = false
1391
	Rooted = false
1392
end
1393
1394
function ClickSwipes_Demon()
1395
	ATTACK = true
1396
	Rooted = false
1397
	COMBO = 1
1398
	TRAIL.Enabled = true
1399
	repeat
1400
		if COMBO == 1 then
1401
			COMBO = 2
1402
			for i=0, 0.3, 0.1 / Animation_Speed do
1403
				Swait()
1404
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-55), RAD(55), RAD(90)), 1 / Animation_Speed)
1405
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1406
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(0)), 1 / Animation_Speed)
1407
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.2) * ANGLES(RAD(15), RAD(0), RAD(-35)) * ANGLES(RAD(0), RAD(65), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1408
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1409
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1410
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1411
			end
1412
			CreateSound(143501853,BLADE,2,MRANDOM(8,13)/10,false)
1413
			local TOUCH = APPLYMELEE(8,12,false)
1414
			for i=0, 0.5, 0.1 / Animation_Speed do
1415
				Swait()
1416
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-70), RAD(55), RAD(90)), 1 / Animation_Speed)
1417
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
1418
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(-25)), 1 / Animation_Speed)
1419
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(55), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1420
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1421
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1422
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1423
			end
1424
			TOUCH:disconnect()
1425
		elseif COMBO == 2 then
1426
			COMBO = 1
1427
			for i=0, 0.3, 0.1 / Animation_Speed do
1428
				Swait()
1429
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1430
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1431
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(0)), 1 / Animation_Speed)
1432
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1433
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1434
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1435
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1436
			end
1437
			CreateSound(143501853,BLADE,2,MRANDOM(8,13)/10,false)
1438
			local TOUCH = APPLYMELEE(8,12,false)
1439
			for i=0, 0.5, 0.1 / Animation_Speed do
1440
				Swait()
1441
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-50), RAD(0), RAD(0)), 1 / Animation_Speed)
1442
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
1443
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(-25)), 1 / Animation_Speed)
1444
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(80), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1445
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1446
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1447
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1448
			end
1449
			TOUCH:disconnect()
1450
		end
1451
	until HOLD == false
1452
	TRAIL.Enabled = false
1453
	if COMBO == 2 then
1454
		for i=0, 0.5, 0.1 / Animation_Speed do
1455
			Swait()
1456
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-70), RAD(55), RAD(90)), 1 / Animation_Speed)
1457
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
1458
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(-25)), 1 / Animation_Speed)
1459
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(55), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1460
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1461
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1462
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1463
		end
1464
	elseif COMBO == 1 then
1465
		for i=0, 1, 0.1 / Animation_Speed do
1466
			Swait()
1467
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-50), RAD(0), RAD(0)), 1 / Animation_Speed)
1468
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
1469
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(-25)), 1 / Animation_Speed)
1470
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(80), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1471
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1472
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1473
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1474
		end
1475
	end
1476
	ATTACK = false
1477
	Rooted = false
1478
end
1479
1480
function Counter_Demon()
1481
	ATTACK = true
1482
	Rooted = true
1483
	local COUNTER = false
1484
	local COUNTERPHYSICS = Humanoid.HealthChanged:connect(function()
1485
		COUNTER = true
1486
	end)
1487
	for i=0, 1.5, 0.1 / Animation_Speed do
1488
		Swait()
1489
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0.2) * ANGLES(RAD(0), RAD(0), RAD(-90)), 1 / Animation_Speed)
1490
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
1491
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(-75)), 1 / Animation_Speed)
1492
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.25) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1493
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1494
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1495
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-95), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1496
	end
1497
	local BUSY = true
1498
	local KEYDOWN = Mouse.KeyDown:connect(function(NEWKEY)
1499
		BUSY = false
1500
	end)
1501
	for i=0, 8, 0.1 / Animation_Speed do
1502
		Swait()
1503
		if BUSY == false or COUNTER == true then
1504
			break
1505
		end
1506
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0.2) * ANGLES(RAD(0), RAD(0), RAD(-90)), 1 / Animation_Speed)
1507
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
1508
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(-75)), 1 / Animation_Speed)
1509
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.25) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1510
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1511
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1512
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-95), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1513
	end
1514
	KEYDOWN:disconnect()
1515
	COUNTERPHYSICS:disconnect()
1516
	if COUNTER == true then
1517
		TRAIL.Enabled = true
1518
		for i=0, 0.1, 0.1 / Animation_Speed do
1519
			Swait()
1520
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-20), RAD(0), RAD(0)), 2 / Animation_Speed)
1521
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 2 / Animation_Speed)
1522
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25-2.5 - 2.5 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
1523
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(140), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1524
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1525
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1526
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1527
		end
1528
		CreateSound(143501853,BLADE,2,MRANDOM(8,13)/10,false)
1529
		CreateSound(1447872444,BLADE,4,MRANDOM(9,11)/10,false)
1530
		ApplyAoE(Torso.CFrame*CF(0,0,-0.5).p,7,99,99,45,true,true,{SHAKE = 7, TIMER = 15, DOESFADE = true},true,false)
1531
		for i=0, 0.3, 0.1 / Animation_Speed do
1532
			Swait()
1533
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
1534
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
1535
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25-2.5 - 2.5 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
1536
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1537
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1538
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(92), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1539
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1540
		end
1541
		TRAIL.Enabled = false
1542
	end
1543
	ATTACK = false
1544
	Rooted = false
1545
end
1546
1547
function Gun_Demon()
1548
	ATTACK = true
1549
	Rooted = false
1550
	local FIRING = false
1551
	local DONE = false
1552
	local GYRO = IT("BodyGyro",RootPart)
1553
	GYRO.D = 10
1554
	GYRO.P = 2000
1555
	GYRO.MaxTorque = VT(0,4000000,0)
1556
	GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1557
	local GUNOFFSET = CF(0, 0.525, -1.068)
1558
	local AMMO = 6
1559
	coroutine.resume(coroutine.create(function()
1560
		repeat
1561
			Swait()
1562
			if FIRING == false then
1563
				GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1564
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1565
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 - 0.15 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1566
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(0)), 1 / Animation_Speed)
1567
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1568
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -0.2) * ANGLES(RAD(90), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1569
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1570
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-2), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1571
			end
1572
		until DONE == true
1573
	end))
1574
	local CLICK = Mouse.Button1Down:connect(function()
1575
		if FIRING == false then
1576
			FIRING = true
1577
			WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.4,0.4,0), Size2 = VT(0.5,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = HELDGUN.CFrame*GUNOFFSET, MoveToPos = HELDGUN.CFrame*GUNOFFSET*CF(0,0,-1).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"New Yeller".Color, SoundID = nil, SoundPitch = 1.3, SoundVolume = 4})
1578
			BulletDetection(HELDGUN.CFrame*GUNOFFSET.p,Mouse.Hit.p)
1579
			CreateSound(408950203,HELDGUN,3,MRANDOM(8,13)/10,false)
1580
			for i=0, 0.2, 0.1 / Animation_Speed do
1581
				Swait()
1582
				GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1583
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 - 0.15 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1584
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(0)), 1 / Animation_Speed)
1585
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1586
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -0.2) * ANGLES(RAD(100), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1587
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1588
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-2), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1589
			end
1590
			AMMO = AMMO - 1
1591
			FIRING = false
1592
		end
1593
	end)
1594
	local BUTTON = Mouse.KeyDown:connect(function(NEWKEY)
1595
		if NEWKEY == "b" then
1596
			DONE = true
1597
		end
1598
	end)
1599
	repeat wait() until (DONE == true and FIRING == false) or AMMO == 0
1600
	DONE = true
1601
	CLICK:disconnect()
1602
	BUTTON:disconnect()
1603
	GYRO:remove()
1604
	ATTACK = false
1605
	Rooted = false
1606
end
1607
1608
function Teleport_Demon()
1609
	local POS = Mouse.Hit.p
1610
	local DISTANCE = (POS - RootPart.Position).Magnitude
1611
	local HIT,TPPOS = CastProperRay(RootPart.Position,POS,DISTANCE,Character)
1612
	local HASHITTARGET = false
1613
	CharacterFade(BRICKC"Mulberry".Color,35)
1614
	CreateSound(743521450,Torso,6,MRANDOM(8,13)/10,false)
1615
	if HIT ~= nil then
1616
		if HIT.Parent:FindFirstChildOfClass("Humanoid") then
1617
			local HUM = HIT.Parent:FindFirstChildOfClass("Humanoid")
1618
			local ROOT = HIT.Parent:FindFirstChild("HumanoidRootPart") or HIT.Parent:FindFirstChild("Torso") or HIT.Parent:FindFirstChild("UpperTorso")
1619
			local TORSO = HIT.Parent:FindFirstChild("Torso") or HIT.Parent:FindFirstChild("UpperTorso")
1620
			if ROOT and HUM.Health > 0 then
1621
				HASHITTARGET = true
1622
				ATTACK = true
1623
				Rooted = true
1624
				HUM.WalkSpeed = 0
1625
				RootPart.CFrame = ROOT.CFrame*CF(0,0,4)
1626
				for i=0, 1, 0.1 / Animation_Speed do
1627
					Swait()
1628
					GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1629
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1630
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(0)), 1 / Animation_Speed)
1631
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1632
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1633
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1634
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1635
				end
1636
				local HITTARGET = nil
1637
				coroutine.resume(coroutine.create(function()
1638
					repeat
1639
						Swait()
1640
						if HITTARGET ~= nil then
1641
							HITTARGET.Anchored = true
1642
							HITTARGET.CFrame = BLADE.CFrame * ANGLES(RAD(0), RAD(0), RAD(-90))
1643
						end
1644
					until ATTACK == false
1645
				end))
1646
				CreateSound(143501853,BLADE,2,MRANDOM(8,13)/10,false)
1647
				if (BLADE.Position - ROOT.Position).Magnitude < 7 then
1648
					HITTARGET = TORSO
1649
					CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)],TORSO,3,MRANDOM(8,13)/10,false)
1650
				end
1651
				for i=0, 1, 0.1 / Animation_Speed do
1652
					Swait()
1653
					GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-50), RAD(0), RAD(0)), 1 / Animation_Speed)
1654
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
1655
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(-25)), 1 / Animation_Speed)
1656
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(80), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1657
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1658
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1659
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1660
				end
1661
				if HITTARGET then
1662
					local BODY = HITTARGET.Parent
1663
					local FIRES = {}
1664
					for i = 1, 25 do
1665
						WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(25,1,25), Transparency = 0.8, Transparency2 = 1, CFrame = CF(HITTARGET.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 1, RotationY = 5, RotationZ = 0, Material = "Neon", Color = BRICKC"Mulberry".Color, SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
1666
					end
1667
					CreateSound(461105534,HITTARGET,5,MRANDOM(8,13)/10,false)
1668
					HUM.PlatformStand = true
1669
					coroutine.resume(coroutine.create(function()
1670
						for _, c in pairs(BODY:GetChildren()) do
1671
							if c:IsA("BasePart") and c.Name ~= "HumanoidRootPart" then
1672
								local FIRE = script.DemonFire_In:Clone()
1673
								FIRE.Parent = c
1674
								FIRE.Enabled = true
1675
								table.insert(FIRES,FIRE)
1676
								local FIRE = script.DemonFire_Out:Clone()
1677
								FIRE.Parent = c
1678
								FIRE.Enabled = true
1679
								table.insert(FIRES,FIRE)
1680
							end
1681
						end
1682
						coroutine.resume(coroutine.create(function()
1683
							for i = 1, 35 do
1684
								Swait()
1685
								for _, c in pairs(BODY:GetChildren()) do
1686
									if c:IsA("BasePart") then
1687
										c.Transparency = c.Transparency + 1/35
1688
										local ASH = c:Clone()
1689
										ASH:ClearAllChildren()
1690
										ASH.Parent = workspace
1691
										ASH.Size = c.Size * 0.2
1692
										ASH.Color = C3(0,0,0)
1693
										ASH.Transparency = 0
1694
										ASH.Material = "Slate"
1695
										ASH.Name = "Ashes"
1696
										ASH.Anchored = false
1697
										if ASH.ClassName == "MeshPart" then
1698
											ASH.TextureID = ""
1699
										end
1700
										Debris:AddItem(ASH,2.5)
1701
									elseif c.ClassName == "Decal" then
1702
										c.Transparency = c.Transparency + 1/35
1703
									end
1704
								end
1705
							end
1706
							BODY:BreakJoints()
1707
							wait(0.5)
1708
							for i = 1, #FIRES do
1709
								FIRES[i].Enabled = false
1710
							end
1711
						end))
1712
						wait(0.2)
1713
						HITTARGET.Anchored = false
1714
						HITTARGET = nil
1715
					end))
1716
					wait(0.5)
1717
				end
1718
				HUM.WalkSpeed = 16
1719
				ATTACK = false
1720
				Rooted = false
1721
			end
1722
		end
1723
	end
1724
	if HASHITTARGET == false then
1725
		local ORI = RootPart.Orientation
1726
		RootPart.CFrame = CF(TPPOS+VT(0,6,0))
1727
		RootPart.Orientation = ORI
1728
		RootJoint.Parent = RootPart
1729
	end
1730
end
1731
1732
function RockFlair_Demon()
1733
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 6, Character)
1734
	if HITFLOOR then
1735
		ATTACK = true
1736
		Rooted = true
1737
		for i=1, 3, 0.1 / Animation_Speed do
1738
			Swait()
1739
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(i*700), RAD(75), RAD(0)), 1 / Animation_Speed)
1740
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1741
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(25), RAD(0)), 1 / Animation_Speed)
1742
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(130)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1743
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1744
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1745
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1746
		end
1747
		local HITS = {}
1748
		local POS = RootPart.Position
1749
		coroutine.resume(coroutine.create(function()
1750
			local ROCKFOLDER = IT("Folder",Character)
1751
			ROCKFOLDER.Name = "Rocks"
1752
			local ROCKS = 25
1753
			for i = 1, ROCKS do
1754
				local ROCK = ROCKSPIKE:Clone()
1755
				ROCK.Parent = ROCKFOLDER
1756
				ROCK.Size = ROCK.Size*3
1757
				ROCK.Color = C3(0,0,0)
1758
				ROCK.Material = "Granite"
1759
				ROCK.CFrame = CF(RootPart.Position-VT(0,32,0)) * ANGLES(RAD(0), RAD((360/ROCKS)*i), RAD(0)) * CF(0,0,7) * ANGLES(RAD(40), RAD(0), RAD(0))
1760
				local ROCK = ROCKSPIKE:Clone()
1761
				ROCK.Parent = ROCKFOLDER
1762
				ROCK.Size = ROCK.Size*1.2
1763
				ROCK.Color = C3(0,0,0)
1764
				ROCK.Material = "Granite"
1765
				ROCK.CFrame = CF(RootPart.Position-VT(0,17,0)) * ANGLES(RAD(0), RAD((360/ROCKS)*i), RAD(0)) * CF(0,0,0) * ANGLES(RAD(50), RAD(0), RAD(0))
1766
			end
1767
			local CENTER = CreatePart(3, ROCKFOLDER, "Concrete", 0, 1, "Mid gray", "Part", VT(0,0,0))
1768
			local ROCKSOUND = CreateSound(292536356,CENTER,3,1,true)
1769
			coroutine.resume(coroutine.create(function()
1770
				wait(0.2)
1771
				for i = 1, 25 do
1772
					Swait()
1773
					ROCKSOUND.Volume = ROCKSOUND.Volume - 3/25
1774
				end
1775
				CENTER:remove()
1776
			end))
1777
			coroutine.resume(coroutine.create(function()
1778
				wait(0.3)
1779
				ApplyAoE(POS,40,25,35,0,true,false,{SHAKE = 1, TIMER = 25, DOESFADE = true},true,false)
1780
				ApplyAoE(POS,20,25,35,0,true,true,{SHAKE = 2, TIMER = 35, DOESFADE = true},false,false)
1781
			end))
1782
			for i = 1, 35 do
1783
				Swait()
1784
				for _, c in pairs(ROCKFOLDER:GetChildren()) do
1785
					c.CFrame = c.CFrame*CF(0,(1-(i/35))*0.6,0)
1786
				end
1787
			end
1788
			wait(4)
1789
			for i = 1, 70 do
1790
				Swait()
1791
				for _, c in pairs(ROCKFOLDER:GetChildren()) do
1792
					c.CanCollide = false
1793
					c.Transparency = c.Transparency + 1/70
1794
				end
1795
			end
1796
			ROCKFOLDER:remove()
1797
		end))
1798
		for i=0, 1.5, 0.1 / Animation_Speed do
1799
			Swait()
1800
			GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-65), RAD(0), RAD(0)), 1 / Animation_Speed)
1801
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
1802
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(0)), 1 / Animation_Speed)
1803
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, -0.1, -0.5) * ANGLES(RAD(120), RAD(0), RAD(-45)) * ANGLES(RAD(25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1804
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1805
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1806
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-95), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1807
		end
1808
		ATTACK = false
1809
		Rooted = false
1810
	end
1811
end
1812
1813
--//=================================\\
1814
--||			  TAUNTS
1815
--\\=================================//
1816
1817
function Taunt_Demon()
1818
	ATTACK = true
1819
	Rooted = false
1820
	local TAUNT = CreateSound(159882635,Head,10,0.86,false)
1821
	repeat
1822
		Swait()
1823
		TAUNT.Parent = Head
1824
		GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1825
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 - 0.15 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.3 / Animation_Speed)
1826
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(5), RAD(45)), 1 / Animation_Speed)
1827
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1828
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.5) * ANGLES(RAD(-170), RAD(0), RAD(35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1829
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1830
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-2), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1831
	until TAUNT.Playing == false
1832
	ATTACK = false
1833
	Rooted = false
1834
end
1835
1836
--//=================================\\
1837
--||	  ASSIGN THINGS TO KEYS
1838
--\\=================================//
1839
1840
function MouseDown(Mouse)
1841
	HOLD = true
1842
	if ATTACK == false then
1843
		if FORM == "Base" then
1844
			ClickSwipes()
1845
		elseif FORM == "Justice" then
1846
		elseif FORM == "Demon" then
1847
			ClickSwipes_Demon()
1848
		end
1849
	end
1850
end
1851
1852
function MouseUp(Mouse)
1853
HOLD = false
1854
end
1855
1856
function KeyDown(Key)
1857
	KEYHOLD = true
1858
1859
	if Key == "]" and ATTACK == false and FORM ~= "Demon" then
1860
		ChangeToDemon()
1861
	end
1862
1863
	if FORM == "Base" then
1864
	
1865
		if Key == "z" and ATTACK == false then
1866
			Counter()
1867
		end
1868
	
1869
		if Key == "b" and ATTACK == false then
1870
			QuickSwipes()
1871
		end
1872
	
1873
		if Key == "c" and ATTACK == false then
1874
			JumpStrike()
1875
		end
1876
	
1877
		if Key == "v" and ATTACK == false then
1878
			RockFlair()
1879
		end
1880
	
1881
		if Key == ";" and ATTACK == false then
1882
		end
1883
	
1884
		if Key == "[" and ATTACK == false then
1885
		end
1886
1887
	elseif FORM == "Justice" then
1888
1889
	elseif FORM == "Demon" then
1890
1891
		if Key == "t" and ATTACK == false then
1892
			Taunt_Demon()()
1893
		end
1894
		
1895
		if Key == "z" and ATTACK == false then
1896
			Counter_Demon()
1897
		end
1898
1899
		if Key == "b" and ATTACK == false then
1900
			Gun_Demon()
1901
		end
1902
1903
		if Key == "c" and ATTACK == false then
1904
			Teleport_Demon()
1905
		end
1906
1907
		if Key == "v" and ATTACK == false then
1908
			RockFlair_Demon()()
1909
		end
1910
1911
	end
1912
end
1913
1914
function KeyUp(Key)
1915
	KEYHOLD = false
1916
end
1917
1918
	Mouse.Button1Down:connect(function(NEWKEY)
1919
		MouseDown(NEWKEY)
1920
	end)
1921
	Mouse.Button1Up:connect(function(NEWKEY)
1922
		MouseUp(NEWKEY)
1923
	end)
1924
	Mouse.KeyDown:connect(function(NEWKEY)
1925
		KeyDown(NEWKEY)
1926
	end)
1927
	Mouse.KeyUp:connect(function(NEWKEY)
1928
		KeyUp(NEWKEY)
1929
	end)
1930
1931
--//=================================\\
1932
--\\=================================//
1933
1934
function unanchor()
1935
	if UNANCHOR == true then
1936
		RootPart.Anchored = false
1937
	end
1938
	g = Character:GetChildren()
1939
	for i = 1, #g do
1940
		if g[i].ClassName == "Part" and g[i] ~= RootPart and g[i] ~= PENTAGRAM then
1941
			g[i].Anchored = false
1942
		end
1943
	end
1944
	g = Rapier:GetChildren()
1945
	for i = 1, #g do
1946
		if g[i]:IsA("BasePart") and g[i] ~= PENTAGRAM then
1947
			g[i].Anchored = false
1948
		end
1949
	end
1950
end
1951
1952
--//=================================\\
1953
--||	WRAP THE WHOLE SCRIPT UP
1954
--\\=================================//
1955
1956
Humanoid.Changed:connect(function(Jump)
1957
	if Jump == "Jump" then
1958
		local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1959
		if ATTACK == false and Disable_Jump == false and JUMPING == false and HITFLOOR and FORM ~= "Demon" then
1960
			Humanoid.Jump = false
1961
			JUMPING = true
1962
			JumpAct(45)
1963
			JUMPING = false
1964
		elseif Disable_Jump == true then
1965
			Humanoid.Jump = false
1966
		end
1967
	end
1968
end)
1969
1970
while true do
1971
	Swait()
1972
	script.Parent = WEAPONGUI
1973
	if Character then
1974
		ANIMATE.Parent = nil
1975
		for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1976
		    v:Stop();
1977
		end
1978
		SINE = SINE + CHANGE
1979
		local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1980
		local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1981
		local IGNORE = {}
1982
		if PENTAGRAM then
1983
			IGNORE = {Head,RightArm,LeftArm,Torso,RootPart,RightLeg,LeftLeg,Effects,Rapier,PENTAGRAM}
1984
		else
1985
			IGNORE = {Head,RightArm,LeftArm,Torso,RootPart,RightLeg,LeftLeg,Effects,Rapier}
1986
		end
1987
		local HITFLOOR,HITPOS,NORMAL = CastProperRay(RootPart.Position, RootPart.Position-VT(0,15,0), 4+Humanoid.HipHeight, IGNORE)
1988
		local WALKSPEEDVALUE = 5 / (Humanoid.WalkSpeed / 16)
1989
		if ANIM == "Walk" and TORSOVELOCITY > 1 and FORM ~= "Demon" then
1990
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1991
			Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1992
			RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 1 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1993
			LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 1 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1994
		elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) or FORM == "Demon" then
1995
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1996
			Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1997
			RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1998
			LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1999
		end
2000
		if FORM ~= "Demon" then
2001
			if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
2002
				ANIM = "Jump"
2003
				if ATTACK == false then
2004
					GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2005
					RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2006
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
2007
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-10), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2008
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2009
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(5), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2010
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
2011
			    end
2012
			elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
2013
				ANIM = "Fall"
2014
				if ATTACK == false then
2015
					GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2016
					RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2017
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
2018
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(5), RAD(0), RAD(10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2019
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2020
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(15), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2021
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
2022
				end
2023
			elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
2024
				ANIM = "Idle"
2025
				if ATTACK == false then
2026
					GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2027
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2028
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-2.5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2029
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2030
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2031
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2032
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2033
				end
2034
			elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
2035
				ANIM = "Walk"
2036
				if ATTACK == false then
2037
					GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
2038
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2039
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2040
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(25), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2041
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.3) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2042
					RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(-5), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
2043
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-5), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
2044
				end
2045
			end
2046
		else
2047
			if ATTACK == false then
2048
				if TORSOVELOCITY < 1 then
2049
					GRIP.C1 = Clerp(GRIP.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2050
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 - 0.15 * COS(SINE / 24)) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2051
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25-2.5 - 2.5 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
2052
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(15), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2053
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2054
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2 + 4 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2055
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-2 + 4 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2056
				elseif TORSOVELOCITY > 1 then
2057
					GRIP.C1 = Clerp(GRIP.C1,CF(0, 0.3, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2058
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 - 0.15 * COS(SINE / 24)) * ANGLES(RAD(25-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2059
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15-2.5 - 2.5 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
2060
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(-15), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2061
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.2) * ANGLES(RAD(-35), RAD(15), RAD(-15)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2062
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2 + 4 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2063
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-2 + 4 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2064
				end
2065
			end
2066
		end
2067
		if WING then
2068
			WING.Parent = Rapier
2069
			WING.Color = C3((3 - 3 * COS(SINE / 3))/255,(3 - 3 * COS(SINE / 3))/255,(3 - 3 * COS(SINE / 3))/255)
2070
		end
2071
		if WINGWELD then
2072
			WINGWELD.C0 = Clerp(WINGWELD.C0,CF(2.7 - 0.4 * COS(SINE / 3),2,2.8)*ANGLES(RAD(0),RAD(-50),RAD(0)) * ANGLES(RAD(10 * COS(SINE / 3)), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2073
		end
2074
		unanchor()
2075
		--Humanoid.MaxHealth = "inf"
2076
		--Humanoid.Health = "inf"
2077
		Humanoid.MaxHealth = 9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999
2078
		Humanoid.Health = 9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999*9999
2079
		if Rooted == false then
2080
			Disable_Jump = false
2081
			Humanoid.WalkSpeed = Speed
2082
		elseif Rooted == true then
2083
			Disable_Jump = true
2084
			Humanoid.WalkSpeed = 0
2085
		end
2086
		if sick.SoundId ~= "rbxassetid://"..PLAYINGSONG.ID then
2087
			sick:Play()
2088
		end
2089
		sick.SoundId = "rbxassetid://"..PLAYINGSONG.ID
2090
		sick.Looped = true
2091
		sick.Pitch = PLAYINGSONG.PITCH
2092
		sick.Volume = PLAYINGSONG.VOLUME*VOLUME
2093
		sick.Parent = Torso
2094
		sick.Playing = true
2095
		Humanoid.Name = Player.Name
2096
		if PENTAGRAM then
2097
			PENTAGRAM.Parent = Rapier
2098
			PENTAGRAM.CFrame = CF(HITPOS,HITPOS+NORMAL) * ANGLES(RAD(-90), RAD(SINE), RAD(0))
2099
			local DECAL = PENTAGRAM:FindFirstChildOfClass("Decal")
2100
			if DECAL then
2101
				DECAL.Transparency = DECALTRANS + (0.1 + 0.1 * SIN(SINE / 48))
2102
			end
2103
		end
2104
	end
2105
end
2106
2107
--//=================================\\
2108
--\\=================================//
2109
2110
2111
2112
2113
2114
--//====================================================\\--
2115
--||			  		 END OF SCRIPT
2116
--\\====================================================//--