View difference between Paste ID: cz01dxNB and ptfda2pz
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end
2
print("FE Compatibility: by WaverlyCole & Mokiros")
3
InternalData = {}
4
do
5
	script.Parent = owner.Character
6
	local Event = Instance.new("RemoteEvent")
7
	Event.Name = "UserInput"
8
	local function NewFakeEvent()
9
		local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect
10
		return Fake
11
	end
12
	local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
13
	local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
14
	local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
15
		self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
16
	end};ContextActionService.UnBindAction = ContextActionService.BindAction
17
	local function TriggerEvent(self,Event,...)
18
		local Trigger = Mouse[Event]
19
		if Trigger and Trigger.fakeEvent and Trigger.Function then
20
			Trigger.Function(...)
21
		end
22
	end
23
	Mouse.TrigEvent = TriggerEvent
24
	UserInputService.TrigEvent = TriggerEvent
25
	Event.OnServerEvent:Connect(function(FiredBy,Input)
26
		if FiredBy.Name ~= owner.Name then end
27
		if Input.MouseEvent then
28
			Mouse.Target = Input.Target
29
			Mouse.Hit = Input.Hit
30
		else
31
			local Begin = Input.UserInputState == Enum.UserInputState.Begin
32
			if Input.UserInputType == Enum.UserInputType.MouseButton1 then
33
				return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up")
34
			end
35
			for _,Action in pairs(ContextActionService.Actions) do
36
				for _,Key in pairs(Action.Keys) do
37
					if Key==Input.KeyCode then
38
						Action.Function(Action.Name,Input.UserInputState,Input)
39
					end
40
				end
41
			end
42
			Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
43
			UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
44
		end
45
	end)
46
	InternalData["Mouse"] = Mouse
47
	InternalData["ContextActionService"] = ContextActionService
48
	InternalData["UserInputService"] = UserInputService
49
	Event.Parent = NLS([[
50
		local Player = owner
51
		local Event = script:WaitForChild("UserInput")
52
		local UserInputService = game:GetService("UserInputService")
53
		local Mouse = Player:GetMouse()
54
		local Input = function(Input,gameProcessedEvent)
55
			if gameProcessedEvent then return end
56
			Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
57
		end
58
		UserInputService.InputBegan:Connect(Input)
59
		UserInputService.InputEnded:Connect(Input)
60
		local Hit,Target
61
		while wait(1/30) do
62
			if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
63
				Hit,Targer = Mouse.Hit,Mouse.Target
64
				Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
65
			end
66
		end
67
	]],owner.Character)
68
end
69
RealGame = game;game = setmetatable({},{
70
	__index = function (self,Index)
71
		local Sandbox = function (Thing)
72
			if Thing:IsA("Player") then
73
				local RealPlayer = Thing
74
				return setmetatable({},{
75
					__index = function (self,Index)
76
						local Type = type(RealPlayer[Index])
77
						if Type == "function" then
78
							if Index:lower() == "getmouse" or Index:lower() == "mouse" then
79
								return function (self)
80
									return InternalData["Mouse"]
81
								end
82
							end
83
							return function (self,...)
84
								return RealPlayer[Index](RealPlayer,...)
85
							end
86
						else
87
							return RealPlayer[Index]
88
						end
89
					end;
90
					__tostring = function(self)
91
						return RealPlayer.Name
92
					end
93
				})
94
			end
95
		end
96
		if RealGame[Index] then
97
			local Type = type(RealGame[Index])
98
			if Type == "function" then
99
				if Index:lower() == "getservice" or Index:lower() == "service" then
100
					return function (self,Service)
101
						if Service:lower() == "players" then
102
							return setmetatable({},{
103
								__index = function (self2,Index2)
104
									local RealService = RealGame:GetService(Service)
105
									local Type2 = type(Index2)
106
									if Type2 == "function" then
107
										return function (self,...)
108
											return RealService[Index2](RealService,...)
109
										end
110
									else
111
										if Index2:lower() == "localplayer" then
112
											return Sandbox(owner)
113
										end
114
										return RealService[Index2]
115
									end
116
								end;
117
								__tostring = function(self)
118
									return RealGame:GetService(Service).Name
119
								end
120
							})
121
						elseif Service:lower() == "contextactionservice" then
122
							return InternalData["ContextActionService"]
123
						elseif Service:lower() == "contextactionservice" then
124
							return InternalData["UserInputService"]
125
						elseif Service:lower() == "runservice" then
126
							return setmetatable({},{
127
								__index = function(self2,Index2)
128
									local RealService = RealGame:GetService(Service)
129
									local Type2 = type(Index2)
130
									if Type2 == "function" then
131
										return function (self,...)
132
											return RealService[Index2](RealService,...)
133
										end
134
									else
135
										if Index2:lower() == "bindtorenderstep" then
136
											return function (self,Name,Priority,Function)
137
												return RealGame:GetService("RunService").Stepped:Connect(Function)
138
											end
139
										end
140
										if Index2:lower() == "renderstepped" then
141
											return RealService["Stepped"]
142
										end
143
										return RealService[Index2]
144
									end
145
								end
146
							})
147
						else
148
							return RealGame:GetService(Service)
149
						end
150
					end
151
				end
152
				return function (self,...)
153
					return RealGame[Index](RealGame,...)
154
				end
155
			else
156
				if game:GetService(Index) then
157
					return game:GetService(Index)
158
				end
159
				return RealGame[Index]
160
			end
161
		else
162
			return nil
163
		end
164
	end
165
});Game = game;owner = game:GetService("Players").LocalPlayer;script = {}
166
print("Complete! Running...")
167
168
script.Name = " Banisher Gun V3 / 1 "
169-
script:ClearAllChildren()
169+
170
171
Player = game:GetService("Players").LocalPlayer
172
PlayerGui = Player.PlayerGui
173
Cam = workspace.CurrentCamera
174
Backpack = Player.Backpack
175
Character = Player.Character
176
Humanoid = Character.Humanoid
177
Mouse = Player:GetMouse()
178
RootPart = Character["HumanoidRootPart"]
179
Torso = Character["Torso"]
180
Head = Character["Head"]
181
RightArm = Character["Right Arm"]
182
LeftArm = Character["Left Arm"]
183
RightLeg = Character["Right Leg"]
184
LeftLeg = Character["Left Leg"]
185
RootJoint = RootPart["RootJoint"]
186
Neck = Torso["Neck"]
187
RightShoulder = Torso["Right Shoulder"]
188
LeftShoulder = Torso["Left Shoulder"]
189
RightHip = Torso["Right Hip"]
190
LeftHip = Torso["Left Hip"]
191
local TIME = 5
192
local sick = Instance.new("Sound",Torso)
193
sick.Parent = Torso
194
sick.Playing = true
195
sick.Looped = true
196
sick.Volume = 2
197
sick.Pitch = 0.9
198
sick.TimePosition = 0
199
sick.SoundId = "rbxassetid://1383666704"
200
201
IT = Instance.new
202
CF = CFrame.new
203
VT = Vector3.new
204
RAD = math.rad
205
C3 = Color3.new
206
UD2 = UDim2.new
207
BRICKC = BrickColor.new
208
ANGLES = CFrame.Angles
209
EULER = CFrame.fromEulerAnglesXYZ
210
COS = math.cos
211
ACOS = math.acos
212
SIN = math.sin
213
ASIN = math.asin
214
ABS = math.abs
215
MRANDOM = math.random
216
FLOOR = math.floor
217
218
--//=================================\\
219
--|| 	      USEFUL VALUES
220
--\\=================================//
221
222
Animation_Speed = 3
223
local FORCERESET = false
224
Frame_Speed = 1 / 80 -- (1 / 60) OR (1 / 80)
225
local Speed = 12
226
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
227
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
228
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
229
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
230
local DAMAGEMULTIPLIER = 1
231
local ANIM = "Idle"
232
local ATTACK = false
233
local EQUIPPED = false
234
local HOLD = false
235
local COMBO = 1
236
local Rooted = false
237
local SINE = 0
238
local SIZE = 1
239
local KEYHOLD = false
240
local CHANGE = 2 / Animation_Speed
241
local WALKINGANIM = false
242
local VALUE1 = false
243
local VALUE2 = false
244
local ROBLOXIDLEANIMATION = IT("Animation")
245
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
246
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
247
--ROBLOXIDLEANIMATION.Parent = Humanoid
248
local WEAPONGUI = IT("ScreenGui", PlayerGui)
249
WEAPONGUI.Name = "BanishV3Gui"
250
local Weapon = IT("Model")
251
Player_Size = 1 --Size of the player.
252
Weapon.Name = "Adds"
253
local Effects = IT("Folder", Weapon)
254
Effects.Name = "Effects"
255
local ANIMATOR = Humanoid.Animator
256
local ANIMATE = Character:FindFirstChild("Animate")
257
local UNANCHOR = true
258
local TOBANISH = {}
259
script.Parent = PlayerGui
260
261
--//=================================\\
262
--\\=================================//
263
264
265
--//=================================\\
266
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
267
--\\=================================//
268
269
ArtificialHB = Instance.new("BindableEvent", script)
270
ArtificialHB.Name = "ArtificialHB"
271
272
script:WaitForChild("ArtificialHB")
273
274
frame = Frame_Speed
275
tf = 0
276
allowframeloss = false
277
tossremainder = false
278
lastframe = tick()
279
script.ArtificialHB:Fire()
280
281
game:GetService("RunService").Heartbeat:connect(function(s, p)
282
	tf = tf + s
283
	if tf >= frame then
284
		if allowframeloss then
285
			script.ArtificialHB:Fire()
286
			lastframe = tick()
287
		else
288
			for i = 1, math.floor(tf / frame) do
289
				script.ArtificialHB:Fire()
290
			end
291
		lastframe = tick()
292
		end
293
		if tossremainder then
294
			tf = 0
295
		else
296
			tf = tf - frame * math.floor(tf / frame)
297
		end
298
	end
299
end)
300
301
--//=================================\\
302
--\\=================================//
303
304
--//=================================\\
305
--|| 	      SOME FUNCTIONS
306
--\\=================================//
307
308
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
309
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
310
end
311
312
function PositiveAngle(NUMBER)
313
	if NUMBER >= 0 then
314
		NUMBER = 0
315
	end
316
	return NUMBER
317
end
318
319
function NegativeAngle(NUMBER)
320
	if NUMBER <= 0 then
321
		NUMBER = 0
322
	end
323
	return NUMBER
324
end
325
326
function Swait(NUMBER)
327
	if NUMBER == 0 or NUMBER == nil then
328
		ArtificialHB.Event:wait()
329
	else
330
		for i = 1, NUMBER do
331
			ArtificialHB.Event:wait()
332
		end
333
	end
334
end
335
336
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
337
	local NEWMESH = IT(MESH)
338
	if MESH == "SpecialMesh" then
339
		NEWMESH.MeshType = MESHTYPE
340
		if MESHID ~= "nil" and MESHID ~= "" then
341
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
342
		end
343
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
344
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
345
		end
346
	end
347
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
348
	NEWMESH.Scale = SCALE
349
	NEWMESH.Parent = PARENT
350
	return NEWMESH
351
end
352
353
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
354
	local NEWPART = IT("Part")
355
	NEWPART.formFactor = FORMFACTOR
356
	NEWPART.Reflectance = REFLECTANCE
357
	NEWPART.Transparency = TRANSPARENCY
358
	NEWPART.CanCollide = false
359
	NEWPART.Locked = true
360
	NEWPART.Anchored = true
361
	if ANCHOR == false then
362
		NEWPART.Anchored = false
363
	end
364
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
365
	NEWPART.Name = NAME
366
	NEWPART.Size = SIZE
367
	NEWPART.Position = Torso.Position
368
	NEWPART.Material = MATERIAL
369
	NEWPART:BreakJoints()
370
	NEWPART.Parent = PARENT
371
	return NEWPART
372
end
373
374
	local function weldBetween(a, b)
375
	    local weldd = Instance.new("ManualWeld")
376
	    weldd.Part0 = a
377
	    weldd.Part1 = b
378
	    weldd.C0 = CFrame.new()
379
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
380
	    weldd.Parent = a
381
	    return weldd
382
	end
383
384
385
function QuaternionFromCFrame(cf)
386
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
387
	local trace = m00 + m11 + m22
388
	if trace > 0 then 
389
		local s = math.sqrt(1 + trace)
390
		local recip = 0.5 / s
391
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
392
	else
393
		local i = 0
394
		if m11 > m00 then
395
			i = 1
396
		end
397
		if m22 > (i == 0 and m00 or m11) then
398
			i = 2
399
		end
400
		if i == 0 then
401
			local s = math.sqrt(m00 - m11 - m22 + 1)
402
			local recip = 0.5 / s
403
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
404
		elseif i == 1 then
405
			local s = math.sqrt(m11 - m22 - m00 + 1)
406
			local recip = 0.5 / s
407
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
408
		elseif i == 2 then
409
			local s = math.sqrt(m22 - m00 - m11 + 1)
410
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
411
		end
412
	end
413
end
414
 
415
function QuaternionToCFrame(px, py, pz, x, y, z, w)
416
	local xs, ys, zs = x + x, y + y, z + z
417
	local wx, wy, wz = w * xs, w * ys, w * zs
418
	local xx = x * xs
419
	local xy = x * ys
420
	local xz = x * zs
421
	local yy = y * ys
422
	local yz = y * zs
423
	local zz = z * zs
424
	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))
425
end
426
 
427
function QuaternionSlerp(a, b, t)
428
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
429
	local startInterp, finishInterp;
430
	if cosTheta >= 0.0001 then
431
		if (1 - cosTheta) > 0.0001 then
432
			local theta = ACOS(cosTheta)
433
			local invSinTheta = 1 / SIN(theta)
434
			startInterp = SIN((1 - t) * theta) * invSinTheta
435
			finishInterp = SIN(t * theta) * invSinTheta
436
		else
437
			startInterp = 1 - t
438
			finishInterp = t
439
		end
440
	else
441
		if (1 + cosTheta) > 0.0001 then
442
			local theta = ACOS(-cosTheta)
443
			local invSinTheta = 1 / SIN(theta)
444
			startInterp = SIN((t - 1) * theta) * invSinTheta
445
			finishInterp = SIN(t * theta) * invSinTheta
446
		else
447
			startInterp = t - 1
448
			finishInterp = t
449
		end
450
	end
451
	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
452
end
453
454
function Clerp(a, b, t)
455
	local qa = {QuaternionFromCFrame(a)}
456
	local qb = {QuaternionFromCFrame(b)}
457
	local ax, ay, az = a.x, a.y, a.z
458
	local bx, by, bz = b.x, b.y, b.z
459
	local _t = 1 - t
460
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
461
end
462
463
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
464
	local frame = IT("Frame")
465
	frame.BackgroundTransparency = TRANSPARENCY
466
	frame.BorderSizePixel = BORDERSIZEPIXEL
467
	frame.Position = POSITION
468
	frame.Size = SIZE
469
	frame.BackgroundColor3 = COLOR
470
	frame.BorderColor3 = BORDERCOLOR
471
	frame.Name = NAME
472
	frame.Parent = PARENT
473
	return frame
474
end
475
476
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
477
	local label = IT("TextLabel")
478
	label.BackgroundTransparency = 1
479
	label.Size = UD2(1, 0, 1, 0)
480
	label.Position = UD2(0, 0, 0, 0)
481
	label.TextColor3 = TEXTCOLOR
482
	label.TextStrokeTransparency = STROKETRANSPARENCY
483
	label.TextTransparency = TRANSPARENCY
484
	label.FontSize = TEXTFONTSIZE
485
	label.Font = TEXTFONT
486
	label.BorderSizePixel = BORDERSIZEPIXEL
487
	label.TextScaled = false
488
	label.Text = TEXT
489
	label.Name = NAME
490
	label.Parent = PARENT
491
	return label
492
end
493
494
function NoOutlines(PART)
495
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
496
end
497
498
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
499
	local NEWWELD = IT(TYPE)
500
	NEWWELD.Part0 = PART0
501
	NEWWELD.Part1 = PART1
502
	NEWWELD.C0 = C0
503
	NEWWELD.C1 = C1
504
	NEWWELD.Parent = PARENT
505
	return NEWWELD
506
end
507
508
local S = IT("Sound")
509
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
510
	local NEWSOUND = nil
511
	coroutine.resume(coroutine.create(function()
512
		NEWSOUND = S:Clone()
513
		NEWSOUND.Parent = PARENT
514
		NEWSOUND.Volume = VOLUME
515
		NEWSOUND.Pitch = PITCH
516
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
517
		NEWSOUND:play()
518
		if DOESLOOP == true then
519
			NEWSOUND.Looped = true
520
		else
521
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
522
			NEWSOUND:remove()
523
		end
524
	end))
525
	return NEWSOUND
526
end
527
528
function CFrameFromTopBack(at, top, back)
529
	local right = top:Cross(back)
530
	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)
531
end
532
533
--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})
534
function WACKYEFFECT(Table)
535
	local TYPE = (Table.EffectType or "Sphere")
536
	local SIZE = (Table.Size or VT(1,1,1))
537
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
538
	local TRANSPARENCY = (Table.Transparency or 0)
539
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
540
	local CFRAME = (Table.CFrame or Torso.CFrame)
541
	local MOVEDIRECTION = (Table.MoveToPos or nil)
542
	local ROTATION1 = (Table.RotationX or 0)
543
	local ROTATION2 = (Table.RotationY or 0)
544
	local ROTATION3 = (Table.RotationZ or 0)
545
	local MATERIAL = (Table.Material or "Neon")
546
	local COLOR = (Table.Color or C3(1,1,1))
547
	local TIME = (Table.Time or 45)
548
	local SOUNDID = (Table.SoundID or nil)
549
	local SOUNDPITCH = (Table.SoundPitch or nil)
550
	local SOUNDVOLUME = (Table.SoundVolume or nil)
551
	coroutine.resume(coroutine.create(function()
552
		local PLAYSSOUND = false
553
		local SOUND = nil
554
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
555
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
556
			PLAYSSOUND = true
557
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
558
		end
559
		EFFECT.Color = COLOR
560
		local MSH = nil
561
		if TYPE == "Sphere" then
562
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
563
		elseif TYPE == "Block" then
564
			MSH = IT("BlockMesh",EFFECT)
565
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
566
		elseif TYPE == "Wave" then
567
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
568
		elseif TYPE == "Ring" then
569
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
570
		elseif TYPE == "Slash" then
571
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
572
		elseif TYPE == "Round Slash" then
573
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
574
		elseif TYPE == "Swirl" then
575
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
576
		elseif TYPE == "Skull" then
577
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
578
		elseif TYPE == "Crystal" then
579
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
580
		end
581
		if MSH ~= nil then
582
			local MOVESPEED = nil
583
			if MOVEDIRECTION ~= nil then
584
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
585
			end
586
			local GROWTH = SIZE - ENDSIZE
587
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
588
			if TYPE == "Block" then
589
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
590
			else
591
				EFFECT.CFrame = CFRAME
592
			end
593
			for LOOP = 1, TIME+1 do
594
				Swait()
595
				MSH.Scale = MSH.Scale - GROWTH/TIME
596
				if TYPE == "Wave" then
597
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
598
				end
599
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
600
				if TYPE == "Block" then
601
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
602
				else
603
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
604
				end
605
				if MOVEDIRECTION ~= nil then
606
					local ORI = EFFECT.Orientation
607
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
608
					EFFECT.Orientation = ORI
609
				end
610
			end
611
			if PLAYSSOUND == false then
612
				EFFECT:remove()
613
			else
614
				SOUND.Stopped:Connect(function()
615
					EFFECT:remove()
616
				end)
617
			end
618
		else
619
			if PLAYSSOUND == false then
620
				EFFECT:remove()
621
			else
622
				repeat Swait() until SOUND.Playing == false
623
				EFFECT:remove()
624
			end
625
		end
626
	end))
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))
643
	MakeForm(TRAIL,"Cyl")
644
	local DIST = (FROM - TO).Magnitude
645
	if BIG == true then
646
		TRAIL.Size = VT(0.8,DIST,0.8)
647
	else
648
		TRAIL.Size = VT(0.35,DIST,0.35)
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
660
Debris = game:GetService("Debris")
661
662
function CastProperRay(StartPos, EndPos, Distance, Ignore)
663
	local DIRECTION = CF(StartPos,EndPos).lookVector
664
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
665
end
666
667
function turnto(position)
668
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
669
end
670
671
672
--//=================================\\
673
--||	     WEAPON CREATION
674
--\\=================================//
675
676
677
local Particle = IT("ParticleEmitter",nil)
678
Particle.Enabled = false
679
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
680
Particle.LightEmission = 0.5
681
Particle.Rate = 150
682
Particle.ZOffset = 0.2
683
Particle.Rotation = NumberRange.new(-180, 180)
684
Particle.RotSpeed = NumberRange.new(-180, 180)
685
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
686
Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
687
688
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
689
function ParticleEmitter(Table)
690
	local PRTCL = Particle:Clone()
691
	local Speed = Table.Speed or 5
692
	local Drag = Table.Drag or 0
693
	local Size1 = Table.Size1 or 1
694
	local Size2 = Table.Size2 or 5
695
	local Lifetime1 = Table.Lifetime1 or 1
696
	local Lifetime2 = Table.Lifetime2 or 1.5
697
	local Parent = Table.Parent or Torso
698
	local Emit = Table.Emit or 100
699
	local Offset = Table.Offset or 360
700
	local Acel = Table.Acel or VT(0,0,0)
701
	local Enabled = Table.Enabled or false
702
	PRTCL.Parent = Parent
703
	PRTCL.Size = NumberSequence.new(Size1,Size2)
704
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
705
	PRTCL.Speed = NumberRange.new(Speed)
706
	PRTCL.VelocitySpread = Offset
707
	PRTCL.Drag = Drag
708
	PRTCL.Acceleration = Acel
709
	if Enabled == false then
710
		PRTCL:Emit(Emit)
711
		Debris:AddItem(PRTCL,Lifetime2)
712
	else
713
		PRTCL.Enabled = true
714
	end
715
	return PRTCL
716
end
717
718
local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
719
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
720
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
721
MakeForm(Part,"Wedge")
722
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
723
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
724
MakeForm(Part,"Wedge")
725
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
726
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
727
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
728
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
729
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
730
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
731
MakeForm(Part,"Cyl")
732
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
733
for i = 1, 8 do
734
	local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
735
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
736
end
737
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
738
MakeForm(Part,"Cyl")
739
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
740
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
741
MakeForm(Part,"Ball")
742
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
743
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
744
MakeForm(Part,"Wedge")
745
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
746
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
747
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
748
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
749
MakeForm(Part,"Cyl")
750
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
751
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
752
MakeForm(Part,"Cyl")
753
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
754
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
755
MakeForm(Part,"Cyl")
756
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
757
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
758
MakeForm(Part,"Wedge")
759
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
760
local LASTPART = Handle
761
for i = 1, 10 do
762
	if LASTPART == Handle then
763
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
764
		LASTPART = Part
765
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
766
	else
767
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
768
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
769
		LASTPART = Part
770
	end
771
end
772
773
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
774
MakeForm(Barrel,"Cyl")
775
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
776
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
777
MakeForm(Part,"Cyl")
778
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
779
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
780
MakeForm(Part,"Wedge")
781
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
782
local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
783
MakeForm(Hole,"Cyl")
784
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
785
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
786
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
787
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
788
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
789
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
790
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
791
coroutine.resume(coroutine.create(function()
792
	while wait() do
793
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(0 - 25 * SIN(SINE / 25)))
794
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(0 - -25 * SIN(SINE / 25)))
795
	end
796
end))
797
798
local Hole2 = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
799
MakeForm(Hole2,"Cyl")
800
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole2, CF(0.8, 0.98, 0), CF(0, 0, 0))
801
802
local Hole3 = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
803
MakeForm(Hole3,"Cyl")
804
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole3, CF(-0.8, 0.98, 0), CF(0, 0, 0))
805
806
ParticleEmitter({Speed = 0.02, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
807
ParticleEmitter({Speed = 50, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
808
ParticleEmitter({Speed = 10, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
809
--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)})
810
811
for _, c in pairs(Weapon:GetDescendants()) do
812
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
813
		c.Material = "Glass"
814
		c.Color = C3(3,0,0)
815
	elseif c.ClassName == "Part" and c.Name == "Eye" then
816
		c.Color = C3(1,0,0)
817
		c.Material = "Neon"
818
	end
819
end
820
821
Weapon.Parent = Character
822
for _, c in pairs(Weapon:GetChildren()) do
823
	if c.ClassName == "Part" then
824
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
825
	end
826
end
827
828
local SKILLTEXTCOLOR = C3(1,0,0)
829
local SKILLFONT = "Antique"
830
local SKILLTEXTSIZE = 7
831
832
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")
833
--[[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")
834
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")
835
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")
836
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
837
]]
838
local SKILL1TEXT = CreateLabel(SKILL1FRAME, ":/ Edit By NameClan", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
839
--[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
840
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
841
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
842
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
843
]]
844
function printbye(Name)
845
	local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
846
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
847
end
848
849
workspace.ChildAdded:connect(function(instance)
850
    for BANISH = 1, #TOBANISH do
851
		if TOBANISH[BANISH] ~= nil then
852
			if instance.Name == TOBANISH[BANISH] then
853
				coroutine.resume(coroutine.create(function()
854
					printbye(instance.Name)
855
					instance:ClearAllChildren()
856
					Debris:AddItem(instance,0.0005)
857
				end))
858
			end
859
		end
860
	end
861
end)
862
863
--//=================================\\
864
--||			DAMAGING
865
--\\=================================//
866
867
function Banish(Foe)
868
	if Foe then
869
		coroutine.resume(coroutine.create(function()
870
			--if game.Players:FindFirstChild(Foe.Name) then
871
				table.insert(TOBANISH,Foe.Name)
872
				printbye(Foe.Name)
873
			--end
874
			Foe.Archivable = true
875
			local CLONE = Foe:Clone()
876
			Foe:Destroy()
877
			CLONE.Parent = Effects
878
			CLONE:BreakJoints()
879
			local MATERIALS = {"Glass","Neon"}
880
			for _, c in pairs(CLONE:GetDescendants()) do
881
				if c:IsA("BasePart") then
882
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
883
 						CreateSound(340722848, c, 10, 1, false)
884
					end
885
					c.Anchored = true
886
					c.Transparency = c.Transparency + 0.2
887
					c.Material = MATERIALS[MRANDOM(1,2)]
888
					c.Color = C3(1,0,0)
889
					if c.ClassName == "MeshPart" then
890
						c.TextureID = ""
891
					end
892
					if c:FindFirstChildOfClass("SpecialMesh") then
893
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
894
					end
895
					if c:FindFirstChildOfClass("Decal") then
896
						c:FindFirstChildOfClass("Decal"):remove()
897
					end
898
					c.Name = "Banished"
899
					c.CanCollide = false
900
				else
901
					c:remove()
902
				end
903
			end
904
			local A = false
905
			for i = 1, 35 do
906
				if A == false then
907
					A = true
908
				elseif A == true then
909
					A = false
910
				end
911
				for _, c in pairs(CLONE:GetDescendants()) do
912
					if c:IsA("BasePart") then
913
						c.Anchored = true
914
						c.Material = MATERIALS[MRANDOM(1,2)]
915
						c.Transparency = c.Transparency + 0.8/35
916
						if A == false then
917
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
918
						elseif A == true then
919
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
920
						end
921
					end
922
				end
923
				Swait()
924
			end
925
			CLONE:remove()
926
		end))
927
	end
928
end
929
930
function ApplyAoE(POSITION,RANGE,ISBANISH)
931
	local CHILDREN = workspace:GetDescendants()
932
	for index, CHILD in pairs(CHILDREN) do
933
		if CHILD.ClassName == "Model" and CHILD ~= Character then
934
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
935
			if HUM then
936
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
937
				if TORSO then
938
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
939
						if ISBANISH == true then
940
							Banish(CHILD)
941
						else
942
							if ISBANISH == "Gravity" then
943
								HUM.PlatformStand = true
944
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
945
									local grav = Instance.new("BodyPosition",TORSO)
946
									grav.D = 15
947
									grav.P = 20000
948
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
949
									grav.position = TORSO.Position
950
									grav.Name = "V3BanishForce"..Player.Name
951
								else
952
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
953
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
954
								end
955
							else
956
								HUM.PlatformStand = false
957
							end
958
						end
959
					elseif ISBANISH == "Gravity" then
960
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
961
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
962
							HUM.PlatformStand = false
963
						end
964
					end
965
				end
966
			end
967
		end
968
	end
969
end
970
971
function ApplyDamage(Humanoid,Damage,TorsoPart)
972
	local defence = Instance.new("BoolValue",Humanoid.Parent)
973
	defence.Name = ("HitBy"..Player.Name)
974
	game:GetService("Debris"):AddItem(defence, 0.001)
975
	Damage = Damage * DAMAGEMULTIPLIER
976
	if Humanoid.Health ~= 0 then
977
		local CritChance = MRANDOM(1,100)
978
		if Damage > Humanoid.Health then
979
			Damage = math.ceil(Humanoid.Health)
980
			if Damage == 0 then
981
				Damage = 0.1
982
			end
983
		end
984
		Humanoid.Health = Humanoid.Health - Damage
985
	end
986
end
987
988
function ApplyAoE3(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
989
	local CHILDREN = workspace:GetDescendants()
990
	for index, CHILD in pairs(CHILDREN) do
991
		if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
992
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
993
			if HUM then
994
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
995
				if TORSO then
996
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
997
						if INSTAKILL == true then
998
							CHILD:BreakJoints()
999
						else
1000
							local DMG = MRANDOM(MINDMG,MAXDMG)
1001
							ApplyDamage(HUM,DMG,TORSO)
1002
						end
1003
						if FLING > 0 then
1004
							for _, c in pairs(CHILD:GetChildren()) do
1005
								if c:IsA("BasePart") then
1006
									local bv = Instance.new("BodyVelocity") 
1007
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1008
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
1009
									bv.Parent = c
1010
									Debris:AddItem(bv,0.05)
1011
								end
1012
							end
1013
						end
1014
					end
1015
				end
1016
			end
1017
		end
1018
	end
1019
end
1020
1021
--//=================================\\
1022
--||	ATTACK FUNCTIONS AND STUFF
1023
--\\=================================//
1024
1025
function Shot()
1026
	ATTACK = true
1027
	Rooted = false
1028
				for i=0, 1, 0.1 / Animation_Speed do
1029
			Swait()
1030
			turnto(Mouse.Hit.p)
1031
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1032
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
1033
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -1) * ANGLES(RAD(-25), RAD(90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1034
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1035
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1036
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1037
				end
1038
				WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(120,120,120), Transparency = 0, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 317129949, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 999999})
1039
		repeat
1040
		for i=0, 0.2, 0.1 / Animation_Speed do
1041
			Swait()
1042
			turnto(Mouse.Hit.p)
1043
							RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1044
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1045
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -1) * ANGLES(RAD(-25), RAD(90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1046
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1047
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1048
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.2, 0.5, -0.7) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1049
		end
1050
				local HIT,POS = CastProperRay(Hole2.Position, Mouse.Hit.p, 1000, Character)
1051
		SpawnTrail(Hole2.Position,POS)
1052
				local HIT,POS = CastProperRay(Hole3.Position, Mouse.Hit.p, 1000, Character)
1053
		SpawnTrail(Hole3.Position,POS)
1054
		local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
1055
		SpawnTrail(Hole.Position,POS)
1056
		if HIT ~= nil then
1057
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
1058
				Banish(HIT.Parent)
1059
			end
1060
		end
1061
		
1062
		WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole3.CFrame, MoveToPos = Hole3.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})
1063
		WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole3.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1064
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole3.CFrame, MoveToPos = Hole3.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})
1065
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole3.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 168143115, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1066
		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,Hole3.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})
1067
		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,Hole3.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})
1068
		
1069
		WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole2.CFrame, MoveToPos = Hole2.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})
1070
		WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1071
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole2.CFrame, MoveToPos = Hole2.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})
1072
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 168143115, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1073
		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,Hole2.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})
1074
		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,Hole2.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})
1075
		
1076
			WACKYEFFECT({Time = 25, EffectType = "Sphere", 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})
1077
		WACKYEFFECT({Time = 25, EffectType = "Sphere", 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 = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1078
		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})
1079
		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 = 168143115, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1080
		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})
1081
		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})
1082
		for i=0, 0.2, 0.1 / Animation_Speed do
1083
			Swait()
1084
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(95), RAD(15), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1085
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.2, 0.5, 0.04) * ANGLES(RAD(95), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1086
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -1) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1087
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0.1, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
1088
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -1) * ANGLES(RAD(-25), RAD(90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1089
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1090
		end
1091
	until KEYHOLD == false
1092
	ATTACK = false
1093
	Rooted = false
1094
end
1095
1096
function Shot2()
1097
	ATTACK = true
1098
	Rooted = false
1099
		for i=0, 3, 0.1 / Animation_Speed do
1100
			Swait()
1101
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
1102
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(75), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1103
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(75), RAD(0), RAD(-45)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1104
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-25), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1105
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-25), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1106
		end
1107
											WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(45,45,45), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
1108
						WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(180,180,180), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
1109
						WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(123,123,123), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
1110
						WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,180,1), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
1111
				WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(150,1,150), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
1112
				WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(150,150,150), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
1113
				WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(120,120,120), Transparency = 0, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 165970126, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 100})
1114
				WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(120,120,120), Transparency = 0, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 165970126, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 999999})
1115
							WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,180,1), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
1116
						WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(150,1,150), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
1117
				WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(150,150,150), Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
1118
				WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(120,120,120), Transparency = 0, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 165970126, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 100})
1119
        ApplyAoE3(RootPart.Position,95,999,999,999,false)
1120
				for i=0, 0.5, 0.1 / Animation_Speed do
1121
			Swait()
1122
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(30), RAD(0), RAD(0)), 1 / Animation_Speed)
1123
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.2, 0.5, -0.5) * ANGLES(RAD(75), RAD(0), RAD(-70)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.6 / Animation_Speed)
1124
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2, 0.5, -0.5) * ANGLES(RAD(75), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1125
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(30), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1126
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(30), RAD(-75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1127
		end	
1128
	ATTACK = false
1129
	Rooted = false
1130
end
1131
1132
--//=================================\\
1133
--||	  ASSIGN THINGS TO KEYS
1134
--\\=================================//
1135
1136
function MouseDown(Mouse)
1137
	if ATTACK == false then
1138
	end
1139
end
1140
1141
function MouseUp(Mouse)
1142
HOLD = false
1143
end
1144
1145
function KeyDown(Key)
1146
	KEYHOLD = true
1147
	if Key == "z" and ATTACK == false then
1148
		Shot()
1149
	end
1150
1151
	if Key == "b" and ATTACK == false then
1152
		AttackTemplate()
1153
	end
1154
1155
	if Key == "c" and ATTACK == false then
1156
		Shot2()
1157
	end
1158
1159
	if Key == "v" and ATTACK == false then
1160
	end
1161
1162
	if Key == "x" and ATTACK == false then
1163
	end
1164
end
1165
1166
function KeyUp(Key)
1167
	KEYHOLD = false
1168
end
1169
1170
	Mouse.Button1Down:connect(function(NEWKEY)
1171
		MouseDown(NEWKEY)
1172
	end)
1173
	Mouse.Button1Up:connect(function(NEWKEY)
1174
		MouseUp(NEWKEY)
1175
	end)
1176
	Mouse.KeyDown:connect(function(NEWKEY)
1177
		KeyDown(NEWKEY)
1178
	end)
1179
	Mouse.KeyUp:connect(function(NEWKEY)
1180
		KeyUp(NEWKEY)
1181
	end)
1182
1183
--//=================================\\
1184
--\\=================================//
1185
1186
1187
function unanchor()
1188
	if UNANCHOR == true then
1189
		g = Character:GetChildren()
1190
		for i = 1, #g do
1191
			if g[i].ClassName == "Part" then
1192
				g[i].Anchored = false
1193
			end
1194
		end
1195
	end
1196
end
1197
1198
1199
--//=================================\\
1200
--||	WRAP THE WHOLE SCRIPT UP
1201
--\\=================================//
1202
1203
Humanoid.Changed:connect(function(Jump)
1204
	if Jump == "Jump" and (Disable_Jump == true) then
1205
		Humanoid.Jump = false
1206
	end
1207
end)
1208
1209
local CONNECT = nil
1210
1211
while true do
1212
	Swait()
1213
	ANIMATE.Parent = nil
1214
	if Character:FindFirstChildOfClass("Humanoid") == nil then
1215
		Humanoid = IT("Humanoid",Character)
1216
	end
1217
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1218
	    v:Stop();
1219
	end
1220
	SINE = SINE + CHANGE
1221
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1222
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1223
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1224
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1225
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1226
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1227
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1228
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1229
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1230
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1231
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1232
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1233
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1234
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1235
	end
1236
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1237
		ANIM = "Jump"
1238
		if ATTACK == false then
1239
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1240
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1241
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1242
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1243
			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)
1244
			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)
1245
	    end
1246
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1247
		ANIM = "Fall"
1248
		if ATTACK == false then
1249
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1250
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1251
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1252
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1253
			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)
1254
			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)
1255
		end
1256
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1257
		ANIM = "Idle"
1258
		if ATTACK == false then
1259
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1 * Player_Size) * ANGLES(RAD(45), RAD(0 + 0.75 * SIN(SINE / 12) - 1.75 * COS(SINE / 12)), RAD(2.75 * SIN(SINE / 12))), 0.2 / Animation_Speed*3)
1260
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0 + 0.75 * SIN(SINE / 8) - 1.75 * COS(SINE / 8)), RAD(2.75 * SIN(SINE / 8))), 0.2 / Animation_Speed)
1261
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.9, 0.5 + 0.05 * SIN(SINE / (SINE/1)), -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1262
			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)
1263
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1264
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.2, 0.2 - 0.1 * COS(SINE / 24), -0.4 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1265
		end
1266
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1267
		ANIM = "Walk"
1268
		if ATTACK == false then
1269
	            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
1270
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, -0.025, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1271
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80 * SIN(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(5), RAD(0 - 40 * SIN(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1272
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-80 * SIN(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(5), RAD(0 - 40 * SIN(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1273
            RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(-5), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1274
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-5), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1275
		end
1276
	end
1277
	unanchor()
1278
	Humanoid.MaxHealth = "inf"
1279
	Humanoid.Health = "inf"
1280
	if Rooted == false then
1281
		Disable_Jump = false
1282
		Humanoid.WalkSpeed = Speed
1283
	elseif Rooted == true then
1284
		Disable_Jump = true
1285
		Humanoid.WalkSpeed = 0
1286
	end
1287
end
1288
1289
--//=================================\\
1290
--\\=================================//
1291
1292
1293
1294
1295
1296
--//====================================================\\--
1297
--||			  		 END OF SCRIPT
1298
--\\====================================================//--