View difference between Paste ID: h9114dtX and 2jeDJejL
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,game,owner = owner,game
4
local RealPlayer = Player
5
do
6
	print("FE Compatibility code V2 by Mokiros")
7
	local RealPlayer = RealPlayer
8
	script.Parent = RealPlayer.Character
9
10
	--Fake event to make stuff like Mouse.KeyDown work
11
	local Disconnect_Function = function(this)
12
		this[1].Functions[this[2]] = nil
13
	end
14
	local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
15
	local FakeEvent_Metatable = {__index={
16
		Connect = function(this,f)
17
			local i = tostring(math.random(0,10000))
18
			while this.Functions[i] do
19
				i = tostring(math.random(0,10000))
20
			end
21
			this.Functions[i] = f
22
			return setmetatable({this,i},Disconnect_Metatable)
23
		end
24
	}}
25
	FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
26
	local function fakeEvent()
27
		return setmetatable({Functions={}},FakeEvent_Metatable)
28
	end
29
30
	--Creating fake input objects with fake variables
31
    local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
32
    FakeMouse.keyUp = FakeMouse.KeyUp
33
    FakeMouse.keyDown = FakeMouse.KeyDown
34
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
35
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
36
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
37
	end}
38
	--Merged 2 functions into one by checking amount of arguments
39
	CAS.UnbindAction = CAS.BindAction
40
41
	--This function will trigger the events that have been :Connect()'ed
42
	local function TriggerEvent(self,ev,...)
43
		for _,f in pairs(self[ev].Functions) do
44
			f(...)
45
		end
46
	end
47
	FakeMouse.TriggerEvent = TriggerEvent
48
	UIS.TriggerEvent = TriggerEvent
49
50
	--Client communication
51
	local Event = Instance.new("RemoteEvent")
52
	Event.Name = "UserInput_Event"
53
	Event.OnServerEvent:Connect(function(plr,io)
54
	    if plr~=RealPlayer then return end
55
		FakeMouse.Target = io.Target
56
		FakeMouse.Hit = io.Hit
57
		if not io.isMouse then
58
			local b = io.UserInputState == Enum.UserInputState.Begin
59
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
60
				return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
61
			end
62
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
63
				return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
64
			end
65
			for _,t in pairs(CAS.Actions) do
66
				for _,k in pairs(t.Keys) do
67
					if k==io.KeyCode then
68
						t.Function(t.Name,io.UserInputState,io)
69
					end
70
				end
71
			end
72
			FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
73
			UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
74
	    end
75
	end)
76
	Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
77
	local Mouse = owner:GetMouse()
78
	local UIS = game:GetService("UserInputService")
79
	local input = function(io,RobloxHandled)
80
		if RobloxHandled then return end
81
		--Since InputObject is a client-side instance, we create and pass table instead
82
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
83
	end
84
	UIS.InputBegan:Connect(input)
85
	UIS.InputEnded:Connect(input)
86
87
	local h,t
88
	--Give the server mouse data every second frame, but only if the values changed
89
	--If player is not moving their mouse, client won't fire events
90
	local HB = game:GetService("RunService").Heartbeat
91
	while true 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
		--Wait 2 frames
97
		for i=1,2 do
98
			HB:Wait()
99
		end
100
	end]==],script)
101
102
	----Sandboxed game object that allows the usage of client-side methods and services
103
	--Real game object
104
	local RealGame = game
105
106
	--Metatable for fake service
107
	local FakeService_Metatable = {
108
		__index = function(self,k)
109
			local s = rawget(self,"_RealService")
110
			if s then
111
				return typeof(s[k])=="function"
112
				and function(_,...)return s[k](s,...)end or s[k]
113
			end
114
		end,
115
		__newindex = function(self,k,v)
116
			local s = rawget(self,"_RealService")
117
			if s then s[k]=v end
118
		end
119
	}
120
	local function FakeService(t,RealService)
121
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
122
		return setmetatable(t,FakeService_Metatable)
123
	end
124
125
	--Fake game object
126
	local FakeGame = {
127
		GetService = function(self,s)
128
			return rawget(self,s) or RealGame:GetService(s)
129
		end,
130
		Players = FakeService({
131
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
132
		},"Players"),
133
		UserInputService = FakeService(UIS,"UserInputService"),
134
		ContextActionService = FakeService(CAS,"ContextActionService"),
135
		RunService = FakeService({
136
			_btrs = {},
137
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
138
			BindToRenderStep = function(self,name,_,fun)
139
				self._btrs[name] = self.Heartbeat:Connect(fun)
140
			end,
141
			UnbindFromRenderStep = function(self,name)
142
				self._btrs[name]:Disconnect()
143
			end,
144
		},"RunService")
145
	}
146
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
147
	FakeGame.service = FakeGame.GetService
148
	FakeService(FakeGame,game)
149
	--Changing owner to fake player object to support owner:GetMouse()
150
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
151
end
152
-- Created by Nebula_Zorua --
153
-- Glitch --
154
-- Smile for the ca-aaaaaa-amera~ --
155
-- Discord: Nebula the Zorua#6969
156
-- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
157
158
159
--// Initializing \\--
160
local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
161
local Plrs = S.Players
162
local Plr = Plrs.LocalPlayer
163
local Char = Plr.Character
164
local Hum = Char:FindFirstChildOfClass'Humanoid'
165
local RArm = Char["Right Arm"]
166
local LArm = Char["Left Arm"]
167
local RLeg = Char["Right Leg"]
168
local LLeg = Char["Left Leg"]	
169
local Root = Char:FindFirstChild'HumanoidRootPart'
170
local Torso = Char.Torso
171
local Head = Char.Head
172
local NeutralAnims = true
173
local Attack = false
174
local BloodPuddles = {}
175
local Effects = {}
176
local Debounces = {Debounces={}}
177
local Mouse = Plr:GetMouse()
178
local Hit = {}
179
local Sine = 0
180
local Change = 1
181
182
Hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
183
--// Debounce System \\--
184
185
186
function Debounces:New(name,cooldown)
187
	local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
188
	setmetatable(aaaaa,{__index = Debounces})
189
	Debounces.Debounces[name] = aaaaa
190
	return aaaaa
191
end
192
193
function Debounces:Use(overrideUsable)
194
	assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
195
	if(self.Usable or overrideUsable)then
196
		self.Usable = false
197
		self.CoolingDown = true
198
		local LastUse = time()
199
		self.LastUse = LastUse
200
		delay(self.Cooldown or 2,function()
201
			if(self.LastUse == LastUse)then
202
				self.CoolingDown = false
203
				self.Usable = true
204
			end
205
		end)
206
	end
207
end
208
209
function Debounces:Get(name)
210
	assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
211
	for i,v in next, Debounces.Debounces do
212
		if(i == name)then
213
			return v;
214
		end
215
	end
216
end
217
218
function Debounces:GetProgressPercentage()
219
	assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
220
	if(self.CoolingDown and not self.Usable)then
221
		return math.max(
222
			math.floor(
223
				(
224
					(time()-self.LastUse)/self.Cooldown or 2
225
				)*100
226
			)
227
		)
228
	else
229
		return 100
230
	end
231
end
232
233
--// Shortcut Variables \\--
234
local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
235
local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
236
local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
237
local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge,RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end}
238
local R3 = {N=Region3.new}
239
local De = S.Debris
240
local WS = workspace
241
local Lght = S.Lighting
242
local RepS = S.ReplicatedStorage
243
local IN = Instance.new
244
--// Instance Creation Functions \\--
245
246
function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
247
	local Sound = IN("Sound")
248
	Sound.SoundId = "rbxassetid://".. tostring(id or 0)
249
	Sound.Pitch = pitch or 1
250
	Sound.Volume = volume or 1
251
	Sound.Looped = looped or false
252
	if(autoPlay)then
253
		coroutine.wrap(function()
254
			repeat wait() until Sound.IsLoaded
255
			Sound.Playing = autoPlay or false
256
		end)()
257
	end
258
	if(not looped and effect)then
259
		Sound.Stopped:connect(function()
260
			Sound.Volume = 0
261
			Sound:destroy()
262
		end)
263
	elseif(effect)then
264
		warn("Sound can't be looped and a sound effect!")
265
	end
266
	Sound.Parent =parent or Torso
267
	return Sound
268
end
269
function Part(parent,color,material,size,cframe,anchored,cancollide)
270
	local part = IN("Part")
271
	part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
272
	part.Material = material or Enum.Material.SmoothPlastic
273
	part.TopSurface,part.BottomSurface=10,10
274
	part.Size = size or V3.N(1,1,1)
275
	part.CFrame = cframe or CF.N(0,0,0)
276
	part.Anchored = anchored or true
277
	part.CanCollide = cancollide or false
278
	part.Parent = parent or Char
279
	return part
280
end
281
function Mesh(parent,meshtype,meshid,textid,scale,offset)
282
	local part = IN("SpecialMesh")
283
	part.MeshId = meshid or ""
284
	part.TextureId = textid or ""
285
	part.Scale = scale or V3.N(1,1,1)
286
	part.Offset = offset or V3.N(0,0,0)
287
	part.MeshType = meshtype or Enum.MeshType.Sphere
288
	part.Parent = parent
289
	return part
290
end
291
292
NewInstance = function(instance,parent,properties)
293
	local inst = Instance.new(instance,parent)
294
	if(properties)then
295
		for i,v in next, properties do
296
			pcall(function() inst[i] = v end)
297
		end
298
	end
299
	return inst;
300
end
301
302
303
304
--// Extended ROBLOX tables \\--
305
local Instance = setmetatable({ClearChildrenOfClass = function(where,class,recursive) local children = (recursive and where:GetDescendants() or where:GetChildren()) for _,v in next, children do if(v:IsA(class))then v:destroy();end;end;end},{__index = Instance})
306
--// Customization \\--
307
308
local Frame_Speed = 60 -- The frame speed for swait. 1 is automatically divided by this
309
local Remove_Hats = false
310
local Remove_Clothing = false
311
local PlayerSize = 1
312
local DamageColor = BrickColor.new'Institutional white'
313
local MusicId = 1470848774
314
local Twitching = false
315
local ForcedTwitching =  false
316
local TwitchTime = 0
317
local Filter = true
318
319
local TimePos = 0
320
local ReverseTime = 0
321
--// Weapon and GUI creation, and Character Customization \\--
322
323
if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
324
if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
325
local Effects = IN("Folder",Char)
326
Effects.Name = "Effects"
327
328
Instance.ClearChildrenOfClass(Head,"Decal")
329
330
NewInstance("Decal",Head,{Texture='rbxassetid://1345127347',Face=Enum.NormalId.Front})
331
local Music = Sound(Torso,MusicId,1,3,true,false,true)
332
333
if(PlayerSize ~= 1)then
334
	for _,v in next, Char:GetDescendats() do
335
		if(v:IsA'BasePart')then
336
			v.Size = v.Size * PlayerSize
337
		end
338
	end
339
end
340
341
--// Stop animations \\--
342
for _,v in next, Hum:GetPlayingAnimationTracks() do
343
	v:Stop();
344
end
345
346
pcall(game.Destroy,Char:FindFirstChild'Animate')
347
pcall(game.Destroy,Hum:FindFirstChild'Animator')
348
349
--// Joints \\--
350
351
local LS = NewInstance('Motor',Char,{Part0=Torso,Part1=LArm,C0 = CF.N(-1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
352
local RS = NewInstance('Motor',Char,{Part0=Torso,Part1=RArm,C0 = CF.N(1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
353
local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * PlayerSize,0)})
354
local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
355
local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
356
local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
357
358
local LSC0 = LS.C0
359
local RSC0 = RS.C0
360
local NKC0 = NK.C0
361
local LHC0 = LH.C0
362
local RHC0 = RH.C0
363
local RJC0 = RJ.C0
364
365
--// Artificial HB \\--
366
367
local ArtificialHB = IN("BindableEvent", script)
368
ArtificialHB.Name = "Heartbeat"
369
370
script:WaitForChild("Heartbeat")
371
372
local tf = 0
373
local allowframeloss = false
374
local tossremainder = false
375
local lastframe = tick()
376
local frame = 1/Frame_Speed
377
ArtificialHB:Fire()
378
379
game:GetService("RunService").Heartbeat:connect(function(s, p)
380
	tf = tf + s
381
	if tf >= frame then
382
		if allowframeloss then
383
			script.Heartbeat:Fire()
384
			lastframe = tick()
385
		else
386
			for i = 1, math.floor(tf / frame) do
387
				ArtificialHB:Fire()
388
			end
389
			lastframe = tick()
390
		end
391
		if tossremainder then
392
			tf = 0
393
		else
394
			tf = tf - frame * math.floor(tf / frame)
395
		end
396
	end
397
end)
398
399
function swait(num)
400
	if num == 0 or num == nil then
401
		ArtificialHB.Event:wait()
402
	else
403
		for i = 0, num do
404
			ArtificialHB.Event:wait()
405
		end
406
	end
407
end
408
409
410
--// Effect Function(s) \\--
411
412
local DownCharacters = {"̖","̗","̘","̙","̜","̝","̞","̟","̠","̤","̥","̦","̩","̪","̫","̬","̭","̮","̯","̰","̱","̲","̳","̹","̺","̻","̼","ͅ","͇","͈","͉","͍","͎","͓","͔","͕","͖","͙","͚","̣",}
413
local UpCharacters = {"̍","̎","̄","̅","̿","̑","̆","̐","͒","͗","͑","̇","̈","̊","͂","̓","̈́","͊","͋","͌","̃","̂","̌","͐","̀","́","̋","̏","̒","̓","̔","̽","̉","ͣ","ͤ","ͥ","ͦ","ͧ","ͨ","ͩ","ͪ","ͫ","ͬ","ͭ","ͮ","ͯ","̾","͛","͆","̚",}
414
local MidCharacters = {"̕","̛","̀","́","͘","̡","̢","̧","̨","̴","̵","̶","͏","͜","͝","͞","͟","͠","͢","̸","̷","͡","҉",}
415
416
function IsUnicode(c)
417
	for i = 128, 255 do
418
		if(string.char(i) == string.char(string.byte(c)))then
419
			return true
420
		end
421
	end
422
	return false
423
end
424
425
function IsZalgoChar(c)
426
	for i = 1, #UpCharacters do
427
		if(c == UpCharacters[i])then
428
			return true
429
		end
430
	end
431
	for i = 1, #DownCharacters do
432
		if(c == DownCharacters[i])then
433
			return true
434
		end
435
	end
436
	for i = 1, #MidCharacters do
437
		if(c == MidCharacters[i])then
438
			return true
439
		end
440
	end
441
	return false
442
end
443
				
444
function Zalgo(str,up,mid,down,streng)
445
	local function rand(max)
446
		return math.floor(M.RNG() * max);
447
	end
448
	local newTxt = "";
449
	for i = 1, #str do
450
		if(not IsZalgoChar(str:sub(i,i)))then
451
			local upN,midN,downN = rand(8),rand(2),rand(8)
452
			if(streng == 2)then
453
				upN,midN,downN = rand(16)/2+1,rand(6)/2,rand(16)/2+1
454
			elseif(streng == 3)then
455
				upN,midN,downN = rand(64)/4+3,rand(16)/4+1,rand(64)/4+3
456
			end
457
			newTxt = newTxt..str:sub(i,i)
458
			if(up)then
459
				for j = 0, upN do
460
					newTxt = newTxt..UpCharacters[M.RNG(1,#UpCharacters)]
461
				end
462
			end
463
			if(mid)then
464
				for j = 0, midN do
465
					newTxt = newTxt..MidCharacters[M.RNG(1,#MidCharacters)]
466
				end
467
			end
468
			if(down)then
469
				for j = 0, downN do
470
					newTxt = newTxt..DownCharacters[M.RNG(1,#DownCharacters)]
471
				end
472
			end
473
		end
474
	end
475
	return newTxt
476
end
477
478
function Bezier(startpos, pos2, pos3, endpos, t)
479
	local A = startpos:lerp(pos2, t)
480
	local B  = pos2:lerp(pos3, t)
481
	local C = pos3:lerp(endpos, t)
482
	local lerp1 = A:lerp(B, t)
483
	local lerp2 = B:lerp(C, t)
484
	local cubic = lerp1:lerp(lerp2, t)
485
	return cubic
486
end
487
488
489
function Effect(data)
490
	local FX = data.Effect or 'Resize-AndFade'
491
	local Parent = data.Parent or Effects
492
	local Color = data.Color or C3.N(0,0,0)
493
	local Size = data.Size or V3.N(1,1,1)
494
	local MoveDir = data.MoveDirection or nil
495
	local MeshData = data.Mesh or nil
496
	local SndData = data.Sound or nil
497
	local Frames = data.Frames or 45
498
	local Manual = data.Manual or nil
499
	local Material = data.Material or nil
500
	local CFra = data.CFrame or Torso.CFrame
501
	local Settings = data.FXSettings or {}
502
	local Snd,Prt,Msh;
503
	if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
504
		Prt = Manual
505
	else
506
		Prt = Part(Parent,Color,Material,Size,CFra,true,false)
507
	end
508
	if(typeof(MeshData) == 'table')then
509
		Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
510
	elseif(typeof(MeshData) == 'Instance')then
511
		Msh = MeshData:Clone()
512
		Msh.Parent = Prt
513
	end
514
	if(typeof(SndData) == 'table' or typeof(SndData) == 'Instance')then
515
		Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
516
	end
517
	if(Snd)then
518
		repeat wait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
519
		Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
520
	end
521
	local MoveSpeed = nil;
522
	if(MoveDir)then
523
		MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
524
	end
525
	local Inc = M.RNG()-M.RNG()
526
	local Thingie = 0
527
	local Thingie2 = M.RNG(50,100)/100
528
529
	coroutine.wrap(function()
530
		if(FX ~= 'Arc')then
531
			for i = 1, Frames do
532
				if(FX == 'Resize-AndFade')then
533
					if(not Settings.EndSize)then
534
						Settings.EndSize = V3.N(0,0,0)
535
					end
536
					local grow = (typeof(Settings.EndSize) == 'Vector3' and Settings.EndSize-Size or typeof(Settings.EndSize) == 'number' and V3.N(Settings.EndSize))
537
					if(Settings.EndIsIncrement)then
538
						Prt.Size = Prt.Size - Settings.EndSize					
539
					else
540
						Prt.Size = Prt.Size - grow/Frames
541
					end 
542
					Prt.Transparency = (i/Frames)
543
				elseif(FX == 'Resize+AndFade')then
544
					if(not Settings.EndSize)then
545
						Settings.EndSize = Size*2
546
					end
547
					local grow = (typeof(Settings.EndSize) == 'Vector3' and Settings.EndSize-Size or typeof(Settings.EndSize) == 'number' and V3.N(Settings.EndSize))
548
					if(Settings.EndIsIncrement)then
549
						Prt.Size = Prt.Size + Settings.EndSize					
550
					else
551
						Prt.Size = Prt.Size + grow/Frames
552
					end 
553
					Prt.Transparency = (i/Frames)
554
				elseif(FX == 'Fade')then
555
					Prt.Transparency = (i/Frames)
556
				end
557
				if(Settings.RandomizeCFrame)then
558
					Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
559
				end
560
				if(MoveDir and MoveSpeed)then
561
					local Orientation = Prt.Orientation
562
					Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
563
					Prt.Orientation = Orientation
564
				end
565
				if(swait and typeof(swait) == 'function')then
566
					swait()
567
				else
568
					wait()
569
				end
570
			end
571
			Prt:destroy() 
572
		else
573
			local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
574
			if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
575
			local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
576
			local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
577
			assert(start ~= nil,"You need to specify a start point!")
578
			assert(endP ~= nil,"You need to specify an end point!")
579
			for i = 0, 1, Settings.Speed or 0.01 do
580
				if(Settings.Home)then
581
					endP = Settings.Home.CFrame
582
				end
583
				Prt.CFrame = Bezier(start, quarter, threequarter, endP, i)
584
				if(swait and typeof(swait) == 'function')then
585
					swait()
586
				else
587
					wait()
588
				end
589
			end
590
			if(Settings.RemoveOnGoal)then
591
				Prt:destroy()
592
			end
593
		end
594
	end)()
595
	return Prt,Msh,Snd
596
end	
597
598
599
function SoulSteal(whom)
600
	local torso = (whom:FindFirstChild'Head' or whom:FindFirstChild'Torso' or whom:FindFirstChild'UpperTorso' or whom:FindFirstChild'LowerTorso' or whom:FindFirstChild'HumanoidRootPart')
601
	print(torso)
602
	if(torso and torso:IsA'BasePart')then
603
		local Model = Instance.new("Model",Effects)
604
		Model.Name = whom.Name.."'s Soul"
605
		whom:BreakJoints()
606
		local Soul = Part(Model,BrickColor.new'Really red','Glass',V3.N(.5,.5,.5),torso.CFrame,true,false)
607
		Soul.Name = 'Head'
608
		NewInstance("Humanoid",Model,{Health=0,MaxHealth=0})
609
		Effect{
610
			Effect="Arc",
611
			Manual = Soul,
612
			FXSettings={
613
				Start=torso.CFrame,
614
				Home = Torso,
615
				RemoveOnGoal = true,
616
			}
617
		}
618
		local lastPoint = Soul.CFrame.p
619
	
620
		for i = 0, 1, 0.01 do 
621
				local point = CFrame.new(lastPoint, Soul.Position) * CFrame.Angles(-math.pi/2, 0, 0)
622
				local mag = (lastPoint - Soul.Position).magnitude
623
				Effect{
624
					Effect = "Fade",
625
					CFrame = point * CF.N(0, mag/2, 0),
626
					Size = V3.N(.5,mag+.5,.5),
627
					Color = Soul.BrickColor
628
				}
629
				lastPoint = Soul.CFrame.p
630
			swait()
631
		end
632
		for i = 1, 5 do
633
			Effect{
634
				Effect="Fade",
635
				Color = BrickColor.new'Really red',
636
				MoveDirection = (Torso.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
637
			}	
638
		end
639
	end
640
end
641
642
--// Other Functions \\ --
643
644
function getRegion(point,range,ignore)
645
    return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
646
end
647
648
function clerp(startCF,endCF,alpha)
649
	return startCF:lerp(endCF, alpha)
650
end
651
652
function GetTorso(char)
653
	return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
654
end
655
656
function RandomEnum(enum)
657
	local t = enum:GetEnumItems()
658
	if(#t < 1)then t = 1 end
659
	local choice = M.RNG(1,#t)
660
	return t[choice]
661
end
662
663
function Chat(text)
664
	coroutine.wrap(function()
665
		if Char:FindFirstChild("TalkingBillBoard")~= nil then
666
			Char:FindFirstChild("TalkingBillBoard"):destroy()
667
		end
668
		local oText = text;
669
		text = ""
670
		for i = 1, #oText do
671
			local lol = M.RNG(1,24)
672
			if(lol == 1 or lol == 2)then
673
				text = text..(oText:sub(i,i):upper())
674
			elseif(lol == 3 or lol == 4)then
675
				text = text..Zalgo(oText:sub(i,i),M.RNG(1,2) == 1,true,M.RNG(1,2) == 1,M.RNG(1,3))
676
			elseif(lol == 5 or lol == 6)then
677
				text = text.." "..(oText:sub(i,i):lower())
678
			elseif(lol == 7)then
679
				text = text..(string.rep(oText:sub(i,i):lower(),M.RNG(5,9)))
680
			else
681
				text = text..(oText:sub(i,i):lower())
682
			end
683
		end
684
		local Bill = Instance.new("BillboardGui",Char)
685
		Bill.Size = UDim2.new(0,100,0,40)
686
		Bill.StudsOffset = Vector3.new(0,3,0)
687
		Bill.Adornee = Char.Head
688
		Bill.Name = "TalkingBillBoard"
689
		local Hehe = Instance.new("TextLabel",Bill)
690
		Hehe.BackgroundTransparency = 1
691
		Hehe.BorderSizePixel = 0
692
		Hehe.Text = ""
693
		Hehe.Font = "Bodoni"
694
		Hehe.TextSize = 40
695
		Hehe.TextStrokeTransparency = 0
696
		Hehe.Size = UDim2.new(1,0,0.5,0)
697
		coroutine.resume(coroutine.create(function()
698
			while Hehe ~= nil do
699
				swait()
700
				Hehe.Font = RandomEnum(Enum.Font)
701
				Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5)) 
702
				Hehe.Rotation = M.RNG(-M.RNG(5,15),M.RNG(5,15))
703
				local aa = math.random(0, 255)/255
704
				local bb = math.random(0, 255)/255
705
				Hehe.TextColor3 = C3.N(aa,aa,aa)
706
				Hehe.TextStrokeColor3 = C3.N(bb,bb,bb)
707
			end
708
		end))
709
		for i = 1,string.len(text),1 do
710
			if(not IsZalgoChar(text:sub(i,i)) and not IsUnicode(text:sub(i,i)))then swait(5) end
711
			Hehe.Text = string.sub(text,1,i)
712
		end
713
		swait(90)
714
		for i = 0, 1, .025 do
715
			swait()
716
			Hehe.TextStrokeTransparency = i
717
			Hehe.TextTransparency = i
718
			Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
719
		end
720
		Bill:Destroy()
721
	end)()
722
end
723
724
function ShowDamage(Pos, Text, Time, Color)
725
	coroutine.wrap(function()
726
	local Pos = (Pos or Vector3.new(0, 0, 0))
727
	local Text = (Text or "")
728
	local Time = (Time or 2)
729
	local Color = (Color or Color3.new(1, 0, 1))
730
	local EffectPart = NewInstance("Part",Effects,{
731
		Material=Enum.Material.SmoothPlastic,
732
		Reflectance = 0,
733
		Transparency = 1,
734
		BrickColor = BrickColor.new(Color),
735
		Name = "Effect",
736
		Size = Vector3.new(0,0,0),
737
		Anchored = true
738
	})
739
	local BillboardGui = NewInstance("BillboardGui",EffectPart,{
740
		Size = UDim2.new(1.25, 0, 1.25, 0),
741
		Adornee = EffectPart,
742
	})
743
	local TextLabel = NewInstance("TextLabel",BillboardGui,{
744
		BackgroundTransparency = 1,
745
		Size = UDim2.new(1, 0, 1, 0),
746
		Text = Text,
747
		Font = "Arial",
748
		TextColor3 = Color,
749
		TextStrokeColor3 = Color3.new(0,0,0),
750
		TextStrokeTransparency=0,
751
		TextScaled = true,
752
	})
753
	EffectPart.Parent = game:GetService("Workspace")
754
	delay(0, function()
755
		local Frames = (Time / (1/Frame_Speed))
756
		for Frame = 1, Frames do
757
			swait()
758
			local Percent = (Frame / Frames)
759
			EffectPart.CFrame = CF.N(Pos+ V3.N(0, Percent, 0)) * CF.A(0,0,M.RRNG(-90,90))
760
			TextLabel.Rotation = M.RNG(-6,6)
761
			TextLabel.Position = UDim2.new(M.RNG(-1,1)/10,M.RNG(-1,1)/10,.05,M.RNG(-1,1)/10) 
762
		end
763
		for i = 0, 1, .025 do
764
			swait()
765
			TextLabel.TextStrokeTransparency = i
766
			TextLabel.TextTransparency = i
767
			TextLabel.Position = UDim2.new(M.RNG(-15,15)/10,M.RNG(-15,15)/10,M.RNG(-15,15)/10,M.RNG(-15,15)/10) 
768
		end
769
		if EffectPart and EffectPart.Parent then
770
			EffectPart:Destroy()
771
		end
772
	end) end)()
773
end
774
775
776
function DealDamage(who,minDam,maxDam,Knock,Type,critChance,critMult)
777
	if(who)then
778
		local hum = who:FindFirstChildOfClass'Humanoid'
779
		local Damage = M.RNG(minDam,maxDam)
780
		local canHit = true
781
		if(hum)then
782
			for _, p in pairs(Hit) do
783
				if p[1] == hum then
784
					if(time() - p[2] < 0.1) then
785
						canHit = false
786
					else
787
						Hit[_] = nil
788
					end
789
				end
790
			end
791
			if(canHit)then
792
				if(hum.Health >= math.huge)then
793
					who:BreakJoints()
794
					if(who:FindFirstChild'Head' and hum.Health > 0)then
795
						ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "INSTANT", 1.5, C3.N(1,0,0))
796
					end
797
				else
798
					local player = S.Players:GetPlayerFromCharacter(who)
799
					if(Type == "Fire")then
800
						--idk..
801
					else
802
						local  c = Instance.new("ObjectValue",hum)
803
						c.Name = "creator"
804
						c.Value = Plr
805
						game:service'Debris':AddItem(c,0.35)
806
						if(M.RNG(1,100) <= (critChance or 0))then
807
							if(who:FindFirstChild'Head' and hum.Health > 0)then
808
								ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "[CRIT] "..Damage*(critMult or 2), 1.5, BrickColor.new'New Yeller'.Color)
809
							end
810
							hum.Health = hum.Health - Damage*(critMult or 2)
811
						else
812
							if(who:FindFirstChild'Head' and hum.Health > 0)then
813
								ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), Damage, 1.5, DamageColor.Color)
814
							end
815
							hum.Health = hum.Health - Damage
816
						end
817
						if(Type == 'Knockback' and GetTorso(who))then
818
							local angle = GetTorso(who).Position - Root.Position + Vector3.new(0, 0, 0).unit
819
							local body = NewInstance('BodyVelocity',GetTorso(who),{
820
								P = 500,
821
								maxForce = V3.N(math.huge,0,math.huge),
822
								velocity = Root.CFrame.lookVector * Knock + Root.Velocity / 1.05
823
							})
824
							game:service'Debris':AddItem(body,.5)	
825
						elseif(Type == 'Knockdown' and GetTorso(who))then
826
							local rek = GetTorso(who)
827
							print(rek)
828
							hum.PlatformStand = true
829
							delay(1,function()
830
								hum.PlatformStand = false
831
							end)
832
							local angle = (GetTorso(who).Position - (Root.Position + Vector3.new(0, 0, 0))).unit
833
							local bodvol = NewInstance("BodyVelocity",rek,{
834
								velocity = angle * Knock,
835
								P = 5000,
836
								maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
837
							})
838
							local rl = NewInstance("BodyAngularVelocity",rek,{
839
								P = 3000,
840
								maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
841
								angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
842
							})
843
							game:GetService("Debris"):AddItem(bodvol, .5)
844
							game:GetService("Debris"):AddItem(rl, .5)
845
						end
846
					end
847
				end
848
			end
849
			table.insert(Hit,{hum,time()})
850
		end
851
	end
852
end
853
854
function AOEDamage(where,range,minDam,maxDam,Knock,Type)
855
	for _,v in next, getRegion(where,range,{Char}) do
856
		if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
857
			DealDamage(v.Parent,minDam,maxDam,Knock,Type)
858
		end
859
	end
860
end
861
function AOEHeal(where,range,amount)
862
	local healed = {}
863
	for _,v in next, getRegion(where,range,{Char}) do
864
		local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
865
		if(hum and not healed[hum])then
866
			hum.Health = hum.Health + amount
867
			if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
868
				ShowDamage((v.Parent.Head.CFrame * CF.N(0, 0, (v.Parent.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "+"..amount, 1.5, BrickColor.new'Lime green'.Color)
869
			end
870
		end
871
	end
872
end
873
874
--// Wrap it all up \\--
875
876
pcall(function()
877
	Char.ReaperShadowHead.Eye1.BrickColor = BrickColor.new'White'
878
	Char.ReaperShadowHead.Eye2.BrickColor = BrickColor.new'White'
879
end)
880
Plr.Chatted:connect(function(text)
881
	if(text == "/e filter")then
882
		Filter = not Filter
883
	else
884
		if(Filter)then
885
			local succ,text = pcall(function() return game:service'Chat':FilterStringForBroadcast(text,Plr) end)
886
			if(not succ)then
887
				text = string.rep("_",#text)
888
			end
889
			Chat(text)
890
		else
891
			Chat(text)
892
		end
893
	end
894
end)
895
896
coroutine.wrap(function()
897
	while true do
898
		swait(M.RNG(0,50)/100)
899
		if(NeutralAnims and not Twitching)then
900
			local GlitchEffect = M.RNG(1,200)
901
			if(GlitchEffect == 1)then
902
				TwitchTime = time()
903
				Twitching = true
904
				TimePos = Music.TimePosition
905
				for _,v in next, Char:children() do
906
					if(v:IsA'BasePart')then
907
						Effect{
908
							Effect='Fade',
909
							Color = BrickColor.Random(),
910
							Material = RandomEnum(Enum.Material),
911
							Size = v.Size + V3.N(M.RNG(-75,75)/100,M.RNG(-75,75)/100,M.RNG(-75,75)/100),
912
							CFrame=v.CFrame * CF.A(M.RRNG(-15,15),M.RRNG(-15,15),M.RNG(-15,15)),
913
							Frames = M.RNG(35,120)
914
						}
915
					end
916
				end
917
			end
918
		end
919
		if(not ForcedTwitching and time()-TwitchTime > M.RNG(150,350)/100)then
920
			Twitching = false
921
		end
922
	end
923
end)()
924
925
926
while true do
927
	swait()
928
	Sine = Sine + Change
929
	Music.Parent = Char
930
	Music.Playing = true
931
	Music.Volume = 2
932
	local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * 4), Char)
933
	local State = ((math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1) and "Walk" or "Idle")
934
	local wsVal = 28 / (Hum.WalkSpeed/16)
935
	if(State == 'Walk')then
936
		Change = 3
937
		RH.C1 = clerp(RH.C1,CF.N(0,1,0)*CF.N(0,0-.5*M.S(Sine/wsVal),.05+.15*M.C(Sine/wsVal))*CF.A(M.R(0+60*M.C(Sine/wsVal)+-M.S(Sine/wsVal)),0,0),.2*(Hum.WalkSpeed/16))
938
		LH.C1 = clerp(LH.C1,CF.N(0,1,0)*CF.N(0,0+.5*M.S(Sine/wsVal),.05-.15*M.C(Sine/wsVal))*CF.A(M.R(0-60*M.C(Sine/wsVal)+M.S(Sine/wsVal)),0,0),.2*(Hum.WalkSpeed/16))
939
	else
940
		RH.C1 = clerp(RH.C1,CF.N(0,1,0),.1)
941
		LH.C1 = clerp(LH.C1,CF.N(0,1,0),.1)
942
	end
943
	if(not Twitching)then
944
		pcall(function()
945
			Char.ReaperShadowHead.Eye1.Material = Enum.Material.Neon
946
			Char.ReaperShadowHead.Eye2.Material = Enum.Material.Neon
947
		end)
948
		Hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
949
		Music.Pitch = 1
950
		local lol = {0,3}
951
		local lol2 = {-1,1}
952
		RS.C1 = CF.N(0,.5,0)*CF.N(M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100)*CF.A(M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)))
953
		LS.C1 = CF.N(0,.5,0)*CF.N(M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100)*CF.A(M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)))
954
		NK.C1 = CF.N(M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100)*CF.A(M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)))
955
	else
956
		pcall(function()
957
			Char.ReaperShadowHead.Eye1.Material = RandomEnum(Enum.Material)
958
			Char.ReaperShadowHead.Eye2.Material = RandomEnum(Enum.Material)
959
		end)
960
		Hum.DisplayDistanceType = RandomEnum(Enum.HumanoidDisplayDistanceType)
961
		Music.Pitch = 1.25
962
		if(time()-ReverseTime >= 1)then
963
			Music.TimePosition = TimePos
964
			ReverseTime = time()
965
			for _,v in next, Char:children() do
966
				if(v:IsA'BasePart')then
967
					Effect{
968
						Effect='Fade',
969
						Color = BrickColor.Random(),
970
						Material = RandomEnum(Enum.Material),
971
						Size = v.Size + V3.N(M.RNG(-75,75)/100,M.RNG(-75,75)/100,M.RNG(-75,75)/100),
972
						CFrame=v.CFrame * CF.A(M.RRNG(-15,15),M.RRNG(-15,15),M.RNG(-15,15)),
973
						Frames = M.RNG(35,120)
974
					}
975
				end
976
			end
977
		end
978
		local lol = {5,12}
979
		local lol2 = {-16,8}
980
		RS.C1 = CF.N(0,.5,0)*CF.N(M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100)*CF.A(M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)))
981
		LS.C1 = CF.N(0,.5,0)*CF.N(M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100)*CF.A(M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)))
982
		NK.C1 = CF.N(M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100,M.RNG(unpack(lol))/100)*CF.A(M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)),M.RRNG(unpack(lol2)))
983
	end
984
	if(NeutralAnims)then	
985
		if(Twitching)then
986
			if(State == 'Walk')then
987
				local Alpha = .3
988
				RJ.C0 = clerp(RJ.C0,CFrame.new(3.20649757e-13, 0.00629579648, 1.42956924e-06, 0.999999225, 5.09317033e-11, 0, -4.38656264e-11, 0.999980271, -0.00628618058, 0, 0.00628617639, 0.999979496)*CF.N(0,0+.1*-M.C(Sine/(wsVal/2)),0)*CF.A(0,M.R(0-7*M.S(Sine/(wsVal))),0),Alpha)
989
				LH.C0 = clerp(LH.C0,CFrame.new(-0.496493757, -0.99082166, 0.0216114372, 0.999877751, -4.38656264e-11, 0.0156119959, -9.81397825e-05, 0.999980271, 0.0062854127, -0.0156116877, -0.00628618058, 0.999858022),Alpha)
990
				RH.C0 = clerp(RH.C0,CFrame.new(0.498526245, -0.990985215, 0.0154614942, 0.999877751, -4.38656264e-11, 0.0156119959, -9.81397825e-05, 0.999980271, 0.0062854127, -0.0156116877, -0.00628618058, 0.999858022),Alpha)
991
				LS.C0 = clerp(LS.C0,CFrame.new(-1.39200604, 0.795008898, -0.00658137258, 0.819051921, 0.573506355, 0.0156119522, -0.573645532, 0.819079638, 0.0062854127, -0.00918270461, -0.0141038094, 0.999858022)*CF.A(0,0,M.RRNG(-25,45)),Alpha)
992
				RS.C0 = clerp(RS.C0,CFrame.new(1.32559943, 0.709226727, 0.00863117818, 0.819051921, -0.573506355, 0.0156119522, 0.573484719, 0.819192171, 0.0062854127, -0.0163939148, 0.00380513305, 0.999858022)*CF.A(0,0,M.RRNG(-45,25)),Alpha)
993
				NK.C0 = clerp(NK.C0,CFrame.new(4.20771539e-06, 1.49895704, -0.0143941138, 0.902309358, -0.0976699144, -0.419878155, 0.104237564, 0.994525492, -0.00733707333, 0.418296129, -0.0371467769, 0.907550335)*CF.A(M.RRNG(-5,15),M.RRNG(-5,15),M.RRNG(-5,15)),Alpha)
994
			else
995
				local Alpha = .3
996
				RJ.C0 = clerp(RJ.C0,CFrame.new(3.20649757e-13, 0.00629579648, 1.42956924e-06, 0.999999225, 5.09317033e-11, 0, -4.38656264e-11, 0.999980271, -0.00628618058, 0, 0.00628617639, 0.999979496),Alpha)
997
				LH.C0 = clerp(LH.C0,CFrame.new(-0.496493757, -0.99082166, 0.0216114372, 0.999877751, -4.38656264e-11, 0.0156119959, -9.81397825e-05, 0.999980271, 0.0062854127, -0.0156116877, -0.00628618058, 0.999858022),Alpha)
998
				RH.C0 = clerp(RH.C0,CFrame.new(0.498526245, -0.990985215, 0.0154614942, 0.999877751, -4.38656264e-11, 0.0156119959, -9.81397825e-05, 0.999980271, 0.0062854127, -0.0156116877, -0.00628618058, 0.999858022),Alpha)
999
				LS.C0 = clerp(LS.C0,CFrame.new(-1.39200604, 0.795008898, -0.00658137258, 0.819051921, 0.573506355, 0.0156119522, -0.573645532, 0.819079638, 0.0062854127, -0.00918270461, -0.0141038094, 0.999858022)*CF.A(0,0,M.RRNG(-25,45)),Alpha)
1000
				RS.C0 = clerp(RS.C0,CFrame.new(1.32559943, 0.709226727, 0.00863117818, 0.819051921, -0.573506355, 0.0156119522, 0.573484719, 0.819192171, 0.0062854127, -0.0163939148, 0.00380513305, 0.999858022)*CF.A(0,0,M.RRNG(-45,25)),Alpha)
1001
				NK.C0 = clerp(NK.C0,CFrame.new(4.20771539e-06, 1.49895704, -0.0143941138, 0.902309358, -0.0976699144, -0.419878155, 0.104237564, 0.994525492, -0.00733707333, 0.418296129, -0.0371467769, 0.907550335)*CF.A(M.RRNG(-5,15),M.RRNG(-5,15),M.RRNG(-5,15)),Alpha)
1002
			end
1003
		else
1004
			if(State == 'Idle')then
1005
				local Alpha = .3
1006
				RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0055502113, 0.046844326, -0.355196595, 0.999991238, -0.00595695665, -0.00113933254, 0.0059490581, 0.926876307, 0.37534529, -0.00117987115, -0.375341475, 0.926886022),Alpha)
1007
				LH.C0 = clerp(LH.C0,CFrame.new(-0.497515112, -1.09223986, -0.0431248844, 0.984844744, 0.00594900129, 0.173336849, 0.0596322678, 0.926867485, -0.370622098, -0.162865102, 0.375341654, 0.91246587),Alpha)
1008
				RH.C0 = clerp(RH.C0,CFrame.new(0.497499257, -1.09597111, -0.0500149131, 0.991716266, 0.00594900129, -0.128311232, -0.0536306985, 0.926867485, -0.371538013, 0.116717227, 0.375341654, 0.919508636),Alpha)
1009
				LS.C0 = clerp(LS.C0,CFrame.new(-1.12519193, 0.738982558, -0.468318224, 0.769806862, -0.638114333, -0.014411577, -0.591974616, -0.705338001, -0.389954329, 0.238670424, 0.308720797, -0.920721531),Alpha)
1010
				RS.C0 = clerp(RS.C0,CFrame.new(1.20966697, 0.671781361, -0.540282011, 0.762095451, 0.647304416, -0.014411577, 0.591827035, -0.70546186, -0.389954329, -0.262585998, 0.288653284, -0.920721531),Alpha)
1011
				NK.C0 = clerp(NK.C0,CFrame.new(-0.00318176579, 1.58153725, -0.218282402, 0.99997586, -0.00669310382, -0.00194420572, 0.00678409031, 0.87074405, 0.49168992, -0.00159802474, -0.491691202, 0.870768249),Alpha)
1012
			elseif(State == 'Walk')then
1013
				local Alpha = .3
1014
				RJ.C0 = clerp(RJ.C0,CF.N(0,0+.1*-M.C(Sine/(wsVal/2)),0)*CF.A(0,M.R(0-7*M.S(Sine/(wsVal))),0),Alpha)
1015
				LS.C0 = clerp(LS.C0,CFrame.new(-1.12519193, 0.738982558, -0.468318224, 0.769806862, -0.638114333, -0.014411577, -0.591974616, -0.705338001, -0.389954329, 0.238670424, 0.308720797, -0.920721531),Alpha)
1016
				RS.C0 = clerp(RS.C0,CFrame.new(1.20966697, 0.671781361, -0.540282011, 0.762095451, 0.647304416, -0.014411577, 0.591827035, -0.70546186, -0.389954329, -0.262585998, 0.288653284, -0.920721531),Alpha)
1017
				NK.C0 = clerp(NK.C0,CFrame.new(-0.00318176579, 1.58153725, -0.218282402, 0.99997586, -0.00669310382, -0.00194420572, 0.00678409031, 0.87074405, 0.49168992, -0.00159802474, -0.491691202, 0.870768249),Alpha)
1018
				LH.C0 = clerp(LH.C0,LHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0),Alpha)
1019
				RH.C0 = clerp(RH.C0,RHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0),Alpha)
1020
			end
1021
		end
1022
	end
1023
end