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