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