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