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