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