View difference between Paste ID: ff6NgpV7 and GWH34Y8a
SHOW: | | - or go back to the newest paste.
1
--[[
2
3
4
5
6
7
8
9
]]  
10
11
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
12
local Player,game,owner = owner,game
13
local RealPlayer = Player
14
do
15
	warn("SCP-323 by TameDoNotClick")
16
	warn("SCP-323 can also be called The Pony")
17
	warn("Due to the game, Pony Island")
18
	warn("WIP, will be buggy")
19
	local rp = RealPlayer
20
	script.Parent = rp.Character
21
	
22
	--RemoteEvent for communicating
23
	local Event = Instance.new("RemoteEvent")
24
	Event.Name = "UserInput_Event"
25
26
	--Fake event to make stuff like Mouse.KeyDown work
27
	local function fakeEvent()
28
		local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
29
		t.connect = t.Connect
30
		return t
31
	end
32
33
	--Creating fake input objects with fake variables
34
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
35
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
36
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
37
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
38
	end}
39
	--Merged 2 functions into one by checking amount of arguments
40
	CAS.UnbindAction = CAS.BindAction
41
42
	--This function will trigger the events that have been :Connect()'ed
43
	local function te(self,ev,...)
44
		local t = m[ev]
45
		if t and t._fakeEvent then
46
			for _,f in pairs(t.Functions) do
47
				f(...)
48
			end
49
		end
50
	end
51
	m.TrigEvent = te
52
	UIS.TrigEvent = te
53
54
	Event.OnServerEvent:Connect(function(plr,io)
55
	    if plr~=rp then return end
56
		m.Target = io.Target
57
		m.Hit = io.Hit
58
		if not io.isMouse then
59
			local b = io.UserInputState == Enum.UserInputState.Begin
60
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
61
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
62
			end
63
			for _,t in pairs(CAS.Actions) do
64
				for _,k in pairs(t.Keys) do
65
					if k==io.KeyCode then
66
						t.Function(t.Name,io.UserInputState,io)
67
					end
68
				end
69
			end
70
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
71
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
72
	    end
73
	end)
74
	Event.Parent = NLS([==[
75
	local Player = game:GetService("Players").LocalPlayer
76
	local Event = script:WaitForChild("UserInput_Event")
77
78
	local Mouse = Player:GetMouse()
79
	local UIS = game:GetService("UserInputService")
80
	local input = function(io,a)
81
		if a then return end
82
		--Since InputObject is a client-side instance, we create and pass table instead
83
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
84
	end
85
	UIS.InputBegan:Connect(input)
86
	UIS.InputEnded:Connect(input)
87
88
	local h,t
89
	--Give the server mouse data 30 times every second, but only if the values changed
90
	--If player is not moving their mouse, client won't fire events
91
	while wait(1/30) do
92
		if h~=Mouse.Hit or t~=Mouse.Target then
93
			h,t=Mouse.Hit,Mouse.Target
94
			Event:FireServer({isMouse=true,Target=t,Hit=h})
95
		end
96
	end]==],Player.Character)
97
98
	----Sandboxed game object that allows the usage of client-side methods and services
99
	--Real game object
100
	local _rg = game
101
102
	--Metatable for fake service
103
	local fsmt = {
104
		__index = function(self,k)
105
			local s = rawget(self,"_RealService")
106
			if s then return s[k] end
107
		end,
108
		__newindex = function(self,k,v)
109
			local s = rawget(self,"_RealService")
110
			if s then s[k]=v end
111
		end,
112
		__call = function(self,...)
113
			local s = rawget(self,"_RealService")
114
			if s then return s(...) end
115
		end
116
	}
117
	local function FakeService(t,RealService)
118
		t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
119
		return setmetatable(t,fsmt)
120
	end
121
122
	--Fake game object
123
	local g = {
124
		GetService = function(self,s)
125
			return self[s]
126
		end,
127
		Players = FakeService({
128
			LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
129
		},"Players"),
130
		UserInputService = FakeService(UIS,"UserInputService"),
131
		ContextActionService = FakeService(CAS,"ContextActionService"),
132
	}
133
	rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
134
	g.service = g.GetService
135
	
136
	g.RunService = FakeService({
137
		RenderStepped = _rg:GetService("RunService").Heartbeat,
138
		BindToRenderStep = function(self,name,_,fun)
139
140
		end,
141
		UnbindFromRenderStep = function(self,name)
142
			self._btrs[name]:Disconnect()
143
		end,
144
	},"RunService")
145
146
	setmetatable(g,{
147
		__index=function(self,s)
148
			return _rg:GetService(s) or typeof(_rg[s])=="function"
149
			and function(_,...)return _rg[s](_rg,...)end or _rg[s]
150
		end,
151
		__newindex = fsmt.__newindex,
152
		__call = fsmt.__call
153
	})
154
	--Changing owner to fake player object to support owner:GetMouse()
155
	game,owner = g,g.Players.LocalPlayer
156
end
157
158
Script0 = Instance.new("Script")
159
Model1 = Instance.new("Model")
160
Part2 = Instance.new("Part")
161
SpecialMesh3 = Instance.new("SpecialMesh")
162
BillboardGui4 = Instance.new("BillboardGui")
163
TextLabel5 = Instance.new("TextLabel")
164
Script6 = Instance.new("Script")
165
Sound7 = Instance.new("Sound")
166
LocalScript8 = Instance.new("LocalScript")
167
Script0.Name = "323place1"
168
Script0.Parent = owner.Character
169
Model1.Name = "skull"
170
Model1.Parent = Script0
171
Part2.Name = "FakeHead"
172
Part2.Parent = Model1
173
Part2.CFrame = CFrame.new(0.294842005, 368.302765, -124.816376, 0, 0, 1, 0, 1, -0, -1, 0, 0)
174
Part2.Orientation = Vector3.new(0, 90, 0)
175
Part2.Position = Vector3.new(0.294842005, 368.302765, -124.816376)
176
Part2.Rotation = Vector3.new(0, 90, 0)
177
Part2.Color = Color3.new(0.780392, 0.831373, 0.894118)
178
Part2.Size = Vector3.new(2, 2, 2)
179
Part2.BottomSurface = Enum.SurfaceType.Smooth
180
Part2.BrickColor = BrickColor.new("Fog")
181
Part2.CanCollide = false
182
Part2.TopSurface = Enum.SurfaceType.Smooth
183
Part2.brickColor = BrickColor.new("Fog")
184
Part2.FormFactor = Enum.FormFactor.Custom
185
Part2.formFactor = Enum.FormFactor.Custom
186
SpecialMesh3.Parent = Part2
187
SpecialMesh3.MeshId = "http://www.roblox.com/asset/?id=163989519 "
188
SpecialMesh3.Scale = Vector3.new(1.10000002, 1.10000002, 1.10000002)
189
SpecialMesh3.TextureId = "http://www.roblox.com/asset/?id=168602145"
190
SpecialMesh3.MeshType = Enum.MeshType.FileMesh
191
BillboardGui4.Parent = Part2
192
BillboardGui4.LightInfluence = 1
193
BillboardGui4.Size = UDim2.new(0, 200, 0, 50)
194
BillboardGui4.Active = true
195
BillboardGui4.ClipsDescendants = true
196
BillboardGui4.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
197
BillboardGui4.StudsOffset = Vector3.new(0, 1.5, 0)
198
TextLabel5.Parent = BillboardGui4
199
TextLabel5.Size = UDim2.new(0, 200, 0, 50)
200
TextLabel5.Active = true
201
TextLabel5.BackgroundColor = BrickColor.new("Institutional white")
202
TextLabel5.BackgroundColor3 = Color3.new(1, 1, 1)
203
TextLabel5.BackgroundTransparency = 1
204
TextLabel5.BorderSizePixel = 0
205
TextLabel5.ClipsDescendants = true
206
TextLabel5.SizeConstraint = Enum.SizeConstraint.RelativeYY
207
TextLabel5.Font = Enum.Font.SciFi
208
TextLabel5.FontSize = Enum.FontSize.Size32
209-
TextLabel5.Text = "Mr. Pony"
209+
TextLabel5.Text = "SCP 3̸2̸3̴"
210
TextLabel5.TextColor = BrickColor.new("Maroon")
211
TextLabel5.TextColor3 = Color3.new(0.513726, 0, 0.00784314)
212
TextLabel5.TextScaled = true
213
TextLabel5.TextSize = 30
214
TextLabel5.TextStrokeColor3 = Color3.new(0.243137, 0.00392157, 0.00784314)
215
TextLabel5.TextWrap = true
216
TextLabel5.TextWrapped = true
217
Script6.Parent = TextLabel5
218
Sound7.Name = "Pony Island OST 02 - Enter Pony"
219
Sound7.Parent = Part2
220
Sound7.Looped = true
221
Sound7.SoundId = "rbxassetid://343860759"
222
Sound7:Play()
223
LocalScript8.Parent = Script0
224
225
function swait(num)
226
	if num == 0 or num == nil then
227
		game:service("RunService").Stepped:wait(0)
228
	else
229
		for i = 0, num do
230
			game:service("RunService").Stepped:wait(0)
231
		end
232
	end
233
end
234
235
236
--//====================================================\\--
237
--||			   CREATED BY 7_QZ
238
--\\====================================================//--
239
240
wait(1.2)
241
242
Player = owner
243
local PlayerGui = Player.PlayerGui
244
local Cam = workspace.CurrentCamera
245
local Backpack = Player.Backpack
246
Character = Player.Character
247
Humanoid = Character.Humanoid
248
RootPart = Character["HumanoidRootPart"]
249
Torso = Character["Torso"]
250
Head = Character["Head"]
251
local RightArm = Character["Right Arm"]
252
local LeftArm = Character["Left Arm"]
253
local RightLeg = Character["Right Leg"]
254
local LeftLeg = Character["Left Leg"]
255
local RootJoint = RootPart["RootJoint"]
256
local Neck = Torso["Neck"]
257
local RightShoulder = Torso["Right Shoulder"]
258
local LeftShoulder = Torso["Left Shoulder"]
259
local RightHip = Torso["Right Hip"]
260
local LeftHip = Torso["Left Hip"]
261
local mouse = Player:GetMouse()
262
263
IT = Instance.new
264
CF = CFrame.new
265
VT = Vector3.new
266
local RAD = math.rad
267
C3 = Color3.new
268
UD2 = UDim2.new
269
local BRICKC = BrickColor.new
270
local ANGLES = CFrame.Angles
271
local EULER = CFrame.fromEulerAnglesXYZ
272
local COS = math.cos
273
ACOS = math.acos
274
SIN = math.sin
275
local ASIN = math.asin
276
local ABS = math.abs
277
local MRANDOM = math.random
278
local FLOOR = math.floor
279
local theta = 0
280
281
	local function weldBetween(a, b)
282
	    local weldd = Instance.new("ManualWeld")
283
	    weldd.Part0 = a
284
	    weldd.Part1 = b
285
	    weldd.C0 = CFrame.new()
286
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
287
	    weldd.Parent = a
288
	    return weldd
289
	end
290
291
function QuaternionFromCFrame(cf)
292
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
293
	local trace = m00 + m11 + m22
294
	if trace > 0 then 
295
		local s = math.sqrt(1 + trace)
296
		local recip = 0.5 / s
297
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
298
	else
299
		local i = 0
300
		if m11 > m00 then
301
			i = 1
302
		end
303
		if m22 > (i == 0 and m00 or m11) then
304
			i = 2
305
		end
306
		if i == 0 then
307
			local s = math.sqrt(m00 - m11 - m22 + 1)
308
			local recip = 0.5 / s
309
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
310
		elseif i == 1 then
311
			local s = math.sqrt(m11 - m22 - m00 + 1)
312
			local recip = 0.5 / s
313
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
314
		elseif i == 2 then
315
			local s = math.sqrt(m22 - m00 - m11 + 1)
316
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
317
		end
318
	end
319
end
320
 
321
function QuaternionToCFrame(px, py, pz, x, y, z, w)
322
	local xs, ys, zs = x + x, y + y, z + z
323
	local wx, wy, wz = w * xs, w * ys, w * zs
324
	local xx = x * xs
325
	local xy = x * ys
326
	local xz = x * zs
327
	local yy = y * ys
328
	local yz = y * zs
329
	local zz = z * zs
330
	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))
331
end
332
 
333
function QuaternionSlerp(a, b, t)
334
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
335
	local startInterp, finishInterp;
336
	if cosTheta >= 0.0001 then
337
		if (1 - cosTheta) > 0.0001 then
338
			local theta = ACOS(cosTheta)
339
			local invSinTheta = 1 / SIN(theta)
340
			startInterp = SIN((1 - t) * theta) * invSinTheta
341
			finishInterp = SIN(t * theta) * invSinTheta
342
		else
343
			startInterp = 1 - t
344
			finishInterp = t
345
		end
346
	else
347
		if (1 + cosTheta) > 0.0001 then
348
			local theta = ACOS(-cosTheta)
349
			local invSinTheta = 1 / SIN(theta)
350
			startInterp = SIN((t - 1) * theta) * invSinTheta
351
			finishInterp = SIN(t * theta) * invSinTheta
352
		else
353
			startInterp = t - 1
354
			finishInterp = t
355
		end
356
	end
357
	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
358
end
359
360
function Clerp(a, b, t)
361
	local qa = {QuaternionFromCFrame(a)}
362
	local qb = {QuaternionFromCFrame(b)}
363
	local ax, ay, az = a.x, a.y, a.z
364
	local bx, by, bz = b.x, b.y, b.z
365
	local _t = 1 - t
366
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
367
end
368
369
--// More Shortcut Variables \\--
370
local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
371
local De = S.Debris
372
local WS = workspace
373
local Lght = S.Lighting
374
local RepS = S.ReplicatedStorage
375
local IN = Instance.new
376
local Plrs = S.Players
377
378
--// Useful Values \\--
379
380
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
381
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
382
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
383
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
384
local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
385
local attack = false
386
387
--// Instance Creation Functions \\--
388
389
local baseSound = IN("Sound")
390
function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
391
	local Sound = baseSound:Clone()
392
	Sound.SoundId = "rbxassetid://".. tostring(id or 0)
393
	Sound.Pitch = pitch or 1
394
	Sound.Volume = volume or 1
395
	Sound.Looped = looped or false
396
	if(autoPlay)then
397
		coroutine.wrap(function()
398
			repeat wait() until Sound.IsLoaded
399
			Sound.Playing = autoPlay or false
400
		end)()
401
	end
402
	if(not looped and effect)then
403
		Sound.Stopped:connect(function()
404
			Sound.Volume = 0
405
			Sound:destroy()
406
		end)
407
	elseif(effect)then
408
		warn("Sound can't be looped and a sound effect!")
409
	end
410
	Sound.Parent =parent or Torso
411
	return Sound
412
end
413
function Part(parent,color,material,size,cframe,anchored,cancollide)
414
	local part = IN("Part")
415
	part.Parent = parent or Char
416
	part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
417
	part.Material = material or Enum.Material.SmoothPlastic
418
	part.TopSurface,part.BottomSurface=10,10
419
	part.Size = size or V3.N(1,1,1)
420
	part.CFrame = cframe or CF.N(0,0,0)
421
	part.CanCollide = cancollide or false
422
	part.Anchored = anchored or false
423
	return part
424
end
425
426
function Weld(part0,part1,c0,c1)
427
	local weld = IN("Weld")
428
	weld.Parent = part0
429
	weld.Part0 = part0
430
	weld.Part1 = part1
431
	weld.C0 = c0 or CFrame.new()
432
	weld.C1 = c1 or CFrame.new()
433
	return weld
434
end
435
436
function Mesh(parent,meshtype,meshid,textid,scale,offset)
437
	local part = IN("SpecialMesh")
438
	part.MeshId = meshid or ""
439
	part.TextureId = textid or ""
440
	part.Scale = scale or V3.N(1,1,1)
441
	part.Offset = offset or V3.N(0,0,0)
442
	part.MeshType = meshtype or Enum.MeshType.Sphere
443
	part.Parent = parent
444
	return part
445
end
446
447
NewInstance = function(instance,parent,properties)
448
	local inst = Instance.new(instance)
449
	inst.Parent = parent
450
	if(properties)then
451
		for i,v in next, properties do
452
			pcall(function() inst[i] = v end)
453
		end
454
	end
455
	return inst;
456
end
457
458
function Clone(instance,parent,properties)
459
	local inst = instance:Clone()
460
	inst.Parent = parent
461
	if(properties)then
462
		for i,v in next, properties do
463
			pcall(function() inst[i] = v end)
464
		end
465
	end
466
	return inst;
467
end
468
469
local S = IT("Sound")
470
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
471
	local NEWSOUND = nil
472
	coroutine.resume(coroutine.create(function()
473
		NEWSOUND = S:Clone()
474
		NEWSOUND.Parent = PARENT
475
		NEWSOUND.Volume = VOLUME
476
		NEWSOUND.Pitch = PITCH
477
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
478
		NEWSOUND:play()
479
		if DOESLOOP == true then
480
			NEWSOUND.Looped = true
481
		else
482
			repeat wait(1) until NEWSOUND.Playing == false
483
			NEWSOUND:remove()
484
		end
485
	end))
486
	return NEWSOUND
487
end
488
489
490
--// Other Functions \\--
491
492
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
493
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
494
end
495
496
function Chatter(Text,Timer)
497
	local chat = coroutine.wrap(function()
498
		if Character:FindFirstChild("SpeechBoard")~= nil then
499
			Character:FindFirstChild("SpeechBoard"):destroy()
500
		end
501
		local naeeym2 = IT("BillboardGui",Character)
502
		naeeym2.Size = UD2(0,100,0,40)
503
		naeeym2.StudsOffset = VT(0,2,0)
504
		naeeym2.Adornee = Character.Head
505
		naeeym2.Name = "SpeechBoard"
506
		naeeym2.AlwaysOnTop = true
507
		local tecks2 = IT("TextLabel",naeeym2)
508
		tecks2.BackgroundTransparency = 1
509
		tecks2.BorderSizePixel = 0
510
		tecks2.Text = ""
511
		tecks2.Font = "Legacy"
512
		tecks2.TextSize = 15
513
		tecks2.TextStrokeTransparency = 0
514
		tecks2.TextColor3 = C3(62/255,0,2/255)
515
		tecks2.TextStrokeColor3 = C3(131/255,1/255,2/255)
516
		tecks2.Size = UDim2.new(1,0,0.5,0)
517
		local FINISHED = false
518
		coroutine.resume(coroutine.create(function()
519
			for i = 1,string.len(Text),1 do
520
				if naeeym2.Parent ~= Character then
521
					FINISHED = true
522
				end
523
				CreateSound(418252437, Head, 7, 0.5, false)
524
				tecks2.Text = string.sub(Text,1,i)
525
				swait(Timer)
526
			end
527
			FINISHED = true
528
		end))
529
		repeat wait() until FINISHED == true
530
		wait(1)
531
		naeeym2.Name = "FadingDialogue"
532
		for i = 1, 45 do
533
			swait()
534
			naeeym2.StudsOffset = naeeym2.StudsOffset + VT(0,(2-((2/45)*i))/45,0)
535
			tecks2.TextTransparency = tecks2.TextTransparency + 1/45
536
			tecks2.TextStrokeTransparency = tecks2.TextTransparency
537
		end
538
		naeeym2:Destroy()
539
	end)
540
	chat()
541
end
542
543
local Create = LoadLibrary("RbxUtility").Create
544
545
CFuncs = {	
546
	["Part"] = {
547
		Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
548
			local Part = Create("Part"){
549
				Parent = Parent,
550
				Reflectance = Reflectance,
551
				Transparency = Transparency,
552
				CanCollide = false,
553
				Locked = true,
554
				BrickColor = BrickColor.new(tostring(BColor)),
555
				Name = Name,
556
				Size = Size,
557
				Material = Material,
558
			}
559
			RemoveOutlines(Part)
560
			return Part
561
		end;
562
	};
563
	
564
	["Mesh"] = {
565
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
566
			local Msh = Create(Mesh){
567
				Parent = Part,
568
				Offset = OffSet,
569
				Scale = Scale,
570
			}
571
			if Mesh == "SpecialMesh" then
572
				Msh.MeshType = MeshType
573
				Msh.MeshId = MeshId
574
			end
575
			return Msh
576
		end;
577
	};
578
	
579
	["Mesh"] = {
580
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
581
			local Msh = Create(Mesh){
582
				Parent = Part,
583
				Offset = OffSet,
584
				Scale = Scale,
585
			}
586
			if Mesh == "SpecialMesh" then
587
				Msh.MeshType = MeshType
588
				Msh.MeshId = MeshId
589
			end
590
			return Msh
591
		end;
592
	};
593
	
594
	["Weld"] = {
595
		Create = function(Parent, Part0, Part1, C0, C1)
596
			local Weld = Create("Weld"){
597
				Parent = Parent,
598
				Part0 = Part0,
599
				Part1 = Part1,
600
				C0 = C0,
601
				C1 = C1,
602
			}
603
			return Weld
604
		end;
605
	};
606
607
	["Sound"] = {
608
		Create = function(id, par, vol, pit) 
609
			coroutine.resume(coroutine.create(function()
610
				local S = Create("Sound"){
611
					Volume = vol,
612
                                        Name = "EffectSoundo",
613
					Pitch = pit or 1,
614
					SoundId = id,
615
					Parent = par or workspace,
616
				}
617
				wait() 
618
				S:play() 
619
				game:GetService("Debris"):AddItem(S, 10)
620
			end))
621
		end;
622
	};
623
	
624
	["EchoSound"] = {
625
		Create = function(id, par, vol, pit, timepos,delays,echodelay,fedb,dryl) 
626
			coroutine.resume(coroutine.create(function()
627
				local Sas = Create("Sound"){
628
					Volume = vol,
629
                    Name = "EffectSoundo",
630
					Pitch = pit or 1,
631
					SoundId = id,
632
                    TimePosition = timepos,
633
					Parent = par or workspace,
634
				}
635
				local E = Create("EchoSoundEffect"){
636
					Delay = echodelay,
637
                    Name = "Echo",
638
					Feedback = fedb,
639
                    DryLevel = dryl,
640
					Parent = Sas,
641
				}
642
				wait() 
643
				Sas:play() 
644
				game:GetService("Debris"):AddItem(Sas, delays)
645
			end))
646
		end;
647
	};
648
649
["LongSound"] = {
650
		Create = function(id, par, vol, pit) 
651
			coroutine.resume(coroutine.create(function()
652
				local S = Create("Sound"){
653
					Volume = vol,
654
					Pitch = pit or 1,
655
					SoundId = id,
656
					Parent = par or workspace,
657
				}
658
				wait() 
659
				S:play() 
660
				game:GetService("Debris"):AddItem(S, 60)
661
			end))
662
		end;
663
	};
664
	
665
	["ParticleEmitter"] = {
666
		Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
667
			local fp = Create("ParticleEmitter"){
668
				Parent = Parent,
669
				Color = ColorSequence.new(Color1, Color2),
670
				LightEmission = LightEmission,
671
				Size = Size,
672
				Texture = Texture,
673
				Transparency = Transparency,
674
				ZOffset = ZOffset,
675
				Acceleration = Accel,
676
				Drag = Drag,
677
				LockedToPart = LockedToPart,
678
				VelocityInheritance = VelocityInheritance,
679
				EmissionDirection = EmissionDirection,
680
				Enabled = Enabled,
681
				Lifetime = LifeTime,
682
				Rate = Rate,
683
				Rotation = Rotation,
684
				RotSpeed = RotSpeed,
685
				Speed = Speed,
686
				VelocitySpread = VelocitySpread,
687
			}
688
			return fp
689
		end;
690
	};
691
692
	CreateTemplate = {
693
	
694
	};
695
}
696
697
--// Damaging Functions \\--
698
699
function Damagefunc(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
700
  if hit.Parent == nil then
701
    return
702
  end
703
  local h = hit.Parent:FindFirstChildOfClass("Humanoid")
704
  for _, v in pairs(hit.Parent:children()) do
705
    if v:IsA("Humanoid") then
706
      h = v
707
    end
708
  end
709
  if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Head") ~= nil then
710
    if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
711
      return
712
    end
713
    local c = Create("ObjectValue")({
714
      Name = "creator",
715
      Value = owner,
716
      Parent = h
717
    })
718
    game:GetService("Debris"):AddItem(c, 0.5)
719
    if HitSound ~= nil and HitPitch ~= nil then
720
      CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
721
    end
722
    local Damage = math.random(minim, maxim)
723
    local blocked = false
724
    local block = hit.Parent:findFirstChild("Block")
725
    if block ~= nil and block.className == "IntValue" and block.Value > 0 then
726
      blocked = true
727
      block.Value = block.Value - 1
728
      print(block.Value)
729
    end
730
    if blocked == false then
731
      HitHealth = h.Health
732
      h.Health = h.Health - Damage
733
      if HitHealth ~= h.Health and HitHealth ~= 0 and 0 >= h.Health and h.Parent.Name ~= "Hologram" then
734
        print("gained kill")
735
      end
736
    else
737
      h.Health = h.Health - Damage / 2
738
    end
739
    if Type == "Knockdown" then
740
      local hum = hit.Parent:FindFirstChildOfClass'Humanoid'
741
      hum.PlatformStand = true
742
      coroutine.resume(coroutine.create(function(HHumanoid)
743
        swait(1)
744
        HHumanoid.PlatformStand = false
745
      end), hum)
746
      local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
747
      local bodvol = Create("BodyVelocity")({
748
        velocity = angle * knockback,
749
        P = 5000,
750
        maxForce = Vector3.new(8000, 8000, 8000),
751
        Parent = hit
752
      })
753
      local rl = Create("BodyAngularVelocity")({
754
        P = 3000,
755
        maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
756
        angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
757
        Parent = hit
758
      })
759
      game:GetService("Debris"):AddItem(bodvol, 0.5)
760
      game:GetService("Debris"):AddItem(rl, 0.5)
761
    elseif Type == "Normal" then
762
      local vp = Create("BodyVelocity")({
763
        P = 500,
764
        maxForce = Vector3.new(math.huge, 0, math.huge),
765
        velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
766
      })
767
      if knockback > 0 then
768
        vp.Parent = hit.Parent.Head
769
      end
770
      game:GetService("Debris"):AddItem(vp, 0.5)
771
    elseif Type == "Wind" then
772
      local vp = Instance.new("BodyVelocity")
773
        vp.P = 500000
774
        vp.maxForce = Vector3.new(0, math.huge, 0)
775
        vp.velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
776
        vp.Parent = hit.Parent.Head
777
      if knockback > 0 then
778
        vp.Parent = hit.Parent.Head
779
780
      end
781
      game:GetService("Debris"):AddItem(vp, 0.5)
782
783
    elseif Type == "Up" then
784
      local bodyVelocity = Create("BodyVelocity")({
785
        velocity = Vector3.new(0, 20, 0),
786
        P = 5000,
787
        maxForce = Vector3.new(8000, 8000, 8000),
788
        Parent = hit
789
      })
790
      game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
791
      local bodyVelocity = Create("BodyVelocity")({
792
        velocity = Vector3.new(0, 20, 0),
793
        P = 5000,
794
        maxForce = Vector3.new(8000, 8000, 8000),
795
        Parent = hit
796
      })
797
      game:GetService("Debris"):AddItem(bodyVelocity, 1)
798
    elseif Type == "Leech" then
799
      local hum = hit.Parent:FindFirstChildOfClass'Humanoid'
800
      if hum ~= nil then
801
        for i = 0, 2 do
802
          Effects.Sphere.Create(BrickColor.new("Bright red"), hit.Parent.Torso.CFrame * cn(0, 0, 0) * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 15, 1, 0, 5, 0, 0.02)
803
        end
804
        Humanoid.Health = Humanoid.Health + 10
805
      end
806
    elseif Type == "Tornado" then
807
      local hum = hit.Parent:FindFirstChildOfClass'Humanoid'
808
      hum.PlatformStand = true
809
      if hum ~= nil then
810
        hitr = true
811
      end
812
      coroutine.resume(coroutine.create(function(HHumanoid)
813
        swait(5)
814
        HHumanoid.PlatformStand = false
815
        hitr = false
816
      end), hum)
817
      local bodyVelocity = Create("BodyVelocity")({
818
        velocity = Vector3.new(math.cos(theta*5)*20, 5, math.sin(theta*5)*20),
819
        P = 5000,
820
        maxForce = Vector3.new(8000, 8000, 8000),
821
        Parent = hit
822
      })
823
      game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
824
      local bodyVelocity = Create("BodyVelocity")({
825
        velocity = Vector3.new(math.cos(theta*5)*20, 5, math.sin(theta*5)*20),
826
        P = 5000,
827
        maxForce = Vector3.new(8000, 8000, 8000),
828
        Parent = hit
829
      })
830
      game:GetService("Debris"):AddItem(bodyVelocity, 1)
831
    elseif Type == "Snare" then
832
      local bp = Create("BodyPosition")({
833
        P = 2000,
834
        D = 100,
835
        maxForce = Vector3.new(math.huge, math.huge, math.huge),
836
        position = hit.Parent.Torso.Position,
837
        Parent = hit.Parent.Torso
838
      })
839
      game:GetService("Debris"):AddItem(bp, 1)
840
    elseif Type == "Slashnare" then
841
      Effects.Block.Create(BrickColor.new("Pastel Blue"), hit.Parent.Torso.CFrame * cn(0, 0, 0), 15*4, 15*4, 15*4, 3*4, 3*4, 3*4, 0.07)
842
      for i = 1, math.random(4, 5) do
843
        Effects.Sphere.Create(BrickColor.new("Teal"), hit.Parent.Torso.CFrame * cn(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)) * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 15, 1, 0, 5, 0, 0.02)
844
      end
845
      local bp = Create("BodyPosition")({
846
        P = 2000,
847
        D = 100,
848
        maxForce = Vector3.new(math.huge, math.huge, math.huge),
849
        position = hit.Parent.Torso.Position,
850
        Parent = hit.Parent.Torso
851
      })
852
      game:GetService("Debris"):AddItem(bp, 1)
853
    elseif Type == "Spike" then
854
      CreateBigIceSword(hit.Parent.Torso.CFrame)
855
      local bp = Create("BodyPosition")({
856
        P = 2000,
857
        D = 100,
858
        maxForce = Vector3.new(math.huge, math.huge, math.huge),
859
        position = hit.Parent.Torso.Position,
860
        Parent = hit.Parent.Torso
861
      })
862
      game:GetService("Debris"):AddItem(bp, 1)
863
    elseif Type == "Freeze" then
864
      local BodPos = Create("BodyPosition")({
865
        P = 50000,
866
        D = 1000,
867
        maxForce = Vector3.new(math.huge, math.huge, math.huge),
868
        position = hit.Parent.Torso.Position,
869
        Parent = hit.Parent.Torso
870
      })
871
      local BodGy = Create("BodyGyro")({
872
        maxTorque = Vector3.new(400000, 400000, 400000) * math.huge,
873
        P = 20000,
874
        Parent = hit.Parent.Torso,
875
        cframe = hit.Parent.Torso.CFrame
876
      })
877
      hit.Parent.Torso.Anchored = true
878
      coroutine.resume(coroutine.create(function(Part)
879
        swait(1.5)
880
        Part.Anchored = false
881
      end), hit.Parent.Torso)
882
      game:GetService("Debris"):AddItem(BodPos, 3)
883
      game:GetService("Debris"):AddItem(BodGy, 3)
884
    end
885
    local debounce = Create("BoolValue")({
886
      Name = "DebounceHit",
887
      Parent = hit.Parent,
888
      Value = true
889
    })
890
    game:GetService("Debris"):AddItem(debounce, Delay)
891
    c = Instance.new("ObjectValue")
892
    c.Name = "creator"
893
    c.Value = Player
894
    c.Parent = h
895
    game:GetService("Debris"):AddItem(c, 0.5)
896
  end
897
end
898
899
function MagniDamage(Part, magni, mindam, maxdam, knock, Type)
900
  for _, c in pairs(workspace:children()) do
901
    local hum = c:findFirstChildOfClass("Humanoid")
902
    if hum ~= nil then
903
      local head = c:findFirstChild("Head")
904
      if head ~= nil then
905
        local targ = head.Position - Part.Position
906
        local mag = targ.magnitude
907
        if magni >= mag and c.Name ~= Player.Name then
908
          Damagefunc(head, head, mindam, maxdam, knock, Type, RootPart, 0.1, "rbxassetid://231917784", 1)
909
        end
910
      end
911
    end
912
  end
913
end
914
915
--// Character \\--
916
917
Character.Animate:Remove()
918
Character.Humanoid.Animator:Remove()
919
Character["Body Colors"]:Remove()
920
921
swait(5)
922
923
LeftArm.Color = Color3.new(1,1,1)
924
LeftArm.Material = "Concrete"
925
RightArm.Color = Color3.new(1,1,1)
926
RightArm.Material = "Concrete"
927
LeftLeg.Color = Color3.new(1,1,1)
928
LeftLeg.Material = "Concrete"
929
RightLeg.Color = Color3.new(1,1,1)
930
RightLeg.Material = "Concrete"
931
Torso.Color = Color3.new(1,1,1)
932
Torso.Material = "Concrete"
933
Head.Color = Color3.new(1,1,1)
934
935
936
for i,v in pairs(Character:GetChildren()) do
937
	if v:IsA("Accessory") or v:IsA("Shirt") or v:IsA("Pants") then
938
		v:Remove()
939
	end
940
end
941
942
943
Humanoid.WalkSpeed = 27
944
Head.Transparency = 1
945
946
function touch(hit)
947
	if hit.Parent ~= Character then
948
		hit.Parent:FindFirstChild("Humanoid").Health = hit.Parent:FindFirstChild("Humanoid").Health -5
949
	end
950
end
951
952
Character.Torso.Touched:connect(touch)
953
954
local MASK = Part2
955
Weld(MASK,Head,CFrame.new(0,-0.5,0)*ANGLES(0,math.rad(0),0))
956
MASK.Parent = Character
957
weldBetween(Head,MASK)
958
959
local dialogue = {"Are you... my next meal?","I've been looking for a snack... hehe..."}
960
961
Chatter("I crave... flesh...",5)
962
963
--// Effect Functions \\--
964
965
function ring(type,pos,scale,value)
966
local type = type
967
local rng = Instance.new("Part", Character)
968
        rng.Anchored = true
969
        rng.BrickColor = origcolor
970
        rng.CanCollide = false
971
        rng.FormFactor = 3
972
        rng.Name = "Ring"
973
        rng.Size = Vector3.new(1, 1, 1)
974
        rng.Transparency = 0
975
        rng.TopSurface = 0
976
        rng.BottomSurface = 0
977
        rng.CFrame = pos
978
        local rngm = Instance.new("SpecialMesh", rng)
979
        rngm.MeshId = "http://www.roblox.com/asset/?id=3270017"
980
rngm.Scale = scale
981
local scaler2 = 1
982
if type == "Add" then
983
scaler2 = 1*value
984
elseif type == "Divide" then
985
scaler2 = 1/value
986
end
987
coroutine.resume(coroutine.create(function()
988
for i = 0,10,0.1 do
989
swait()
990
if type == "Add" then
991
scaler2 = scaler2 - 0.01*value
992
elseif type == "Divide" then
993
scaler2 = scaler2 - 0.01/value
994
end
995
rng.Transparency = rng.Transparency + 0.01
996
rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2, 0)
997
end
998
rng:Destroy()
999
end))
1000
end
1001
 
1002
 
1003
function wave(type,pos,scale,value)
1004
local type = type
1005
local rng = Instance.new("Part", Character)
1006
        rng.Anchored = true
1007
        rng.BrickColor = origcolor
1008
        rng.CanCollide = false
1009
        rng.FormFactor = 3
1010
        rng.Name = "Ring"
1011
        rng.Size = Vector3.new(1, 1, 1)
1012
        rng.Transparency = 0
1013
        rng.TopSurface = 0
1014
        rng.BottomSurface = 0
1015
        rng.CFrame = pos
1016
        local rngm = Instance.new("SpecialMesh", rng)
1017
        rngm.MeshId = "http://www.roblox.com/asset/?id=20329976"
1018
rngm.Scale = scale
1019
local scaler2 = 1
1020
if type == "Add" then
1021
scaler2 = 1*value
1022
elseif type == "Divide" then
1023
scaler2 = 1/value
1024
end
1025
coroutine.resume(coroutine.create(function()
1026
for i = 0,10,0.1 do
1027
swait()
1028
if type == "Add" then
1029
scaler2 = scaler2 - 0.01*value
1030
elseif type == "Divide" then
1031
scaler2 = scaler2 - 0.01/value
1032
end
1033
rng.Transparency = rng.Transparency + 0.01
1034
rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2, scaler2)
1035
end
1036
rng:Destroy()
1037
end))
1038
end
1039
 
1040
function wind(type,pos,scale,value,speed)
1041
local type = type
1042
local rng = Instance.new("Part", Character)
1043
        rng.Anchored = true
1044
        rng.BrickColor = origcolor
1045
        rng.CanCollide = false
1046
        rng.FormFactor = 3
1047
        rng.Name = "Ring"
1048
        rng.Size = Vector3.new(1, 1, 1)
1049
        rng.Transparency = 0
1050
        rng.TopSurface = 0
1051
        rng.BottomSurface = 0
1052
        rng.CFrame = pos
1053
        local rngm = Instance.new("SpecialMesh", rng)
1054
        rngm.MeshId = "http://www.roblox.com/asset/?id=1051557"
1055
rngm.Scale = scale
1056
local scaler2 = 1
1057
if type == "Add" then
1058
scaler2 = 1*value
1059
elseif type == "Divide" then
1060
scaler2 = 1/value
1061
end
1062
coroutine.resume(coroutine.create(function()
1063
for i = 0,10,0.1 do
1064
swait()
1065
if type == "Add" then
1066
scaler2 = scaler2 - 0.01*value
1067
elseif type == "Divide" then
1068
scaler2 = scaler2 - 0.01/value
1069
end
1070
rng.CFrame = rng.CFrame*CFrame.Angles(0,0.025*speed,0)
1071
rng.Transparency = rng.Transparency + 0.01
1072
rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2, scaler2)
1073
end
1074
rng:Destroy()
1075
end))
1076
end
1077
 
1078
function groundwind(type,pos,scale,value,speed)
1079
local type = type
1080
local rng = Instance.new("Part", Character)
1081
        rng.Anchored = true
1082
        rng.BrickColor = origcolor
1083
        rng.CanCollide = false
1084
        rng.FormFactor = 3
1085
        rng.Name = "Ring"
1086
        rng.Size = Vector3.new(1, 1, 1)
1087
        rng.Transparency = 0
1088
        rng.TopSurface = 0
1089
        rng.BottomSurface = 0
1090
        rng.CFrame = pos
1091
        local rngm = Instance.new("SpecialMesh", rng)
1092
        rngm.MeshId = "http://www.roblox.com/asset/?id=1051557"
1093
rngm.Scale = scale
1094
local scaler2 = 1
1095
if type == "Add" then
1096
scaler2 = 1*value
1097
elseif type == "Divide" then
1098
scaler2 = 1/value
1099
end
1100
coroutine.resume(coroutine.create(function()
1101
for i = 0,10,0.1 do
1102
swait()
1103
if type == "Add" then
1104
scaler2 = scaler2 - 0.01*value
1105
elseif type == "Divide" then
1106
scaler2 = scaler2 - 0.01/value
1107
end
1108
rng.CFrame = rng.CFrame*CFrame.Angles(0,0.025*speed,0)
1109
rng.Transparency = rng.Transparency + 0.01
1110
rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2/5, scaler2)
1111
end
1112
rng:Destroy()
1113
end))
1114
end
1115
 
1116
function sphere(bonuspeed,type,pos,scale,value,color,heart,invert,notaffectbychaosrainbow)
1117
local type = type
1118
local rng = Instance.new("Part", Character)
1119
        rng.Anchored = true
1120
        rng.BrickColor = color
1121
        rng.CanCollide = false
1122
        rng.FormFactor = 3
1123
        rng.Name = "Ring"
1124
        rng.Material = "Neon"
1125
        rng.Size = Vector3.new(1, 1, 1)
1126
        rng.Transparency = 0
1127
        rng.TopSurface = 0
1128
        rng.BottomSurface = 0
1129
        rng.CFrame = pos
1130
        local rngm = Instance.new("SpecialMesh", rng)
1131
        rngm.MeshType = "Sphere"
1132
   
1133
 
1134
if(heart)then
1135
    rngm.MeshType = Enum.MeshType.FileMesh
1136
    rngm.MeshId = "rbxassetid://105992239"
1137
    rngm.Offset = Vector3.new(0,0,-.25)
1138
end
1139
rngm.Scale = scale
1140
if rainbowmode == true and not notaffectbychaosrainbow then
1141
rng.Color = Color3.new(r/255,g/255,b/255)
1142
end
1143
local scaler2 = 1
1144
if type == "Add" then
1145
scaler2 = 1*value
1146
elseif type == "Divide" then
1147
scaler2 = 1/value
1148
end
1149
coroutine.resume(coroutine.create(function()
1150
for i = 0,10/bonuspeed,0.1 do
1151
swait()
1152
if rainbowmode == true and not notaffectbychaosrainbow then
1153
rng.Color = Color3.new(r/255,g/255,b/255)
1154
end
1155
if type == "Add" then
1156
scaler2 = scaler2 - 0.01*value/bonuspeed
1157
elseif type == "Divide" then
1158
scaler2 = scaler2 - 0.01/value*bonuspeed
1159
end
1160
if chaosmode == true and not notaffectbychaosrainbow then
1161
rng.BrickColor = BrickColor.random()
1162
end
1163
        if glitchymode then
1164
            local val = math.random(1,255)
1165
            local color = Color3.fromRGB(val,val,val)
1166
            rng.Color = color
1167
        end
1168
rng.Transparency = rng.Transparency + 0.01*bonuspeed
1169
if(invert)then
1170
    if(heart)then
1171
        rngm.Scale = rngm.Scale - Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, 0)
1172
    else
1173
        rngm.Scale = rngm.Scale - Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, scaler2*bonuspeed)
1174
    end
1175
else
1176
    if(heart)then
1177
        rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, 0)
1178
    else
1179
        rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, scaler2*bonuspeed)
1180
    end
1181
end
1182
rng.CFrame = pos
1183
end
1184
rng:Destroy()
1185
end))
1186
end
1187
 
1188
 
1189
function PixelBlock(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos,heart,invert)
1190
local type = type
1191
local rng = Instance.new("Part", Character)
1192
        rng.Anchored = true
1193
        rng.BrickColor = color
1194
        rng.CanCollide = false
1195
        rng.FormFactor = 3
1196
        rng.Name = "Ring"
1197
        rng.Material = "Neon"
1198
        rng.Size = Vector3.new(1, 1, 1)
1199
        rng.Transparency = 0
1200
        rng.TopSurface = 0
1201
        rng.BottomSurface = 0
1202
        rng.CFrame = pos
1203
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
1204
        local rngm = Instance.new("SpecialMesh", rng)
1205
        rngm.MeshType = "Brick"
1206
if(heart)then
1207
    rngm.MeshType = Enum.MeshType.FileMesh
1208
    rngm.MeshId = "rbxassetid://105992239"
1209
    rngm.Offset = Vector3.new(0,0,-.25)
1210
end
1211
rngm.Scale = Vector3.new(x1,y1,z1)
1212
if rainbowmode == true then
1213
rng.Color = Color3.new(r/255,g/255,b/255)
1214
end
1215
local scaler2 = 1
1216
local speeder = FastSpeed/10
1217
if type == "Add" then
1218
scaler2 = 1*value
1219
elseif type == "Divide" then
1220
scaler2 = 1/value
1221
end
1222
coroutine.resume(coroutine.create(function()
1223
for i = 0,10/bonuspeed,0.1 do
1224
swait()
1225
if rainbowmode == true then
1226
rng.Color = Color3.new(r/255,g/255,b/255)
1227
end
1228
if type == "Add" then
1229
scaler2 = scaler2 - 0.01*value/bonuspeed
1230
elseif type == "Divide" then
1231
scaler2 = scaler2 - 0.01/value*bonuspeed
1232
end
1233
if chaosmode == true then
1234
rng.BrickColor = BrickColor.random()
1235
end
1236
        if glitchymode then
1237
            local val = math.random(1,255)
1238
            local color = Color3.fromRGB(val,val,val)
1239
            rng.Color = color
1240
        end
1241
speeder = speeder - 0.01*FastSpeed*bonuspeed/10
1242
if(invert)then rng.CFrame = rng.CFrame - rng.CFrame.lookVector*speeder*bonuspeed else rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed end
1243
--rng.Transparency = rng.Transparency + 0.01*bonuspeed
1244
rngm.Scale = rngm.Scale - Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, scaler2*bonuspeed)
1245
end
1246
rng:Destroy()
1247
end))
1248
end
1249
 
1250
function PixelBlockX(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos)
1251
local type = type
1252
local rng = Instance.new("Part", Character)
1253
        rng.Anchored = true
1254
        rng.BrickColor = color
1255
        rng.CanCollide = false
1256
        rng.FormFactor = 3
1257
        rng.Name = "Ring"
1258
        rng.Material = "Neon"
1259
        rng.Size = Vector3.new(1, 1, 1)
1260
        rng.Transparency = 0
1261
        rng.TopSurface = 0
1262
        rng.BottomSurface = 0
1263
        rng.CFrame = pos
1264
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
1265
        local rngm = Instance.new("SpecialMesh", rng)
1266
        rngm.MeshType = "Brick"
1267
rngm.Scale = Vector3.new(x1,y1,z1)
1268
if rainbowmode == true then
1269
rng.Color = Color3.new(r/255,g/255,b/255)
1270
end
1271
local scaler2 = 1
1272
local speeder = FastSpeed/10
1273
if type == "Add" then
1274
scaler2 = 1*value
1275
elseif type == "Divide" then
1276
scaler2 = 1/value
1277
end
1278
coroutine.resume(coroutine.create(function()
1279
for i = 0,10/bonuspeed,0.1 do
1280
swait()
1281
if rainbowmode == true then
1282
rng.Color = Color3.new(r/255,g/255,b/255)
1283
end
1284
if type == "Add" then
1285
scaler2 = scaler2 - 0.01*value/bonuspeed
1286
elseif type == "Divide" then
1287
scaler2 = scaler2 - 0.01/value*bonuspeed
1288
end
1289
if chaosmode == true then
1290
rng.BrickColor = BrickColor.random()
1291
end
1292
speeder = speeder - 0.01*FastSpeed*bonuspeed/10
1293
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed
1294
rng.Transparency = rng.Transparency + 0.01*bonuspeed
1295
rngm.Scale = rngm.Scale - Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, scaler2*bonuspeed)
1296
end
1297
rng:Destroy()
1298
end))
1299
end 
1300
1301
function PixelBlockNeg(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos,heart,invert)
1302
local type = type
1303
local rng = Instance.new("Part", Character)
1304
        rng.Anchored = true
1305
        rng.BrickColor = color
1306
        rng.CanCollide = false
1307
        rng.FormFactor = 3
1308
        rng.Name = "Ring"
1309
        rng.Material = "Neon"
1310
        rng.Size = Vector3.new(1, 1, 1)
1311
        rng.Transparency = 0
1312
        rng.TopSurface = 0
1313
        rng.BottomSurface = 0
1314
        rng.CFrame = pos
1315
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
1316
        local rngm = Instance.new("SpecialMesh", rng)
1317
        rngm.MeshType = "Brick"
1318
if(heart)then
1319
    rngm.MeshType = Enum.MeshType.FileMesh
1320
    rngm.MeshId = "rbxassetid://105992239"
1321
    rngm.Offset = Vector3.new(0,0,-.25)
1322
end
1323
rngm.Scale = Vector3.new(x1,y1,z1)
1324
if rainbowmode == true then
1325
rng.Color = Color3.new(r/255,g/255,b/255)
1326
end
1327
local scaler2 = 0
1328
local speeder = FastSpeed/10
1329
if type == "Add" then
1330
scaler2 = 1*value
1331
elseif type == "Divide" then
1332
scaler2 = 1/value
1333
end
1334
coroutine.resume(coroutine.create(function()
1335
for i = 0,10/bonuspeed,0.1 do
1336
swait()
1337
if rainbowmode == true then
1338
rng.Color = Color3.new(r/255,g/255,b/255)
1339
end
1340
if type == "Add" then
1341
scaler2 = scaler2 - 0.01*value/bonuspeed
1342
elseif type == "Divide" then
1343
scaler2 = scaler2 - 0.01/value*bonuspeed
1344
end
1345
if chaosmode == true then
1346
rng.BrickColor = BrickColor.random()
1347
end
1348
        if glitchymode then
1349
            local val = math.random(1,255)
1350
            local color = Color3.fromRGB(val,val,val)
1351
            rng.Color = color
1352
        end
1353
speeder = speeder + 0.01*FastSpeed*bonuspeed/10
1354
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed
1355
if(invert)then rng.CFrame = rng.CFrame - rng.CFrame.lookVector*speeder*bonuspeed else rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed end
1356
--rng.Transparency = rng.Transparency + 0.01*bonuspeed
1357
rngm.Scale = rngm.Scale - Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, scaler2*bonuspeed)
1358
end
1359
rng:Destroy()
1360
end))
1361
end
1362
 
1363
function sphereMK(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos)
1364
local type = type
1365
local rng = Instance.new("Part", Character)
1366
        rng.Anchored = true
1367
        rng.BrickColor = color
1368
        rng.CanCollide = false
1369
        rng.FormFactor = 3
1370
        rng.Name = "Ring"
1371
        rng.Material = "Neon"
1372
        rng.Size = Vector3.new(1, 1, 1)
1373
        rng.Transparency = 0
1374
        rng.TopSurface = 0
1375
        rng.BottomSurface = 0
1376
        rng.CFrame = pos
1377
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
1378
        local rngm = Instance.new("SpecialMesh", rng)
1379
        rngm.MeshType = "Sphere"
1380
rngm.Scale = Vector3.new(x1,y1,z1)
1381
if rainbowmode == true then
1382
rng.Color = Color3.new(r/255,g/255,b/255)
1383
end
1384
local scaler2 = 1
1385
local speeder = FastSpeed
1386
if type == "Add" then
1387
scaler2 = 1*value
1388
elseif type == "Divide" then
1389
scaler2 = 1/value
1390
end
1391
coroutine.resume(coroutine.create(function()
1392
for i = 0,10/bonuspeed,0.1 do
1393
swait()
1394
if rainbowmode == true then
1395
rng.Color = Color3.new(r/255,g/255,b/255)
1396
end
1397
if type == "Add" then
1398
scaler2 = scaler2 - 0.01*value/bonuspeed
1399
elseif type == "Divide" then
1400
scaler2 = scaler2 - 0.01/value*bonuspeed
1401
end
1402
if chaosmode == true then
1403
rng.BrickColor = BrickColor.random()
1404
end
1405
        if glitchymode then
1406
            local val = math.random(1,255)
1407
            local color = Color3.fromRGB(val,val,val)
1408
            rng.Color = color
1409
        end
1410
speeder = speeder - 0.01*FastSpeed*bonuspeed
1411
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed
1412
rng.Transparency = rng.Transparency + 0.01*bonuspeed
1413
rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, 0)
1414
end
1415
rng:Destroy()
1416
end))
1417
end
1418
 
1419
 
1420
function sphereMKCharge(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos)
1421
local type = type
1422
local rng = Instance.new("Part", Character)
1423
        rng.Anchored = true
1424
        rng.BrickColor = color
1425
        rng.CanCollide = false
1426
        rng.FormFactor = 3
1427
        rng.Name = "Ring"
1428
        rng.Material = "Neon"
1429
        rng.Size = Vector3.new(1, 1, 1)
1430
        rng.Transparency = 1
1431
        rng.TopSurface = 0
1432
        rng.BottomSurface = 0
1433
        rng.CFrame = pos
1434
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
1435
        local rngm = Instance.new("SpecialMesh", rng)
1436
        rngm.MeshType = "Sphere"
1437
rngm.Scale = Vector3.new(x1,y1,z1)
1438
if rainbowmode == true then
1439
rng.Color = Color3.new(r/255,g/255,b/255)
1440
end
1441
local scaler2 = 1
1442
local speeder = FastSpeed
1443
if type == "Add" then
1444
scaler2 = 1*value
1445
elseif type == "Divide" then
1446
scaler2 = 1/value
1447
end
1448
coroutine.resume(coroutine.create(function()
1449
for i = 0,10/bonuspeed,0.1 do
1450
swait()
1451
if rainbowmode == true then
1452
rng.Color = Color3.new(r/255,g/255,b/255)
1453
end
1454
if type == "Add" then
1455
scaler2 = scaler2 - 0.01*value/bonuspeed
1456
elseif type == "Divide" then
1457
scaler2 = scaler2 - 0.01/value*bonuspeed
1458
end
1459
if chaosmode == true then
1460
rng.BrickColor = BrickColor.random()
1461
end
1462
        if glitchymode then
1463
            local val = math.random(1,255)
1464
            local color = Color3.fromRGB(val,val,val)
1465
            rng.Color = color
1466
        end
1467
speeder = speeder - 0.01*FastSpeed*bonuspeed
1468
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed
1469
rng.Transparency = rng.Transparency - 0.01*bonuspeed
1470
rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, 0)
1471
end
1472
rng:Destroy()
1473
end))
1474
end
1475
1476
--// Attacks \\--
1477
1478
function ExtinctiveHeartbreak()
1479
local targetted = nil
1480
if mouse.Target.Parent ~= Character and mouse.Target.Parent.Parent ~= Character and mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
1481
targetted = mouse.Target.Parent
1482
end
1483
if targetted ~= nil then
1484
attack = true
1485
CFuncs["Sound"].Create("rbxassetid://847061203", RootPart, 2.5,1)
1486
for i = 0, 9 do
1487
sphereMK(3,0.25,"Add",RootPart.CFrame*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))),1,1,10,-0.01,BrickColor.new("Really black"),0)
1488
end
1489
for i = 0, 24 do
1490
PixelBlock(1,math.random(4,8),"Add",RootPart.CFrame*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))),3,3,3,0.06,BrickColor.new("Really black"),0)
1491
end
1492
sphere(3,"Add",RootPart.CFrame,Vector3.new(0,0,0),0.25,BrickColor.new("Really black"))
1493
local originalpos = RootPart.CFrame
1494
RootPart.CFrame = targetted.Head.CFrame * CFrame.new(0,-2,2)
1495
for i = 0, 9 do
1496
sphereMK(3,0.25,"Add",RootPart.CFrame*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))),1,1,10,-0.01,BrickColor.new("Really black"),0)
1497
end
1498
for i = 0, 24 do
1499
PixelBlock(1,math.random(4,8),"Add",RootPart.CFrame*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))),3,3,3,0.06,BrickColor.new("Really black"),0)
1500
end
1501
Humanoid.WalkSpeed = 0
1502
targetted.Head.Anchored = true
1503
sphere(3,"Add",RootPart.CFrame,Vector3.new(0,0,0),0.25,BrickColor.new("Really black"))
1504
for i = 0,2,0.1 do
1505
swait()
1506
RightHip.C0=Clerp(RightHip.C0,CF(1,-1 - 0.05 * math.cos(theta / 28),0)*ANGLES(math.rad(0),math.rad(90),math.rad(0))*ANGLES(math.rad(-2.5),math.rad(0),math.rad(0)),.4)
1507
LeftHip.C0=Clerp(LeftHip.C0,CF(-1,-1 - 0.05 * math.cos(theta / 28),0)*ANGLES(math.rad(0),math.rad(-90),math.rad(0))*ANGLES(math.rad(-2.5),math.rad(0),math.rad(0)),.4)
1508
RootJoint.C0=Clerp(RootJoint.C0,RootCF*CF(0,0,0 + 0.05 * math.cos(theta / 28))*ANGLES(math.rad(0),math.rad(0),math.rad(80)),.4)
1509
Torso.Neck.C0=Clerp(Torso.Neck.C0,NECKC0*ANGLES(math.rad(20),math.rad(0),math.rad(10)),.8)
1510
RightShoulder.C0=Clerp(RightShoulder.C0,CF(1.5,0.5 + 0.1 * math.cos(theta / 28),0)*ANGLES(math.rad(20),math.rad(0),math.rad(10)),.4)
1511
LeftShoulder.C0=Clerp(LeftShoulder.C0,CF(-1.5,0.5 + 0.1 * math.cos(theta / 28),0)*ANGLES(math.rad(90),math.rad(0),math.rad(60)),.4)
1512
end
1513
coroutine.resume(coroutine.create(function()
1514
if targetted.Humanoid.RigType == "R6" then
1515
	bld = Instance.new("ParticleEmitter",targetted:WaitForChild("Torso"))
1516
else
1517
	bld = Instance.new("ParticleEmitter",targetted:WaitForChild("UpperTorso"))
1518
end
1519
bld.LightEmission = 0.1
1520
bld.Texture = "rbxassetid://284205403"
1521
bld.Color = ColorSequence.new(Color3.new(0.5,0,0))
1522
bld.Rate = 500
1523
bld.Lifetime = NumberRange.new(1)
1524
bld.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,2,0),NumberSequenceKeypoint.new(1,0,0)})
1525
bld.Acceleration = Vector3.new(0,-25,0)
1526
bld.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(1,0,0)})
1527
bld.Speed = NumberRange.new(10,50)
1528
bld.EmissionDirection = "Front"
1529
bld.VelocitySpread = 25
1530
bld.Rotation = NumberRange.new(-500,500)
1531
bld.RotSpeed = NumberRange.new(-500,500)
1532
end))
1533
coroutine.resume(coroutine.create(function()
1534
bld = Instance.new("ParticleEmitter",targetted:WaitForChild("UpperTorso"))
1535
bld.LightEmission = 0.1
1536
bld.Texture = "rbxassetid://284205403"
1537
bld.Color = ColorSequence.new(Color3.new(0.5,0,0))
1538
bld.Rate = 500
1539
bld.Lifetime = NumberRange.new(1)
1540
bld.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,2,0),NumberSequenceKeypoint.new(1,0,0)})
1541
bld.Acceleration = Vector3.new(0,-25,0)
1542
bld.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(1,0,0)})
1543
bld.Speed = NumberRange.new(10,50)
1544
bld.EmissionDirection = "Front"
1545
bld.VelocitySpread = 25
1546
bld.Rotation = NumberRange.new(-500,500)
1547
bld.RotSpeed = NumberRange.new(-500,500)
1548
end))
1549
game:GetService("Debris"):AddItem(bld,3)
1550
targetted:BreakJoints()
1551
CFuncs["Sound"].Create("rbxassetid://429400881", targetted.Head, 1,1)
1552
for i = 0,1,0.1 do
1553
swait()
1554
RightHip.C0=Clerp(RightHip.C0,CF(1,-1 - 0.05 * math.cos(theta / 28),0)*ANGLES(math.rad(0),math.rad(90),math.rad(0))*ANGLES(math.rad(-2.5),math.rad(0),math.rad(0)),.8)
1555
LeftHip.C0=Clerp(LeftHip.C0,CF(-1,-1 - 0.05 * math.cos(theta / 28),0)*ANGLES(math.rad(0),math.rad(-90),math.rad(0))*ANGLES(math.rad(-2.5),math.rad(0),math.rad(0)),.8)
1556
RootJoint.C0=Clerp(RootJoint.C0,RootCF*CF(0,0.25,0 + 0.05 * math.cos(theta / 28))*ANGLES(math.rad(0),math.rad(0),math.rad(-80)),.8)
1557
Torso.Neck.C0=Clerp(Torso.Neck.C0,NECKC0*ANGLES(math.rad(20),math.rad(0),math.rad(80)),.8)
1558
RightShoulder.C0=Clerp(RightShoulder.C0,CF(1.5,0.5 + 0.1 * math.cos(theta / 28),0)*ANGLES(math.rad(20),math.rad(0),math.rad(10)),.8)
1559
LeftShoulder.C0=Clerp(LeftShoulder.C0,CF(-1.5,0.5 + 0.1 * math.cos(theta / 28),0)*ANGLES(math.rad(90),math.rad(0),math.rad(-80)),.8)
1560
end
1561
CFuncs["Sound"].Create("rbxassetid://847061203", RootPart, 2.5,1)
1562
for i = 0, 9 do
1563
sphereMK(3,0.25,"Add",RootPart.CFrame*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))),1,1,10,-0.01,BrickColor.new("Really black"),0)
1564
end
1565
for i = 0, 24 do
1566
PixelBlock(1,math.random(4,8),"Add",RootPart.CFrame*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))),3,3,3,0.06,BrickColor.new("Really black"),0)
1567
end
1568
sphere(3,"Add",RootPart.CFrame,Vector3.new(0,0,0),0.25,BrickColor.new("Really black"))
1569
RootPart.CFrame = originalpos
1570
for i = 0, 9 do
1571
sphereMK(3,0.25,"Add",RootPart.CFrame*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))),1,1,10,-0.01,BrickColor.new("Really black"),0)
1572
end
1573
for i = 0, 24 do
1574
PixelBlock(1,math.random(4,8),"Add",RootPart.CFrame*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))),3,3,3,0.06,BrickColor.new("Really black"),0)
1575
end
1576
sphere(3,"Add",RootPart.CFrame,Vector3.new(0,0,0),0.25,BrickColor.new("Really black"))
1577
bld.Enabled = false
1578
attack = false
1579
Humanoid.WalkSpeed = 27
1580
end
1581
end
1582
1583
mouse.KeyDown:connect(function(k)
1584
if k == "p" and attack == false then
1585
Chatter(dialogue [math.random(1,#dialogue)],5)
1586
elseif k == "z" and attack == false then
1587
ExtinctiveHeartbreak()
1588
end
1589
end)
1590
1591
Chatter("I crave... flesh...",5)
1592
1593
while true do
1594
	swait()
1595
	theta = theta + 1
1596
	Script6.Parent.Rotation = math.random(-15,15)
1597
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1598
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1599
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1600
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1601
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1602
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CFrame.new(0, 0, 0.05 * COS(theta / (WALKSPEEDVALUE/2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / 3)
1603
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / 3)
1604
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(theta / WALKSPEEDVALUE) - 0.15 * COS(theta / WALKSPEEDVALUE*2), 0.2 * SIN(theta / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(theta / WALKSPEEDVALUE))), 0.6 / 3)
1605
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(theta / WALKSPEEDVALUE) - 0.15 * COS(theta / WALKSPEEDVALUE*2), -0.2 * SIN(theta / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(theta / WALKSPEEDVALUE))), 0.6 / 3)
1606
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1607
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / 3)
1608
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / 3)
1609
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / 3)
1610
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / 3)
1611
	end
1612
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1613
		ANIM = "Jump"
1614
		if attack == false then
1615
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / 3)
1616
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / 3)
1617
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(25 + 10 * COS(theta / 12))) * RIGHTSHOULDERC0, 1 / 3)
1618
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-25 - 10 * COS(theta / 12))) * LEFTSHOULDERC0, 1 / 3)
1619
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(theta / 6)), RAD(0), RAD(0)), 1 / 3)
1620
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1 * SIN(theta / 6)), RAD(0), RAD(0)), 1 / 3)
1621
		end
1622
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1623
		ANIM = "Fall"
1624
		if attack == false then
1625
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / 3)
1626
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / 3)
1627
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35 - 4 * COS(theta / 6)), RAD(0), RAD(45 + 10 * COS(theta / 12))) * RIGHTSHOULDERC0, 1 / 3)
1628
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35 - 4 * COS(theta / 6)), RAD(0), RAD(-45 - 10 * COS(theta / 12))) * LEFTSHOULDERC0, 1 / 3)
1629
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25 + 5 * SIN(theta / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(theta / 6)), RAD(0), RAD(0)), 1 / 3)
1630
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(theta / 6)), RAD(0), RAD(0)), 1 / 3)
1631
		end
1632
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1633
		ANIM = "Idle"
1634
		if attack == false then
1635
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(theta / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / 3)
1636
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / 3)
1637
			if MRANDOM(1,7) == 1 then
1638
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(theta / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / 3)
1639
			end
1640
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, 0.5) * ANGLES(RAD(-25 - 4 * COS(theta / 12)), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / 3)
1641
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.5) * ANGLES(RAD(-30 - 4 * COS(theta / 12)), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / 3)
1642
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(theta / 12), 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / 3)
1643
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(theta / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / 3)
1644
		end
1645
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1646
		ANIM = "Walk"
1647
		if attack == false then
1648
			RightHip.C0=Clerp(RightHip.C0,CF(1,-1 - 0.15 * math.cos(theta / 3),0)*ANGLES(math.rad(0),math.rad(90),math.rad(0))*ANGLES(math.rad(0),math.rad(0),math.rad(0 + 95 * math.cos(theta / 6))),.1)
1649
			LeftHip.C0=Clerp(LeftHip.C0,CF(-1,-1 - 0.15 * math.cos(theta / 3),0)*ANGLES(math.rad(0),math.rad(-90),math.rad(0))*ANGLES(math.rad(0),math.rad(0),math.rad(0 + 95 * math.cos(theta / 6))),.1)
1650
			RootJoint.C0 = Clerp(RootJoint.C0,RootCF*CF(0, 0, -0.125 + 0.125 * math.cos(theta / 3)) * ANGLES(math.rad(20), math.rad(0), math.rad(0 - 15 * math.cos(theta / 6))), 0.1)
1651
			Torso.Neck.C0=Clerp(Torso.Neck.C0,NECKC0*ANGLES(math.rad(-6 + 2 * math.cos(theta / 3)),math.rad(0 + RootPart.RotVelocity.Y*1.5),math.rad(0 - Head.RotVelocity.Y*1.5 + 1 * math.cos(theta / 6))),.1)
1652
			RightShoulder.C0=Clerp(RightShoulder.C0,CF(1.5,0.5,0.3)*ANGLES(math.rad(-50 + 10 * math.cos(theta / 3)),math.rad(-10),math.rad(7 + 5 * math.cos(theta / 6))),.1)
1653
			LeftShoulder.C0=Clerp(LeftShoulder.C0,CF(-1.5,0.5,0.3)*ANGLES(math.rad(-50 + 10 * math.cos(theta / 3)),math.rad(10),math.rad(-7 - 5 * math.cos(theta / 6))),.1)
1654
		end
1655
	end
1656
end