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