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