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