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