View difference between Paste ID: 0fwRUsg5 and 0aHzYQrZ
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2
local Player,game,owner = owner,game
3
local RealPlayer = Player
4
do
5
    print("FE Compatibility code by Mokiros")
6
    local rp = RealPlayer
7
    script.Parent = rp.Character
8
   
9
    --RemoteEvent for communicating
10
    local Event = Instance.new("RemoteEvent")
11
    Event.Name = "UserInput_Event"
12
 
13
    --Fake event to make stuff like Mouse.KeyDown work
14
    local function fakeEvent()
15
        local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
16
        t.connect = t.Connect
17
        return t
18
    end
19
 
20
    --Creating fake input objects with fake variables
21
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
22
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
23
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
24
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
25
    end}
26
    --Merged 2 functions into one by checking amount of arguments
27
    CAS.UnbindAction = CAS.BindAction
28
 
29
    --This function will trigger the events that have been :Connect()'ed
30
    local function te(self,ev,...)
31
        local t = m[ev]
32
        if t and t._fakeEvent then
33
            for _,f in pairs(t.Functions) do
34
                f(...)
35
            end
36
        end
37
    end
38
    m.TrigEvent = te
39
    UIS.TrigEvent = te
40
 
41
    Event.OnServerEvent:Connect(function(plr,io)
42
        if plr~=rp then return end
43
        m.Target = io.Target
44
        m.Hit = io.Hit
45
        if not io.isMouse then
46
            local b = io.UserInputState == Enum.UserInputState.Begin
47
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
48
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
49
            end
50
            for _,t in pairs(CAS.Actions) do
51
                for _,k in pairs(t.Keys) do
52
                    if k==io.KeyCode then
53
                        t.Function(t.Name,io.UserInputState,io)
54
                    end
55
                end
56
            end
57
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
        end
60
    end)
61
    Event.Parent = NLS([==[
62
    local Player = game:GetService("Players").LocalPlayer
63
    local Event = script:WaitForChild("UserInput_Event")
64
 
65
    local Mouse = Player:GetMouse()
66
    local UIS = game:GetService("UserInputService")
67
    local input = function(io,a)
68
        if a then return end
69
        --Since InputObject is a client-side instance, we create and pass table instead
70
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
71
    end
72
    UIS.InputBegan:Connect(input)
73
    UIS.InputEnded:Connect(input)
74
 
75
    local h,t
76
    --Give the server mouse data 30 times every second, but only if the values changed
77
    --If player is not moving their mouse, client won't fire events
78
    while wait(1/30) do
79
        if h~=Mouse.Hit or t~=Mouse.Target then
80
            h,t=Mouse.Hit,Mouse.Target
81
            Event:FireServer({isMouse=true,Target=t,Hit=h})
82
        end
83
    end]==],Player.Character)
84
 
85
    ----Sandboxed game object that allows the usage of client-side methods and services
86
    --Real game object
87
    local _rg = game
88
 
89
    --Metatable for fake service
90
    local fsmt = {
91
        __index = function(self,k)
92
            local s = rawget(self,"_RealService")
93
            if s then return s[k] end
94
        end,
95
        __newindex = function(self,k,v)
96
            local s = rawget(self,"_RealService")
97
            if s then s[k]=v end
98
        end,
99
        __call = function(self,...)
100
            local s = rawget(self,"_RealService")
101
            if s then return s(...) end
102
        end
103
    }
104
    local function FakeService(t,RealService)
105
        t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
106
        return setmetatable(t,fsmt)
107
    end
108
 
109
    --Fake game object
110
    local g = {
111
        GetService = function(self,s)
112
            return self[s]
113
        end,
114
        Players = FakeService({
115
            LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
116
        },"Players"),
117
        UserInputService = FakeService(UIS,"UserInputService"),
118
        ContextActionService = FakeService(CAS,"ContextActionService"),
119
    }
120
    rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
121
    g.service = g.GetService
122
   
123
    g.RunService = FakeService({
124
        RenderStepped = _rg:GetService("RunService").Heartbeat,
125
        BindToRenderStep = function(self,name,_,fun)
126
 
127
        end,
128
        UnbindFromRenderStep = function(self,name)
129
            self._btrs[name]:Disconnect()
130
        end,
131
    },"RunService")
132
 
133
    setmetatable(g,{
134
        __index=function(self,s)
135
            return _rg:GetService(s) or typeof(_rg[s])=="function"
136
            and function(_,...)return _rg[s](_rg,...)end or _rg[s]
137
        end,
138
        __newindex = fsmt.__newindex,
139
        __call = fsmt.__call
140
    })
141
    --Changing owner to fake player object to support owner:GetMouse()
142
    game,owner = g,g.Players.LocalPlayer
143
end
144
145
Player = game:GetService("Players").LocalPlayer
146
PlayerGui = Player.PlayerGui
147
Cam = workspace.CurrentCamera
148
Backpack = Player.Backpack
149
Character = Player.Character
150
Humanoid = Character.Humanoid
151
Mouse = Player:GetMouse()
152
RootPart = Character["HumanoidRootPart"]
153
Torso = Character["Torso"]
154
Head = Character["Head"]
155
RightArm = Character["Right Arm"]
156
LeftArm = Character["Left Arm"]
157
RightLeg = Character["Right Leg"]
158
LeftLeg = Character["Left Leg"]
159
RootJoint = RootPart["RootJoint"]
160
Neck = Torso["Neck"]
161
RightShoulder = Torso["Right Shoulder"]
162
LeftShoulder = Torso["Left Shoulder"]
163
RightHip = Torso["Right Hip"]
164
LeftHip = Torso["Left Hip"]
165
local sick = Instance.new("Sound",Torso)
166
sick.SoundId = "rbxassetid://318812395"
167
sick.Looped = true
168
sick.Pitch = 1
169
sick.Volume = 3
170
sick.TimePosition = 0
171
Character.Archivable = true
172
Humanoid.DisplayDistanceType = "None"
173
174
local naeeym2 = Instance.new("BillboardGui",Character)
175
naeeym2.AlwaysOnTop = true
176
naeeym2.Size = UDim2.new(5,35,2,35)
177
naeeym2.StudsOffset = Vector3.new(0,3,0)
178
naeeym2.Adornee = Character.Head
179
naeeym2.Name = "Name"
180
local tecks2 = Instance.new("TextLabel",naeeym2)
181
tecks2.BackgroundTransparency = 1
182
tecks2.TextScaled = true
183
tecks2.BorderSizePixel = 0
184
tecks2.Text = "Dead Gun"
185
tecks2.Font = "Code"
186
tecks2.TextSize = 30
187
tecks2.TextTransparency = 1
188
tecks2.TextStrokeTransparency = 1
189
tecks2.TextColor3 = Color3.new(255/255,0/255,0/255)
190
tecks2.Size = UDim2.new(1,0,0.5,0)
191
tecks2.Parent = naeeym2
192
193
IT = Instance.new
194
CF = CFrame.new
195
VT = Vector3.new
196
RAD = math.rad
197
C3 = Color3.new
198
UD2 = UDim2.new
199
BRICKC = BrickColor.new
200
ANGLES = CFrame.Angles
201
EULER = CFrame.fromEulerAnglesXYZ
202
COS = math.cos
203
ACOS = math.acos
204
SIN = math.sin
205
ASIN = math.asin
206
ABS = math.abs
207
MRANDOM = math.random
208
FLOOR = math.floor
209
210
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
211
	local NEWMESH = IT(MESH)
212
	if MESH == "SpecialMesh" then
213
		NEWMESH.MeshType = MESHTYPE
214
		if MESHID ~= "nil" and MESHID ~= "" then
215
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
216
		end
217
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
218
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
219
		end
220
	end
221
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
222
	NEWMESH.Scale = SCALE
223
	NEWMESH.Parent = PARENT
224
	return NEWMESH
225
end
226
227
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
228
	local NEWPART = IT("Part")
229
	NEWPART.formFactor = FORMFACTOR
230
	NEWPART.Reflectance = REFLECTANCE
231
	NEWPART.Transparency = TRANSPARENCY
232
	NEWPART.CanCollide = false
233
	NEWPART.Locked = true
234
	NEWPART.Anchored = true
235
	if ANCHOR == false then
236
		NEWPART.Anchored = false
237
	end
238
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
239
	NEWPART.Name = NAME
240
	NEWPART.Size = SIZE
241
	NEWPART.Position = Torso.Position
242
	NEWPART.Material = MATERIAL
243
	NEWPART:BreakJoints()
244
	NEWPART.Parent = PARENT
245
	return NEWPART
246
end
247
248
--//=================================\\
249
--||		  CUSTOMIZATION
250
--\\=================================//
251
252
Player_Size = 1 --Size of the player.
253
Animation_Speed = 3
254
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
255
256
local Speed = 16
257
local Effects2 = {}
258
259
--//=================================\\
260
--|| 	  END OF CUSTOMIZATION
261
--\\=================================//
262
263
	local function weldBetween(a, b)
264
	    local weldd = Instance.new("ManualWeld")
265
	    weldd.Part0 = a
266
	    weldd.Part1 = b
267
	    weldd.C0 = CFrame.new()
268
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
269
	    weldd.Parent = a
270
	    return weldd
271
	end
272
273
--//=================================\\
274
--|| 	      USEFUL VALUES
275
--\\=================================//
276
277
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
278
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
279
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
280
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
281
local CHANGEDEFENSE = 0
282
local CHANGEDAMAGE = 0
283
local CHANGEMOVEMENT = 0
284
local ANIM = "Idle"
285
local ATTACK = false
286
local EQUIPPED = false
287
local HOLD = false
288
local COMBO = 1
289
local Rooted = false
290
local SINE = 0
291
local KEYHOLD = false
292
local CHANGE = 2 / Animation_Speed
293
local WALKINGANIM = false
294
local WALK = 0
295
local VALUE1 = false
296
local VALUE2 = false
297
local ROBLOXIDLEANIMATION = IT("Animation")
298
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
299
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
300
--ROBLOXIDLEANIMATION.Parent = Humanoid
301
local WEAPONGUI = IT("ScreenGui", PlayerGui)
302
WEAPONGUI.Name = "Weapon GUI"
303
local Weapon = IT("Folder", Character)
304
Weapon.Name = "Weapon"
305
local Effects = IT("Folder", Character)
306
Effects.Name = "Effects"
307
local Weapon2 = IT("Folder",Character)
308
Weapon2.Name = "Weapon2"
309
local ANIMATOR = Humanoid.Animator
310
local ANIMATE = Character.Animate
311
local UNANCHOR = true
312
local LAUGHS = {834001699,834001752,834001797,834001828}
313
local SONGS = {534861083,530959353,1534958855,0}
314
local CHOICE = MRANDOM(1,4)
315
local PLAYMAINANIM = true
316
local INTRO = false
317
local TRANSFORMED = false
318
local INSTANT = false
319
local MODE = "BadCop"
320-
local MODE = "GoodCop"
320+
321
--//=================================\\
322
--\\=================================//
323
324
325
--//=================================\\
326
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
327
--\\=================================//
328
329
ArtificialHB = Instance.new("BindableEvent", script)
330
ArtificialHB.Name = "ArtificialHB"
331
332
script:WaitForChild("ArtificialHB")
333
334
frame = Frame_Speed
335
tf = 0
336
allowframeloss = false
337
tossremainder = false
338
lastframe = tick()
339
script.ArtificialHB:Fire()
340
341
game:GetService("RunService").Heartbeat:connect(function(s, p)
342
	tf = tf + s
343
	if tf >= frame then
344
		if allowframeloss then
345
			script.ArtificialHB:Fire()
346
			lastframe = tick()
347
		else
348
			for i = 1, math.floor(tf / frame) do
349
				script.ArtificialHB:Fire()
350
			end
351
		lastframe = tick()
352
		end
353
		if tossremainder then
354
			tf = 0
355
		else
356
			tf = tf - frame * math.floor(tf / frame)
357
		end
358
	end
359
end)
360
361
--//=================================\\
362
--\\=================================//
363
364
365
366
367
368
--//=================================\\
369
--|| 	      SOME FUNCTIONS
370
--\\=================================//
371
372
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
373
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
374
end
375
376
function PositiveAngle(NUMBER)
377
	if NUMBER >= 0 then
378
		NUMBER = 0
379
	end
380
	return NUMBER
381
end
382
383
function NegativeAngle(NUMBER)
384
	if NUMBER <= 0 then
385
		NUMBER = 0
386
	end
387
	return NUMBER
388
end
389
390
function Swait(NUMBER)
391
	if NUMBER == 0 or NUMBER == nil then
392
		ArtificialHB.Event:wait()
393
	else
394
		for i = 1, NUMBER do
395
			ArtificialHB.Event:wait()
396
		end
397
	end
398
end
399
400
function QuaternionFromCFrame(cf)
401
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
402
	local trace = m00 + m11 + m22
403
	if trace > 0 then 
404
		local s = math.sqrt(1 + trace)
405
		local recip = 0.5 / s
406
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
407
	else
408
		local i = 0
409
		if m11 > m00 then
410
			i = 1
411
		end
412
		if m22 > (i == 0 and m00 or m11) then
413
			i = 2
414
		end
415
		if i == 0 then
416
			local s = math.sqrt(m00 - m11 - m22 + 1)
417
			local recip = 0.5 / s
418
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
419
		elseif i == 1 then
420
			local s = math.sqrt(m11 - m22 - m00 + 1)
421
			local recip = 0.5 / s
422
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
423
		elseif i == 2 then
424
			local s = math.sqrt(m22 - m00 - m11 + 1)
425
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
426
		end
427
	end
428
end
429
 
430
function QuaternionToCFrame(px, py, pz, x, y, z, w)
431
	local xs, ys, zs = x + x, y + y, z + z
432
	local wx, wy, wz = w * xs, w * ys, w * zs
433
	local xx = x * xs
434
	local xy = x * ys
435
	local xz = x * zs
436
	local yy = y * ys
437
	local yz = y * zs
438
	local zz = z * zs
439
	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))
440
end
441
 
442
function QuaternionSlerp(a, b, t)
443
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
444
	local startInterp, finishInterp;
445
	if cosTheta >= 0.0001 then
446
		if (1 - cosTheta) > 0.0001 then
447
			local theta = ACOS(cosTheta)
448
			local invSinTheta = 1 / SIN(theta)
449
			startInterp = SIN((1 - t) * theta) * invSinTheta
450
			finishInterp = SIN(t * theta) * invSinTheta
451
		else
452
			startInterp = 1 - t
453
			finishInterp = t
454
		end
455
	else
456
		if (1 + cosTheta) > 0.0001 then
457
			local theta = ACOS(-cosTheta)
458
			local invSinTheta = 1 / SIN(theta)
459
			startInterp = SIN((t - 1) * theta) * invSinTheta
460
			finishInterp = SIN(t * theta) * invSinTheta
461
		else
462
			startInterp = t - 1
463
			finishInterp = t
464
		end
465
	end
466
	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
467
end
468
469
function Clerp(a, b, t)
470
	local qa = {QuaternionFromCFrame(a)}
471
	local qb = {QuaternionFromCFrame(b)}
472
	local ax, ay, az = a.x, a.y, a.z
473
	local bx, by, bz = b.x, b.y, b.z
474
	local _t = 1 - t
475
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
476
end
477
478
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
479
	local frame = IT("Frame")
480
	frame.BackgroundTransparency = TRANSPARENCY
481
	frame.BorderSizePixel = BORDERSIZEPIXEL
482
	frame.Position = POSITION
483
	frame.Size = SIZE
484
	frame.BackgroundColor3 = COLOR
485
	frame.BorderColor3 = BORDERCOLOR
486
	frame.Name = NAME
487
	frame.Parent = PARENT
488
	return frame
489
end
490
491
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
492
	local label = IT("TextLabel")
493
	label.BackgroundTransparency = 1
494
	label.Size = UD2(1, 0, 1, 0)
495
	label.Position = UD2(0, 0, 0, 0)
496
	label.TextColor3 = TEXTCOLOR
497
	label.TextStrokeTransparency = STROKETRANSPARENCY
498
	label.TextTransparency = TRANSPARENCY
499
	label.FontSize = TEXTFONTSIZE
500
	label.Font = TEXTFONT
501
	label.BorderSizePixel = BORDERSIZEPIXEL
502
	label.TextScaled = false
503
	label.Text = TEXT
504
	label.Name = NAME
505
	label.Parent = PARENT
506
	return label
507
end
508
509
function NoOutlines(PART)
510
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
511
end
512
513
514
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
515
	local NEWWELD = IT(TYPE)
516
	NEWWELD.Part0 = PART0
517
	NEWWELD.Part1 = PART1
518
	NEWWELD.C0 = C0
519
	NEWWELD.C1 = C1
520
	NEWWELD.Parent = PARENT
521
	return NEWWELD
522
end
523
524
function CreateSound(ID, PARENT, VOLUME, PITCH)
525
	local NEWSOUND = nil
526
	coroutine.resume(coroutine.create(function()
527
		NEWSOUND = IT("Sound", PARENT)
528
		NEWSOUND.Volume = VOLUME
529
		NEWSOUND.Pitch = PITCH
530
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
531
		Swait()
532
		NEWSOUND:play()
533
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
534
	end))
535
	return NEWSOUND
536
end
537
538
function CFrameFromTopBack(at, top, back)
539
	local right = top:Cross(back)
540
	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)
541
end
542
543
function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
544
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
545
	local mesh = IT("SpecialMesh",wave)
546
	mesh.MeshType = "FileMesh"
547
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
548
	mesh.Scale = SIZE
549
	mesh.Offset = VT(0,0,0)
550
	wave.CFrame = CFRAME
551
	coroutine.resume(coroutine.create(function(PART)
552
		for i = 1, WAIT do
553
			Swait()
554
			mesh.Scale = mesh.Scale + GROW
555
			if DOESROT == true then
556
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
557
			end
558
			wave.Transparency = wave.Transparency + (0.5/WAIT)
559
			if wave.Transparency > 0.99 then
560
				wave:remove()
561
			end
562
		end
563
	end))
564
end
565
566
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
567
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
568
	local mesh = IT("SpecialMesh",wave)
569
	mesh.MeshType = "Sphere"
570
	mesh.Scale = SIZE
571
	mesh.Offset = VT(0,0,0)
572
	wave.CFrame = CFRAME
573
	coroutine.resume(coroutine.create(function(PART)
574
		for i = 1, WAIT do
575
			Swait()
576
			mesh.Scale = mesh.Scale + GROW
577
			wave.Transparency = wave.Transparency + (1/WAIT)
578
			if wave.Transparency > 0.99 then
579
				wave:remove()
580
			end
581
		end
582
	end))
583
end
584
585
function Slice(SIZE,WAIT,CFRAME,COLOR,GROW)
586
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
587
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
588
	wave.CFrame = CFRAME
589
	coroutine.resume(coroutine.create(function(PART)
590
		for i = 1, WAIT do
591
			Swait()
592
			mesh.Scale = mesh.Scale * GROW
593
			wave.Transparency = wave.Transparency + (0.5/WAIT)
594
			if wave.Transparency > 0.99 then
595
				wave:remove()
596
			end
597
		end
598
	end))
599
end
600
601
function MagicBlock(SIZE,WAIT,CFRAME,COLOR,GROW)
602
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(SIZE,SIZE,SIZE), true)
603
	local mesh = IT("BlockMesh",wave)
604
	wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
605
	coroutine.resume(coroutine.create(function(PART)
606
		for i = 1, WAIT do
607
			Swait()
608
			mesh.Scale = mesh.Scale + GROW
609
			wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
610
			wave.Transparency = wave.Transparency + (1/WAIT)
611
			if wave.Transparency > 0.99 then
612
				wave:remove()
613
			end
614
		end
615
	end))
616
end
617
618
function MakeForm(PART,TYPE)
619
	if TYPE == "Cyl" then
620
		local MSH = IT("CylinderMesh",PART)
621
	elseif TYPE == "Ball" then
622
		local MSH = IT("SpecialMesh",PART)
623
		MSH.MeshType = "Sphere"
624
	elseif TYPE == "Wedge" then
625
		local MSH = IT("SpecialMesh",PART)
626
		MSH.MeshType = "Wedge"
627
	end
628
end
629
630
function CheckTableForString(Table, String)
631
	for i, v in pairs(Table) do
632
		if string.find(string.lower(String), string.lower(v)) then
633
			return true
634
		end
635
	end
636
	return false
637
end
638
639
640
641
Debris = game:GetService("Debris")
642
643
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
644
	local Direction = CFrame.new(StartPos, Vec).lookVector
645
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
646
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
647
	if RayHit and CheckIntangible(RayHit) then
648
		if DelayIfHit then
649
			wait()
650
		end
651
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
652
	end
653
	return RayHit, RayPos, RayNormal
654
end
655
656
function RayCast(Position, Direction, MaxDistance, IgnoreList)
657
	return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position, Direction.unit * (MaxDistance or 999.999)), IgnoreList) 
658
end
659
660
function turnto(position)
661
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
662
end
663
664
function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
665
	PLAYMAINANIM = false
666
	if WhichPose == "Cast1" then
667
		for i=0, Time, 0.1 / Animation_Speed do
668
			Swait()
669
			if Magic == true then
670
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
671
			end
672
			if Gyro ~= nil and Gyro ~= false then
673
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
674
			end
675
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
676
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
677
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
678
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
679
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
680
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
681
		end
682
	elseif WhichPose == "Cast2" then
683
		for i=0, Time, 0.1 / Animation_Speed do
684
			Swait()
685
			if Magic == true then
686
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
687
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
688
			end
689
			if Gyro ~= nil and Gyro ~= false then
690
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
691
			end
692
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
693
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
694
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
695
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
696
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
697
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
698
		end
699
	elseif WhichPose == "RightArmUp" then
700
		for i=0, Time, 0.1 / Animation_Speed do
701
			Swait()
702
			if Magic == true then
703
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
704
			end
705
			if Gyro ~= nil and Gyro ~= false then
706
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
707
			end
708
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
709
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
710
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
711
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
712
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
713
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
714
		end
715
	elseif WhichPose == "Taunt" then
716
		for i=0, Time, 0.1 / Animation_Speed do
717
			Swait()
718
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
719
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
720
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
721
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
722
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
723
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
724
		end
725
		CreateSound(221057812,Torso,10,1,false)
726
		for i=0, Time*2, 0.1 / Animation_Speed do
727
			Swait()
728
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
729
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
730
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
731
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
732
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
733
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
734
		end
735
		for i=0, Time, 0.1 / Animation_Speed do
736
			Swait()
737
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
738
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
739
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
740
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
741
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
742
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
743
		end
744
	elseif WhichPose == "Prepare key" then
745
		for i=0, Time, 0.1 / Animation_Speed do
746
			Swait()
747
			if Gyro ~= nil and Gyro ~= false then
748
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
749
			end
750
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
751
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
752
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
753
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
754
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
755
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
756
		end
757
	elseif WhichPose == "Turn key" then
758
		for i=0, Time, 0.1 / Animation_Speed do
759
			Swait()
760
			if Gyro ~= nil and Gyro ~= false then
761
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
762
			end
763
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
764
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
765
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
766
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
767
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
768
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
769
		end
770
	end
771
	PLAYMAINANIM = true
772
end
773
774
--//=================================\\
775
--|| 			SPEECH
776
--\\=================================//
777
778
function Chatter(Text,Timer)
779
	local chat = coroutine.wrap(function()
780
		if Character:FindFirstChild("SpeechBoard")~= nil then
781
			Character:FindFirstChild("SpeechBoard"):destroy()
782
		end
783
		local naeeym2 = IT("BillboardGui",Character)
784
		naeeym2.Size = UD2(0,100,0,40)
785
		naeeym2.StudsOffset = Vector3.new(0,2,0)
786
		naeeym2.Adornee = Character.Head
787
		naeeym2.Name = "SpeechBoard"
788
		naeeym2.AlwaysOnTop = true
789
		local tecks2 = IT("TextLabel",naeeym2)
790
		tecks2.BackgroundTransparency = 1
791
		tecks2.BorderSizePixel = 0
792
		tecks2.Text = ""
793
		tecks2.Font = "Legacy"
794
		tecks2.TextSize = 15
795
		tecks2.TextStrokeTransparency = 1
796
		tecks2.TextColor3 = Color3.new(255,0,0)
797
		tecks2.TextStrokeColor3 = Color3.new(255,0,0)
798
		tecks2.Size = UDim2.new(1,0,0.5,0)
799
		for i = 1,string.len(Text),1 do
800
			CreateSound(418252437, Head, 3, MRANDOM(8,12)/15, false)
801
			tecks2.Text = string.sub(Text,1,i)
802
			wait(Timer)
803
		end
804
		wait(1)
805
		naeeym2:Destroy()
806
	end)
807
	chat()
808
end
809
810
function chatfunc(text,waitt)
811
local chat = coroutine.wrap(function()
812
if Character:FindFirstChild("TalkingBillBoard")~= nil then
813
Character:FindFirstChild("TalkingBillBoard"):destroy()
814
end
815
local naeeym2 = Instance.new("BillboardGui",Character)
816
naeeym2.Size = UDim2.new(0,100,0,40)
817
naeeym2.StudsOffset = Vector3.new(0,5,0)
818
naeeym2.Adornee = Character.Head
819
naeeym2.Name = "TalkingBillBoard"
820
naeeym2.AlwaysOnTop = true
821
local tecks2 = Instance.new("TextLabel",naeeym2)
822
tecks2.BackgroundTransparency = 1
823
tecks2.BorderSizePixel = 0
824
tecks2.Text = ""
825
tecks2.Font = "SciFi"
826
tecks2.TextSize = 30
827
tecks2.TextStrokeTransparency = 1
828
tecks2.TextColor3 = SKILLTEXTCOLOR
829
tecks2.TextStrokeColor3 = Color3.new(255/255,0/255,0/255)
830
tecks2.Size = UDim2.new(1,0,0.5,0)
831
for i = 1,string.len(text),1 do
832
tecks2.Text = string.sub(text,1,i)
833
Swait()
834
end
835
wait(waitt)
836
coroutine.resume(coroutine.create(function()
837
	for i = 1, 10 do
838
		tecks2.TextTransparency = tecks2.TextTransparency + 0.1
839
		Swait()
840
	end
841
	naeeym2:Destroy()
842
end))
843
end)
844
chat()
845
end
846
847
--// Start Stuff for Banishing \\--
848
849
local TOBANISH = {}
850
851
function CastProperRay(StartPos, EndPos, Distance, Ignore)
852
	local DIRECTION = CF(StartPos,EndPos).lookVector
853
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
854
end
855
856
function printbye(Name)
857
	local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your life is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
858
	chatfunc(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
859
end
860
861
function Banish(Foe)
862
	if Foe then
863
		coroutine.resume(coroutine.create(function()
864
			--if game.Players:FindFirstChild(Foe.Name) then
865
				table.insert(TOBANISH,Foe.Name)
866
				printbye(Foe.Name)
867
			--end
868
			Foe.Archivable = true
869
			local CLONE = Foe:Clone()
870
			Foe:Destroy()
871
			CLONE.Parent = Effects
872
			CLONE:BreakJoints()
873
			local MATERIALS = {"Glass","Neon"}
874
			for _, c in pairs(CLONE:GetDescendants()) do
875
				if c:IsA("BasePart") then
876
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
877
 						CreateSound(340722848, c, 10, 1, false)
878
					end
879
					c.Anchored = true
880
					c.Transparency = c.Transparency + 0.2
881
					c.Material = MATERIALS[MRANDOM(1,2)]
882
					c.Color = C3(0,255,0)
883
					if c.ClassName == "MeshPart" then
884
						c.TextureID = ""
885
					end
886
					if c:FindFirstChildOfClass("SpecialMesh") then
887
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
888
					end
889
					if c:FindFirstChildOfClass("Decal") then
890
						c:FindFirstChildOfClass("Decal"):remove()
891
					end
892
					c.Name = "Banished"
893
					c.CanCollide = false
894
				else
895
					c:remove()
896
				end
897
			end
898
			local A = false
899
			for i = 1, 35 do
900
				if A == false then
901
					A = true
902
				elseif A == true then
903
					A = false
904
				end
905
				for _, c in pairs(CLONE:GetDescendants()) do
906
					if c:IsA("BasePart") then
907
						c.Anchored = true
908
						c.Material = MATERIALS[MRANDOM(1,2)]
909
						c.Transparency = c.Transparency + 0.8/35
910
						if A == false then
911
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
912
						elseif A == true then
913
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
914
						end
915
					end
916
				end
917
				Swait()
918
			end
919
			CLONE:remove()
920
		end))
921
	end
922
end
923
924
function BANNEAREST(POS,RANGE)
925
	for i,v in ipairs(workspace:GetChildren()) do
926
	local body = v:GetChildren()
927
		for part = 1, #body do
928
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
929
				if(body[part].Position - POS).Magnitude < RANGE then
930
					if v:FindFirstChildOfClass("Humanoid") then
931
						Banish(v)
932
						if game.Players:FindFirstChild(v.Name) then
933
							local Value = IT("BoolValue",Delete)
934
							Value.Name = v.Name
935
						end
936
					end
937
				end
938
			end
939
		end
940
	end
941
end
942
943
workspace.ChildAdded:connect(function(instance)
944
    for BANISH = 1, #TOBANISH do
945
		if TOBANISH[BANISH] ~= nil then
946
			if instance.Name == TOBANISH[BANISH] then
947
				coroutine.resume(coroutine.create(function()
948
					printbye(instance.Name)
949
					instance:ClearAllChildren()
950
					Debris:AddItem(instance,0.0005)
951
				end))
952
			end
953
		end
954
	end
955
end)
956
957
function SpawnTrail(FROM,TO,BIG)
958
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
959
	MakeForm(TRAIL,"Cyl")
960
	local DIST = (FROM - TO).Magnitude
961
	if BIG == true then
962
		TRAIL.Size = VT(10,DIST,10)
963
	else
964
		TRAIL.Size = VT(0.25,DIST,0.25)
965
	end
966
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
967
	coroutine.resume(coroutine.create(function()
968
		for i = 1, 5 do
969
			Swait()
970
			TRAIL.Transparency = TRAIL.Transparency + 0.1
971
		end
972
		TRAIL:remove()
973
	end))
974
end
975
976
function WACKYEFFECT(Table)
977
	local TYPE = (Table.EffectType or "Sphere")
978
	local SIZE = (Table.Size or VT(1,1,1))
979
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
980
	local TRANSPARENCY = (Table.Transparency or 0)
981
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
982
	local CFRAME = (Table.CFrame or Torso.CFrame)
983
	local MOVEDIRECTION = (Table.MoveToPos or nil)
984
	local ROTATION1 = (Table.RotationX or 0)
985
	local ROTATION2 = (Table.RotationY or 0)
986
	local ROTATION3 = (Table.RotationZ or 0)
987
	local MATERIAL = (Table.Material or "Neon")
988
	local COLOR = (Table.Color or C3(0,255,0))
989
	local TIME = (Table.Time or 45)
990
	local SOUNDID = (Table.SoundID or nil)
991
	local SOUNDPITCH = (Table.SoundPitch or nil)
992
	local SOUNDVOLUME = (Table.SoundVolume or nil)
993
	coroutine.resume(coroutine.create(function()
994
		local PLAYSSOUND = false
995
		local SOUND = nil
996
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
997
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
998
			PLAYSSOUND = true
999
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
1000
		end
1001
		EFFECT.Color = COLOR
1002
		local MSH = nil
1003
		if TYPE == "Sphere" then
1004
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
1005
		elseif TYPE == "Block" then
1006
			MSH = IT("BlockMesh",EFFECT)
1007
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
1008
		elseif TYPE == "Wave" then
1009
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
1010
		elseif TYPE == "Ring" then
1011
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
1012
		elseif TYPE == "Slash" then
1013
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1014
		elseif TYPE == "Round Slash" then
1015
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1016
		elseif TYPE == "Swirl" then
1017
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1018
		elseif TYPE == "Skull" then
1019
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1020
		elseif TYPE == "Crystal" then
1021
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1022
		end
1023
		if MSH ~= nil then
1024
			local MOVESPEED = nil
1025
			if MOVEDIRECTION ~= nil then
1026
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
1027
			end
1028
			local GROWTH = SIZE - ENDSIZE
1029
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1030
			if TYPE == "Block" then
1031
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1032
			else
1033
				EFFECT.CFrame = CFRAME
1034
			end
1035
			for LOOP = 1, TIME+1 do
1036
				Swait()
1037
				MSH.Scale = MSH.Scale - GROWTH/TIME
1038
				if TYPE == "Wave" then
1039
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
1040
				end
1041
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1042
				if TYPE == "Block" then
1043
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1044
				else
1045
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1046
				end
1047
				if MOVEDIRECTION ~= nil then
1048
					local ORI = EFFECT.Orientation
1049
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
1050
					EFFECT.Orientation = ORI
1051
				end
1052
			end
1053
			if PLAYSSOUND == false then
1054
				EFFECT:remove()
1055
			else
1056
				SOUND.Stopped:Connect(function()
1057
					EFFECT:remove()
1058
				end)
1059
			end
1060
		else
1061
			if PLAYSSOUND == false then
1062
				EFFECT:remove()
1063
			else
1064
				repeat Swait() until SOUND.Playing == false
1065
				EFFECT:remove()
1066
			end
1067
		end
1068
	end))
1069
end
1070
1071
-- \\ End Stuff for Banishing //--
1072
1073
--//=================================\\
1074
--||	     WEAPON CREATION
1075
--\\=================================//
1076
local Particle = IT("ParticleEmitter",nil)
1077
Particle.Enabled = false
1078
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
1079
Particle.LightEmission = 0.5
1080
Particle.Rate = 150
1081
Particle.ZOffset = 0.2
1082
Particle.Rotation = NumberRange.new(-180, 180)
1083
Particle.RotSpeed = NumberRange.new(-180, 180)
1084
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
1085
Particle.Color = ColorSequence.new(C3(255,128,0),C3(0,155,0),C3(255,255,0),C3(0,255,0),C3(0,255,255),C3(0,0,255),C3(191,0,255),C3(255,0,191))
1086
1087
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
1088
function ParticleEmitter(Table)
1089
	local PRTCL = Particle:Clone()
1090
	local Speed = Table.Speed or 5
1091
	local Drag = Table.Drag or 0
1092
	local Size1 = Table.Size1 or 1
1093
	local Size2 = Table.Size2 or 5
1094
	local Lifetime1 = Table.Lifetime1 or 1
1095
	local Lifetime2 = Table.Lifetime2 or 1.5
1096
	local Parent = Table.Parent or Torso
1097
	local Emit = Table.Emit or 100
1098
	local Offset = Table.Offset or 360
1099
	local Acel = Table.Acel or VT(0,0,0)
1100
	local Enabled = Table.Enabled or false
1101
	PRTCL.Parent = Parent
1102
	PRTCL.Size = NumberSequence.new(Size1,Size2)
1103
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1104
	PRTCL.Speed = NumberRange.new(Speed)
1105
	PRTCL.VelocitySpread = Offset
1106
	PRTCL.Drag = Drag
1107
	PRTCL.Acceleration = Acel
1108
	if Enabled == false then
1109
		PRTCL:Emit(Emit)
1110
		Debris:AddItem(PRTCL,Lifetime2)
1111
	else
1112
		PRTCL.Enabled = true
1113
	end
1114
	return PRTCL
1115
end
1116
1117
local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
1118
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
1119
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1120
MakeForm(Part,"Wedge")
1121
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
1122
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
1123
MakeForm(Part,"Wedge")
1124
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
1125
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
1126
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1127
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
1128
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1129
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
1130
MakeForm(Part,"Cyl")
1131
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1132
for i = 1, 8 do
1133
	local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
1134
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
1135
end
1136
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
1137
MakeForm(Part,"Cyl")
1138
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1139
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
1140
MakeForm(Part,"Ball")
1141
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1142
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
1143
MakeForm(Part,"Wedge")
1144
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
1145
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
1146
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1147
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
1148
MakeForm(Part,"Cyl")
1149
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1150
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
1151
MakeForm(Part,"Cyl")
1152
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1153
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
1154
MakeForm(Part,"Cyl")
1155
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1156
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1157
MakeForm(Part,"Wedge")
1158
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1159
local LASTPART = Handle
1160
for i = 1, 10 do
1161
	if LASTPART == Handle then
1162
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
1163
		LASTPART = Part
1164
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1165
	else
1166
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
1167
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
1168
		LASTPART = Part
1169
	end
1170
end
1171
1172
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
1173
MakeForm(Barrel,"Cyl")
1174
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1175
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
1176
MakeForm(Part,"Cyl")
1177
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
1178
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
1179
MakeForm(Part,"Wedge")
1180
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1181
local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
1182
MakeForm(Hole,"Cyl")
1183
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
1184
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
1185
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1186
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
1187
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
1188
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1189
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
1190
coroutine.resume(coroutine.create(function()
1191
	while wait() do
1192
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
1193
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
1194
	end
1195
end))
1196
1197
--W2--
1198
1199
local Handle = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
1200
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
1201
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1202
MakeForm(Part,"Wedge")
1203
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
1204
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
1205
MakeForm(Part,"Wedge")
1206
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
1207
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
1208
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1209
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
1210
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1211
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
1212
MakeForm(Part,"Cyl")
1213
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1214
for i = 1, 8 do
1215
	local Piece = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
1216
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
1217
end
1218
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
1219
MakeForm(Part,"Cyl")
1220
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1221
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
1222
MakeForm(Part,"Ball")
1223
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1224
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
1225
MakeForm(Part,"Wedge")
1226
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
1227
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
1228
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1229
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
1230
MakeForm(Part,"Cyl")
1231
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1232
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
1233
MakeForm(Part,"Cyl")
1234
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1235
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
1236
MakeForm(Part,"Cyl")
1237
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1238
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1239
MakeForm(Part,"Wedge")
1240
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.65, -0.6) * ANGLES(RAD(135), RAD(180), RAD(180)), CF(0, -0.3, 0))
1241
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
1242
MakeForm(Part,"Cyl")
1243
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1244
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1245
MakeForm(Part,"Wedge")
1246
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, -0.6) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1247
local LASTPART = Handle
1248
for i = 1, 10 do
1249
	if LASTPART == Handle then
1250
		local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
1251
		LASTPART = Part
1252
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1253
	else
1254
		local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
1255
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
1256
		LASTPART = Part
1257
	end
1258
end
1259
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "exe", VT(0.2,0.5,0.2),false)
1260
MakeForm(Part,"Wedge")
1261
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, -0.6) * ANGLES(RAD(-125), RAD(0), RAD(0)), CF(0, -0.3, 0))
1262
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "exe2", VT(0.2,0.5,0.2),false)
1263
MakeForm(Part,"Wedge")
1264
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.65, -0.6) * ANGLES(RAD(125), RAD(180), RAD(180)), CF(0, -0.3, 0))
1265
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "exe3", VT(0.2,0.5,0.2),false)
1266
MakeForm(Part,"Wedge")
1267
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, -0.6) * ANGLES(RAD(-145), RAD(0), RAD(0)), CF(0, -0.3, 0))
1268
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "exe4", VT(0.2,0.5,0.2),false)
1269
MakeForm(Part,"Wedge")
1270
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.65, -0.6) * ANGLES(RAD(145), RAD(180), RAD(180)), CF(0, -0.3, 0))
1271
1272
local Barrel = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,5,0.15),false)
1273
MakeForm(Barrel,"Cyl")
1274
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1275
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
1276
MakeForm(Part,"Cyl")
1277
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
1278
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
1279
MakeForm(Part,"Wedge")
1280
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 2.4, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1281
local RHole = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
1282
MakeForm(RHole,"Cyl")
1283
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, RHole, CF(0, 2.5, 0), CF(0, 0, 0))
1284
local Part = CreatePart(3, Weapon2, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
1285
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1286
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
1287
local Part = CreatePart(3, Weapon2, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
1288
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1289
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
1290
coroutine.resume(coroutine.create(function()
1291
	while wait() do
1292
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
1293
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
1294
	end
1295
end))
1296
1297
local BODY = {}
1298
1299
for _, c in pairs(Character:GetDescendants()) do
1300
	if c:IsA("BasePart") and c.Name ~= "Handle" then
1301
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
1302
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1303
		end
1304
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
1305
	elseif c:IsA("JointInstance") then
1306
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
1307
	end
1308
end
1309
1310
for e = 1, #BODY do
1311
	if BODY[e] ~= nil then
1312
		local STUFF = BODY[e]
1313
		local PART = STUFF[1]
1314
		local PARENT = STUFF[2]
1315
		local MATERIAL = STUFF[3]
1316
		local COLOR = STUFF[4]
1317
		local TRANSPARENCY = STUFF[5]
1318
		if PART.ClassName == "Part" and PART ~= RootPart then
1319
			PART.Material = MATERIAL
1320
			PART.Color = COLOR
1321
			PART.Transparency = TRANSPARENCY
1322
		end
1323
		PART.AncestryChanged:Connect(function()
1324
			PART.Parent = PARENT
1325
		end)
1326
	end
1327
end
1328
1329
function refit()
1330
	Character.Parent = workspace
1331
	for e = 1, #BODY do
1332
		if BODY[e] ~= nil then
1333
			local STUFF = BODY[e]
1334
			local PART = STUFF[1]
1335
			local PARENT = STUFF[2]
1336
			local MATERIAL = STUFF[3]
1337
			local COLOR = STUFF[4]
1338
			local TRANSPARENCY = STUFF[5]
1339
			if PART.ClassName == "Part" and PART ~= RootPart then
1340
				PART.Material = MATERIAL
1341
				PART.Color = COLOR
1342
				PART.Transparency = TRANSPARENCY
1343
			end
1344
			if PART.Parent ~= PARENT then
1345
				Humanoid:remove()
1346
				PART.Parent = PARENT
1347
				Humanoid = IT("Humanoid",Character)
1348
			end
1349
		end
1350
	end
1351
end
1352
1353
for _, c in pairs(Weapon:GetDescendants()) do
1354
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
1355
		c.Material = "Glass"
1356
		c.Color = C3(0,0,0)
1357
	elseif c.ClassName == "Part" and c.Name == "Eye" then
1358
		c.Color = C3(0,0,0)
1359
		c.Material = "Neon"
1360
	end
1361
end
1362
1363
for _, c in pairs(Weapon2:GetDescendants()) do
1364
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
1365
		c.Material = "Glass"
1366
		c.Color = C3(0,0,0)
1367
	elseif c.ClassName == "Part" and c.Name == "Eye" then
1368
		c.Color = C3(1,0,0)
1369
		c.Material = "Neon"
1370
	end
1371
end
1372
1373
Weapon.Parent = Character
1374
Weapon2.Parent = nil
1375
for _, c in pairs(Weapon:GetChildren()) do
1376
	if c.ClassName == "Part" then
1377
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1378
	end
1379
end
1380
1381
local SKILLTEXTCOLOR = C3(0,0,0)
1382
local SKILLFONT = "Antique"
1383
local SKILLTEXTSIZE = 7
1384
1385
Humanoid.Died:connect(function()
1386
	ATTACK = true
1387
end)
1388
1389
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
1390
1391
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
1392
1393
function printbye(Name)
1394
	local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
1395
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
1396
end
1397
1398
workspace.ChildAdded:connect(function(instance)
1399
    for BANISH = 1, #TOBANISH do
1400
		if TOBANISH[BANISH] ~= nil then
1401
			if instance.Name == TOBANISH[BANISH] then
1402
				coroutine.resume(coroutine.create(function()
1403
					printbye(instance.Name)
1404
					instance:ClearAllChildren()
1405
					Debris:AddItem(instance,0.0005)
1406
				end))
1407
			end
1408
		end
1409
	end
1410
end)
1411
--//=================================\\
1412
--||			DAMAGING
1413
--\\=================================//
1414
1415
function ApplyDamage(Humanoid,Damage,OneShot)
1416
	Damage = Damage * DAMAGEMULTIPLIER
1417
	local DEAD = false
1418
	if Humanoid.Health < 2000 and OneShot == false then
1419
		if Humanoid.Health - Damage > 0 then
1420
			Humanoid.Health = Humanoid.Health - Damage
1421
		else
1422
			Humanoid.Parent:BreakJoints()
1423
			DEAD = true
1424
		end
1425
	else
1426
		DEAD = true
1427
		Humanoid.Parent:BreakJoints()
1428
	end
1429
	if DEAD == true then
1430
		local PARTS = {}
1431
		for index, CHILD in pairs(Humanoid.Parent:GetChildren()) do
1432
			if CHILD:IsA("BasePart") then
1433
				table.insert(PARTS,CHILD)
1434
			end
1435
		end
1436
		coroutine.resume(coroutine.create(function()
1437
			wait(2)
1438
			repeat
1439
				Swait()
1440
				local PIECE = nil
1441
				if MRANDOM(1,5) == 1 then
1442
					for E = 1, #PARTS do
1443
						if MRANDOM(1,5) == 1 then
1444
							PIECE = PARTS[E]
1445
							table.remove(PARTS,E)
1446
							break
1447
						end
1448
					end
1449
				end
1450
				if PIECE ~= nil then
1451
					if PIECE.Name == "Head" then
1452
						WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z), Size2 = (VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z))*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), RotationX = MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0.4,0,0), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
1453
					else
1454
						WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = PIECE.Size, Size2 = PIECE.Size*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0.4,0,0), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
1455
					end
1456
					PIECE:remove()
1457
				end
1458
			until #PARTS == 0
1459
		end))
1460
	end
1461
end
1462
1463
1464
function ApplyDamage3(Humanoid,Damage,TorsoPart)
1465
	local defence = Instance.new("BoolValue",Humanoid.Parent)
1466
	defence.Name = ("HitBy"..Player.Name)
1467
	game:GetService("Debris"):AddItem(defence, 0.001)
1468
	Damage = Damage * DAMAGEMULTIPLIER
1469
	if Humanoid.Health ~= 0 then
1470
		local CritChance = MRANDOM(1,100)
1471
		if Damage > Humanoid.Health then
1472
			Damage = math.ceil(Humanoid.Health)
1473
			if Damage == 0 then
1474
				Damage = 0.1
1475
			end
1476
		end
1477
		Humanoid.Health = Humanoid.Health - Damage
1478
	end
1479
end
1480
1481
function ApplyDamage3(Humanoid,Damage,TorsoPart)
1482
	local defence = Instance.new("BoolValue",Humanoid.Parent)
1483
	defence.Name = ("HitBy"..Player.Name)
1484
	game:GetService("Debris"):AddItem(defence, 0.001)
1485
	Damage = Damage * DAMAGEMULTIPLIER
1486
	if Humanoid.Health ~= 0 then
1487
		local CritChance = MRANDOM(1,100)
1488
		if Damage > Humanoid.Health then
1489
			Damage = math.ceil(Humanoid.Health)
1490
			if Damage == 0 then
1491
				Damage = 0.1
1492
			end
1493
		end
1494
		Humanoid.Health = Humanoid.Health - Damage
1495
	end
1496
end
1497
1498
function ApplyAoE3(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
1499
	local CHILDREN = workspace:GetDescendants()
1500
	for index, CHILD in pairs(CHILDREN) do
1501
		if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
1502
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1503
			if HUM then
1504
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1505
				if TORSO then
1506
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1507
						if INSTAKILL == true then
1508
							CHILD:BreakJoints()
1509
						else
1510
							local DMG = MRANDOM(MINDMG,MAXDMG)
1511
							ApplyDamage(HUM,DMG,TORSO)
1512
						end
1513
						if FLING > 0 then
1514
							for _, c in pairs(CHILD:GetChildren()) do
1515
								if c:IsA("BasePart") then
1516
									local bv = Instance.new("BodyVelocity") 
1517
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1518
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
1519
									bv.Parent = c
1520
									Debris:AddItem(bv,0.05)
1521
								end
1522
							end
1523
						end
1524
					end
1525
				end
1526
			end
1527
		end
1528
	end
1529
end
1530
1531
function CameraEnshaking(Length, Intensity)
1532
	coroutine.resume(coroutine.create(function()
1533
		local intensity = 1 * Intensity
1534
		local rotM = 0.01 * Intensity
1535
		for i = 0, Length, 0.1 do
1536
			Swait()
1537
			intensity = intensity - 0.05 * Intensity / Length
1538
			rotM = rotM - 5.0E-4 * Intensity / Length
1539
			Humanoid.CameraOffset = Vector3.new(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)))
1540
			Cam.CFrame = Cam.CFrame * CF(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity))) * EULER(RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM)
1541
		end
1542
		Humanoid.CameraOffset = Vector3.new(0, 0, 0)
1543
	end))
1544
end
1545
1546
function KillChildren(v)
1547
	v:BreakJoints()
1548
	for _, c in pairs(v:GetChildren()) do
1549
		if c:IsA("BasePart") then
1550
			if c.Transparency < 1 then
1551
				if c:FindFirstChildOfClass("Decal") then
1552
					c:FindFirstChildOfClass("Decal"):remove()
1553
				end
1554
				particles(c)
1555
				c.PE.Enabled = true
1556
				c.Parent = Effects
1557
				c.CanCollide = false
1558
				c.Material = "Neon"
1559
				c.Color = C3(1,0,0)
1560
				c.Transparency = 1
1561
				local grav = Instance.new("BodyPosition",c)
1562
				grav.P = 20000
1563
				grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1564
				grav.position = c.Position + VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5))
1565
				grav.Name = "GravityForce"
1566
				coroutine.resume(coroutine.create(function()
1567
					for i = 1, 20 do
1568
						Swait()
1569
						c.Transparency = c.Transparency + 1/20
1570
					end
1571
					c.PE.Enabled = false
1572
					Debris:AddItem(c,2)
1573
				end))
1574
			end
1575
		end
1576
	end
1577
end
1578
1579
function ApplyAoE(POSITION,RANGE)
1580
	local CHILDREN = workspace:GetDescendants()
1581
	for index, CHILD in pairs(CHILDREN) do
1582
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1583
			local LISTED = false
1584
			for LIST = 1, #WHITELIST do
1585
				if WHITELIST[LIST] ~= nil then
1586
					if CHILD.Name == WHITELIST[LIST] then
1587
						LISTED = true
1588
					end
1589
				end
1590
			end
1591
			if LISTED == false then
1592
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1593
				if HUM then
1594
					local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1595
					if TORSO then
1596
						if (TORSO.Position - POSITION).Magnitude <= RANGE+TORSO.Size.Magnitude then
1597
							KillChildren(CHILD)
1598
						end
1599
					end
1600
				end
1601
			end
1602
		end
1603
	end
1604
end
1605
1606
function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
1607
	coroutine.resume(coroutine.create(function()
1608
		local METEOR = IT("Model",Effects)
1609
		METEOR.Name = "Meteorite"
1610
		local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
1611
		METEOR.PrimaryPart = CENTER
1612
		local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
1613
		PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1614
		for i = 1, 15 do
1615
			local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really red", "Fire", VT(5.1,1,5.1)*SIZE)
1616
			FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1617
		end
1618
		if ISDEBREE ~= true then
1619
			METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
1620
		else
1621
			METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
1622
		end
1623
		local IMPACT = false
1624
		CreateSound(463593339, CENTER, 10, 0.6)
1625
		if SIZE >= 3.5 then
1626
			for i = 1, MRANDOM(3,7) do
1627
				SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
1628
			end
1629
		end
1630
		for i = 1, 200 do
1631
			Swait()
1632
			local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
1633
			if HITFLOOR == nil then
1634
				local ORI = CENTER.Orientation
1635
				METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
1636
			else
1637
				if HITFLOOR.Anchored == true then
1638
					CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
1639
					CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
1640
				end
1641
				IMPACT = true
1642
				break
1643
			end
1644
		end
1645
		if IMPACT == true then
1646
			WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
1647
			WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
1648
			WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
1649
			ApplyAoE(CENTER.Position,30*SIZE)
1650
		end
1651
		METEOR:remove()
1652
	end))
1653
end
1654
1655
function ApplyAoE4(POSITION,RANGE,BRUTAL)
1656
	local CHILDREN = workspace:GetDescendants()
1657
	for index, CHILD in pairs(CHILDREN) do
1658
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1659
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1660
			if HUM then
1661
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1662
				if TORSO then
1663
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1664
						if BRUTAL == true then
1665
							Kill(CHILD)
1666
						else
1667
							CHILD:BreakJoints()
1668
						end
1669
					end
1670
				end
1671
			end
1672
		end
1673
	end
1674
end
1675
1676
function Kill(Char)
1677
	local NewCharacter = IT("Model",Effects)
1678
	NewCharacter.Name = "Ow im ded ;-;"
1679
	for _, c in pairs(Char:GetDescendants()) do
1680
		if c:IsA("BasePart") and c.Transparency == 0 then
1681
			c:BreakJoints()
1682
			c.Material = "Glass"
1683
			c.Color = C3(1,0,0)
1684
			c.CanCollide = true
1685
			c.Transparency = 0.3
1686
			if c:FindFirstChildOfClass("SpecialMesh") then
1687
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1688
			end
1689
			if c.Name == "Head" then
1690
				c:ClearAllChildren()
1691
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
1692
			end
1693
			if c.ClassName == "MeshPart" then
1694
				c.TextureID = ""
1695
			end
1696
			if c:FindFirstChildOfClass("BodyPosition") then
1697
				c:FindFirstChildOfClass("BodyPosition"):remove()
1698
			end
1699
			if c:FindFirstChildOfClass("ParticleEmitter") then
1700
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
1701
			end
1702
			c.Parent = NewCharacter
1703
			c.Name = "DeadPart"
1704
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
1705
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
1706
		end
1707
	end
1708
	Char:remove()
1709
	Debris:AddItem(NewCharacter,5)
1710
end
1711
1712
function ApplyAoE(POSITION,RANGE,BRUTAL)
1713
	local CHILDREN = workspace:GetDescendants()
1714
	for index, CHILD in pairs(CHILDREN) do
1715
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1716
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1717
			if HUM then
1718
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1719
				if TORSO then
1720
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1721
						if BRUTAL == true then
1722
							Kill(CHILD)
1723
						else
1724
							CHILD:BreakJoints()
1725
						end
1726
					end
1727
				end
1728
			end
1729
		end
1730
	end
1731
end
1732
1733
function ApplyAoE(POSITION,RANGE,BRUTAL)
1734
	local CHILDREN = workspace:GetDescendants()
1735
	for index, CHILD in pairs(CHILDREN) do
1736
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1737
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1738
			if HUM then
1739
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1740
				if TORSO then
1741
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1742
						if BRUTAL == true then
1743
							Kill(CHILD)
1744
						else
1745
							CHILD:BreakJoints()
1746
						end
1747
					end
1748
				end
1749
			end
1750
		end
1751
	end
1752
end
1753
1754
function Banish(Foe)
1755
	if Foe then
1756
		coroutine.resume(coroutine.create(function()
1757
			--if game.Players:FindFirstChild(Foe.Name) then
1758
				table.insert(TOBANISH,Foe.Name)
1759
				printbye(Foe.Name)
1760
			--end
1761
			Foe.Archivable = true
1762
			local CLONE = Foe:Clone()
1763
			Foe:Destroy()
1764
			CLONE.Parent = Effects
1765
			CLONE:BreakJoints()
1766
			local MATERIALS = {"Glass","Neon"}
1767
			for _, c in pairs(CLONE:GetDescendants()) do
1768
				if c:IsA("BasePart") then
1769
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
1770
 						CreateSound(138271815, c, 10, 1, false)
1771
					end
1772
					c.Anchored = true
1773
					c.Transparency = c.Transparency + 0.2
1774
					c.Material = MATERIALS[MRANDOM(1,2)]
1775
					c.Color = C3(1,0,0)
1776
					if c.ClassName == "MeshPart" then
1777
						c.TextureID = ""
1778
					end
1779
					if c:FindFirstChildOfClass("SpecialMesh") then
1780
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1781
					end
1782
					if c:FindFirstChildOfClass("Decal") then
1783
						c:FindFirstChildOfClass("Decal"):remove()
1784
					end
1785
					c.Name = "Banished"
1786
					c.CanCollide = false
1787
				else
1788
					c:remove()
1789
				end
1790
			end
1791
			local A = false
1792
			for i = 1, 35 do
1793
				if A == false then
1794
					A = true
1795
				elseif A == true then
1796
					A = false
1797
				end
1798
				for _, c in pairs(CLONE:GetDescendants()) do
1799
					if c:IsA("BasePart") then
1800
						c.Anchored = true
1801
						c.Material = MATERIALS[MRANDOM(1,2)]
1802
						c.Transparency = c.Transparency + 0.8/35
1803
						if A == false then
1804
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
1805
						elseif A == true then
1806
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
1807
						end
1808
					end
1809
				end
1810
				Swait()
1811
			end
1812
			CLONE:remove()
1813
		end))
1814
	end
1815
end
1816
1817
1818
function ApplyAoE(POSITION,RANGE,ISBANISH)
1819
	local CHILDREN = workspace:GetDescendants()
1820
	for index, CHILD in pairs(CHILDREN) do
1821
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1822
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1823
			if HUM then
1824
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1825
				if TORSO then
1826
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1827
						if ISBANISH == true then
1828
							Banish(CHILD)
1829
						else
1830
							if ISBANISH == "Gravity" then
1831
								HUM.PlatformStand = true
1832
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1833
									local grav = Instance.new("BodyPosition",TORSO)
1834
									grav.D = 15
1835
									grav.P = 20000
1836
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1837
									grav.position = TORSO.Position
1838
									grav.Name = "V3BanishForce"..Player.Name
1839
								else
1840
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
1841
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
1842
								end
1843
							else
1844
								HUM.PlatformStand = false
1845
							end
1846
						end
1847
					elseif ISBANISH == "Gravity" then
1848
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1849
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
1850
							HUM.PlatformStand = false
1851
						end
1852
					end
1853
				end
1854
			end
1855
		end
1856
	end
1857
end
1858
1859
function SpawnSmite(POS)
1860
	local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
1861
	local EMITPOS = HITPOS
1862
	if HITFLOOR ~= nil then
1863
		if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
1864
			HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
1865
			EMITPOS = HITPOS
1866
		elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1867
			HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
1868
			EMITPOS = HITPOS
1869
		end
1870
	end
1871
	if HITFLOOR ~= nil then
1872
		ApplyAoE(EMITPOS,10)
1873
		WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
1874
		WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1875
		WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1876
		for i = 1, 5 do
1877
			local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
1878
			WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
1879
		end
1880
	end
1881
end
1882
1883
--//=================================\\
1884
--||	    TRANSFORMATIONS
1885
--\\=================================//
1886
1887
function Switch()
1888
	ATTACK = true
1889
	Rooted = true
1890
	if MODE == "GoodCop" then
1891
		CreateSound("649634100", Head, 10, 0.5)
1892
		for i = 0, 3, 0.1 / Animation_Speed do
1893
			Swait()
1894
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1895
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1896
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1897
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1898
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1899
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1900
		end
1901
		CreateSound("289842971", RightArm, 10, 1)
1902
		for i = 0, 6, 0.1 / Animation_Speed do
1903
			Swait()
1904
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(-5), RAD(0)), 0.5 / Animation_Speed)
1905
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1906
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0, -0.3) * ANGLES(RAD(0), RAD(0), RAD(8)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1907
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1908
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1909
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1910
		end
1911
Weapon.Parent = nil
1912
Weapon2.Parent = Character
1913
		for i = 0, 1, 0.1 / Animation_Speed do
1914
			Swait()
1915
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.5 / Animation_Speed)
1916
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1917
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1.25, -0.3) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1918
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1919
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1920
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1921
		end
1922
		for i=0, 0.6, 0.1 / Animation_Speed do
1923
			Swait()
1924
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1 + 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed*3)
1925
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
1926
			if MRANDOM(1,7) == 1 then
1927
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
1928
			end					
1929
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(25), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1930
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(95), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1931
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * COS(SINE / 24), -1 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1932
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.2, 0.2 - 0.1 * COS(SINE / 24), -0.4 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1933
		end
1934
		MODE = "BadCop"
1935
                tecks2.Text = "Thunder Gun"
1936
                sick.SoundId = "rbxassetid://1138145518"
1937
                sick.TimePosition = 0
1938
	elseif MODE == "BadCop" then
1939
		CreateSound(147722227, Torso, 4, 1.3, false)
1940
		for i=0, 0.3, 0.1 / Animation_Speed do
1941
			Swait()
1942
			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)
1943
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1944
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.4, 0.75, -0.3) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
1945
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1946
			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)
1947
			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)
1948
		end
1949
		MODE = "GoodCop"
1950
Weapon.Parent = Character
1951
Weapon2.Parent = nil
1952
                tecks2.Text = "Dead Gun"
1953
                sick.SoundId = "rbxassetid://318812395"
1954
                sick.TimePosition = 22
1955
	end
1956
	ATTACK = false
1957
	Rooted = false
1958
end
1959
--//=================================\\
1960
--||	ATTACK FUNCTIONS AND STUFF
1961
--\\=================================//
1962
1963
function Intro()
1964
	ATTACK = true
1965
	Rooted = true
1966
	repeat 
1967
		Swait() 
1968
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1969
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(-3.5 * COS(SINE / 12)), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1970
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.8 / Animation_Speed)
1971
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1972
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(2.5 * COS(SINE / 12))), 0.8 / Animation_Speed)
1973
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-8), RAD(5), RAD(15-2.5 * COS(SINE / 12))), 0.8 / Animation_Speed)
1974
	until sick.TimePosition > 1
1975
	repeat 
1976
		Swait()
1977
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1978
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1979
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(5 + 1 * COS(SINE / 12))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1980
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-5 - 1 * COS(SINE / 12))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1981
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1982
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1983
	until sick.TimePosition > 1
1984
	repeat 
1985
		Swait() 
1986
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1987
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1988
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1989
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1990
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1991
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1992
	until sick.TimePosition > 1
1993
	tecks2.TextTransparency = 0
1994
	for i = 1, 100 do
1995
		Swait()
1996
1997
1998
	end
1999
	TRANSFORMED = true
2000
	ATTACK = false
2001
	Rooted = false
2002
end
2003
2004
function Shot1()
2005
	ATTACK = true
2006
	Rooted = false
2007
	for i=0, 0.4, 0.05 / Animation_Speed do
2008
		Swait()
2009
		turnto(Mouse.Hit.p)
2010
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(60)), 0.5 / Animation_Speed)
2011
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
2012
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2013
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, -0.4) * ANGLES(RAD(0), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2014
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2015
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2016
	end
2017
	repeat
2018
		for i=0, 0.2, 0.05 / Animation_Speed do
2019
			Swait()
2020
			turnto(Mouse.Hit.p)
2021
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(60)), 0.5 / Animation_Speed)
2022
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)), 0.5 / Animation_Speed)
2023
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2024
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.6, -0.4) * ANGLES(RAD(170), RAD(0), RAD(20)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2025
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2026
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2027
		end
2028
		local HIT,POS = CastProperRay(RHole.Position, Mouse.Hit.p, 1000, Character)
2029
		SpawnTrail(RHole.Position,POS)
2030
		if HIT ~= nil then
2031
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
2032
				Banish(HIT.Parent)
2033
			end
2034
		end
2035
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = RHole.CFrame, MoveToPos = RHole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2036
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = RHole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 1463566014, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2037
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2038
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2039
	Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30
2040
		for i=0, 0.3, 0.05 / Animation_Speed do
2041
			Swait()
2042
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(60)), 0.5 / Animation_Speed)
2043
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)), 0.25 / Animation_Speed)
2044
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(60)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2045
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.3, 0.6, -0.4) * ANGLES(RAD(172), RAD(0), RAD(20)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2046
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2047
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2048
		end
2049
	until KEYHOLD == false
2050
	ATTACK = false
2051
	Rooted = false
2052
end
2053
2054
function Shot2()
2055
	ATTACK = true
2056
	Rooted = false
2057
	for i=0, 0.2, 0.05 / Animation_Speed do
2058
		Swait()
2059
		turnto(Mouse.Hit.p)
2060
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
2061
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
2062
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2063
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2064
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2065
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2066
	end
2067
	repeat
2068
		for i=0, 0.2, 0.05 / Animation_Speed do
2069
			Swait()
2070
			turnto(Mouse.Hit.p)
2071
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
2072
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
2073
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2074
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2075
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2076
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2077
		end
2078
		local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
2079
		SpawnTrail(Hole.Position,POS)
2080
		if HIT ~= nil then
2081
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
2082
				Kill(HIT.Parent)
2083
			end
2084
		end
2085
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2086
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2087
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2088
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2089
	Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30
2090
		for i=0, 0.2, 0.05 / Animation_Speed do
2091
			Swait()
2092
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
2093
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
2094
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2095
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2096
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2097
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2098
		end
2099
	until KEYHOLD == false
2100
	ATTACK = false
2101
	Rooted = false
2102
end
2103
2104
function ScrewThis()
2105
	ATTACK = true
2106
	Rooted = true
2107
	Weapon.Parent = nil
2108
	sick.Volume = 0
2109
	        CreateSound("1238240145", Effects, 10, 0.9)
2110
		CreateSound(363808674, Effects, 10, 1, false)
2111
		for i=0, 0.6, 0.1 / Animation_Speed do
2112
			Swait()
2113
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2114
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
2115
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2116
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2117
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2118
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2119
		end
2120
		CreateSound(363808674, Effects, 10, 1, false)
2121
		for i=0, 0.6, 0.1 / Animation_Speed do
2122
			Swait()
2123
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2124
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
2125
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2126
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2127
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2128
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2129
		end
2130
		CreateSound(363808674, Effects, 10, 1, false)
2131
		for i=0, 0.6, 0.1 / Animation_Speed do
2132
			Swait()
2133
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2134
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
2135
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2136
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2137
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2138
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2139
		end
2140
		CreateSound(363808674, Effects, 10, 1, false)
2141
		for i=0, 0.6, 0.1 / Animation_Speed do
2142
			Swait()
2143
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2144
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
2145
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2146
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2147
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2148
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2149
		end
2150
		CreateSound(363808674, Effects, 10, 1, false)
2151
		for i=0, 0.6, 0.1 / Animation_Speed do
2152
			Swait()
2153
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2154
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
2155
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2156
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2157
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2158
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2159
		end
2160
		CreateSound(363808674, Effects, 10, 1, false)
2161
		for i=0, 0.6, 0.1 / Animation_Speed do
2162
			Swait()
2163
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2164
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
2165
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2166
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2167
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2168
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2169
		end
2170
	Weapon.Parent = Character
2171
	sick.Volume = 2
2172
	ATTACK = false
2173
	Rooted = false
2174
end
2175
2176
function Taunt()
2177
	ATTACK = true
2178
	Rooted = true
2179
	local L = CreateSound(2162230624,Head,8,1.1,false)
2180
	L.EmitterSize = 25
2181
	for i = 1, 20 do
2182
		Swait()
2183
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
2184
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
2185
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-110)) * ANGLES(RAD(20), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2186
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.3, -0.35) * ANGLES(RAD(0), RAD(0), RAD(80)) * ANGLES(RAD(20), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2187
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-10), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2188
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2189
	end
2190
	for i = 1, 40 do
2191
		Swait()
2192
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.17, -0.075 + 0.1 * SIN(i / 3)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
2193
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-3), RAD(15 * SIN(i / 1.5)), RAD(0)), 1 / Animation_Speed)
2194
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.6 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(15), RAD(-5), RAD(120)) * ANGLES(RAD(0), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2195
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.6 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(15), RAD(5), RAD(-120)) * ANGLES(RAD(0), RAD(180), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2196
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(5), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2197
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(5), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2198
	end
2199
	for i = 1, 60 do
2200
		Swait()
2201
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
2202
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
2203
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-110)) * ANGLES(RAD(20), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2204
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.3, -0.35) * ANGLES(RAD(0), RAD(0), RAD(80)) * ANGLES(RAD(20), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2205
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-10), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2206
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2207
	end
2208
	for i = 1, 60 do
2209
		Swait()
2210
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.17, -0.075 + 0.1 * SIN(i / 3)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
2211
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-3), RAD(15 * SIN(i / 1.5)), RAD(0)), 1 / Animation_Speed)
2212
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.6 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(15), RAD(-5), RAD(120)) * ANGLES(RAD(0), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2213
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.6 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(15), RAD(5), RAD(-120)) * ANGLES(RAD(0), RAD(180), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2214
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(5), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2215
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(5), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2216
	end
2217
	for i = 1, 90 do
2218
		Swait()
2219
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
2220
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
2221
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-110)) * ANGLES(RAD(20), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2222
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.3, -0.35) * ANGLES(RAD(0), RAD(0), RAD(80)) * ANGLES(RAD(20), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2223
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-10), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2224
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2225
	end
2226
	for i = 1, 72 do
2227
		Swait()
2228
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.17, -0.075 + 0.1 * SIN(i / 3)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
2229
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-3), RAD(15 * SIN(i / 1.5)), RAD(0)), 1 / Animation_Speed)
2230
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.6 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(15), RAD(-5), RAD(120)) * ANGLES(RAD(0), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2231
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.6 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(15), RAD(5), RAD(-120)) * ANGLES(RAD(0), RAD(180), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2232
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(5), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2233
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(5), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2234
	end
2235
	for i = 1, 96 do
2236
		Swait()
2237
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
2238
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
2239
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-110)) * ANGLES(RAD(20), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2240
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.3, -0.35) * ANGLES(RAD(0), RAD(0), RAD(80)) * ANGLES(RAD(20), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2241
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-10), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2242
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2243
	end
2244
	for i = 1, 98 do
2245
		Swait()
2246
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.17, -0.075 + 0.1 * SIN(i / 3)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
2247
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-3), RAD(15 * SIN(i / 1.5)), RAD(0)), 1 / Animation_Speed)
2248
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.6 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(15), RAD(-5), RAD(120)) * ANGLES(RAD(0), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2249
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.6 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(15), RAD(5), RAD(-120)) * ANGLES(RAD(0), RAD(180), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2250
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(5), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2251
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(5), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2252
	end
2253
	ATTACK = false
2254
	Rooted = false
2255
end
2256
--//=================================\\
2257
--||	  ASSIGN THINGS TO KEYS
2258
--\\=================================//
2259
2260
function MouseDown(Mouse)
2261
	if ATTACK == false then
2262
		
2263
	end
2264
end
2265
2266
function MouseUp(Mouse)
2267
HOLD = false
2268
end
2269
2270
function KeyDown(Key)
2271
	KEYHOLD = true
2272
	if TRANSFORMED == true and Rooted == false then
2273
		if Key == "f" and ATTACK == false then
2274
			Switch()
2275
		end
2276
2277
2278
	if Key == "z" and ATTACK == false then
2279
		if MODE == "GoodCop" then
2280
			Shot2()
2281
		elseif MODE == "BadCop" then
2282
			Shot1()
2283
		end
2284
	end
2285
2286
	if Key == "t" and ATTACK == false then
2287
		if MODE == "GoodCop" then
2288
			ScrewThis()
2289
		elseif MODE == "BadCop" then
2290
			Taunt()
2291
		end
2292
	end
2293
	
2294
	end
2295
2296
	if Key == "9" and ATTACK == false then
2297
		CreateSound("135017578", Effects, 5, 1)
2298
	end
2299
end
2300
2301
function KeyUp(Key)
2302
	KEYHOLD = false
2303
end
2304
2305
	Mouse.Button1Down:connect(function(NEWKEY)
2306
		MouseDown(NEWKEY)
2307
	end)
2308
	Mouse.Button1Up:connect(function(NEWKEY)
2309
		MouseUp(NEWKEY)
2310
	end)
2311
	Mouse.KeyDown:connect(function(NEWKEY)
2312
		KeyDown(NEWKEY)
2313
	end)
2314
	Mouse.KeyUp:connect(function(NEWKEY)
2315
		KeyUp(NEWKEY)
2316
	end)
2317
2318
--//=================================\\
2319
--\\=================================//
2320
2321
2322
function unanchor()
2323
	if UNANCHOR == true then
2324
		RootPart.Anchored = false
2325
	end
2326
	for _, c in pairs(Weapon:GetChildren()) do
2327
		if c.ClassName == "Part" then
2328
			c.Anchored = false
2329
		end
2330
	end
2331
end
2332
2333
2334
--//=================================\\
2335
--||	WRAP THE WHOLE SCRIPT UP
2336
--\\=================================//
2337
2338
Humanoid.Changed:connect(function(Jump)
2339
	if Jump == "Jump" and (Disable_Jump == true) then
2340
		Humanoid.Jump = false
2341
	end
2342
end)
2343
2344
while true do
2345
	Swait()
2346
	script.Parent = WEAPONGUI
2347
	ANIMATE.Parent = nil
2348
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
2349
	    v:Stop();
2350
	end
2351
	SINE = SINE + CHANGE
2352
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
2353
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
2354
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
2355
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
2356
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
2357
		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)
2358
		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)
2359
		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)
2360
		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)
2361
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
2362
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2363
		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)
2364
		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)
2365
		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)
2366
	end
2367
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
2368
		ANIM = "Jump"
2369
		if ATTACK == false then
2370
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2371
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2372
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
2373
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
2374
			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)
2375
			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)
2376
	    end
2377
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
2378
		ANIM = "Fall"
2379
		if ATTACK == false then
2380
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2381
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2382
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
2383
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
2384
			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)
2385
			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)
2386
		end
2387
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
2388
		ANIM = "Idle"
2389
		if ATTACK == false then
2390
			if MODE == "GoodCop" then
2391
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0.05 * COS(SINE / 12), 0, 0 + 0.05 * SIN(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2392
				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)
2393
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
2394
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.3) * ANGLES(RAD(-40), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2395
				RightHip.C0 = Clerp(RightHip.C0, CF(1 + 0.05 * COS(SINE / 12), -1 - 0.05 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2396
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 + 0.05 * COS(SINE / 12), -1 - 0.05 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2397
			elseif MODE == "BadCop" then
2398
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1 + 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed*3)
2399
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
2400
			if MRANDOM(1,7) == 1 then
2401
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
2402
			end					
2403
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(25), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2404
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(95), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2405
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * COS(SINE / 24), -1 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
2406
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.2, 0.2 - 0.1 * COS(SINE / 24), -0.4 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
2407
			end
2408
		end
2409
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
2410
		ANIM = "Walk"
2411
		if ATTACK == false then
2412
			if MODE == "GoodCop" then
2413
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(0), RAD(180), RAD(180)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2414
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), 0.3) * ANGLES(RAD(-40), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2415
			elseif MODE == "BadCop" then
2416
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2417
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2418
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65, -0.15) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2419
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
2420
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
2421
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
2422
			end
2423
		end
2424
	end
2425
	Humanoid.DisplayDistanceType = "None"
2426
	unanchor()
2427
	tecks2.TextColor3 = BrickColor.Random().Color
2428
	tecks2.TextStrokeColor3 = BrickColor.Random().Color
2429
	Humanoid.MaxHealth = "inf"
2430
	Humanoid.Health = "inf"
2431
	if Rooted == false then
2432
		Disable_Jump = false
2433
		Humanoid.WalkSpeed = Speed
2434
	elseif Rooted == true then
2435
		Disable_Jump = true
2436
		Humanoid.WalkSpeed = 0
2437
	end
2438
	Humanoid.PlatformStand = false
2439
	if INTRO == false and INSTANT == false then
2440
		INTRO = true
2441
		coroutine.resume(coroutine.create(function()
2442
			sick:Play()
2443
			Intro()
2444
		end))
2445
	end
2446
	if INSTANT == true then
2447
		if TRANSFORMED == false then
2448
			sick.TimePosition = 60
2449
			sick:Play()
2450
		end
2451
		TRANSFORMED = true
2452
	end
2453
	script.Parent = PlayerGui
2454
	Character.Parent = workspace
2455
	Humanoid.Parent = Character
2456
end
2457
--//=================================\\
2458
--\\=================================//
2459
2460
2461
2462
2463
2464
--//====================================================\\--
2465
--||			  		 END OF SCRIPT
2466
--\\====================================================//--