View difference between Paste ID: MisbyLgm and 4x9Me51E
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
    local h,t
87
    --Give the server mouse data every second frame, but only if the values changed
88
    --If player is not moving their mouse, client won't fire events
89
    local HB = game:GetService("RunService").Heartbeat
90
    while true do
91
        if h~=Mouse.Hit or t~=Mouse.Target then
92
            h,t=Mouse.Hit,Mouse.Target
93
            Event:FireServer({isMouse=true,Target=t,Hit=h})
94
        end
95
        --Wait 2 frames
96
        for i=1,2 do
97
            HB:Wait()
98
        end
99
    end]==],script)
100
 
101
    ----Sandboxed game object that allows the usage of client-side methods and services
102
    --Real game object
103
    local RealGame = game
104
 
105
    --Metatable for fake service
106
    local FakeService_Metatable = {
107
        __index = function(self,k)
108
            local s = rawget(self,"_RealService")
109
            if s then
110
                return typeof(s[k])=="function"
111
                and function(_,...)return s[k](s,...)end or s[k]
112
            end
113
        end,
114
        __newindex = function(self,k,v)
115
            local s = rawget(self,"_RealService")
116
            if s then s[k]=v end
117
        end
118
    }
119
    local function FakeService(t,RealService)
120
        t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
121
        return setmetatable(t,FakeService_Metatable)
122
    end
123
 
124
    --Fake game object
125
    local FakeGame = {
126
        GetService = function(self,s)
127
            return rawget(self,s) or RealGame:GetService(s)
128
        end,
129
        Players = FakeService({
130
            LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
131
        },"Players"),
132
        UserInputService = FakeService(UIS,"UserInputService"),
133
        ContextActionService = FakeService(CAS,"ContextActionService"),
134
        RunService = FakeService({
135
            _btrs = {},
136
            RenderStepped = RealGame:GetService("RunService").Heartbeat,
137
            BindToRenderStep = function(self,name,_,fun)
138
                self._btrs[name] = self.Heartbeat:Connect(fun)
139
            end,
140
            UnbindFromRenderStep = function(self,name)
141
                self._btrs[name]:Disconnect()
142
            end,
143
        },"RunService")
144
    }
145
    rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
146
    FakeGame.service = FakeGame.GetService
147
    FakeService(FakeGame,game)
148
    --Changing owner to fake player object to support owner:GetMouse()
149
    game,owner = FakeGame,FakeGame.Players.LocalPlayer
150
end
151
152
--//====================================================\\--
153
--||         GOOD COP BAD COP BY SHACKLUSTER
154
--||		 TWO FACED BY ITZPARTAPIKA
155
--\\====================================================//--
156
157
local Player = script.Parent.Parent.Parent:FindFirstChild(script.Parent.Parent.Name)
158
local Mouse,mouse,UserInputService,ContextActionService
159
do
160
	script.Parent = Player.Character
161
	local CAS = {Actions={}}
162
	local Event = Instance.new("RemoteEvent")
163
	Event.Name = "UserInput_Event"
164
	Event.Parent = Player.Character
165
	local fakeEvent = function()
166
		local t = {_fakeEvent=true}
167
		t.Connect = function(self,f)self.Function=f end
168
		t.connect = t.Connect
169
		return t
170
	end
171
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
172
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
173
	function CAS:BindAction(name,fun,touch,...)
174
		CAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
175
	end
176
	function CAS:UnbindAction(name)
177
		CAS.Actions[name] = nil
178
	end
179
	local function te(self,ev,...)
180
		local t = m[ev]
181
		if t and t._fakeEvent and t.Function then
182
			t.Function(...)
183
		end
184
	end
185
	m.TrigEvent = te
186
	UIS.TrigEvent = te
187
	Event.OnServerEvent:Connect(function(plr,io)
188
	    if plr~=Player then return end
189
		if io.isMouse then
190
			m.Target = io.Target
191
			m.Hit = io.Hit
192
		elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
193
	        if io.UserInputState == Enum.UserInputState.Begin then
194
				m:TrigEvent("Button1Down")
195
			else
196
				m:TrigEvent("Button1Up")
197
			end
198
		else
199
			for n,t in pairs(CAS.Actions) do
200
				for _,k in pairs(t.Keys) do
201
					if k==io.KeyCode then
202
						t.Function(t.Name,io.UserInputState,io)
203
					end
204
				end
205
			end
206
	        if io.UserInputState == Enum.UserInputState.Begin then
207
	            m:TrigEvent("KeyDown",io.KeyCode.Name:lower())
208
				UIS:TrigEvent("InputBegan",io,false)
209
			else
210
				m:TrigEvent("KeyUp",io.KeyCode.Name:lower())
211
				UIS:TrigEvent("InputEnded",io,false)
212
	        end
213
	    end
214
	end)
215
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
216
end
217
218
wait(0.2)
219
220
PlayerGui = Player.PlayerGui
221
Cam = workspace.CurrentCamera
222
Backpack = Player.Backpack
223
Character = Player.Character
224
Humanoid = Character.Humanoid
225
RootPart = Character["HumanoidRootPart"]
226
Torso = Character["Torso"]
227
Head = Character["Head"]
228
RightArm = Character["Right Arm"]
229
LeftArm = Character["Left Arm"]
230
RightLeg = Character["Right Leg"]
231
LeftLeg = Character["Left Leg"]
232
RootJoint = RootPart["RootJoint"]
233
Neck = Torso["Neck"]
234
RightShoulder = Torso["Right Shoulder"]
235
LeftShoulder = Torso["Left Shoulder"]
236
RightHip = Torso["Right Hip"]
237
LeftHip = Torso["Left Hip"]
238
239
IT = Instance.new
240
CF = CFrame.new
241
VT = Vector3.new
242
RAD = math.rad
243
C3 = Color3.new
244
UD2 = UDim2.new
245
BRICKC = BrickColor.new
246
ANGLES = CFrame.Angles
247
EULER = CFrame.fromEulerAnglesXYZ
248
COS = math.cos
249
ACOS = math.acos
250
SIN = math.sin
251
ASIN = math.asin
252
ABS = math.abs
253
MRANDOM = math.random
254
FLOOR = math.floor
255
256
--//=================================\\
257
--|| 	      USEFUL VALUES
258
--\\=================================//
259
260
Animation_Speed = 3
261
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
262
local Speed = 20
263
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
264
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
265
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
266
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
267
local DAMAGEMULTIPLIER = 1
268
local ANIM = "Idle"
269
local ATTACK = false
270
local EQUIPPED = false
271
local HOLD = false
272
local COMBO = 1
273
local Rooted = false
274
local SINE = 0
275
local KEYHOLD = false
276
local CHANGE = 2 / Animation_Speed
277
local WALKINGANIM = false
278
local VALUE1 = false
279
local VALUE2 = false
280
local SIZE = 1
281
local ROBLOXIDLEANIMATION = IT("Animation")
282
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
283
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
284
--ROBLOXIDLEANIMATION.Parent = Humanoid
285
local WEAPONGUI = IT("ScreenGui", PlayerGui)
286
WEAPONGUI.Name = "Weapon GUI"
287
local Weapon = IT("Model")
288
Weapon.Name = "Adds"
289
local Effects = IT("Folder", Weapon)
290
Effects.Name = "Effects"
291
local ANIMATOR = Humanoid.Animator
292
local ANIMATE = Character.Animate
293
local UNANCHOR = true
294
local MODE = "GoodCop"
295
local TOBANISH = {}
296
local SONGS = {1118967006,259554386}
297
local CHOSENSONG = MRANDOM(1,#SONGS)
298
299
--//=================================\\
300
--\\=================================//
301
302
303
--//=================================\\
304
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
305
--\\=================================//
306
307
ArtificialHB = Instance.new("BindableEvent", script)
308
ArtificialHB.Name = "ArtificialHB"
309
310
script:WaitForChild("ArtificialHB")
311
312
frame = Frame_Speed
313
tf = 0
314
allowframeloss = false
315
tossremainder = false
316
lastframe = tick()
317
script.ArtificialHB:Fire()
318
319
game:GetService("RunService").Heartbeat:connect(function(s, p)
320
	tf = tf + s
321
	if tf >= frame then
322
		if allowframeloss then
323
			script.ArtificialHB:Fire()
324
			lastframe = tick()
325
		else
326
			for i = 1, math.floor(tf / frame) do
327
				script.ArtificialHB:Fire()
328
			end
329
		lastframe = tick()
330
		end
331
		if tossremainder then
332
			tf = 0
333
		else
334
			tf = tf - frame * math.floor(tf / frame)
335
		end
336
	end
337
end)
338
339
--//=================================\\
340
--\\=================================//
341
342
--//=================================\\
343
--|| 	      SOME FUNCTIONS
344
--\\=================================//
345
346
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
347
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
348
end
349
350
function PositiveAngle(NUMBER)
351
	if NUMBER >= 0 then
352
		NUMBER = 0
353
	end
354
	return NUMBER
355
end
356
357
function NegativeAngle(NUMBER)
358
	if NUMBER <= 0 then
359
		NUMBER = 0
360
	end
361
	return NUMBER
362
end
363
364
function Swait(NUMBER)
365
	if NUMBER == 0 or NUMBER == nil then
366
		ArtificialHB.Event:wait()
367
	else
368
		for i = 1, NUMBER do
369
			ArtificialHB.Event:wait()
370
		end
371
	end
372
end
373
374
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
375
	local NEWMESH = IT(MESH)
376
	if MESH == "SpecialMesh" then
377
		NEWMESH.MeshType = MESHTYPE
378
		if MESHID ~= "nil" and MESHID ~= "" then
379
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
380
		end
381
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
382
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
383
		end
384
	end
385
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
386
	NEWMESH.Scale = SCALE
387
	NEWMESH.Parent = PARENT
388
	return NEWMESH
389
end
390
391
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
392
	local NEWPART = IT("Part")
393
	NEWPART.formFactor = FORMFACTOR
394
	NEWPART.Reflectance = REFLECTANCE
395
	NEWPART.Transparency = TRANSPARENCY
396
	NEWPART.CanCollide = false
397
	NEWPART.Locked = true
398
	NEWPART.Anchored = true
399
	if ANCHOR == false then
400
		NEWPART.Anchored = false
401
	end
402
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
403
	NEWPART.Name = NAME
404
	NEWPART.Size = SIZE
405
	NEWPART.Position = Torso.Position
406
	NEWPART.Material = MATERIAL
407
	NEWPART:BreakJoints()
408
	NEWPART.Parent = PARENT
409
	return NEWPART
410
end
411
412
	local function weldBetween(a, b)
413
	    local weldd = Instance.new("ManualWeld")
414
	    weldd.Part0 = a
415
	    weldd.Part1 = b
416
	    weldd.C0 = CFrame.new()
417
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
418
	    weldd.Parent = a
419
	    return weldd
420
	end
421
422
423
function QuaternionFromCFrame(cf)
424
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
425
	local trace = m00 + m11 + m22
426
	if trace > 0 then 
427
		local s = math.sqrt(1 + trace)
428
		local recip = 0.5 / s
429
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
430
	else
431
		local i = 0
432
		if m11 > m00 then
433
			i = 1
434
		end
435
		if m22 > (i == 0 and m00 or m11) then
436
			i = 2
437
		end
438
		if i == 0 then
439
			local s = math.sqrt(m00 - m11 - m22 + 1)
440
			local recip = 0.5 / s
441
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
442
		elseif i == 1 then
443
			local s = math.sqrt(m11 - m22 - m00 + 1)
444
			local recip = 0.5 / s
445
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
446
		elseif i == 2 then
447
			local s = math.sqrt(m22 - m00 - m11 + 1)
448
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
449
		end
450
	end
451
end
452
 
453
function QuaternionToCFrame(px, py, pz, x, y, z, w)
454
	local xs, ys, zs = x + x, y + y, z + z
455
	local wx, wy, wz = w * xs, w * ys, w * zs
456
	local xx = x * xs
457
	local xy = x * ys
458
	local xz = x * zs
459
	local yy = y * ys
460
	local yz = y * zs
461
	local zz = z * zs
462
	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))
463
end
464
 
465
function QuaternionSlerp(a, b, t)
466
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
467
	local startInterp, finishInterp;
468
	if cosTheta >= 0.0001 then
469
		if (1 - cosTheta) > 0.0001 then
470
			local theta = ACOS(cosTheta)
471
			local invSinTheta = 1 / SIN(theta)
472
			startInterp = SIN((1 - t) * theta) * invSinTheta
473
			finishInterp = SIN(t * theta) * invSinTheta
474
		else
475
			startInterp = 1 - t
476
			finishInterp = t
477
		end
478
	else
479
		if (1 + cosTheta) > 0.0001 then
480
			local theta = ACOS(-cosTheta)
481
			local invSinTheta = 1 / SIN(theta)
482
			startInterp = SIN((t - 1) * theta) * invSinTheta
483
			finishInterp = SIN(t * theta) * invSinTheta
484
		else
485
			startInterp = t - 1
486
			finishInterp = t
487
		end
488
	end
489
	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
490
end
491
492
function Clerp(a, b, t)
493
	local qa = {QuaternionFromCFrame(a)}
494
	local qb = {QuaternionFromCFrame(b)}
495
	local ax, ay, az = a.x, a.y, a.z
496
	local bx, by, bz = b.x, b.y, b.z
497
	local _t = 1 - t
498
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
499
end
500
501
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
502
	local frame = IT("Frame")
503
	frame.BackgroundTransparency = TRANSPARENCY
504
	frame.BorderSizePixel = BORDERSIZEPIXEL
505
	frame.Position = POSITION
506
	frame.Size = SIZE
507
	frame.BackgroundColor3 = COLOR
508
	frame.BorderColor3 = BORDERCOLOR
509
	frame.Name = NAME
510
	frame.Parent = PARENT
511
	return frame
512
end
513
514
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
515
	local label = IT("TextLabel")
516
	label.BackgroundTransparency = 1
517
	label.Size = UD2(1, 0, 1, 0)
518
	label.Position = UD2(0, 0, 0, 0)
519
	label.TextColor3 = TEXTCOLOR
520
	label.TextStrokeTransparency = STROKETRANSPARENCY
521
	label.TextTransparency = TRANSPARENCY
522
	label.FontSize = TEXTFONTSIZE
523
	label.Font = TEXTFONT
524
	label.BorderSizePixel = BORDERSIZEPIXEL
525
	label.TextScaled = false
526
	label.Text = TEXT
527
	label.Name = NAME
528
	label.Parent = PARENT
529
	return label
530
end
531
532
function NoOutlines(PART)
533
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
534
end
535
536
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
537
	local NEWWELD = IT(TYPE)
538
	NEWWELD.Part0 = PART0
539
	NEWWELD.Part1 = PART1
540
	NEWWELD.C0 = C0
541
	NEWWELD.C1 = C1
542
	NEWWELD.Parent = PARENT
543
	return NEWWELD
544
end
545
546
local S = IT("Sound")
547
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
548
	local NEWSOUND = nil
549
	coroutine.resume(coroutine.create(function()
550
		NEWSOUND = S:Clone()
551
		NEWSOUND.Parent = PARENT
552
		NEWSOUND.Volume = VOLUME
553
		NEWSOUND.Pitch = PITCH
554
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
555
		NEWSOUND:play()
556
		if DOESLOOP == true then
557
			NEWSOUND.Looped = true
558
		else
559
			repeat wait(1) until NEWSOUND.Playing == false
560
			NEWSOUND:remove()
561
		end
562
	end))
563
	return NEWSOUND
564
end
565
566
function CFrameFromTopBack(at, top, back)
567
	local right = top:Cross(back)
568
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
569
end
570
571
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
572
function WACKYEFFECT(Table)
573
	local TYPE = (Table.EffectType or "Sphere")
574
	local SIZE = (Table.Size or VT(1,1,1))
575
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
576
	local TRANSPARENCY = (Table.Transparency or 0)
577
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
578
	local CFRAME = (Table.CFrame or Torso.CFrame)
579
	local MOVEDIRECTION = (Table.MoveToPos or nil)
580
	local ROTATION1 = (Table.RotationX or 0)
581
	local ROTATION2 = (Table.RotationY or 0)
582
	local ROTATION3 = (Table.RotationZ or 0)
583
	local MATERIAL = (Table.Material or "Neon")
584
	local COLOR = (Table.Color or C3(1,1,1))
585
	local TIME = (Table.Time or 45)
586
	local SOUNDID = (Table.SoundID or nil)
587
	local SOUNDPITCH = (Table.SoundPitch or nil)
588
	local SOUNDVOLUME = (Table.SoundVolume or nil)
589
	coroutine.resume(coroutine.create(function()
590
		local PLAYSSOUND = false
591
		local SOUND = nil
592
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
593
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
594
			PLAYSSOUND = true
595
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
596
		end
597
		EFFECT.Color = COLOR
598
		local MSH = nil
599
		if TYPE == "Sphere" then
600
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
601
		elseif TYPE == "Block" or TYPE == "Box" then
602
			MSH = IT("BlockMesh",EFFECT)
603
			MSH.Scale = SIZE
604
		elseif TYPE == "Wave" then
605
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
606
		elseif TYPE == "Ring" then
607
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
608
		elseif TYPE == "Slash" then
609
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
610
		elseif TYPE == "Round Slash" then
611
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
612
		elseif TYPE == "Swirl" then
613
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
614
		elseif TYPE == "Skull" then
615
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
616
		elseif TYPE == "Crystal" then
617
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
618
		end
619
		if MSH ~= nil then
620
			local MOVESPEED = nil
621
			if MOVEDIRECTION ~= nil then
622
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
623
			end
624
			local GROWTH = SIZE - ENDSIZE
625
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
626
			if TYPE == "Block" then
627
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
628
			else
629
				EFFECT.CFrame = CFRAME
630
			end
631
			for LOOP = 1, TIME+1 do
632
				Swait()
633
				MSH.Scale = MSH.Scale - GROWTH/TIME
634
				if TYPE == "Wave" then
635
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
636
				end
637
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
638
				if TYPE == "Block" then
639
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
640
				else
641
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
642
				end
643
				if MOVEDIRECTION ~= nil then
644
					local ORI = EFFECT.Orientation
645
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
646
					EFFECT.Orientation = ORI
647
				end
648
			end
649
			if PLAYSSOUND == false then
650
				EFFECT:remove()
651
			else
652
				repeat Swait() until SOUND.Playing == false
653
				EFFECT:remove()
654
			end
655
		else
656
			if PLAYSSOUND == false then
657
				EFFECT:remove()
658
			else
659
				repeat Swait() until SOUND.Playing == false
660
				EFFECT:remove()
661
			end
662
		end
663
	end))
664
end
665
666
function MakeForm(PART,TYPE)
667
	if TYPE == "Cyl" then
668
		local MSH = IT("CylinderMesh",PART)
669
	elseif TYPE == "Ball" then
670
		local MSH = IT("SpecialMesh",PART)
671
		MSH.MeshType = "Sphere"
672
	elseif TYPE == "Wedge" then
673
		local MSH = IT("SpecialMesh",PART)
674
		MSH.MeshType = "Wedge"
675
	elseif TYPE == "Head" then
676
		local MSH = IT("SpecialMesh",PART)
677
		MSH.Scale = VT(1.25,1.25,1.25)
678
	end
679
end
680
681
function SpawnTrail(FROM,TO,BIG)
682
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "New Yeller", "Trail", VT(0,0,0))
683
	MakeForm(TRAIL,"Cyl")
684
	local DIST = (FROM - TO).Magnitude
685
	if BIG == true then
686
		TRAIL.Size = VT(0.5,DIST,0.5)
687
	else
688
		TRAIL.Size = VT(0.25,DIST,0.25)
689
	end
690
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
691
	coroutine.resume(coroutine.create(function()
692
		for i = 1, 5 do
693
			Swait()
694
			TRAIL.Transparency = TRAIL.Transparency + 0.1
695
		end
696
		TRAIL:remove()
697
	end))
698
end
699
700
Debris = game:GetService("Debris")
701
702
function CastProperRay(StartPos, EndPos, Distance, Ignore)
703
	local DIRECTION = CF(StartPos,EndPos).lookVector
704
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
705
end
706
707
function CharacterFade(COLOR,TIMER)
708
	coroutine.resume(coroutine.create(function()
709
		local FADE = IT("Model",Effects)
710
		FADE.Name = "FadingEffect"
711
		for _, c in pairs(Character:GetChildren()) do
712
			if c.ClassName == "Part" and c ~= RootPart then
713
				local FADER = c:Clone()
714
				FADER.Color = COLOR
715
				FADER.CFrame = c.CFrame
716
				FADER.Parent = FADE
717
				FADER.Anchored = true
718
				FADER.Transparency = 0.25+c.Transparency
719
				FADER:BreakJoints()
720
				FADER.Material = "Neon"
721
				if FADER.Name == "Head" then
722
					FADER:ClearAllChildren()
723
					FADER.Size = VT(1,1,1)
724
				end
725
				FADER.CanCollide = false
726
			end
727
		end
728
		local TRANS = 0.75/TIMER
729
		for i = 1, TIMER do
730
			Swait()
731
			for _, c in pairs(FADE:GetChildren()) do
732
				if c.ClassName == "Part" then
733
					c.Transparency = c.Transparency + TRANS
734
				end
735
			end
736
		end
737
		FADE:remove()
738
	end))
739
end
740
741
function Chatter(Text,Timer)
742
	local chat = coroutine.wrap(function()
743
		if Character:FindFirstChild("SpeechBoard")~= nil then
744
			Character:FindFirstChild("SpeechBoard"):destroy()
745
		end
746
		local naeeym2 = IT("BillboardGui",Character)
747
		naeeym2.Size = UD2(0,100,0,40)
748
		naeeym2.StudsOffset = Vector3.new(0,2,0)
749
		naeeym2.Adornee = Character.Head
750
		naeeym2.Name = "SpeechBoard"
751
		naeeym2.AlwaysOnTop = true
752
		local tecks2 = IT("TextLabel",naeeym2)
753
		tecks2.BackgroundTransparency = 1
754
		tecks2.BorderSizePixel = 0
755
		tecks2.Text = ""
756
		tecks2.Font = "Legacy"
757
		tecks2.TextSize = 15
758
		tecks2.TextStrokeTransparency = 0
759
		tecks2.TextColor3 = Color3.new(1,1,1)
760
		tecks2.TextStrokeColor3 = Color3.new(0,0,0)
761
		tecks2.Size = UDim2.new(1,0,0.5,0)
762
		for i = 1,string.len(Text),1 do
763
			CreateSound(418252437, Head, 3, MRANDOM(8,12)/15, false)
764
			tecks2.Text = string.sub(Text,1,i)
765
			wait(Timer)
766
		end
767
		wait(1)
768
		naeeym2:Destroy()
769
	end)
770
	chat()
771
end
772
773
--//=================================\\
774
--||	     WEAPON CREATION
775
--\\=================================//
776
777
local PRT = CreatePart(3, Weapon, "Fabric", 0, 0, "Really black", "Hat", VT(1,1,1),false)
778
PRT.Color = C3(0,0,0)
779
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.72*SIZE,0.1) * ANGLES(RAD(15), RAD(0), RAD(0)), CF(0, 0, 0))
780
CreateMesh("SpecialMesh", PRT, "FileMesh", "26768040", "", VT(1,1,1)*SIZE, VT(0,0,0))
781
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Scarf", VT(1,1,1),false)
782
PRT.Color = C3(0,0,0)
783
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, PRT, CF(0.05,0.4,-0.1) * ANGLES(RAD(-3), RAD(0), RAD(0)), CF(0, 0, 0))
784
CreateMesh("SpecialMesh", PRT, "FileMesh", "99856331", "", VT(1.1,1,1.1), VT(0,0,0))
785
for i = 1, 16 do
786
	local FACE = CreatePart(3, Character, "Neon", 0, 0+(i-1)/16.2, "Really black", "FaceGradient", VT(1.01,0.65,1.01),false)
787
	FACE.Color = C3(0,0,0)
788
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
789
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.45-(i-1)/25,0), CF(0, 0, 0))
790
end
791
local EyePiece1 = CreatePart(3, Character, "Neon", 0, 0, "Really red", "EyePiece1", VT(0.6,0.1,1)/2,false)
792
MakeForm(EyePiece1,"Ball")
793
CreateWeldOrSnapOrMotor("Weld", EyePiece1, Head, EyePiece1, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
794
local EyePiece2 = CreatePart(3, Character, "Neon", 0, 0, "Really red", "EyePiece2", VT(0.1,1,1)/2,false)
795
MakeForm(EyePiece2,"Ball")
796
CreateWeldOrSnapOrMotor("Weld", EyePiece2, Head, EyePiece2, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
797
local top = Instance.new("Shirt")
798
top.ShirtTemplate = "rbxassetid://269003887"
799
top.Parent = Character
800
top.Name = "Cloth"
801
local bottom = Instance.new("Pants")
802
bottom.PantsTemplate = "rbxassetid://268832352"
803
bottom.Parent = Character
804
bottom.Name = "Cloth"
805
local BATON = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Baton", VT(1, 0.8, 3),false)
806
CreateMesh("SpecialMesh", BATON, "FileMesh", "11820238", "", VT(1,1,1), VT(0,0,0))
807
local BATONWELD = CreateWeldOrSnapOrMotor("Weld", BATON, Torso, BATON, CF(1,-0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
808
local A = IT("Attachment",BATON)
809
local B = IT("Attachment",BATON)
810
B.Position = VT(0,0,-0.4)
811
A.Position = VT(0,0,1)
812
local Trail = IT("Trail",BATON)
813
Trail.Attachment0 = A
814
Trail.Attachment1 = B
815
Trail.Lifetime = 0.1
816
Trail.Color = ColorSequence.new(C3(0,0,0))
817
Trail.Transparency = NumberSequence.new(0, 1)
818
Trail.Enabled = false
819
Trail.Texture = "http://www.roblox.com/asset/?id=1831500579"
820
local GUN = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Gun", VT(1, 0.8, 3),false)
821
CreateMesh("SpecialMesh", GUN, "FileMesh", "623102664", "623102879", VT(0.01, 0.01, 0.01), VT(0,0,0))
822
local GUNWELD = CreateWeldOrSnapOrMotor("Weld", GUN, Torso, GUN, CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
823
824
for _, c in pairs(Weapon:GetChildren()) do
825
	if c.ClassName == "Part" then
826
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
827
	end
828
end
829
830
local BODY = {}
831
for _, c in pairs(Character:GetDescendants()) do
832
	if c:IsA("BasePart") and c.Name ~= "Handle" then
833
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
834
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
835
		end
836
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
837
	elseif c:IsA("JointInstance") then
838
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
839
	end
840
end
841
for e = 1, #BODY do
842
	if BODY[e] ~= nil then
843
		local STUFF = BODY[e]
844
		local PART = STUFF[1]
845
		local PARENT = STUFF[2]
846
		local MATERIAL = STUFF[3]
847
		local COLOR = STUFF[4]
848
		local TRANSPARENCY = STUFF[5]
849
		if PART.ClassName == "Part" and PART ~= RootPart then
850
			PART.Material = MATERIAL
851
			PART.Color = COLOR
852
			PART.Transparency = TRANSPARENCY
853
		end
854
		PART.AncestryChanged:Connect(function()
855
			PART.Parent = PARENT
856
		end)
857
	end
858
end
859
860
Weapon.Parent = Character
861
862
local SKILLTEXTCOLOR = C3(1,1,1)
863
local SKILLFONT = "Legacy"
864
local SKILLTEXTSIZE = 4
865
866
local ATTACKSGOODCOP = {"Mouse - Buff Barrel","Q - Baton Knockout","E - Arresting Implode"}
867
local ATTACKSBADCOP = {"Mouse - Silenced Bullet","Q - Broken Baton","E - Right To Stay Dead", "R - Right To Remain Banished", "Z - Release"}
868
local GOODUI = {}
869
local BADUI = {}
870
871
for i = 1, #ATTACKSGOODCOP do
872
	local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.73, 0, 0.7-(0.04*i), 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
873
	local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKSGOODCOP[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
874
	SKILLTEXT.TextXAlignment = "Right"
875
	table.insert(GOODUI,SKILLTEXT)
876
end
877
878
for i = 1, #ATTACKSBADCOP do
879
	local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.01, 0, 0.7-(0.04*i), 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
880
	local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKSBADCOP[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Skill text")
881
	SKILLTEXT.TextXAlignment = "Left"
882
	table.insert(BADUI,SKILLTEXT)
883
end
884
885
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
886
local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.85, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
887
888
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[F - Personality Change]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill 1 Text")
889
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[M - Music Changer]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill 2 Text")
890
891
function printbye(Name)
892
	local MESSAGES = {"Stop struggling, ","Your existance is an insult, ","Begone, ","You are not desired, ","You are not permitted here, ","You are not to decide your fate anymore, ","Burn, ","Stay banished, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here anymore, ","Why are you struggling still, ","Your fate was already decided, ","You cannot ignore my command, ","You cannot resist my command, "}
893
	Chatter(MESSAGES[MRANDOM(1,#MESSAGES)]..Name.."!")	
894
end
895
896
workspace.ChildAdded:connect(function(instance)
897
    for BANISH = 1, #TOBANISH do
898
		if TOBANISH[BANISH] ~= nil then
899
			if instance.Name == TOBANISH[BANISH] then
900
				coroutine.resume(coroutine.create(function()
901
					printbye(instance.Name)
902
					instance:ClearAllChildren()
903
					Debris:AddItem(instance,0.0005)
904
				end))
905
			end
906
		end
907
	end
908
end)
909
910
local BODY = {}
911
for _, c in pairs(Character:GetDescendants()) do
912
	if c:IsA("BasePart") and c.Name ~= "Handle" then
913
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
914
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
915
		end
916
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
917
	elseif c:IsA("JointInstance") then
918
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
919
	end
920
end
921
for e = 1, #BODY do
922
	if BODY[e] ~= nil then
923
		local STUFF = BODY[e]
924
		local PART = STUFF[1]
925
		local PARENT = STUFF[2]
926
		local MATERIAL = STUFF[3]
927
		local COLOR = STUFF[4]
928
		local TRANSPARENCY = STUFF[5]
929
		if PART.ClassName == "Part" and PART ~= RootPart then
930
			PART.Material = MATERIAL
931
			PART.Color = COLOR
932
			PART.Transparency = TRANSPARENCY
933
		end
934
		PART.AncestryChanged:Connect(function()
935
			PART.Parent = PARENT
936
		end)
937
	end
938
end
939
function refit()
940
	Character.Parent = workspace
941
	for e = 1, #BODY do
942
		if BODY[e] ~= nil then
943
			local STUFF = BODY[e]
944
			local PART = STUFF[1]
945
			local PARENT = STUFF[2]
946
			local MATERIAL = STUFF[3]
947
			local COLOR = STUFF[4]
948
			local TRANSPARENCY = STUFF[5]
949
			if PART:IsA("BasePart") and PART ~= RootPart then
950
				PART.Material = MATERIAL
951
				PART.Color = COLOR
952
				PART.Transparency = TRANSPARENCY+0
953
			end
954
			if PART.Parent ~= PARENT then
955
				Humanoid:remove()
956
				PART.Parent = PARENT
957
				Humanoid = IT("Humanoid",Character)
958
			end
959
		end
960
	end
961
end
962
963
Humanoid.Died:connect(function()
964
	refit()
965
end)
966
967
--//=================================\\
968
--||			DAMAGING
969
--\\=================================//
970
971
function Banish(Foe)
972
	if Foe then
973
		coroutine.resume(coroutine.create(function()
974
			table.insert(TOBANISH,Foe.Name)
975
			printbye(Foe.Name)
976
			Foe.Archivable = true
977
			local CLONE = Foe:Clone()
978
			Foe:Destroy()
979
			CLONE.Parent = Effects
980
			CLONE:BreakJoints()
981
			local MATERIALS = {"Glass","Neon"}
982
			for _, c in pairs(CLONE:GetDescendants()) do
983
				if c:IsA("BasePart") then
984
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
985
 						CreateSound(340722848, c, 10, 1, false)
986
					end
987
					c.Anchored = true
988
					c.Transparency = c.Transparency + 0.2
989
					c.Material = MATERIALS[MRANDOM(1,2)]
990
					c.Color = C3(255,0,0)
991
					if c.ClassName == "MeshPart" then
992
						c.TextureID = ""
993
					end
994
					if c:FindFirstChildOfClass("SpecialMesh") then
995
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
996
					end
997
					if c:FindFirstChildOfClass("Decal") then
998
						c:FindFirstChildOfClass("Decal"):remove()
999
					end
1000
					c.Name = "Banished"
1001
					c.CanCollide = false
1002
				else
1003
					c:remove()
1004
				end
1005
			end
1006
			local A = false
1007
			for i = 1, 35 do
1008
				if A == false then
1009
					A = true
1010
				elseif A == true then
1011
					A = false
1012
				end
1013
				for _, c in pairs(CLONE:GetDescendants()) do
1014
					if c:IsA("BasePart") then
1015
						c.Anchored = true
1016
						c.Material = MATERIALS[MRANDOM(1,2)]
1017
						c.Transparency = c.Transparency + 0.8/35
1018
						if A == false then
1019
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
1020
						elseif A == true then
1021
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
1022
						end
1023
					end
1024
				end
1025
				Swait()
1026
			end
1027
			CLONE:remove()
1028
		end))
1029
	end
1030
end
1031
1032
function ApplyDamage(Humanoid,Damage)
1033
	Damage = Damage * DAMAGEMULTIPLIER
1034
	local DEAD = false
1035
	if Humanoid.Health < 2000 then
1036
		if Humanoid.Health - Damage > 0 then
1037
			Humanoid.Health = Humanoid.Health - Damage
1038
		else
1039
			DEAD = true
1040
			Humanoid.Parent:BreakJoints()
1041
		end
1042
	else
1043
		DEAD = true
1044
		Humanoid.Parent:BreakJoints()
1045
	end
1046
	if DEAD == true then
1047
		if MODE == "GoodCop" then
1048
			local TEXTS = {"I'm simply laying down the law.","You should've taken account of the law.","Another criminal down."}
1049
			Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
1050
		elseif MODE == "BadCop" then
1051
			local TEXTS = {"Criminals should leave this world!","You should've taken account of the law!","And stay down!"}
1052
			Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
1053
		end
1054
	end
1055
end
1056
1057
--//=================================\\
1058
--||	    TRANSFORMATIONS
1059
--\\=================================//
1060
1061
function Switch()
1062
	ATTACK = true
1063
	Rooted = true
1064
	if MODE == "GoodCop" then
1065
		for i=0, 0.3, 0.1 / Animation_Speed do
1066
			Swait()
1067
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1068
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1069
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1070
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1071
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1072
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1073
		end
1074
		for i=0, 1, 0.1 / Animation_Speed do
1075
			Swait()
1076
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1077
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
1078
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1079
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1080
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1081
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1082
		end
1083
		CreateSound(363808674, Torso, 6, 1.2, false)
1084
		for i=0, 0.6, 0.1 / Animation_Speed do
1085
			Swait()
1086
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1087
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
1088
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1089
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1090
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1091
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1092
		end
1093
		CreateSound(363808674, Torso, 6, 1.2, false)
1094
		for i=0, 0.6, 0.1 / Animation_Speed do
1095
			Swait()
1096
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1097
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
1098
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1099
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1100
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1101
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1102
		end
1103
		MODE = "BadCop"
1104
	elseif MODE == "BadCop" then
1105
		CreateSound(147722227, Torso, 4, 1.3, false)
1106
		for i=0, 0.3, 0.1 / Animation_Speed do
1107
			Swait()
1108
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1109
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1110
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1111
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1112
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1113
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1114
		end
1115
		MODE = "GoodCop"
1116
	end
1117
	ATTACK = false
1118
	Rooted = false
1119
end
1120
1121
--//=================================\\
1122
--||	   ATTACK GOOD COP
1123
--\\=================================//
1124
1125
function Warning()
1126
	local TARGET = Mouse.Target
1127
	if TARGET ~= nil then
1128
		if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
1129
			local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
1130
			local LEG = TARGET.Parent:FindFirstChild("Right Leg") or TARGET.Parent:FindFirstChild("RightLowerLeg")
1131
			if LEG and HUM.Health > 0 then
1132
				Speed = 6
1133
				ATTACK = true
1134
				Rooted = false
1135
				local GYRO = IT("BodyGyro",RootPart)
1136
				GYRO.D = 2
1137
				GYRO.P = 2000
1138
				GYRO.MaxTorque = VT(0,4000000,0)
1139
				coroutine.resume(coroutine.create(function()
1140
					repeat
1141
						Swait()
1142
						GYRO.CFrame = CF(RootPart.Position,LEG.Position)
1143
					until ATTACK == false
1144
					GYRO:Remove()
1145
				end))
1146
				local HIT,POS = CastProperRay(RootPart.Position,LEG.Position,1000,Character)
1147
				local PASS = true
1148
				for i=0, 0.2, 0.1 / Animation_Speed do
1149
					Swait()
1150
					HIT,POS = CastProperRay(RootPart.Position,LEG.Position,1000,Character)
1151
					if HIT == nil then
1152
						PASS = false
1153
						break
1154
					else
1155
						if HIT.Parent ~= TARGET.Parent then
1156
							PASS = false
1157
							break
1158
						end
1159
					end
1160
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1161
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1162
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1163
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1164
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1165
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1166
				end
1167
				CreateSound(147722227, GUN, 6, 1.3, false)
1168
				GUNWELD.Part0 = LeftArm
1169
				GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1170
				for i=0, 0.4, 0.1 / Animation_Speed do
1171
					Swait()
1172
					HIT,POS = CastProperRay(RootPart.Position,LEG.Position,1000,Character)
1173
					if HIT == nil then
1174
						PASS = false
1175
						break
1176
					else
1177
						if HIT.Parent ~= TARGET.Parent then
1178
							PASS = false
1179
							break
1180
						end
1181
					end
1182
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1183
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1184
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1185
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1186
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1187
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1188
				end
1189
				if PASS == true then
1190
					local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
1191
					local DISTANCE = (LEG.Position - GUNPOS).Magnitude
1192
					CreateSound(160432334, LEG, 10, 1, false)
1193
					local HEAD = HUM.Parent:FindFirstChild("Head")
1194
					if HEAD then
1195
						CreateSound(535690488, HEAD, 7, 1, false)
1196
					end
1197
					ApplyDamage(HUM,15)
1198
					HUM.WalkSpeed = HUM.WalkSpeed - 3
1199
					HUM.PlatformStand = true
1200
					coroutine.resume(coroutine.create(function()
1201
						wait(0.1)
1202
						if HUM.WalkSpeed > 0 then
1203
							HUM.PlatformStand = false
1204
						end
1205
					end))
1206
					WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(0.3,0.3,0.3), Transparency = 0, Transparency2 = 1, CFrame = CF(GUNPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID = 330704232, SoundPitch = 1, SoundVolume = 4})
1207
					WACKYEFFECT({Time = 6, EffectType = "Box", Size = VT(0,0,DISTANCE), Size2 = VT(0.1,0.1,DISTANCE), Transparency = 0, Transparency2 = 1, CFrame = CF(GUNPOS,LEG.Position)*CF(0,0,-DISTANCE/2), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1208
					for i=0, 1, 0.1 / Animation_Speed do
1209
						Swait()
1210
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1211
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(45)), 1 / Animation_Speed)
1212
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1213
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1214
						RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1215
						LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1216
					end
1217
				end
1218
				for i=0, 0.3, 0.1 / Animation_Speed do
1219
					Swait()
1220
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1221
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1222
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1223
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1224
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1225
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1226
				end
1227
				GUNWELD.Part0 = Torso
1228
				GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1229
				ATTACK = false
1230
				Rooted = false
1231
				Speed = 20
1232
			end
1233
		end
1234
	end
1235
end
1236
function BatonStun()
1237
	ATTACK = true
1238
	Rooted = false
1239
	Speed = 4
1240
	for i=0, 0.2, 0.1 / Animation_Speed do
1241
		Swait()
1242
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1243
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1244
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1245
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1246
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1247
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1248
	end
1249
	BATONWELD.Part0 = RightArm
1250
	BATONWELD.C0 = CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1)
1251
	for i=0, 0.2, 0.1 / Animation_Speed do
1252
		Swait()
1253
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
1254
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(25)), 1 / Animation_Speed)
1255
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.1) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1256
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1257
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1258
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1259
	end
1260
	Speed = 25
1261
	CreateSound(147722227, BATON, 6, 1.2, false)
1262
	Trail.Enabled = true
1263
	BATON.CanCollide = true
1264
	local SPEAKING = false
1265
	local HITS = {}
1266
	local TOUCH = BATON.Touched:Connect(function(hit)
1267
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
1268
			local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
1269
			local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
1270
			if TORSO and HUM.Health > 0 then
1271
				local PASS = true
1272
				for i = 1, #HITS do
1273
					if HITS[i] == hit.Parent then
1274
						PASS = false
1275
					end
1276
				end
1277
				table.insert(HITS,hit.Parent)
1278
				if PASS == true then
1279
					HUM.PlatformStand = true
1280
					ApplyDamage(HUM,20)
1281
					local bv = Instance.new("BodyVelocity",TORSO) 
1282
					bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1283
					bv.velocity = CF(Torso.Position-VT(0,5,0),TORSO.Position).lookVector*70
1284
					Debris:AddItem(bv,0.05)
1285
					CreateSound(260430079, BATON, 6, 1, false)
1286
					WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,BATON.Position)*CF(0,0,-0.5), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Glass = C3(1,1,1), SoundID = nil, SoundPitch = 1, SoundVolume = 4})
1287
					coroutine.resume(coroutine.create(function()
1288
						wait(1)
1289
						if HUM.WalkSpeed > 0 then
1290
							HUM.PlatformStand = false
1291
						end
1292
					end))
1293
					if SPEAKING == false and MRANDOM(1,5) == 1 then
1294
						SPEAKING = true
1295
						Chatter("Let that be a warning.",0)
1296
					end
1297
				end
1298
			end
1299
		end
1300
	end)
1301
	for i=0, 0.35, 0.1 / Animation_Speed do
1302
		Swait()
1303
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(120), RAD(0), RAD(0)) * CF(0,0,1), 1 / Animation_Speed)
1304
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
1305
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
1306
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.6) * ANGLES(RAD(140), RAD(0), RAD(-31)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1307
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1308
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1309
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1310
	end
1311
	TOUCH:Disconnect()
1312
	BATON.CanCollide = false
1313
	Speed = 20
1314
	Trail.Enabled = false
1315
	for i=0, 0.2, 0.1 / Animation_Speed do
1316
		Swait()
1317
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1), 2 / Animation_Speed)
1318
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1319
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1320
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1321
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1322
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1323
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1324
	end
1325
	BATONWELD.Part0 = Torso
1326
	BATONWELD.C0 = CF(1,-0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0))
1327
	ATTACK = false
1328
	Rooted = false
1329
end
1330
function Cuffs()
1331
	local TARGET = Mouse.Target
1332
	if TARGET ~= nil then
1333
		if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
1334
			local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
1335
			local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
1336
			if ROOT and HUM.Health > 0 then
1337
				local FOE = Mouse.Target.Parent
1338
				ATTACK = true
1339
				Rooted = true
1340
				CharacterFade(C3(1,1,1),70)
1341
				RootPart.CFrame = ROOT.CFrame*CF(0,0,2)
1342
				ROOT.Anchored = true
1343
				CreateSound(289556450, RootPart, 5, 1.4, false)
1344
				Chatter("You have the right to remain silent.",0)
1345
				for i=0, 2, 0.1 / Animation_Speed do
1346
					Swait()
1347
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1348
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1349
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1350
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1351
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(15), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1352
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1353
				end
1354
				local RIGHTCUFF = nil
1355
				local LEFTCUFF = nil
1356
				local ChainLink = nil
1357
				CreateSound(1279090548, ROOT, 10, 1.4, false)
1358
				for _, c in pairs(FOE:GetChildren()) do
1359
					if c.Name == "Left Arm" or c.Name == "LeftLowerArm" then
1360
						LEFTCUFF = CreatePart(3, FOE, "Metal", 0, 0, "Mid gray", "Cuff", VT(c.Size.X+0.1, 0.1, c.Size.Z+0.1),false)
1361
						LEFTCUFF.CFrame = c.CFrame
1362
						weldBetween(c,LEFTCUFF)
1363
					end
1364
				end
1365
				for _, c in pairs(FOE:GetChildren()) do
1366
					if c.Name == "Right Arm" or c.Name == "RightLowerArm" then
1367
						RIGHTCUFF = CreatePart(3, FOE, "Metal", 0, 0, "Mid gray", "Cuff", VT(c.Size.X+0.1, 0.1, c.Size.Z+0.1),false)
1368
						RIGHTCUFF.CFrame = c.CFrame
1369
						weldBetween(c,RIGHTCUFF)
1370
					end
1371
				end
1372
				if RIGHTCUFF and LEFTCUFF then
1373
					local A = IT("Attachment",RIGHTCUFF)
1374
					local B = IT("Attachment",LEFTCUFF)
1375
					ChainLink = IT("Beam",FOE)
1376
					ChainLink.Texture = "rbxassetid://73042633"
1377
					ChainLink.Color = ColorSequence.new(C3(0.8,0.8,0.8))
1378
					ChainLink.TextureSpeed = 0
1379
					ChainLink.Width0 = 1
1380
					ChainLink.Width1 = 1
1381
					ChainLink.Segments = 25
1382
					ChainLink.TextureLength = 3
1383
					ChainLink.Attachment0 = B
1384
					ChainLink.Attachment1 = A
1385
					ChainLink.FaceCamera = true
1386
					ChainLink.Transparency = NumberSequence.new(0)
1387
				end
1388
				coroutine.resume(coroutine.create(function()
1389
					wait(4)
1390
					if RIGHTCUFF and LEFTCUFF then
1391
						RIGHTCUFF:remove()
1392
						LEFTCUFF:remove()
1393
						ChainLink:remove()
1394
						local bv = Instance.new("BodyVelocity",ROOT) 
1395
						bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1396
						bv.velocity = CF(ROOT.Position-VT(0,5,0),ROOT.Position).lookVector*70
1397
						Debris:AddItem(bv,0.05)
1398
						ApplyDamage(HUM,70)
1399
						HUM.PlatformStand = false
1400
						WACKYEFFECT({Time = 50, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(6,6,6), Transparency = 0, Transparency2 = 1, CFrame = CF(RIGHTCUFF.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Glass = C3(1,1,1), SoundID = 174580476, SoundPitch = 1, SoundVolume = 7})
1401
						WACKYEFFECT({Time = 50, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(6,6,6), Transparency = 0, Transparency2 = 1, CFrame = CF(LEFTCUFF.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Glass = C3(1,1,1), SoundID = 174580476, SoundPitch = 1, SoundVolume = 7})
1402
					end
1403
				end))
1404
				for i=0, 1.5, 0.1 / Animation_Speed do
1405
					Swait()
1406
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1407
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(5), RAD(0)), 1 / Animation_Speed)
1408
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(70), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1409
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(70), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1410
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(15), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1411
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1412
				end
1413
				HUM.PlatformStand = true
1414
				ROOT.CFrame = ROOT.CFrame * ANGLES(RAD(15), RAD(0), RAD(0))
1415
				ROOT.Anchored = false
1416
				Chatter("Anything you say can and WILL be used against you.",0)
1417
				for i=0, 3, 0.1 / Animation_Speed do
1418
					Swait()
1419
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(-35)), 1 / Animation_Speed)
1420
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 1 / Animation_Speed)
1421
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-1), RAD(0), RAD(3)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1422
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-1), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1423
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-12), RAD(80), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1424
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1425
				end
1426
				ATTACK = false
1427
				Rooted = false
1428
			end
1429
		end
1430
	end
1431
end
1432
1433
--//=================================\\
1434
--||	    ATTACK BAD COP
1435
--\\=================================//
1436
1437
function Silence()
1438
	Speed = 6
1439
	ATTACK = true
1440
	Rooted = false
1441
	local GYRO = IT("BodyGyro",RootPart)
1442
	GYRO.D = 2
1443
	GYRO.P = 20000
1444
	GYRO.MaxTorque = VT(0,4000000,0)
1445
	coroutine.resume(coroutine.create(function()
1446
		repeat
1447
			Swait()
1448
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1449
		until ATTACK == false
1450
		GYRO:Remove()
1451
	end))
1452
	for i=0, 0.2, 0.1 / Animation_Speed do
1453
		Swait()
1454
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1455
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1456
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1457
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1458
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1459
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1460
	end
1461
	local FIRING = true
1462
	local TIMER = 70
1463
	CreateSound(147722227, GUN, 6, 1.3, false)
1464
	GUNWELD.Part0 = LeftArm
1465
	GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1466
	local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
1467
	TIMER = 55
1468
	local HIT,POS = CastProperRay(GUN.Position, Mouse.Hit.p, 1000, Character)
1469
	SpawnTrail(GUN.Position,POS,false)
1470
	CreateSound(330704232,GUN,1,3,false)
1471
	if HIT ~= nil then
1472
		if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
1473
			Banish(HIT.Parent)
1474
		end
1475
	end
1476
	for i=0, 0.3, 0.1 / Animation_Speed do
1477
		Swait()
1478
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1479
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1480
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1481
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(100), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1482
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1483
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1484
	end
1485
	for i=0, 0.3, 0.1 / Animation_Speed do
1486
		Swait()
1487
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1488
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1489
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1490
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1491
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1492
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1493
	end
1494
	GUNWELD.Part0 = Torso
1495
	GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1496
	Speed = 20
1497
	ATTACK = false
1498
	Rooted = false
1499
end
1500
function BatonBreaker()
1501
	ATTACK = true
1502
	Rooted = false
1503
	Speed = 4
1504
	Chatter("I'll break you!",0)
1505
	for i=0, 0.2, 0.1 / Animation_Speed do
1506
		Swait()
1507
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1508
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1509
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1510
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1511
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1512
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1513
	end
1514
	BATONWELD.Part0 = RightArm
1515
	BATONWELD.C0 = CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1)
1516
	for i=0, 0.5, 0.1 / Animation_Speed do
1517
		Swait()
1518
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
1519
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(25)), 1 / Animation_Speed)
1520
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.1) * ANGLES(RAD(-20), RAD(-40), RAD(25)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1521
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1522
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1523
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1524
	end
1525
	Speed = 30
1526
	CreateSound(147722227, BATON, 6, 1, false)
1527
	Trail.Enabled = true
1528
	BATON.CanCollide = true
1529
	local SPEAKING = false
1530
	local HITS = {}
1531
	local TOUCH = BATON.Touched:Connect(function(hit)
1532
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
1533
			local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
1534
			local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
1535
			if TORSO and HUM.Health > 0 then
1536
				local PASS = true
1537
				for i = 1, #HITS do
1538
					if HITS[i] == hit.Parent then
1539
						PASS = false
1540
					end
1541
				end
1542
				table.insert(HITS,hit.Parent)
1543
				if PASS == true then
1544
					CreateSound(260430079, BATON, 6, 0.8, false)
1545
					WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,BATON.Position)*CF(0,0,-0.5), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Glass = C3(1,1,1), SoundID = nil, SoundPitch = 1, SoundVolume = 4})
1546
					TORSO.Anchored = true
1547
					local POS = TORSO.CFrame
1548
					coroutine.resume(coroutine.create(function()
1549
						for i = 1, 15 do
1550
							Swait()
1551
							TORSO.CFrame = POS*CF(MRANDOM(-2,2)/10,MRANDOM(-2,2)/10,MRANDOM(-2,2)/10)
1552
						end
1553
						local HEAD = HUM.Parent:FindFirstChild("Head")
1554
						HUM.Parent:BreakJoints()
1555
						if HEAD then
1556
							CreateSound(363808674, HEAD, 10, 0.8, false)
1557
							local bv = Instance.new("BodyVelocity",TORSO) 
1558
							bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1559
							bv.velocity = CF(Torso.Position-VT(0,5,0),HEAD.Position).lookVector*70
1560
							Debris:AddItem(bv,0.05)
1561
							local TEXTS = {"Criminals should leave this world!","And stay down!"}
1562
							Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
1563
						end
1564
						TORSO.Anchored = false
1565
					end))
1566
				end
1567
			end
1568
		end
1569
	end)
1570
	for i=0, 0.45, 0.1 / Animation_Speed do
1571
		Swait()
1572
		RootPart.CFrame = RootPart.CFrame * CF(0,0,-0.15)
1573
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(120), RAD(0), RAD(0)) * CF(0,0,1), 1 / Animation_Speed)
1574
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(15)), 1 / Animation_Speed)
1575
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1576
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.6) * ANGLES(RAD(140), RAD(-25), RAD(-41)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1577
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-3)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1578
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(15), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1579
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1580
	end
1581
	TOUCH:Disconnect()
1582
	BATON.CanCollide = false
1583
	Speed = 20
1584
	Trail.Enabled = false
1585
	for i=0, 0.2, 0.1 / Animation_Speed do
1586
		Swait()
1587
		BATONWELD.C0 = Clerp(BATONWELD.C0,CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)) * CF(0,0,1), 2 / Animation_Speed)
1588
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1589
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1590
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1591
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1592
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1593
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1594
	end
1595
	BATONWELD.Part0 = Torso
1596
	BATONWELD.C0 = CF(1,-0.8,0.75) * ANGLES(RAD(0), RAD(0), RAD(0))
1597
	ATTACK = false
1598
	Rooted = false
1599
end
1600
function TheRightToRemainSilent()
1601
	local TARGET = Mouse.Target
1602
	if TARGET ~= nil then
1603
		if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
1604
			local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
1605
			local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
1606
			if ROOT and HUM.Health > 0 then
1607
				local FOE = Mouse.Target.Parent
1608
				ATTACK = true
1609
				Rooted = true
1610
				CharacterFade(C3(1,1,1),70)
1611
				RootPart.CFrame = ROOT.CFrame*CF(0,0,2)
1612
				ROOT.Anchored = true
1613
				CreateSound(289556450, RootPart, 5, 1.4, false)
1614
				Chatter("You are to remain silent and DEAD!",0)
1615
				for i=0, 0.4, 0.1 / Animation_Speed do
1616
					Swait()
1617
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1618
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1619
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1620
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1621
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1622
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1623
				end
1624
				HUM.PlatformStand = true
1625
				ROOT.CFrame = ROOT.CFrame * CF(0,-2*ROOT.Size.Z,0) * ANGLES(RAD(-90), RAD(0), RAD(0))
1626
				CreateSound(260430117, ROOT, 6, 1.3, false)
1627
				coroutine.resume(coroutine.create(function()
1628
					Swait()
1629
					ROOT.Anchored = true
1630
				end))
1631
				RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.6)
1632
				for i=0, 0.2, 0.1 / Animation_Speed do
1633
					Swait()
1634
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
1635
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
1636
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1637
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1638
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1639
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1640
				end
1641
				local OOFS = {1106908323,1080610827,1080614222,565424701,565424177,1080611063}
1642
				CreateSound(OOFS[MRANDOM(1,#OOFS)], ROOT, 6, 1, false)
1643
				for i=0, 0.2, 0.1 / Animation_Speed do
1644
					Swait()
1645
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1646
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1647
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1648
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1649
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1650
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1651
				end
1652
				local AMMO = 6
1653
				local FIRING = true
1654
				local SHOOTING = false
1655
				local TIMER = 70
1656
				CreateSound(147722227, GUN, 6, 1.3, false)
1657
				GUNWELD.Part0 = LeftArm
1658
				GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1659
				for i=0, 0.2, 0.1 / Animation_Speed do
1660
					Swait()
1661
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1662
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1663
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1664
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.4) * ANGLES(RAD(100), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1665
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1666
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1667
				end
1668
				for i = 1, 6 do
1669
					local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
1670
					local DISTANCE = (FOE.Head.Position - GUNPOS).Magnitude
1671
					WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(0.3,0.3,0.3), Transparency = 0, Transparency2 = 1, CFrame = CF(GUNPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID = 330704232, SoundPitch = 1, SoundVolume = 4})
1672
					WACKYEFFECT({Time = 6, EffectType = "Box", Size = VT(0,0,DISTANCE), Size2 = VT(0.1,0.1,DISTANCE), Transparency = 0, Transparency2 = 1, CFrame = CF(GUNPOS,FOE.Head.Position)*CF(0,0,-DISTANCE/2), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1673
					HUM.Health = HUM.Health/1.5
1674
					for i=0, 0.2, 0.1 / Animation_Speed do
1675
						Swait()
1676
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1677
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1678
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1679
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.6) * ANGLES(RAD(130), RAD(0), RAD(20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1680
						RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1681
						LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1682
					end
1683
					for i=0, 0.2, 0.1 / Animation_Speed do
1684
						Swait()
1685
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1686
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1687
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1688
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.6) * ANGLES(RAD(100), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1689
						RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1690
						LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1691
					end
1692
				end
1693
				FOE:BreakJoints()
1694
				ROOT.Anchored = false
1695
				for i=0, 0.3, 0.1 / Animation_Speed do
1696
					Swait()
1697
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1698
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1699
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1700
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1701
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1702
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1703
				end
1704
				GUNWELD.Part0 = Torso
1705
				GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1706
				ATTACK = false
1707
				Rooted = false
1708
			end
1709
		end
1710
	end
1711
end
1712
1713
function TheRightToRemainBanished()
1714
	local TARGET = Mouse.Target
1715
	if TARGET ~= nil then
1716
		if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
1717
			local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
1718
			local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
1719
			if ROOT and HUM.Health > 0 then
1720
				local FOE = Mouse.Target.Parent
1721
				ATTACK = true
1722
				Rooted = true
1723
				CharacterFade(C3(1,1,1),70)
1724
				RootPart.CFrame = ROOT.CFrame*CF(0,0,2)
1725
				ROOT.Anchored = true
1726
				CreateSound(289556450, RootPart, 5, 1.4, false)
1727
				Chatter("You are to remain silent and BANISHED!",0)
1728
				for i=0, 0.4, 0.1 / Animation_Speed do
1729
					Swait()
1730
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1731
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1732
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1733
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1734
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1735
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1736
				end
1737
				HUM.PlatformStand = true
1738
				ROOT.CFrame = ROOT.CFrame * CF(0,-2*ROOT.Size.Z,0) * ANGLES(RAD(-90), RAD(0), RAD(0))
1739
				CreateSound(260430117, ROOT, 6, 1.3, false)
1740
				coroutine.resume(coroutine.create(function()
1741
					Swait()
1742
					ROOT.Anchored = true
1743
				end))
1744
				RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.6)
1745
				for i=0, 0.2, 0.1 / Animation_Speed do
1746
					Swait()
1747
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
1748
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
1749
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1750
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1751
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1752
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1753
				end
1754
				
1755
				for i=0, 0.2, 0.1 / Animation_Speed do
1756
					Swait()
1757
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1758
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1759
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1760
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1761
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1762
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1763
				end
1764
				local AMMO = 6
1765
				local FIRING = true
1766
				local SHOOTING = false
1767
				local TIMER = 70
1768
				CreateSound(147722227, GUN, 6, 1.3, false)
1769
				GUNWELD.Part0 = LeftArm
1770
				GUNWELD.C0 = CF(0,-1.5,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1771
				for i=0, 0.2, 0.1 / Animation_Speed do
1772
					Swait()
1773
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1774
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1775
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1776
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.4) * ANGLES(RAD(100), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1777
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1778
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1779
				end
1780
				for i = 1, 1 do
1781
					local GUNPOS = GUN.CFrame*CF(1.2, 0.5, 0).p
1782
					local DISTANCE = (FOE.Head.Position - GUNPOS).Magnitude
1783
					local HIT,POS = CastProperRay(GUNPOS, FOE.Head.Position - GUNPOS, 1000, Character)
1784
					SpawnTrail(GUN.Position,FOE.Head.Position)
1785
					if HIT ~= nil then
1786
						if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
1787
							Banish(HIT.Parent)
1788
						end
1789
					end
1790
					for i=0, 0.2, 0.1 / Animation_Speed do
1791
						Swait()
1792
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1793
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1794
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1795
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.6) * ANGLES(RAD(130), RAD(0), RAD(20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1796
						RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1797
						LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1798
					end
1799
					for i=0, 0.2, 0.1 / Animation_Speed do
1800
						Swait()
1801
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.65) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
1802
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
1803
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(80), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1804
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.4, 0.55, 0.6) * ANGLES(RAD(100), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1805
						RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.45) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1806
						LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1807
					end
1808
				end
1809
				ROOT.Anchored = false
1810
				for i=0, 0.3, 0.1 / Animation_Speed do
1811
					Swait()
1812
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1813
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
1814
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1815
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1816
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1817
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1818
				end
1819
				GUNWELD.Part0 = Torso
1820
				GUNWELD.C0 = CF(-1.1,-1.1,0) * ANGLES(RAD(0), RAD(90), RAD(-90))
1821
				ATTACK = false
1822
				Rooted = false
1823
			end
1824
		end
1825
	end
1826
end
1827
1828
function Release()
1829
	Chatter("I have decided to release you from your eternal prison.")
1830
1831
	for p,v in next, TOBANISH do
1832
		TOBANISH[p] = nil
1833
	end
1834
end
1835
1836
--//=================================\\
1837
--||	  ASSIGN THINGS TO KEYS
1838
--\\=================================//
1839
1840
local MUSIC = CreateSound(285883918,Character,3,1,true)
1841
1842
function MouseDown(Mouse)
1843
	if ATTACK == false then
1844
		if MODE == "GoodCop" then
1845
			Warning()
1846
		elseif MODE == "BadCop" then
1847
			Silence()
1848
		end
1849
	end
1850
end
1851
1852
function MouseUp(Mouse)
1853
HOLD = false
1854
end
1855
1856
function KeyDown(Key)
1857
	KEYHOLD = true
1858
	if Key == "q" and ATTACK == false then
1859
		if MODE == "GoodCop" then
1860
			BatonStun()
1861
		elseif MODE == "BadCop" then
1862
			BatonBreaker()
1863
		end
1864
	end
1865
1866
	if Key == "e" and ATTACK == false then
1867
		if MODE == "GoodCop" then
1868
			Cuffs()
1869
		elseif MODE == "BadCop" then
1870
			TheRightToRemainSilent()
1871
		end
1872
	end
1873
1874
	if Key == "r" and ATTACK == false then
1875
		if MODE == "GoodCop" then
1876
			-- Add your Attack Hych.
1877
		elseif MODE == "BadCop" then
1878
			TheRightToRemainBanished()
1879
		end
1880
	end
1881
	
1882
	if Key == "z" and ATTACK == false then
1883
		if MODE == "GoodCop" then
1884
			-- Add your Attack Hych.
1885
		elseif MODE == "BadCop" then
1886
			Release()
1887
		end
1888
	end	
1889
	
1890
	if Key == "t" and ATTACK == false then
1891
		if MODE == "GoodCop" then
1892
			Chatter("You should obey the law.",0.01)
1893
		elseif MODE == "BadCop" then
1894
			Chatter("Don't even try! Criminal Scum!",0.01)
1895
		end
1896
	end
1897
1898
	if Key == "f" and ATTACK == false then
1899
		Switch()
1900
	end
1901
1902
	if Key == "m" then
1903
		MUSIC:Play()
1904
		CHOSENSONG = CHOSENSONG + 1
1905
		if CHOSENSONG > #SONGS then
1906
			CHOSENSONG = 1
1907
		end
1908
	end
1909
end
1910
1911
function KeyUp(Key)
1912
	KEYHOLD = false
1913
end
1914
1915
	Mouse.Button1Down:connect(function(NEWKEY)
1916
		MouseDown(NEWKEY)
1917
	end)
1918
	Mouse.Button1Up:connect(function(NEWKEY)
1919
		MouseUp(NEWKEY)
1920
	end)
1921
	Mouse.KeyDown:connect(function(NEWKEY)
1922
		KeyDown(NEWKEY)
1923
	end)
1924
	Mouse.KeyUp:connect(function(NEWKEY)
1925
		KeyUp(NEWKEY)
1926
	end)
1927
1928
--//=================================\\
1929
--\\=================================//
1930
1931
function unanchor()
1932
	for _, c in pairs(Character:GetChildren()) do
1933
		if c:IsA("BasePart") and c ~= RootPart then
1934
			c.Anchored = false
1935
		end
1936
	end
1937
	for _, c in pairs(Weapon:GetChildren()) do
1938
		if c:IsA("BasePart") and c ~= RootPart then
1939
			c.Anchored = false
1940
		end
1941
	end
1942
	if UNANCHOR == true then
1943
		RootPart.Anchored = false
1944
	else
1945
		RootPart.Anchored = true
1946
	end
1947
end
1948
1949
--//=================================\\
1950
--||	WRAP THE WHOLE SCRIPT UP
1951
--\\=================================//
1952
1953
Humanoid.Changed:connect(function(Jump)
1954
	if Jump == "Jump" and (Disable_Jump == true) then
1955
		Humanoid.Jump = false
1956
	end
1957
end)
1958
1959
while true do
1960
	Swait()
1961
	script.Parent = WEAPONGUI
1962
	ANIMATE.Parent = nil
1963
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1964
	    v:Stop();
1965
	end
1966
	SINE = SINE + CHANGE
1967
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1968
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1969
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1970
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1971
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1972
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0.05 * COS(SINE / (WALKSPEEDVALUE/2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1973
		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) / Animation_Speed)
1974
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
1975
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
1976
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1977
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1978
		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 / Animation_Speed)
1979
		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 / Animation_Speed)
1980
		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 / Animation_Speed)
1981
	end
1982
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1983
		ANIM = "Jump"
1984
		if ATTACK == false then
1985
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1986
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1987
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1988
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1989
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1990
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1991
	    end
1992
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1993
		ANIM = "Fall"
1994
		if ATTACK == false then
1995
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1996
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1997
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1998
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1999
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
2000
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
2001
		end
2002
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
2003
		ANIM = "Idle"
2004
		if ATTACK == false then
2005
			if MODE == "GoodCop" then
2006
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
2007
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 1 / Animation_Speed)
2008
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.9, 0.5 + 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2009
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.9, 0.25 + 0.05 * SIN(SINE / 12), -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2010
				RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2011
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
2012
			elseif MODE == "BadCop" then
2013
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2014
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 2.5 * COS(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
2015
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.9, 0.5 + 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2016
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.9, 0.25 + 0.05 * SIN(SINE / 12), -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2017
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2018
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2019
			end
2020
		end
2021
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
2022
		ANIM = "Walk"
2023
		if ATTACK == false then
2024
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2025
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2026
			if MODE == "GoodCop" then
2027
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.9, 0.5 + 0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2028
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.9, 0.25 + 0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2029
			elseif MODE == "BadCop" then
2030
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.9, 0.5 + 0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2031
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.9, 0.25 + 0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), -0.35) * ANGLES(RAD(70), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2032
			end
2033
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-5)), 2 / Animation_Speed)
2034
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(5)), 2 / Animation_Speed)
2035
		end
2036
	end
2037
	unanchor()
2038
	refit()
2039
	for _, c in pairs(Character:GetChildren()) do
2040
		if c.ClassName == "Accessory" then
2041
			c:remove()
2042
		end
2043
	end
2044
	MUSIC.Parent = Character
2045
	MUSIC.SoundId = "rbxassetid://"..SONGS[CHOSENSONG]
2046
	MUSIC.Pitch = 1
2047
	MUSIC.Playing = true
2048
	Humanoid.MaxHealth = 3e3
2049
	Humanoid.Health = 3e3
2050
	if Rooted == false then
2051
		Disable_Jump = false
2052
		Humanoid.WalkSpeed = Speed
2053
	elseif Rooted == true then
2054
		Disable_Jump = true
2055
		Humanoid.WalkSpeed = 0
2056
	end
2057
	for _, c in pairs(Character:GetChildren()) do
2058
		if (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
2059
			c:remove()
2060
		end
2061
	end
2062
	
2063
	if MODE == "GoodCop" then
2064
		for E = 1, #GOODUI do
2065
			GOODUI[E].TextStrokeTransparency = 0
2066
			GOODUI[E].TextTransparency = 0
2067
		end
2068
		for E = 1, #BADUI do
2069
			BADUI[E].TextStrokeTransparency = 1
2070
			BADUI[E].TextTransparency = 0.5
2071
		end
2072
	elseif MODE == "BadCop" then
2073
		for E = 1, #GOODUI do
2074
			GOODUI[E].TextStrokeTransparency = 1
2075
			GOODUI[E].TextTransparency = 0.5
2076
		end
2077
		for E = 1, #BADUI do
2078
			BADUI[E].TextStrokeTransparency = 0
2079
			BADUI[E].TextTransparency = 0
2080
		end
2081
	end
2082
end
2083
2084
--//=================================\\
2085
--\\=================================//
2086
2087
2088
2089
2090
2091
--//====================================================\\--
2092
--||			  		 END OF SCRIPT
2093
--\\====================================================//--