View difference between Paste ID: 59mpgKRq and wtzgviAL
SHOW: | | - or go back to the newest paste.
1
wait(0.2)
2
3
4
5
Player = game:GetService("Players").LocalPlayer
6
PlayerGui = Player.PlayerGui
7
Cam = workspace.CurrentCamera
8
Backpack = Player.Backpack
9
Character = Player.Character
10
Humanoid = Character.Humanoid
11
Mouse = Player:GetMouse()
12
RootPart = Character["HumanoidRootPart"]
13
Torso = Character["Torso"]
14
Head = Character["Head"]
15
RightArm = Character["Right Arm"]
16
LeftArm = Character["Left Arm"]
17
RightLeg = Character["Right Leg"]
18
LeftLeg = Character["Left Leg"]
19
RootJoint = RootPart["RootJoint"]
20
Neck = Torso["Neck"]
21
RightShoulder = Torso["Right Shoulder"]
22
LeftShoulder = Torso["Left Shoulder"]
23
RightHip = Torso["Right Hip"]
24
LeftHip = Torso["Left Hip"]
25
local sick = Instance.new("Sound",Character)
26
sick.SoundId = "rbxassetid://652769726"
27
sick.Looped = true
28
sick.Pitch = 1
29
sick.Volume = 4
30
sick:Play()
31
32
IT = Instance.new
33
CF = CFrame.new
34
VT = Vector3.new
35
RAD = math.rad
36
C3 = Color3.new
37
UD2 = UDim2.new
38
BRICKC = BrickColor.new
39
ANGLES = CFrame.Angles
40
EULER = CFrame.fromEulerAnglesXYZ
41
COS = math.cos
42
ACOS = math.acos
43
SIN = math.sin
44
ASIN = math.asin
45
ABS = math.abs
46
MRANDOM = math.random
47
FLOOR = math.floor
48
49
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
50
	local NEWMESH = IT(MESH)
51
	if MESH == "SpecialMesh" then
52
		NEWMESH.MeshType = MESHTYPE
53
		if MESHID ~= "nil" and MESHID ~= "" then
54
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
55
		end
56
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
57
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
58
		end
59
	end
60
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
61
	NEWMESH.Scale = SCALE
62
	NEWMESH.Parent = PARENT
63
	return NEWMESH
64
end
65
66
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
67
	local NEWPART = IT("Part")
68
	NEWPART.formFactor = FORMFACTOR
69
	NEWPART.Reflectance = REFLECTANCE
70
	NEWPART.Transparency = TRANSPARENCY
71
	NEWPART.CanCollide = false
72
	NEWPART.Locked = true
73
	NEWPART.Anchored = true
74
	if ANCHOR == false then
75
		NEWPART.Anchored = false
76
	end
77
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
78
	NEWPART.Name = NAME
79
	NEWPART.Size = SIZE
80
	NEWPART.Position = Torso.Position
81
	NEWPART.Material = MATERIAL
82
	NEWPART:BreakJoints()
83
	NEWPART.Parent = PARENT
84
	return NEWPART
85
end
86
87
--//=================================\\
88
--||		  CUSTOMIZATION
89
--\\=================================//
90
91
Player_Size = 1 --Size of the player.
92
Animation_Speed = 3
93
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
94
95
local Speed = 16
96
local Effects2 = {}
97
98
--//=================================\\
99
--|| 	  END OF CUSTOMIZATION
100
--\\=================================//
101
102
	local function weldBetween(a, b)
103
	    local weldd = Instance.new("ManualWeld")
104
	    weldd.Part0 = a
105
	    weldd.Part1 = b
106
	    weldd.C0 = CFrame.new()
107
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
108
	    weldd.Parent = a
109
	    return weldd
110
	end
111
112
--//=================================\\
113
--|| 	      USEFUL VALUES
114
--\\=================================//
115
116
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
117
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
118
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
119
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
120
local CHANGEDEFENSE = 0
121
local CHANGEDAMAGE = 0
122
local CHANGEMOVEMENT = 0
123
local ANIM = "Idle"
124
local ATTACK = false
125
local EQUIPPED = false
126
local HOLD = false
127
local COMBO = 1
128
local Rooted = false
129
local SINE = 0
130
local KEYHOLD = false
131
local CHANGE = 2 / Animation_Speed
132
local WALKINGANIM = false
133
local WALK = 0
134
local VALUE1 = false
135
local VALUE2 = false
136
local ROBLOXIDLEANIMATION = IT("Animation")
137
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
138
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
139
--ROBLOXIDLEANIMATION.Parent = Humanoid
140
local WEAPONGUI = IT("ScreenGui", PlayerGui)
141
WEAPONGUI.Name = "Weapon GUI"
142
local Effects = IT("Folder", Character)
143
Effects.Name = "Effects"
144
local ANIMATOR = Humanoid.Animator
145
local ANIMATE = Character.Animate
146
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
147
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
148
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
149
local HITBLOCKSOUNDS = {"199148933", "199148947"}
150
local UNANCHOR = true
151
152
local SKILLTEXTCOLOR = C3(0,0,0)
153
154
local naeeym2 = Instance.new("BillboardGui",Character)
155
naeeym2.AlwaysOnTop = true
156
naeeym2.Size = UDim2.new(5,35,2,35)
157
naeeym2.StudsOffset = Vector3.new(0,2,0)
158
naeeym2.Adornee = Character.Head
159
naeeym2.Name = "Name"
160-
naeeym2.PlayerToHideFrom = Player
160+
naeeym2.PlayerToHideFrom = nutta1258
161
local tecks2 = Instance.new("TextLabel",naeeym2)
162
tecks2.BackgroundTransparency = 1
163
tecks2.TextScaled = true
164
tecks2.BorderSizePixel = 0
165
tecks2.Text = Player.Name..", The Ultimate Edgelord"
166
tecks2.Font = "Antique"
167
tecks2.TextSize = 30
168
tecks2.TextStrokeTransparency = 0
169
tecks2.TextColor3 = Color3.new(0,0,0)
170
tecks2.TextStrokeColor3 = Color3.new(0.2,0.2,0.2)
171
tecks2.Size = UDim2.new(1,0,0.5,0)
172
tecks2.Parent = naeeym2
173
174
--//=================================\\
175
--\\=================================//
176
177
178
--//=================================\\
179
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
180
--\\=================================//
181
182
ArtificialHB = Instance.new("BindableEvent", script)
183
ArtificialHB.Name = "ArtificialHB"
184
185
script:WaitForChild("ArtificialHB")
186
187
frame = Frame_Speed
188
tf = 0
189
allowframeloss = false
190
tossremainder = false
191
lastframe = tick()
192
script.ArtificialHB:Fire()
193
194
game:GetService("RunService").Heartbeat:connect(function(s, p)
195
	tf = tf + s
196
	if tf >= frame then
197
		if allowframeloss then
198
			script.ArtificialHB:Fire()
199
			lastframe = tick()
200
		else
201
			for i = 1, math.floor(tf / frame) do
202
				script.ArtificialHB:Fire()
203
			end
204
		lastframe = tick()
205
		end
206
		if tossremainder then
207
			tf = 0
208
		else
209
			tf = tf - frame * math.floor(tf / frame)
210
		end
211
	end
212
end)
213
214
--//=================================\\
215
--\\=================================//
216
217
218
219
220
221
--//=================================\\
222
--|| 	      SOME FUNCTIONS
223
--\\=================================//
224
225
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
226
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
227
end
228
229
function PositiveAngle(NUMBER)
230
	if NUMBER >= 0 then
231
		NUMBER = 0
232
	end
233
	return NUMBER
234
end
235
236
function NegativeAngle(NUMBER)
237
	if NUMBER <= 0 then
238
		NUMBER = 0
239
	end
240
	return NUMBER
241
end
242
243
function Swait(NUMBER)
244
	if NUMBER == 0 or NUMBER == nil then
245
		ArtificialHB.Event:wait()
246
	else
247
		for i = 1, NUMBER do
248
			ArtificialHB.Event:wait()
249
		end
250
	end
251
end
252
253
function QuaternionFromCFrame(cf)
254
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
255
	local trace = m00 + m11 + m22
256
	if trace > 0 then 
257
		local s = math.sqrt(1 + trace)
258
		local recip = 0.5 / s
259
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
260
	else
261
		local i = 0
262
		if m11 > m00 then
263
			i = 1
264
		end
265
		if m22 > (i == 0 and m00 or m11) then
266
			i = 2
267
		end
268
		if i == 0 then
269
			local s = math.sqrt(m00 - m11 - m22 + 1)
270
			local recip = 0.5 / s
271
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
272
		elseif i == 1 then
273
			local s = math.sqrt(m11 - m22 - m00 + 1)
274
			local recip = 0.5 / s
275
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
276
		elseif i == 2 then
277
			local s = math.sqrt(m22 - m00 - m11 + 1)
278
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
279
		end
280
	end
281
end
282
 
283
function QuaternionToCFrame(px, py, pz, x, y, z, w)
284
	local xs, ys, zs = x + x, y + y, z + z
285
	local wx, wy, wz = w * xs, w * ys, w * zs
286
	local xx = x * xs
287
	local xy = x * ys
288
	local xz = x * zs
289
	local yy = y * ys
290
	local yz = y * zs
291
	local zz = z * zs
292
	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))
293
end
294
 
295
function QuaternionSlerp(a, b, t)
296
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
297
	local startInterp, finishInterp;
298
	if cosTheta >= 0.0001 then
299
		if (1 - cosTheta) > 0.0001 then
300
			local theta = ACOS(cosTheta)
301
			local invSinTheta = 1 / SIN(theta)
302
			startInterp = SIN((1 - t) * theta) * invSinTheta
303
			finishInterp = SIN(t * theta) * invSinTheta
304
		else
305
			startInterp = 1 - t
306
			finishInterp = t
307
		end
308
	else
309
		if (1 + cosTheta) > 0.0001 then
310
			local theta = ACOS(-cosTheta)
311
			local invSinTheta = 1 / SIN(theta)
312
			startInterp = SIN((t - 1) * theta) * invSinTheta
313
			finishInterp = SIN(t * theta) * invSinTheta
314
		else
315
			startInterp = t - 1
316
			finishInterp = t
317
		end
318
	end
319
	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
320
end
321
322
function Clerp(a, b, t)
323
	local qa = {QuaternionFromCFrame(a)}
324
	local qb = {QuaternionFromCFrame(b)}
325
	local ax, ay, az = a.x, a.y, a.z
326
	local bx, by, bz = b.x, b.y, b.z
327
	local _t = 1 - t
328
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
329
end
330
331
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
332
	local frame = IT("Frame")
333
	frame.BackgroundTransparency = TRANSPARENCY
334
	frame.BorderSizePixel = BORDERSIZEPIXEL
335
	frame.Position = POSITION
336
	frame.Size = SIZE
337
	frame.BackgroundColor3 = COLOR
338
	frame.BorderColor3 = BORDERCOLOR
339
	frame.Name = NAME
340
	frame.Parent = PARENT
341
	return frame
342
end
343
344
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
345
	local label = IT("TextLabel")
346
	label.BackgroundTransparency = 1
347
	label.Size = UD2(1, 0, 1, 0)
348
	label.Position = UD2(0, 0, 0, 0)
349
	label.TextColor3 = TEXTCOLOR
350
	label.TextStrokeTransparency = STROKETRANSPARENCY
351
	label.TextTransparency = TRANSPARENCY
352
	label.FontSize = TEXTFONTSIZE
353
	label.Font = TEXTFONT
354
	label.BorderSizePixel = BORDERSIZEPIXEL
355
	label.TextScaled = false
356
	label.Text = TEXT
357
	label.Name = NAME
358
	label.Parent = PARENT
359
	return label
360
end
361
362
function NoOutlines(PART)
363
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
364
end
365
366
367
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
368
	local NEWWELD = IT(TYPE)
369
	NEWWELD.Part0 = PART0
370
	NEWWELD.Part1 = PART1
371
	NEWWELD.C0 = C0
372
	NEWWELD.C1 = C1
373
	NEWWELD.Parent = PARENT
374
	return NEWWELD
375
end
376
377
local S = IT("Sound")
378
379
function CreateSound(ID, PARENT, VOLUME, PITCH)
380
	local NEWSOUND = nil
381
	coroutine.resume(coroutine.create(function()
382
		NEWSOUND = S:Clone()
383
		NEWSOUND.Parent = PARENT
384
		NEWSOUND.Volume = VOLUME
385
		NEWSOUND.Pitch = PITCH
386
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
387
		Swait()
388
		NEWSOUND:play()
389
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
390
	end))
391
	return NEWSOUND
392
end
393
394
function CFrameFromTopBack(at, top, back)
395
	local right = top:Cross(back)
396
	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)
397
end
398
399
function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
400
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
401
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
402
	wave.CFrame = CFRAME
403
	coroutine.resume(coroutine.create(function(PART)
404
		for i = 1, WAIT do
405
			Swait()
406
			mesh.Scale = mesh.Scale + GROW
407
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
408
			if DOESROT == true then
409
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
410
			end
411
			wave.Transparency = wave.Transparency + (0.5/WAIT)
412
			if wave.Transparency > 0.99 then
413
				wave:remove()
414
			end
415
		end
416
	end))
417
end
418
419
function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
420
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
421
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0,0,0))
422
	wave.CFrame = CFRAME
423
	coroutine.resume(coroutine.create(function(PART)
424
		for i = 1, WAIT do
425
			Swait()
426
			mesh.Scale = mesh.Scale + GROW
427
			if DOESROT == true then
428
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
429
			end
430
			wave.Transparency = wave.Transparency + (0.5/WAIT)
431
			if wave.Transparency > 0.99 then
432
				wave:remove()
433
			end
434
		end
435
	end))
436
end
437
438
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
439
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
440
	local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
441
	wave.CFrame = CFRAME
442
	coroutine.resume(coroutine.create(function(PART)
443
		for i = 1, WAIT do
444
			Swait()
445
			mesh.Scale = mesh.Scale + GROW
446
			wave.Transparency = wave.Transparency + (1/WAIT)
447
			if wave.Transparency > 0.99 then
448
				wave:remove()
449
			end
450
		end
451
	end))
452
end
453
454
function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
455
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
456
	local mesh = nil
457
	if KIND == "Base" then
458
 		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
459
	elseif KIND == "Thin" then
460
 		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
461
	elseif KIND == "Round" then
462
 		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
463
	end
464
	wave.CFrame = CFRAME
465
	coroutine.resume(coroutine.create(function(PART)
466
		for i = 1, WAIT do
467
			Swait()
468
			mesh.Scale = mesh.Scale + GROW/10
469
			wave.Transparency = wave.Transparency + (0.5/WAIT)
470
			if wave.Transparency > 0.99 then
471
				wave:remove()
472
			end
473
		end
474
	end))
475
end
476
477
function MakeForm(PART,TYPE)
478
	if TYPE == "Cyl" then
479
		local MSH = IT("CylinderMesh",PART)
480
	elseif TYPE == "Ball" then
481
		local MSH = IT("SpecialMesh",PART)
482
		MSH.MeshType = "Sphere"
483
	elseif TYPE == "Wedge" then
484
		local MSH = IT("SpecialMesh",PART)
485
		MSH.MeshType = "Wedge"
486
	end
487
end
488
489
function SpawnKnife(SIZE,ISGRABBED,LIMB,ROT,ROT2,DOESDODAMAGE,DAMAGE)
490
	SIZE = SIZE / 2
491
	local WELD = nil
492
	local KNIFEMODEL = IT("Model",Effects)
493
	KNIFEMODEL.Name = "Knife"
494
	local HandlePart = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Handle", VT(0.2,1.5,0.2)*SIZE,false)
495
	MakeForm(HandlePart,"Cyl")
496
	if ISGRABBED == true then
497
		WELD = CreateWeldOrSnapOrMotor("Weld", HandlePart, LIMB, HandlePart, CF(0, -1, 0) * ANGLES(RAD(ROT), RAD(ROT2), RAD(0)), CF(0, 0, 0))
498
	end
499
	local BladePart = CreatePart(3, KNIFEMODEL, "Neon", 0,1, "Really red", "BladeHolder", VT(0.2,2.8+(3.25/1.5),0.2)*SIZE,false)
500
	BladePart.CFrame = HandlePart.CFrame*CF(0,-2.8*SIZE,-0.05*SIZE)
501
	weldBetween(HandlePart,BladePart)
502
	local Part = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Blade", VT(0,2.8,1)*SIZE,false)
503
	MakeForm(Part,"Wedge")
504
	Part.CFrame = BladePart.CFrame*CF(0,-1.475*SIZE,0.45*SIZE) * ANGLES(RAD(180), RAD(0), RAD(0))
505
	weldBetween(BladePart,Part)
506
	local Part = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Blade", VT(0,3.25/1.5,0.5)*SIZE,false)
507
	MakeForm(Part,"Wedge")
508
	Part.CFrame = BladePart.CFrame*CF(0,1*SIZE,1.2*SIZE) * ANGLES(RAD(180), RAD(0), RAD(0))
509
	weldBetween(BladePart,Part)
510
	local Part = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Blade", VT(0,3.25/1.5,1)*SIZE,false)
511
	Part.CFrame = BladePart.CFrame*CF(0,1*SIZE,0.45*SIZE) * ANGLES(RAD(180), RAD(0), RAD(0))
512
	weldBetween(BladePart,Part)
513
	local A = IT("Attachment",BladePart)
514
	A.Position = VT(0,BladePart.Size.Y/2,0)
515
	local B = IT("Attachment",BladePart)
516
	B.Position = VT(0,-BladePart.Size.Y/2,0)
517
	local Trail = IT("Trail",BladePart)
518
	Trail.Attachment0 = A
519
	Trail.Attachment1 = B
520
	Trail.Lifetime = 0.2
521
	Trail.Color = ColorSequence.new(BRICKC"Really red".Color)
522
	Trail.Transparency = NumberSequence.new(0, 1)
523
	for _, c in pairs(KNIFEMODEL:GetChildren()) do
524
		if c.ClassName == "Part" then
525
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
526
		end
527
	end
528
	if DOESDODAMAGE == true then
529
		local HIT = false
530
		BladePart.CanCollide = true
531
		local TOUCHED = BladePart.Touched:Connect(function(hit)
532
			if HIT == false then
533
				if hit ~= nil then
534
					if hit.Parent ~= nil then
535
						if hit.Parent ~= Character and hit.Parent:FindFirstChildOfClass("Humanoid") then
536
							HIT = true
537
							ApplyDamage(hit.Parent:FindFirstChildOfClass("Humanoid"),DAMAGE,2,2)
538
							wait(0.1)
539
							HIT = false
540
						end
541
					end
542
				end
543
			end
544
		end)
545
	end
546
	return KNIFEMODEL,WELD,BladePart
547
end
548
549
function PuddleOfBlood(Position,MaxDrop,Model,MaxSize)
550
	local HITFLOOR, HITPOS, NORMAL = Raycast(Position, (CF(Position, Position + VT(0, -1, 0))).lookVector, MaxDrop, Model)
551
	if HITFLOOR ~= nil then
552
		if HITFLOOR.Parent ~= Effects and HITFLOOR.Parent ~= Character then
553
			if HITFLOOR.Name == "BloodPuddle" then
554
				local DIST = (Position - HITFLOOR.Position).Magnitude
555
				if (HITFLOOR.Size.Z <= 5 and HITFLOOR.Size.Z < MaxSize) or (HITFLOOR.Size.Z > 5 and HITFLOOR.Size.Z < MaxSize and DIST < HITFLOOR.Size.Z/3) then
556
					HITFLOOR.Size = HITFLOOR.Size + VT(0.1,0,0.1)
557
				end
558
			else
559
				if HITFLOOR.Anchored == true then
560
					local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(2,0,2))
561
					BLOOD.CFrame = CF(HITPOS,HITPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0))
562
					MakeForm(BLOOD,"Cyl")
563
					coroutine.resume(coroutine.create(function()
564
						Swait(75)
565
						while true do
566
							Swait()
567
							BLOOD.Size = BLOOD.Size - VT(0.02,0,0.02)
568
							if BLOOD.Size.Z < 0.051 then
569
								BLOOD:remove()
570
								break
571
							end
572
						end
573
					end))
574
				end
575
			end
576
		end
577
	end
578
end
579
580
function SprayBlood(POSITION,DIRECTION,BloodSize,DoesTable,Table)
581
	local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(0.5,0.5,0.5),false)
582
	BLOOD.CFrame = CF(POSITION)
583
	MakeForm(BLOOD,"Ball")
584
	local bv = Instance.new("BodyVelocity",BLOOD) 
585
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
586
	bv.velocity = CF(POSITION,DIRECTION+VT(MRANDOM(-3,3),MRANDOM(-3,3)/30,MRANDOM(-3,3))).lookVector*65
587
	bv.Name = "MOVE"
588
	Debris:AddItem(bv,0.05)
589
	coroutine.resume(coroutine.create(function()
590
		local HASTOUCHEDGROUND = false
591
		local HIT = BLOOD.Touched:Connect(function(hit)
592
			if hit.Anchored == true then
593
				HASTOUCHEDGROUND = true
594
				if DoesTable == true then
595
					AddChildrenToTable(BLOOD.Position,workspace,15,Table)
596
				end
597
				PuddleOfBlood(BLOOD.Position+VT(0,1,0),2,BLOOD,BloodSize)
598
			end
599
		end)
600
		for i = 1, 75 do
601
			Swait()
602
			if i > 5 then
603
				BLOOD.CanCollide = true
604
			end
605
			if HASTOUCHEDGROUND == true then
606
				break
607
			end
608
		end
609
		BLOOD:remove()
610
	end))
611
end
612
613
function CheckTableForString(Table, String)
614
	for i, v in pairs(Table) do
615
		if string.find(string.lower(String), string.lower(v)) then
616
			return true
617
		end
618
	end
619
	return false
620
end
621
622
function CheckIntangible(Hit)
623
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
624
	if Hit and Hit.Parent then
625
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
626
			return true
627
		end
628
	end
629
	return false
630
end
631
632
Debris = game:GetService("Debris")
633
634
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
635
	local Direction = CFrame.new(StartPos, Vec).lookVector
636
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
637
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
638
	if RayHit and CheckIntangible(RayHit) then
639
		if DelayIfHit then
640
			wait()
641
		end
642
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
643
	end
644
	return RayHit, RayPos, RayNormal
645
end
646
647
function turnto(position)
648
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
649
end
650
651
--//=================================\\
652
--||	     WEAPON CREATION
653
--\\=================================//
654
655
Humanoid.Died:connect(function()
656
	ATTACK = true
657
end)
658
659
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.23, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
660
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.50, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
661
local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
662
--local SKILL4FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
663
local SKILL5FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.7, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
664
665
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Blade Dance", SKILLTEXTCOLOR, 7, "Antique", 0, 2, 0.5, "Text 1")
666
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Reaper Dash", SKILLTEXTCOLOR, 7, "Antique", 0, 2, 0.5, "Text 2")
667
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Blossoming Blood", SKILLTEXTCOLOR, 7, "Antique", 0, 2, 0.5, "Text 3")
668
--local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Blood Ram", SKILLTEXTCOLOR, 7, "Antique", 0, 2, 0.5, "Text 4")
669
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Suffering Prison", SKILLTEXTCOLOR, 7, "Antique", 0, 2, 0.5, "Text 5")
670
671
--//=================================\\
672
--||	     DAMAGE FUNCTIONS
673
--\\=================================//
674
675
function StatLabel(CFRAME, TEXT, COLOR)
676
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
677
	STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
678
	local BODYGYRO = IT("BodyGyro", STATPART)
679
	game:GetService("Debris"):AddItem(STATPART ,5)
680
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
681
	BILLBOARDGUI.Adornee = STATPART
682
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
683
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
684
	BILLBOARDGUI.AlwaysOnTop = false
685
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
686
	TEXTLABEL.BackgroundTransparency = 1
687
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
688
	TEXTLABEL.Text = TEXT
689
	TEXTLABEL.Font = "Fantasy"
690
	TEXTLABEL.FontSize="Size42"
691
	TEXTLABEL.TextColor3 = COLOR
692
	TEXTLABEL.TextStrokeTransparency = 0
693
	TEXTLABEL.TextScaled = true
694
	TEXTLABEL.TextWrapped = true
695
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
696
		for i = 1, 50 do
697
			Swait()
698
			STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
699
			TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
700
			TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
701
		end
702
		THEPART.Parent = nil
703
	end),STATPART, TEXTLABEL)
704
end
705
706
--//=================================\\
707
--||			DAMAGING
708
--\\=================================//
709
710
function ApplyDamage(Humanoid,Damage,CritRate,CritMultiplier)
711
	local defence = Instance.new("BoolValue",Humanoid.Parent)
712
	defence.Name = ("HitBy"..Player.Name)
713
	game:GetService("Debris"):AddItem(defence, 0.001)
714
	if Humanoid.Health ~= 0 then
715
		local CritChance = MRANDOM(1,100)
716
		if CritChance < CritRate + 1 then
717
			Damage = Damage*CritMultiplier
718
		end
719
		if Damage > Humanoid.Health then
720
			Damage = math.ceil(Humanoid.Health)
721
			if Damage == 0 then
722
				Damage = 0.1
723
			end
724
		end
725
		Humanoid.Health = Humanoid.Health - Damage
726
		if Humanoid.Parent:FindFirstChild("Head") then
727
			CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], Humanoid.Parent.Head, 5, 1)
728
			if CritChance < CritRate + 1 then
729
				StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
730
			else
731
				StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, SKILLTEXTCOLOR)
732
			end
733
		end
734
	end
735
end
736
737
function AoEDamage(position,radius,min,max,maxstrength,critrate,critmultiplier,CanBeDodgedByJumping)
738
	local dmg = math.random(min,max)
739
	for i,v in ipairs(workspace:GetChildren()) do
740
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
741
		local body = v:GetChildren()
742
			for part = 1, #body do
743
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
744
					if(body[part].Position - position).Magnitude < radius then
745
						if v.ClassName == "Model" then
746
							if v:FindFirstChildOfClass("Humanoid") then
747
								if CanBeDodgedByJumping == true then
748
									if body[part].Position.Y < position.Y+5 then
749
										ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
750
									end
751
								else
752
									ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
753
								end
754
								local bv = Instance.new("BodyVelocity") 
755
								bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
756
								bv.velocity = RootPart.CFrame.lookVector*maxstrength
757
								bv.Parent = body[part]
758
								Debris:AddItem(bv,0.2)
759
							end
760
						end
761
					end
762
				end
763
			end
764
		end
765
		if v:FindFirstChild("HitBy"..Player.Name) then
766
			v:FindFirstChild("HitBy"..Player.Name):remove()
767
		end
768
	end
769
end
770
771
--//=================================\\
772
--||	ATTACK FUNCTIONS AND STUFF
773
--\\=================================//
774
775
function Stab()
776
	ATTACK = true
777
	Rooted = false
778
	local KNIFE,WELD,BLADE = SpawnKnife(1,true,RightArm,0,90,true,5)
779
	CreateSound("92597369", BLADE, 5, 2)
780
	for i=0, 0.3, 0.1 / Animation_Speed do
781
		Swait()
782
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(90)), 2 / Animation_Speed)
783
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-90)), 2 / Animation_Speed)
784
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
785
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
786
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
787
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
788
	end
789
	KNIFE:remove()
790
	ATTACK = false
791
	Rooted = false
792
end
793
794
function BladeDance()
795
	ATTACK = true
796
	Rooted = false
797
	for i=0, 1, 0.1 / Animation_Speed do
798
		Swait()
799
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
800
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
801
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
802
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
803
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
804
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
805
	end
806
	Rooted = true
807
	local I = 0
808
	local KNIFE1,WELD1,BLADE1 = SpawnKnife(MRANDOM(8,25)/10,true,RightArm,90,0,true,10)
809
	local KNIFE2,WELD2,BLADE2 = SpawnKnife(MRANDOM(8,25)/10,true,LeftArm,-90,180,true,10)
810
	for i=0, 1.5, 0.1 / Animation_Speed do
811
		Swait()
812
		I = I + 1
813
		CreateSound("92597369", BLADE1, 5, 1.5)
814
		CreateSound("92597369", BLADE2, 5, 1.5)
815
		RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.3)
816
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(I*30)), 2 / Animation_Speed)
817
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
818
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
819
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
820
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
821
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
822
	end
823
	for i=0, 0.3, 0.1 / Animation_Speed do
824
		Swait()
825
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.75 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)) * ANGLES(RAD(45), RAD(0), RAD(45)), 2 / Animation_Speed)
826
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-45 - 2.5 * SIN(SINE / 12)), RAD(20), RAD(-45)), 2 / Animation_Speed)
827
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.51, 0) * ANGLES(RAD(0), RAD(90), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
828
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(90), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
829
		RightHip.C0 = Clerp(RightHip.C0, CF(1.2, -0.4 - 0.05 * COS(SINE / 12), -0.3) * ANGLES(RAD(65), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(25)), 2 / Animation_Speed)
830
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-0.8, -0.9 - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(0), RAD(-45), RAD(-25)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
831
	end
832
	KNIFE1:remove()
833
	KNIFE2:remove()
834
	ATTACK = false
835
	Rooted = false
836
end
837
838
function AddChildrenToTable(FROM,PARENT,DIST,TABLE)
839
	for _, c in pairs(PARENT:GetChildren()) do
840
		if c.ClassName == "Model" then
841
			if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then
842
				local HUMANOID = c:FindFirstChildOfClass("Humanoid")
843
				local TORSO = (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso"))
844
				if (TORSO.Position - FROM).Magnitude < DIST then
845
					table.insert(TABLE,c)
846
				end
847
				AddChildrenToTable(FROM,c,DIST,TABLE)
848
			elseif c.ClassName == "Folder" then
849
				AddChildrenToTable(FROM,c,DIST,TABLE)
850
			end
851
		end
852
	end
853
end
854
855
function ReaperDash()
856
	ATTACK = true
857
	Rooted = false
858
	local KNIFE,WELD,BLADE = SpawnKnife(2,true,RightArm,90,0,false,15)
859
	for i=0, 1, 0.1 / Animation_Speed do
860
		Swait()
861
		WELD.C0 = Clerp(WELD.C0,CF(0, -1, 0) * ANGLES(RAD(90), RAD(-25), RAD(0)), 2 / Animation_Speed)
862
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 2 / Animation_Speed)
863
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 2 / Animation_Speed)
864
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
865
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
866
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
867
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
868
	end
869
	CreateSound("92597369", BLADE, 10, 0.7)
870
	local HITBODIES = {}
871
	local HASHITBODY = false
872
	Rooted = true
873
	BLADE.CanCollide = true
874
	local TOUCHED = BLADE.Touched:Connect(function(hit)
875
		if hit ~= nil then
876
			if hit.Parent:FindFirstChildOfClass("Humanoid") then
877
				local HITBOD = hit.Parent
878
				if HITBOD:FindFirstChild("IsHitBy"..Player.Name) == nil then
879
					local E = IT("Beam",HITBOD)
880
					E.Name = ("IsHitBy"..Player.Name)
881
					Debris:AddItem(E,1)
882
					table.insert(HITBODIES,HITBOD)
883
					HASHITBODY = true
884
				end
885
			end
886
		end
887
	end)
888
	for i=0, 0.8, 0.1 / Animation_Speed do
889
		Swait()
890
		if HASHITBODY == true then
891
			break
892
		end
893
		CreateWave(VT(0,0,0),15,BLADE.CFrame*CF(0,-BLADE.Size.Y/1.8,0),true,2,"Really red",VT(0.6,0.1,0.6))
894
		RootPart.CFrame = RootPart.CFrame*CF(0,0,-1)
895
		WELD.C0 = Clerp(WELD.C0,CF(0, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)), 2 / Animation_Speed)
896
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(90)), 2 / Animation_Speed)
897
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-90)), 2 / Animation_Speed)
898
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
899
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
900
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
901
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
902
	end
903
	if HASHITBODY == true then
904
		AddChildrenToTable(Torso.Position,workspace,10,HITBODIES)
905
		BLADE.CanCollide = false
906
		CreateSound("511715134", BLADE, 10, 1)
907
		for i=0, 1.5, 0.1 / Animation_Speed do
908
			Swait()
909
			for e=1,#HITBODIES do
910
				if HITBODIES[e]~=nil then
911
					local BOD = HITBODIES[e]
912
					local TORS = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
913
					if TORS then
914
						TORS.Anchored = true
915
						Slice("Round",0.5,15,TORS.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(-0.01,0,-0.01))
916
						CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], TORS, 5, 1)
917
					end
918
				end
919
			end
920
			WELD.C0 = Clerp(WELD.C0,CF(0, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)), 2 / Animation_Speed)
921
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, MRANDOM(-15,15)/15, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 2 / Animation_Speed)
922
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-90)), 2 / Animation_Speed)
923
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
924
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
925
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
926
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
927
		end
928
		TOUCHED:disconnect()
929
		for e=1,#HITBODIES do
930
			if HITBODIES[e]~=nil then
931
				local BOD = HITBODIES[e]
932
				local TORS = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
933
				if TORS then
934
					TORS.Anchored = false
935
					local HUM = BOD:FindFirstChildOfClass("Humanoid")
936
					if HUM then
937
						ApplyDamage(HUM,25,2,1.3)
938
					end
939
				end
940
			end
941
		end
942
		for i=0, 0.3, 0.1 / Animation_Speed do
943
			Swait()
944
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.75 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)) * ANGLES(RAD(45), RAD(0), RAD(45)), 2 / Animation_Speed)
945
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-45 - 2.5 * SIN(SINE / 12)), RAD(20), RAD(-45)), 2 / Animation_Speed)
946
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.51, 0) * ANGLES(RAD(0), RAD(90), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
947
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(90), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
948
			RightHip.C0 = Clerp(RightHip.C0, CF(1.2, -0.4 - 0.05 * COS(SINE / 12), -0.3) * ANGLES(RAD(65), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(25)), 2 / Animation_Speed)
949
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-0.8, -0.9 - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(0), RAD(-45), RAD(-25)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
950
		end
951
		HITBODIES = {}
952
	end
953
	KNIFE:remove()
954
	ATTACK = false
955
	Rooted = false
956
end
957
958
function BlossomingBlood()
959
	ATTACK = true
960
	Rooted = true
961
	local HITBODIES = {}
962
	local KNIFE,WELD,BLADE = SpawnKnife(4,true,RightArm,90,0,false,15)
963
	for i=0, 1, 0.1 / Animation_Speed do
964
		Swait()
965
		WELD.C0 = Clerp(WELD.C0,CF(0, -1, 0) * ANGLES(RAD(10), RAD(0), RAD(0)), 1 / Animation_Speed)
966
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
967
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-25)), 1 / Animation_Speed)
968
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
969
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
970
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
971
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
972
	end
973
	for i = 1, 150 do
974
		Swait()
975
		if MRANDOM(1,3) == 1 then
976
			MagicSphere(VT(1,1,1),15,BLADE.CFrame*CF(0,-BLADE.Size.Y/2,0),"Really red",VT(1,1,1))
977
			MagicSphere(VT(1,1,1),15,CF(BLADE.CFrame*CF(MRANDOM(-25,25),-BLADE.Size.Y/2,MRANDOM(-25,25)).p,BLADE.Position),"Really red",VT(1,0,0))
978
		end
979
		SprayBlood(BLADE.CFrame*CF(0,-BLADE.Size.Y,0).p,BLADE.CFrame*CF(MRANDOM(-15,15),-BLADE.Size.Y*2,MRANDOM(-15,15)).p,25,true,HITBODIES)
980
	end
981
	for i = 1, 25 do
982
		AddChildrenToTable(Torso.Position,workspace,20,HITBODIES)
983
	end
984
	if #HITBODIES ~= 0 then
985
		for i=0, 0.1, 0.1 / Animation_Speed do
986
			Swait()
987
			WELD.C0 = Clerp(WELD.C0,CF(0, -1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), 2.5 / Animation_Speed)
988
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.75 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)) * ANGLES(RAD(45), RAD(0), RAD(45)), 2 / Animation_Speed)
989
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-45 - 2.5 * SIN(SINE / 12)), RAD(20), RAD(-45)), 2 / Animation_Speed)
990
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.51, 0) * ANGLES(RAD(0), RAD(90), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
991
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(90), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
992
			RightHip.C0 = Clerp(RightHip.C0, CF(1.2, -0.4 - 0.05 * COS(SINE / 12), -0.3) * ANGLES(RAD(65), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(25)), 2 / Animation_Speed)
993
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-0.8, -0.9 - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(0), RAD(-45), RAD(-25)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
994
		end
995
		coroutine.resume(coroutine.create(function()
996
			for e=1,#HITBODIES do
997
				Swait()
998
				if HITBODIES[e]~=nil then
999
					local BOD = HITBODIES[e]
1000
					local TORS = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
1001
					if TORS then
1002
						Slice("Thin",0.5,35,CF(TORS.Position,Torso.Position)*ANGLES(RAD(0),RAD(-90),RAD(0)),"Really red",VT(0.01,0,0.01))
1003
						local HUM = BOD:FindFirstChildOfClass("Humanoid")
1004
						if HUM then
1005
							ApplyDamage(HUM,3,2,1.3)
1006
						end
1007
					end
1008
				end
1009
			end
1010
			HITBODIES = {}
1011
		end))
1012
		for i=0, 0.6, 0.1 / Animation_Speed do
1013
			Swait()
1014
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 2 / Animation_Speed)
1015
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 2 / Animation_Speed)
1016
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1017
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-42)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1018
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
1019
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
1020
		end
1021
	end
1022
	KNIFE:remove()
1023
	ATTACK = false
1024
	Rooted = false
1025
end
1026
1027
function SufferingPrison()
1028
	ATTACK = true
1029
	Rooted = true
1030
	local INNERKNIFES = {}
1031
	local OUTERKNIFES = {}
1032
	for i=0, 2, 0.1 / Animation_Speed do
1033
		Swait()
1034
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1035
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1036
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1037
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1038
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1039
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1040
	end
1041
	local RELEASE = false
1042
	local LOOP = 0
1043
	for i = 1, 25 do
1044
		local PART = CreatePart(3, Effects, "Glass", 0, 1, "Maroon", "Hold", VT(0,0,0),false)
1045
		local KNIFE,WELD,BLADE = SpawnKnife(2,true,PART,0,0,true,75)
1046
		table.insert(INNERKNIFES,{KNIFE,BLADE,PART})
1047
	end
1048
	for i = 1, 25 do
1049
		local PART = CreatePart(3, Effects, "Glass", 0, 1, "Maroon", "Hold", VT(0,0,0),false)
1050
		local KNIFE,WELD,BLADE = SpawnKnife(3,true,PART,0,0,true,75)
1051
		table.insert(OUTERKNIFES,{KNIFE,BLADE,PART})
1052
	end
1053
	CreateSound("1368605755", Torso, 10, 1)
1054
	coroutine.resume(coroutine.create(function()
1055
		repeat
1056
			for e=1,#INNERKNIFES do
1057
				if INNERKNIFES[e]~=nil then
1058
					local STUFF = INNERKNIFES[e]
1059
					local KNIFE = STUFF[1]
1060
					local PART = STUFF[3]
1061
					PART.Velocity = VT(0,0,0)
1062
					PART.CFrame = CF(RootPart.Position,RootPart.Position+VT(0,0,1))*ANGLES(RAD(0),RAD(5+(e*(360/#INNERKNIFES)+LOOP)),RAD(0))*CF(0,0,-10)*ANGLES(RAD(-90),RAD(90),RAD(0))
1063
				end
1064
			end
1065
			for q=1,#OUTERKNIFES do
1066
				if OUTERKNIFES[q]~=nil then
1067
					local STUFF = OUTERKNIFES[q]
1068
					local KNIFE = STUFF[1]
1069
					local PART = STUFF[3]
1070
					PART.Velocity = VT(0,0,0)
1071
					PART.CFrame = CF(RootPart.Position,RootPart.Position+VT(0,0,1))*ANGLES(RAD(0),RAD(q*(360/#OUTERKNIFES)+LOOP),RAD(0))*CF(0,0,-25)*ANGLES(RAD(-90),RAD(90),RAD(0))
1072
				end
1073
			end
1074
			Swait()
1075
			LOOP = LOOP + 1
1076
			if LOOP == 360 then
1077
				LOOP = 0
1078
			end
1079
		until RELEASE == true
1080
	end))
1081
	for i=0, 2, 0.1 / Animation_Speed do
1082
		Swait()
1083
		Slice("Round",0.5,15,Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(-0.01,0,-0.01))
1084
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1085
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1086
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1087
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1088
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1089
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1090
	end
1091
	CreateSound("1368637781", Torso, 10, 1)
1092
	RELEASE = true
1093
	MagicSphere(VT(5,5,5),35,Torso.CFrame,C3(1,0,0),VT(1,1,1))
1094
	CreateRing(VT(0,0,0),false,0,45,CF(Torso.Position)*ANGLES(RAD(90),RAD(0),RAD(0)),C3(1,0,0),VT(0.5,0.5,0))
1095
	for e=1,#INNERKNIFES do
1096
		if INNERKNIFES[e]~=nil then
1097
			local STUFF = INNERKNIFES[e]
1098
			local KNIFE = STUFF[1]
1099
			local BLADE = STUFF[2]
1100
			local PART = STUFF[3]
1101
			BLADE.CanCollide = false
1102
			PART.Velocity = VT(0,0,0)
1103
			local bv = Instance.new("BodyVelocity") 
1104
			bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1105
			bv.velocity = CF(PART.CFrame.p,PART.CFrame*CF(0,-1,0).p).lookVector*400
1106
			bv.Parent = PART
1107
			Debris:AddItem(KNIFE,1)
1108
		end
1109
	end
1110
	for q=1,#OUTERKNIFES do
1111
		if OUTERKNIFES[q]~=nil then
1112
			local STUFF = OUTERKNIFES[q]
1113
			local KNIFE = STUFF[1]
1114
			local BLADE = STUFF[2]
1115
			local PART = STUFF[3]
1116
			BLADE.CanCollide = false
1117
			PART.Velocity = VT(0,0,0)
1118
			local bv = Instance.new("BodyVelocity") 
1119
			bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1120
			bv.velocity = CF(PART.CFrame.p,PART.CFrame*CF(0,-1,0).p).lookVector*200
1121
			bv.Parent = PART
1122
			Debris:AddItem(KNIFE,1)
1123
		end
1124
	end
1125
	ATTACK = false
1126
	Rooted = false
1127
end
1128
1129
--//=================================\\
1130
--||	  ASSIGN THINGS TO KEYS
1131
--\\=================================//
1132
1133
function MouseDown(Mouse)
1134
	if ATTACK == false then
1135
		Stab()
1136
	end
1137
end
1138
1139
function MouseUp(Mouse)
1140
HOLD = false
1141
end
1142
1143
function KeyDown(Key)
1144
	KEYHOLD = true
1145
	if Key == "z" and ATTACK == false then
1146
		BladeDance()
1147
	end
1148
1149
	if Key == "b" and ATTACK == false then
1150
		ReaperDash()
1151
	end
1152
1153
	if Key == "c" and ATTACK == false then
1154
		BlossomingBlood()
1155
	end
1156
1157
	if Key == "x" and ATTACK == false then
1158
		SufferingPrison()
1159
	end
1160
end
1161
1162
function KeyUp(Key)
1163
	KEYHOLD = false
1164
end
1165
1166
	Mouse.Button1Down:connect(function(NEWKEY)
1167
		MouseDown(NEWKEY)
1168
	end)
1169
	Mouse.Button1Up:connect(function(NEWKEY)
1170
		MouseUp(NEWKEY)
1171
	end)
1172
	Mouse.KeyDown:connect(function(NEWKEY)
1173
		KeyDown(NEWKEY)
1174
	end)
1175
	Mouse.KeyUp:connect(function(NEWKEY)
1176
		KeyUp(NEWKEY)
1177
	end)
1178
1179
--//=================================\\
1180
--\\=================================//
1181
1182
1183
function unanchor()
1184
	if UNANCHOR == true then
1185
		g = Character:GetChildren()
1186
		for i = 1, #g do
1187
			if g[i].ClassName == "Part" then
1188
				g[i].Anchored = false
1189
			end
1190
		end
1191
	end
1192
end
1193
1194
--//=================================\\
1195
--||	WRAP THE WHOLE SCRIPT UP
1196
--\\=================================//
1197
1198
Humanoid.Changed:connect(function(Jump)
1199
	if Jump == "Jump" and (Disable_Jump == true) then
1200
		Humanoid.Jump = false
1201
	end
1202
end)
1203
1204
while true do
1205
	Swait()
1206
	ANIMATE.Parent = nil
1207
	local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1208
	IDLEANIMATION:Play()
1209
	SINE = SINE + CHANGE
1210
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1211
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1212
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1213
	local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1214
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1215
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1216
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1217
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1218
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1219
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1220
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1221
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1222
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1223
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1224
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1225
	end
1226
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1227
		ANIM = "Jump"
1228
		if ATTACK == false then
1229
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1230
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1231
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1232
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1233
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1234
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1235
	    end
1236
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1237
		ANIM = "Fall"
1238
		if ATTACK == false then
1239
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1240
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1241
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1242
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1243
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1244
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1245
		end
1246
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1247
		ANIM = "Idle"
1248
		if ATTACK == false then
1249
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 - 0.15 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1250
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(15), RAD(0)), 0.15 / Animation_Speed)
1251
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 - 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1252
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 - 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1253
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1254
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1255
		end
1256
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1257
		ANIM = "Walk"
1258
		WALK = WALK + 1 / Animation_Speed
1259
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1260
			WALK = 0
1261
			if WALKINGANIM == true then
1262
				WALKINGANIM = false
1263
			elseif WALKINGANIM == false then
1264
				WALKINGANIM = true
1265
			end
1266
		end
1267
		--RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1268
		--LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1269
		if ATTACK == false then
1270
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1271
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1272
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.35 / Animation_Speed)
1273
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
1274
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1275
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1276
		end
1277
	end
1278
	if HITFLOOR ~= nil then
1279
		if MRANDOM(1,2) == 1 then
1280
			local HITFLOOR,HITPOS,NORMAL = Raycast(LeftLeg.Position, (CF(LeftLeg.Position, LeftLeg.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1281
			Slice("Round",0.1,35,CF(HITPOS+VT(0,0.1,0),HITPOS+VT(0,0.1,0)+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0))*ANGLES(RAD(MRANDOM(-18,18)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-18,18))),"Really black",VT(0.001,0,0.001))
1282
			Slice("Round",0.1,45,CF(HITPOS+VT(0,0.1,0),HITPOS+VT(0,0.1,0)+NORMAL)*ANGLES(RAD(90),RAD(MRANDOM(-180,180)),RAD(0)),"Really black",VT(0,0,0))
1283
			local HITFLOOR,HITPOS,NORMAL = Raycast(RightLeg.Position, (CF(RightLeg.Position, RightLeg.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1284
			Slice("Round",0.1,35,CF(HITPOS+VT(0,0.1,0),HITPOS+VT(0,0.1,0)+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0))*ANGLES(RAD(MRANDOM(-18,18)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-18,18))),"Really black",VT(0.001,0,0.001))
1285
			Slice("Round",0.1,45,CF(HITPOS+VT(0,0.1,0),HITPOS+VT(0,0.1,0)+NORMAL)*ANGLES(RAD(90),RAD(MRANDOM(-180,180)),RAD(0)),"Really black",VT(0,0,0))
1286
		end
1287
	end
1288
	unanchor()
1289
	Humanoid.MaxHealth = "inf"
1290
	Humanoid.Health = "inf"
1291
	if Rooted == false then
1292
		Disable_Jump = false
1293
		Humanoid.WalkSpeed = Speed
1294
	elseif Rooted == true then
1295
		Disable_Jump = true
1296
		Humanoid.WalkSpeed = 0
1297
	end
1298
	sick.Parent = Character
1299
	local MATHS = {"0","1"}
1300
	Humanoid.Name = MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]
1301
	Humanoid.PlatformStand = false
1302
end
1303
1304
--//=================================\\
1305
--\\=================================//
1306
1307
1308
1309
1310
1311
--//====================================================\\--
1312
--||			  		 END OF SCRIPT
1313
--\\====================================================//--