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