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