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