View difference between Paste ID: VKfbFT5z and bxfyrxMQ
SHOW: | | - or go back to the newest paste.
1
CV="White"
2
3
	p = game.Players.LocalPlayer
4
	char = p.Character
5
	local txt = Instance.new("BillboardGui", char)
6
	txt.Adornee = char .Head
7
	txt.Name = "_status"
8
	txt.Size = UDim2.new(2, 0, 1.2, 0)
9
	txt.StudsOffset = Vector3.new(-9, 8, 0)
10
	local text = Instance.new("TextLabel", txt)
11
	text.Size = UDim2.new(10, 0, 7, 0)
12
	text.FontSize = "Size24"
13
	text.TextScaled = true
14
	text.TextTransparency = 0
15
	text.BackgroundTransparency = 1 
16
	text.TextTransparency = 0
17
	text.TextStrokeTransparency = 1
18
	text.Font = "Arcade"
19
	text.TextStrokeColor3 = Color3.new(0,0,255)
20
21
	v=Instance.new("Part")
22
	v.Name = "ColorBrick"
23
	v.Parent=p.Character
24
	v.FormFactor="Symmetric"
25
	v.Anchored=true
26
	v.CanCollide=false
27
	v.BottomSurface="Smooth"
28
	v.TopSurface="Smooth"
29
	v.Size=Vector3.new(10,5,3)
30
	v.Transparency=1
31
	v.CFrame=char.Torso.CFrame
32
	v.BrickColor=BrickColor.new(CV)
33
	v.Transparency=1
34
	text.TextColor3 = Color3.new(128,0,128)
35
	v.Shape="Block"
36
	text.Text = "Patchouli Knowledge"
37
wait(1 / 60)
38
Effects = { }
39
local Player = game.Players.localPlayer
40
local Character = Player.Character
41
local Humanoid = Character.Humanoid
42
local mouse = Player:GetMouse()
43
local m = Instance.new('Model', Character)
44
m.Name = "WeaponModel"
45
local LeftArm = Character["Left Arm"]
46
local RightArm = Character["Right Arm"]
47
local LeftLeg = Character["Left Leg"]
48
local RightLeg = Character["Right Leg"]
49
local Head = Character.Head
50
local Torso = Character.Torso
51
local cam = game.Workspace.CurrentCamera
52
local RootPart = Character.HumanoidRootPart
53
local RootJoint = RootPart.RootJoint
54
local equipped = false
55
local attack = false
56
local Anim = 'Idle'
57
local idle = 0
58
local attacktype = 1
59
local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
60
local velocity = RootPart.Velocity.y
61
local sine = 0
62
local change = 1
63
local grabbed = false
64
local cn = CFrame.new
65
local mr = math.rad
66
local angles = CFrame.Angles
67
local ud = UDim2.new
68
local c3 = Color3.new
69
Instance.new("ForceField", game.Players.LocalPlayer.Character)
70
	local s = Instance.new("Sound",Character)
71
	s.Name = "BGMusic"
72
	s.SoundId = "rbxassetid://185608503"
73
	s.Pitch = 1
74
	s.Volume = 100
75
	s.Looped = true
76
	s.archivable = false
77
	wait(0.1)
78
	s:play()
79
80
Humanoid.Animator.Parent = nil
81
Character.Animate.Parent = nil
82
83
local newMotor = function(part0, part1, c0, c1)
84
	local w = Instance.new('Motor', part0)
85
	w.Part0 = part0
86
	w.Part1 = part1
87
	w.C0 = c0
88
	w.C1 = c1
89
	return w
90
end
91
92
function clerp(a, b, t)
93
	return a:lerp(b, t)
94
end
95
96
RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
97
NeckCF = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
98
99
local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0)) 
100
local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0))
101
local RH = newMotor(Torso, RightLeg, CFrame.new(.5, -2, 0), CFrame.new(0, 0, 0))
102
local LH = newMotor(Torso, LeftLeg, CFrame.new(-.5, -2, 0), CFrame.new(0, 0, 0))
103
RootJoint.C1 = CFrame.new(0, 0, 0)
104
RootJoint.C0 = CFrame.new(0, 0, 0)
105
Torso.Neck.C1 = CFrame.new(0, 0, 0)
106
Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
107
108
local rarmc1 = RW.C1
109
local larmc1 = LW.C1
110
local rlegc1 = RH.C1
111
local llegc1 = LH.C1
112
113
local resetc1 = false
114
115
function PlayAnimationFromTable(table, speed, bool)
116
	RootJoint.C0 = clerp(RootJoint.C0, table[1], speed) 
117
	Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed) 
118
	RW.C0 = clerp(RW.C0, table[3], speed) 
119
	LW.C0 = clerp(LW.C0, table[4], speed) 
120
	RH.C0 = clerp(RH.C0, table[5], speed) 
121
	LH.C0 = clerp(LH.C0, table[6], speed) 
122
	if bool == true then
123
		if resetc1 == false then
124
			resetc1 = true
125
			RootJoint.C1 = RootJoint.C1
126
			Torso.Neck.C1 = Torso.Neck.C1
127
			RW.C1 = rarmc1
128
			LW.C1 = larmc1
129
			RH.C1 = rlegc1
130
			LH.C1 = llegc1
131
		end
132
	end
133
end
134
135
Char = char
136
137
--[[Credits to SazErenos for his Artificial Heartbeat]]--
138
139
ArtificialHB = Instance.new("BindableEvent", script)
140
ArtificialHB.Name = "Heartbeat"
141
142
script:WaitForChild("Heartbeat")
143
144
frame = 1 / 30
145
tf = 0
146
allowframeloss = false
147
tossremainder = false
148
lastframe = tick()
149
script.Heartbeat:Fire()
150
151
game:GetService("RunService").Heartbeat:connect(function(s, p)
152
	tf = tf + s
153
	if tf >= frame then
154
		if allowframeloss then
155
			script.Heartbeat:Fire()
156
			lastframe = tick()
157
		else
158
			for i = 1, math.floor(tf / frame) do
159
				script.Heartbeat:Fire()
160
			end
161
			lastframe = tick()
162
		end
163
		if tossremainder then
164
			tf = 0
165
		else
166
			tf = tf - frame * math.floor(tf / frame)
167
		end
168
	end
169
end)
170
171
function swait(num)
172
	if num == 0 or num == nil then
173
		ArtificialHB.Event:wait()
174
	else
175
		for i = 0, num do
176
			ArtificialHB.Event:wait()
177
		end
178
	end
179
end
180
181
local RbxUtility = LoadLibrary("RbxUtility")
182
local Create = RbxUtility.Create
183
184
function RemoveOutlines(part)
185
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
186
end
187
	
188
CFuncs = {	
189
	["Part"] = {
190
		Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
191
			local Part = Create("Part"){
192
				Parent = Parent,
193
				Reflectance = Reflectance,
194
				Transparency = Transparency,
195
				CanCollide = false,
196
				Locked = true,
197
				BrickColor = BrickColor.new(tostring(BColor)),
198
				Name = Name,
199
				Size = Size,
200
				Material = Material,
201
			}
202
			RemoveOutlines(Part)
203
			return Part
204
		end;
205
	};
206
	
207
	["Mesh"] = {
208
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
209
			local Msh = Create(Mesh){
210
				Parent = Part,
211
				Offset = OffSet,
212
				Scale = Scale,
213
			}
214
			if Mesh == "SpecialMesh" then
215
				Msh.MeshType = MeshType
216
				Msh.MeshId = MeshId
217
			end
218
			return Msh
219
		end;
220
	};
221
	
222
	["Mesh"] = {
223
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
224
			local Msh = Create(Mesh){
225
				Parent = Part,
226
				Offset = OffSet,
227
				Scale = Scale,
228
			}
229
			if Mesh == "SpecialMesh" then
230
				Msh.MeshType = MeshType
231
				Msh.MeshId = MeshId
232
			end
233
			return Msh
234
		end;
235
	};
236
	
237
	["Weld"] = {
238
		Create = function(Parent, Part0, Part1, C0, C1)
239
			local Weld = Create("Weld"){
240
				Parent = Parent,
241
				Part0 = Part0,
242
				Part1 = Part1,
243
				C0 = C0,
244
				C1 = C1,
245
			}
246
			return Weld
247
		end;
248
	};
249
250
	["Sound"] = {
251
		Create = function(id, par, vol, pit) 
252
			coroutine.resume(coroutine.create(function()
253
				local S = Create("Sound"){
254
					Volume = vol,
255
					Pitch = pit or 1,
256
					SoundId = id,
257
					Parent = par or workspace,
258
				}
259
				Instance.new("DistortionSoundEffect", S).Level = 1
260
				wait() 
261
				S:play() 
262
				game:GetService("Debris"):AddItem(S, 10)
263
			end))
264
		end;
265
	};
266
	
267
	["ParticleEmitter"] = {
268
		Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
269
			local fp = Create("ParticleEmitter"){
270
				Parent = Parent,
271
				Color = ColorSequence.new(Color1, Color2),
272
				LightEmission = LightEmission,
273
				Size = Size,
274
				Texture = Texture,
275
				Transparency = Transparency,
276
				ZOffset = ZOffset,
277
				Acceleration = Accel,
278
				Drag = Drag,
279
				LockedToPart = LockedToPart,
280
				VelocityInheritance = VelocityInheritance,
281
				EmissionDirection = EmissionDirection,
282
				Enabled = Enabled,
283
				Lifetime = LifeTime,
284
				Rate = Rate,
285
				Rotation = Rotation,
286
				RotSpeed = RotSpeed,
287
				Speed = Speed,
288
				VelocitySpread = VelocitySpread,
289
			}
290
			return fp
291
		end;
292
	};
293
}
294
295
function rayCast(Position, Direction, Range, Ignore)
296
	return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore) 
297
end 
298
299
local function GetNearest(obj, distance)
300
	local last, lastx = distance + 1
301
	for i, v in pairs(workspace:GetChildren()) do
302
		if v:IsA'Model' and v ~= Character and v:findFirstChild('Humanoid') and v:findFirstChild('Torso') and v:findFirstChild('Humanoid').Health > 0 then
303
			local t = v.Torso
304
			local dist = (t.Position - obj.Position).magnitude
305
			if dist <= distance then
306
				if dist < last then
307
					last = dist
308
					lastx = v
309
				end
310
			end
311
		end
312
	end
313
	return lastx
314
end
315
316
--[[ Credits to Kert109 (Ninja_Deer) for the Damage function. Fenrier for the Magnitude Damage ]]--
317
318
function Damage(hit, damage, cooldown, Color1, Color2, HSound, HPitch)
319
	for i, v in pairs(hit:GetChildren()) do 
320
		if v:IsA("Humanoid") and hit.Name ~= Character.Name then
321
			local find = v:FindFirstChild("DebounceHit")
322
			if not find then
323
				if v.Parent:findFirstChild("Head") then
324
					local BillG = Create("BillboardGui"){
325
						Parent = v.Parent.Head,
326
						Size = UDim2.new(1, 0, 1, 0),
327
						Adornee = v.Parent.Head,
328
						StudsOffset = Vector3.new(math.random(-3, 3), math.random(3, 5), math.random(-3, 3)),
329
					}
330
					local TL = Create("TextLabel"){
331
						Parent = BillG,
332
						Size = UDim2.new(3, 3, 3, 3),
333
						BackgroundTransparency = 1,
334
						Text = tostring(damage).."-",
335
						TextColor3 = Color1.Color,
336
						TextStrokeColor3 = Color2.Color,
337
						TextStrokeTransparency = 0,
338
						TextXAlignment = Enum.TextXAlignment.Center,
339
						TextYAlignment = Enum.TextYAlignment.Center,
340
						FontSize = Enum.FontSize.Size18,
341
						Font = "ArialBold",
342
					}
343
					coroutine.resume(coroutine.create(function()
344
						swait(1)
345
						for i = 0, 1, .1 do
346
							swait(.1)
347
							BillG.StudsOffset = BillG.StudsOffset + Vector3.new(0, .1, 0)
348
						end
349
						BillG:Destroy()
350
					end))
351
				end
352
				v.Health = v.Health - damage
353
				local bool = Create("BoolValue"){
354
					Parent = v,
355
					Name = "DebounceHit",
356
				}
357
				if HSound ~= nil and HPitch ~= nil then
358
					CFuncs["Sound"].Create(HSound, hit, 1, HPitch) 
359
				end
360
				game:GetService("Debris"):AddItem(bool, cooldown)
361
			end
362
		end
363
	end
364
end
365
366
function MagnitudeDamage(Part, magni, mindam, maxdam, Color1, Color2, HSound, HPitch)
367
	for _, c in pairs(workspace:children()) do
368
		local hum = c:findFirstChild("Humanoid")
369
		if hum ~= nil then
370
			local head = c:findFirstChild("Torso")
371
			if head ~= nil then
372
				local targ = head.Position - Part.Position
373
				local mag = targ.magnitude
374
				if mag <= magni and c.Name ~= Player.Name then 
375
					Damage(head.Parent, math.random(mindam, maxdam), 0.5, Color1, Color2, HSound, HPitch)
376
				end
377
			end
378
		end
379
	end
380
end
381
382
Handle = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "Handle", Vector3.new(-0.399999946, 0.899999976, -0.400000095))
383
HandleWeld = CFuncs["Weld"].Create(m, Character["Right Arm"], Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.199958801, -0.0500774384, -1.09998882, -1, 0, 0, 0, 0, -1, -0, -1, -0))
384
FakeHandle = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "FakeHandle", Vector3.new(0.399999946, 0.899999976, 0.400000095))
385
FakeHandleWeld = CFuncs["Weld"].Create(m, Handle, FakeHandle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.199996948, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1))
386
Barrel = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "Barrel", Vector3.new(0.399999946, 0.399999976, 0.400000095))
387
BarrelWeld = CFuncs["Weld"].Create(m, FakeHandle, Barrel, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, -0.749999046, -1.50000024, 1, 0, 0, 0, 1, 0, 0, 0, 1))
388
Part = CFuncs["Part"].Create(m, Enum.Material.SmoothPlastic, 0, 0, "Medium stone grey", "Part", Vector3.new(-0.399999946, 0.299999952, -0.400000095))
389
PartWeld = CFuncs["Weld"].Create(m, FakeHandle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.38, -0.300000194, 0.400000160, 1, 0, 0, 0, 1, 0, 0, 0, -1))
390
CFuncs["Mesh"].Create("SpecialMesh", Part, Enum.MeshType.FileMesh, "rbxassetid://1136139", Vector3.new(0, 0, 0), Vector3.new(3, 3, 3))
391
Part.Mesh.TextureId = "rbxassetid://9644371"
392
Part.Mesh.Scale = Vector3.new(1, 1, 1)
393
394
EffectModel = Instance.new("Model", Character)
395
EffectModel.Name = "Effects"
396
397
Effects = {
398
	["Block"] = {
399
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
400
			local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
401
			prt.Anchored = true
402
			prt.CFrame = cframe
403
			local msh = CFuncs["Mesh"].Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
404
			game:GetService("Debris"):AddItem(prt, 10)
405
			if Type == 1 or Type == nil then
406
				table.insert(Effects, {
407
					prt,
408
					"Block1",
409
					delay,
410
					x3,
411
					y3,
412
					z3,
413
					msh
414
				})
415
			elseif Type == 2 then
416
				table.insert(Effects, {
417
					prt,
418
					"Block2",
419
					delay,
420
					x3,
421
					y3,
422
					z3,
423
					msh
424
				})
425
			end
426
		end;
427
	};
428
	
429
	["Cylinder"] = {
430
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
431
			local prt = CFuncs["Part"].Create(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.2, 0.2, 0.2))
432
			prt.Anchored = true
433
			prt.CFrame = cframe
434
			local msh = CFuncs["Mesh"].Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
435
			game:GetService("Debris"):AddItem(prt, 2)
436
			Effects[#Effects + 1] = {
437
				prt,
438
				"Cylinder",
439
				delay,
440
				x3,
441
				y3,
442
				z3
443
			}
444
		end;
445
	};
446
	
447
	["Sphere"] = {
448
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
449
			local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
450
			prt.Anchored = true
451
			prt.CFrame = cframe
452
			local msh = CFuncs["Mesh"].Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
453
			game:GetService("Debris"):AddItem(prt, 10)
454
			table.insert(Effects, {
455
				prt,
456
				"Cylinder",
457
				delay,
458
				x3,
459
				y3,
460
				z3,
461
				msh
462
			})
463
		end;
464
	};
465
	
466
	["Elec"] = {
467
		Create = function(cff, x, y, z)
468
			local prt = CFuncs["Part"].Create(workspace, "Neon", 0, 0, BrickColor.new("Lime green"), "Part", Vector3.new(1, 1, 1))
469
			prt.Anchored = true
470
			prt.CFrame = cff * CFrame.new(math.random(-x, x), math.random(-y, y), math.random(-z, z))
471
			prt.CFrame = CFrame.new(prt.Position)
472
			game:GetService("Debris"):AddItem(prt, 2)
473
			local xval = math.random() / 2
474
			local yval = math.random() / 2
475
			local zval = math.random() / 2
476
			local msh = CFuncs["Mesh"].Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(xval, yval, zval))
477
			table.insert(Effects, {
478
				prt,
479
				"Elec",
480
				0.1,
481
				x,
482
				y,
483
				z,
484
				xval,
485
				yval,
486
				zval
487
			})
488
		end;
489
490
	};
491
	
492
	["Ring"] = {
493
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
494
			local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
495
			prt.Anchored = true
496
			prt.CFrame = cframe
497
			local msh = CFuncs["Mesh"].Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
498
			game:GetService("Debris"):AddItem(prt, 10)
499
			table.insert(Effects, {
500
				prt,
501
				"Cylinder",
502
				delay,
503
				x3,
504
				y3,
505
				z3,
506
				msh
507
			})
508
		end;
509
	};
510
511
512
	["Wave"] = {
513
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
514
			local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
515
			prt.Anchored = true
516
			prt.CFrame = cframe
517
			local msh = CFuncs["Mesh"].Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
518
			game:GetService("Debris"):AddItem(prt, 10)
519
			table.insert(Effects, {
520
				prt,
521
				"Cylinder",
522
				delay,
523
				x3,
524
				y3,
525
				z3,
526
				msh
527
			})
528
		end;
529
	};
530
531
	["Break"] = {
532
		Create = function(brickcolor, cframe, x1, y1, z1)
533
			local prt = CFuncs["Part"].Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
534
			prt.Anchored = true
535
			prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
536
			local msh = CFuncs["Mesh"].Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
537
			local num = math.random(10, 50) / 1000
538
			game:GetService("Debris"):AddItem(prt, 10)
539
			table.insert(Effects, {
540
				prt,
541
				"Shatter",
542
				num,
543
				prt.CFrame,
544
				math.random() - math.random(),
545
				0,
546
				math.random(50, 100) / 100
547
			})
548
		end;
549
	};
550
}
551
552
Shoot2 = function(orgpos)
553
	local MouseLook = CFrame.new((orgpos + mouse.Hit.p) / 2, mouse.Hit.p)
554
	Effects["Sphere"].Create(BrickColor.new("Magenta"), CFrame.new(orgpos), 5, 5, 5, 3, 3, 3, 0.1)
555
	table.insert(Effects, {
556
		MouseLook.lookVector,
557
		"Shoot2",
558
		50,
559
		orgpos,
560
		5,
561
		7,
562
		0,
563
		1,
564
		2
565
	})
566
end
567
568
function bulletstorm()
569
	attack = true
570
	CFuncs["Sound"].Create("rbxassetid://539881968", Torso, 1, 1) 
571
	text.Text = "Patchy use Book Laser"
572
wait(1.5)
573
	for i = 0, 1, 0.025 do
574
		swait()
575
		PlayAnimationFromTable({
576
			CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
577
			CFrame.new(0, 1.4999907, 3.42726707e-007, 1, 0, 0, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
578
			CFrame.new(0.431798398, 0.400000006, -0.888215482, 0.939692736, 0.342019886, 0, 0, 0, -1, -0.342019916, 0.939692736, 0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
579
			CFrame.new(-0.559965074, 0.300000012, -0.828456283, 0.939692736, -0.342019886, 0, 0, 0, -1, 0.342019916, 0.939692736, 0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
580
			CFrame.new(0.599619746, -1.99127948, 0, 0.996194661, -0.087155968, 0, 0.087155968, 0.996194661, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
581
			CFrame.new(-0.599619746, -1.99127901, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
582
		}, .3, false)
583
	CFuncs["Sound"].Create("rbxassetid://539882114", Torso, 1, 1) 
584
		FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0)), 0.3)
585
Shoot2(Barrel.Position)
586
	text.Text = "guy with an book"
587
	end
588
589
	attack = false
590
end
591
592
function overload()
593
	attack = true
594
	CFuncs["Sound"].Create("rbxassetid://159257147", Torso, 1, 1)
595
	text.Text = "PATCHY USE MANY BOOKS"
596
Shoot2(LeftArm.Position)
597
Shoot2(RightArm.Position)
598
Shoot2(RightLeg.Position)
599
Shoot2(LeftLeg.Position)
600
Shoot2(Head.Position)
601
Shoot2(Torso.Position)
602
wait(0)
603
	attack = false
604
	text.Text = "guy with an inverted book"
605
end
606
607
function overcharge()
608
        attack = true
609
	text.Text = "Sun Sign *Royal Flare*"
610
        CFuncs["Sound"].Create("rbxassetid://159257147", Torso, 1, 1)
611
	for i = 0, 1, 0.15 do
612
		swait()
613
		PlayAnimationFromTable({
614
			CFrame.new(-0.0325974114, -4.05311584e-006, 0.110728048, 0.64278698, 0, -0.766044974, 0, 1, 0, 0.766044974, 0, 0.64278698),
615
			CFrame.new(0, 1.50000095, 0, 0.64278698, 0, 0.766044974, 0, 1, 0, -0.766044974, 0, 0.64278698),
616
			CFrame.new(1.10100186, 0.535800219, -0.637803555, 0.658456147, 0.673041463, 0.336824596, 0.280167073, 0.196174845, -0.939692438, -0.698528469, 0.713113427, -0.0593915135),
617
			CFrame.new(-1.62758517, 0.073027119, -0.378663093, 0.90510416, 0.321394593, -0.278374165, -0.392632991, 0.883023262, -0.25711751, 0.163174719, 0.342016995, 0.92541796),
618
			CFrame.new(0.644929826, -1.96549833, 0.164695352, 0.962249994, -0.148305506, 0.228211343, 0.0871559754, 0.962249756, 0.257835865, -0.257834762, -0.22821258, 0.938850582),
619
			CFrame.new(-0.750219464, -1.99537396, -0.240616962, 0.862504363, 0.0818999186, 0.499378443, -0.08583197, 0.99619472, -0.0151344473, -0.498717606, -0.0298091136, 0.866251826),
620
		}, .5, false)
621
	end
622
wait(3)
623
Shoot2(Barrel.Position)
624
Shoot2(Barrel.Position)
625
Shoot2(Handle.Position)
626
Shoot2(Handle.Position)
627
Shoot2(FakeHandle.Position)
628
Shoot2(FakeHandle.Position)
629
Shoot2(Barrel.Position)
630
Shoot2(Barrel.Position)
631
Shoot2(Handle.Position)
632
Shoot2(Handle.Position)
633
Shoot2(FakeHandle.Position)
634
Shoot2(FakeHandle.Position)
635
Shoot2(Barrel.Position)
636
Shoot2(Barrel.Position)
637
Shoot2(Handle.Position)
638
Shoot2(Handle.Position)
639
Shoot2(FakeHandle.Position)
640
Shoot2(FakeHandle.Position)
641
Shoot2(Barrel.Position)
642
Shoot2(Barrel.Position)
643
Shoot2(Handle.Position)
644
Shoot2(Handle.Position)
645
Shoot2(FakeHandle.Position)
646
Shoot2(FakeHandle.Position)
647
	for i = 0, 1, 0.15 do
648
		swait()
649
		PlayAnimationFromTable({
650
         CFrame.new(2.70828605e-006, -0.256154776, -0.071654655, 0.499999046, -1.78813579e-007, -0.866026044, 0.150384009, 0.984807789, 0.0868238211, 0.852869093, -0.173648283, 0.492402941),
651
         CFrame.new(4.34633694e-006, 1.49999607, 2.42484384e-006, 0.646143615, 0.0549410731, 0.761235893, -0.0851004422, 0.996372402, 0.000322267413, -0.758456767, -0.0649897307, 0.648474991),
652
         CFrame.new(1.86507177, 0.598104239, 0.183552518, -0.114682339, -0.981059372, -0.156110525, 0.981060445, -0.0871559381, -0.172987223, 0.156104773, -0.172992408, 0.9724738),
653
         CFrame.new(-1.52644157, 0.0874626189, -0.302744657, 0.95125103, 0.20658794, -0.229004204, -0.254887104, 0.944645047, -0.2065873, 0.173649222, 0.254886597, 0.951251268),
654
         CFrame.new(0.623469114, -1.90178788, 0.0298061967, 0.992532074, -0.0928985924, 0.079056859, 0.0757590532, 0.97739321, 0.197391063, -0.0956070125, -0.189927697, 0.977131963),
655
         CFrame.new(-0.786503196, -1.67652178, -0.389780819, 0.631277382, 0.179900557, 0.754403591, -0.0723632798, 0.982144117, -0.173656344, -0.772174001, 0.0550341941, 0.6330235),
656
		}, .35, false)
657
	text.Text = "guy with an inverted book"
658
end
659
attack = false
660
end
661
662
function attackone()
663
	attack = true
664
	text.Text = "Patchy use basic attack."
665
666
howtobasic1 = Instance.new("Sound", game.Players.LocalPlayer.Character.Torso)
667
howtobasic1.Volume = 45
668
howtobasic1.SoundId = "rbxassetid://539882069"
669
howtobasic2 = Instance.new("Sound", game.Players.LocalPlayer.Character.Torso)
670
howtobasic2.Volume = 45
671
howtobasic2.SoundId = "rbxassetid://539881968"
672
howtobasic3 = Instance.new("Sound", game.Players.LocalPlayer.Character.Torso)
673
howtobasic3.Volume = 45
674
howtobasic3.SoundId = "rbxassetid://539882114"
675
howtobasic = Instance.new("Sound", game.Players.LocalPlayer.Character.Torso)
676
howtobasic.Volume = 45
677
howtobasic.SoundId = "rbxassetid://539881843"
678
679
local Math = math.random(1,4)
680
		if Math == 1 then
681
			howtobasic:Play()
682
		end
683
		if Math == 2 then
684
			howtobasic1:Play()
685
		end
686
		if Math == 3 then
687
			howtobasic2:Play()
688
		end
689
		if Math == 4 then
690
			howtobasic3:Play()
691
		end
692
	for i = 0, 1, 0.025 do
693
		swait()
694
		PlayAnimationFromTable({
695
			CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
696
			CFrame.new(0, 1.4999907, 3.42726707e-007, 1, 0, 0, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
697
			CFrame.new(0.431798398, 0.400000006, -0.888215482, 0.939692736, 0.342019886, 0, 0, 0, -1, -0.342019916, 0.939692736, 0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
698
			CFrame.new(-0.559965074, 0.300000012, -0.828456283, 0.939692736, -0.342019886, 0, 0, 0, -1, 0.342019916, 0.939692736, 0) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
699
			CFrame.new(0.599619746, -1.99127948, 0, 0.996194661, -0.087155968, 0, 0.087155968, 0.996194661, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
700
			CFrame.new(-0.599619746, -1.99127901, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
701
		}, .3, false)
702
		FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0)), 0.3)
703
	end
704
	CFuncs["Sound"].Create("rbxassetid://159490394", Barrel, 5, 1)
705
	text.Text = "Patchouli Knowledge"
706
	Shoot2(Barrel.Position)
707
	for i = 0, 1, 0.15 do
708
		swait()
709
		RootPart.Velocity = RootPart.CFrame.lookVector * -50
710
		PlayAnimationFromTable({
711
			CFrame.new(-0, -0.281125277, 0.157014638, 1, 0, -0, 0, 0.906307876, -0.422617942, 0, 0.422617942, 0.906307876) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
712
			CFrame.new(0, 1.4999938, 1.05202198e-005, 1, 0, -0, 0, 0.965925813, 0.258818924, -0, -0.258818924, 0.965925813) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
713
			CFrame.new(0.406597674, 0.817824185, -0.957423151, 0.939692974, 0.280165672, -0.196174338, -5.36441803e-007, -0.573575616, -0.819152534, -0.34201926, 0.769751906, -0.538984895) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
714
			CFrame.new(-0.506752789, 0.775180221, -0.974653006, 0.939692974, -0.280165732, 0.196174279, 5.36441803e-007, -0.573575556, -0.819152713, 0.34201926, 0.769752145, -0.538984716) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
715
			CFrame.new(0.566868722, -1.61683154, -0.13679418, 0.954536259, -0.174988821, -0.241328761, 0.172366679, 0.984509468, -0.0321052969, 0.243208498, -0.0109513998, 0.969912171) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
716
			CFrame.new(-0.545306504, -1.37044179, -0.679420352, 0.996202111, 0.0754783303, 0.0434113704, -0.0434117466, 0.862729907, -0.503797948, -0.0754781216, 0.49999994, 0.862729967) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
717
		}, .6, false)
718
		FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-30), math.rad(-20), math.rad(0)), 0.3)
719
	end
720
	for i = 0, 1, 0.15 do
721
		swait()
722
		RootPart.Velocity = RootPart.CFrame.lookVector * -100
723
		PlayAnimationFromTable({
724
			CFrame.new(-0, -0.795007467, 0.0831707418, 1, 0, -0, 0, 0.76604414, -0.642788053, 0, 0.642788053, 0.76604414) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
725
			CFrame.new(0, 1.49999774, 1.20103359e-005, 1, 0, -0, 0, 0.965925634, 0.258819878, -0, -0.258819878, 0.965925634) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
726
			CFrame.new(1.70605683, 1.21151328, -0.185158521, 0.893217862, -0.29338178, -0.340718448, -0.340719074, -0.936116338, -0.0871595442, -0.293381065, 0.193941653, -0.936116695) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
727
			CFrame.new(-1.69524968, 1.05172348, -0.252849877, 0.812758088, 0.493294626, 0.309975445, 0.582562625, -0.694268882, -0.422624737, 0.00672781467, 0.524071693, -0.851647615) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
728
			CFrame.new(0.689150453, -1.88461804, -0.0157705098, 0.954536736, -0.174989104, -0.241326213, 0.172367141, 0.984509468, -0.0321044922, 0.243205875, -0.0109517872, 0.969912887) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
729
			CFrame.new(-0.536899447, -1.34506011, -0.583059072, 0.99620223, 0.0226762109, 0.0840658173, -0.043412663, 0.966281295, 0.253803402, -0.0754759163, -0.256489068, 0.963595748) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
730
		}, .2, false)
731
		FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-50), math.rad(0)), 0.3)
732
	end
733
	for i = 0, 1, 0.05 do
734
		swait()
735
		RootPart.Velocity = RootPart.CFrame.lookVector * -50
736
		PlayAnimationFromTable({
737
			CFrame.new(-0, -2.09708667, 0.108620644, 1, 0, -0, 0, 0.573575675, -0.819152594, 0, 0.819152594, 0.573575675) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
738
			CFrame.new(0, 1.53697455, -0.422635257, 1, 0, -0, 0, 0.766043842, 0.64278841, -0, -0.64278841, 0.766043842) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
739
			CFrame.new(1.57810855, 0.650130272, 0.33058399, 0.930655897, -0.284022599, -0.230674848, 0.352510452, 0.527023435, 0.773293555, -0.0980618149, -0.800985396, 0.590598404) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
740
			CFrame.new(-1.38994181, 0.87733829, 0.667137444, 0.963715255, 0.08906921, 0.251633942, -0.25866431, 0.0788001418, 0.962747812, 0.0659223944, -0.992903471, 0.0989798903) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
741
			CFrame.new(0.774198592, -1.52057803, -0.607582211, 0.954536974, -0.272207022, -0.121501081, 0.172365844, 0.83655864, -0.520057499, 0.243206039, 0.475471497, 0.845445395) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
742
			CFrame.new(-0.530096769, -1.05517173, -0.660005629, 0.99620223, 0.0226761587, 0.0840661526, -0.0434127897, 0.966280818, 0.253804684, -0.0754762068, -0.256490231, 0.96359539) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
743
		}, .3, false)
744
		FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-60), math.rad(0)), 0.3)
745
	end
746
	for i = 0, 1, 0.13 do
747
		swait()
748
		PlayAnimationFromTable({
749
			CFrame.new(-0, -1.01349139, -0.251608461, 1, 0, 0, 0, 0.707105339, 0.707108378, 0, -0.707108378, 0.707105339) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
750
			CFrame.new(0.0127754211, 1.44207788, 0.0749337673, 1, 0, 0, 0, 0.939691544, -0.342023343, 0, 0.342023343, 0.939691544) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
751
			CFrame.new(1.62296665, 0.191783041, -0.192457974, 0.930656254, -0.329096794, 0.159920022, 0.352511466, 0.923570275, -0.150843769, -0.098055169, 0.196757287, 0.975536823) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
752
			CFrame.new(-0.870643735, 0.71258086, -0.942903101, 0.18127799, -0.372358024, -0.910213113, -0.781424284, 0.507405519, -0.363202393, 0.597088516, 0.777103186, -0.19898814) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
753
			CFrame.new(0.214147568, -1.73508716, -0.0895051956, 0.924306214, 0.282332808, -0.256800473, -0.113861978, 0.846218646, 0.520528436, 0.364271581, -0.451887846, 0.814311981) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
754
			CFrame.new(-0.535767198, -0.599929333, -0.996632636, 0.996202111, 0.0754788443, 0.0434101112, -0.0434126705, 0.862728953, -0.503799856, -0.0754773915, 0.500001788, 0.862729192) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
755
		}, .3, false)
756
	end
757
	attack = false
758
end
759
760
--[[Attacks]]--
761
762
mouse.Button1Down:connect(function()
763
	if attack == false and attacktype == 1 then
764
		attackone()
765
	end
766
end)
767
768
769
mouse.KeyDown:connect(function(k)
770
	k = k:lower()
771
	if attack == false and k == 'q' then
772
	  bulletstorm()
773
	elseif attack == false and k == 'e' then
774
          overload()
775
        elseif attack == false and k == 'r' then
776
          overcharge()
777
      end
778
end)
779
780
while true do
781
	swait()
782
	for i, v in pairs(Character:GetChildren()) do
783
		if v:IsA("Part") then
784
			v.Material = "SmoothPlastic"
785
		elseif v:IsA("Accessory") then
786
			v:WaitForChild("Handle").Material = "SmoothPlastic"
787
		end
788
	end
789
	Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
790
	velocity = RootPart.Velocity.y
791
	sine = sine + change
792
	local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
793
	if equipped == true or equipped == false then
794
		if RootPart.Velocity.y > 1 and hit == nil then 
795
			Anim = "Jump"
796
			if attack == false then
797
				PlayAnimationFromTable({
798
					CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
799
					CFrame.new(0, 1.49221826, -0.044082582, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
800
					CFrame.new(1.66304386, 0.182627335, 0.00782334805, 0.883022726, -0.392632574, 0.257119894, 0.321392894, 0.905103981, 0.2783764, -0.342019886, -0.163176134, 0.925416708) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
801
					CFrame.new(-1.66570556, 0.224230319, 0.110721856, 0.903736115, 0.408218145, -0.128915116, -0.34750703, 0.875426054, 0.33595863, 0.25000003, -0.258819014, 0.933012724) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
802
					CFrame.new(0.499999166, -1.99999452, 4.76837158e-007, 0.984807849, -5.94328526e-007, -0.173648044, 0.0449439958, 0.965925872, 0.254886925, 0.167730987, -0.258819073, 0.951251388) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
803
					CFrame.new(-0.499999404, -1.51703107, -0.129407585, 0.965925753, 6.6929374e-007, 0.258819193, -0.0669879839, 0.965925813, 0.24999994, -0.24999994, -0.258819163, 0.933012724) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
804
				}, .3, false)
805
			end
806
		elseif RootPart.Velocity.y < -60 and hit == nil then 
807
			Anim = "Fall"
808
			if attack == false then
809
				PlayAnimationFromTable({
810
					CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
811
					CFrame.new(0, 1.49221873, -0.0440826714, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
812
					CFrame.new(1.76076102, 0.406842887, 0.0212866664, 0.695482016, -0.670965135, 0.257119834, 0.611573994, 0.74059701, 0.278376371, -0.377202988, -0.0363579579, 0.925416648) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
813
					CFrame.new(-1.68029141, 0.390803367, 0.155905366, 0.70961535, 0.692695498, -0.128914997, -0.625963271, 0.703777075, 0.335958213, 0.323444158, -0.157705069, 0.933012843) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
814
					CFrame.new(0.693307817, -1.96826017, -0.0605875254, 0.986561239, -0.127662987, -0.101976946, 0.137943029, 0.985269904, 0.101069227, 0.0875720233, -0.113777988, 0.989639223) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
815
					CFrame.new(-0.526552737, -1.81498528, -0.152177691, 0.965925574, 0.0449441113, 0.254888207, -0.066988036, 0.994663239, 0.0784704387, -0.250001162, -0.0928710476, 0.963781357) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
816
				}, .3, false)
817
			end
818
		elseif Torsovelocity < 1 and hit ~= nil then
819
			Anim = "Idle"
820
			if attack == false then
821
				change = 1
822
				PlayAnimationFromTable({
823
					CFrame.new(1.22602091e-006, -0.219458103, 1.46111324e-006, 0.76604414, 0, 0.642788053, 0, 1, 0, -0.642788053, 0, 0.76604414) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
824
					CFrame.new(0, 1.49999201, 0, 0.707106233, 0, -0.707107306, 0, 1, 0, 0.707107306, 0, 0.707106233) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
825
					CFrame.new(0.571566343, -0.0739164352, -0.639066696, 0.939692855, 0.340718329, -0.0298085809, -0.241844058, 0.600305915, -0.762328327, -0.241844922, 0.723563433, 0.646503866) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
826
					CFrame.new(-0.628383756, -0.12163578, -0.696761668, 0.939692736, -0.342020065, -5.06639481e-007, 0.196173996, 0.538984895, -0.819152653, 0.280166954, 0.769751549, 0.573575616) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
827
					CFrame.new(0.624118924, -1.79798961, 0.0678238794, 0.995454907, -0.0383867361, -0.0871553123, 0.0385330059, 0.999257326, -4.09960694e-006, 0.0870907605, -0.00335427374, 0.996194839) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
828
					CFrame.new(-0.53866595, -1.82180798, 0.00821807235, 0.977763176, 0.0281341001, 0.207816422, -0.0287620034, 0.999586344, -1.4934686e-007, -0.207730502, -0.00597707182, 0.978167892) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
829
				}, .3, false)
830
				FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0)), 0.3)
831
			end
832
		elseif Torsovelocity > 2 and hit ~= nil then
833
			Anim = "Walk"
834
			if attack == false then
835
				change = 3
836
				PlayAnimationFromTable({
837
					CFrame.new(0, -0.0240751095, -0.146390602, 1, 0, 0, 0, 0.965925872, 0.258818984, 0, -0.258818984, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
838
					CFrame.new(0, 1.49999237, -1.81794167e-006, 1, 0, 0, 0, 0.984807789, -0.173647881, 0, 0.173647881, 0.984807789) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
839
					CFrame.new(0.172261134, 0.427689523, -1.09730911, 0.644483984, 0.748984814, -0.153825179, 0.413525045, -0.510645986, -0.753815472, -0.643146515, 0.422211438, -0.638827145) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
840
					CFrame.new(-1.1922102, 0.363029838, -0.448653877, 0.935289383, -0.110854559, -0.33607316, -0.341521561, -0.531564534, -0.775114357, -0.0927196145, 0.839732468, -0.535025835) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
841
					CFrame.new(.5, -1.85 - 0.5 * math.cos(sine / 8) / 2, 0 + 1.8 *  math.sin(sine / 8) / 2) * angles(math.rad(-50 *  math.sin(sine / 8)), math.rad(0), math.rad(0)),
842
					CFrame.new(-.5, -1.85 + 0.5 * math.cos(sine / 8) / 2, 0 - 1.8 * math.sin(sine / 8) / 2) * angles(math.rad(50 *  math.sin(sine / 8)), math.rad(0), math.rad(0)),
843
				}, .3, false)
844
				FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-30), math.rad(0)), 0.3)
845
			end
846
		end
847
	end
848
	if 0 < #Effects then
849
		for e = 1, #Effects do
850
			if Effects[e] ~= nil then
851
				local Thing = Effects[e]
852
				if Thing ~= nil then
853
					local Part = Thing[1]
854
					local Mode = Thing[2]
855
					local Delay = Thing[3]
856
					local IncX = Thing[4]
857
					local IncY = Thing[5]
858
					local IncZ = Thing[6]
859
					if Thing[2] == "Shoot" then
860
						local Look = Thing[1]
861
						local hit, pos = rayCast(Thing[4], Look, 15, Character)
862
						local mag = (Thing[4] - pos).magnitude
863
						Thing[9] = Thing[9] + 0.5
864
						Thing[5] = Thing[5] + 0.2
865
						Thing[6] = Thing[6] + 0.2
866
						Effects["Cylinder"].Create(BrickColor.new("White"), CFrame.new((Thing[4] + pos) / 2, pos) * angles(1.57, 0, 0), Thing[9], mag * 5, Thing[9], -0.2, 0, -0.2, 0.1)
867
						Thing[4] = Thing[4] + Look * 15
868
						Thing[3] = Thing[3] - 1
869
						if hit ~= nil then
870
							Thing[3] = 0
871
							ref = CFuncs["Part"].Create(workspace, "Neon", 0, 1, BrickColor.new("White"), "Reference", Vector3.new())
872
							ref.Anchored = true
873
							ref.CFrame = CFrame.new(pos)
874
							Effects["Sphere"].Create(BrickColor.new("Bright yellow"), CFrame.new(pos), 5, 5, 5, 1, 1, 1, 0.07)
875
							CFuncs["Sound"].Create("rbxassetid://539881968", ref, 0.1, 1)
876
							game:GetService("Debris"):AddItem(ref, 10)
877
						end
878
						if Thing[3] <= 0 then
879
							table.remove(Effects, e)
880
						end
881
					end
882
					do
883
						if Thing[2] == "Shoot2" then
884
							local Look = Thing[1]
885
							local hit, pos = rayCast(Thing[4], Look, 3, Character)
886
							local mag = (Thing[4] - pos).magnitude
887
							Thing[9] = Thing[9] + 0.5
888
							Thing[5] = Thing[5] + 0.2
889
							Thing[6] = Thing[6] + 0.2
890
							Effects["Sphere"].Create(BrickColor.new("Bright yellow"), CFrame.new((Thing[4] + pos) / 2, pos), 25, 25, 25, -5, -5, -5, 0.2)
891
							Thing[4] = Thing[4] + Look * 3
892
							Thing[3] = Thing[3] + 5
893
							if hit ~= nil then
894
								Thing[3] = 0
895
								ref = CFuncs["Part"].Create(workspace, "Neon", 0, 1, BrickColor.new("White"), "Reference", Vector3.new())
896
								ref.Anchored = true
897
								ref.CFrame = CFrame.new(pos)
898
								Effects["Sphere"].Create(BrickColor.new("Really yellow"), CFrame.new(pos), 25, 25, 25, 5, 5, 5, 0.01)
899
								Effects["Sphere"].Create(BrickColor.new("Bright yellow"), CFrame.new(pos), 10, 10, 10, 15, 15, 15, 0.01)
900
								Effects["Block"].Create(BrickColor.new("White"), CFrame.new(pos), 10, 10, 10, 15, 15, 15, 0.01, 1)
901
								Effects["Wave"].Create(BrickColor.new("Smoky grey"), CFrame.new(pos), 2, 2, 2, 3, 3, 3, 0.01)
902
								CFuncs["Sound"].Create("rbxassetid://10209236", ref, 1, 1)
903
								CFuncs["Sound"].Create("rbxassetid://10209236", Sphere, 0.5, 1)
904
								CFuncs["Sound"].Create("rbxassetid://10209236", Sphere, 0.1, 1)
905
								local e = Instance.new("Explosion", ref)
906
								e.Position = ref.Position
907
								e.BlastRadius = 999999999999999999999999
908-
								e.BlastRadius = 400
908+
909
								e.Visible = false
910
								e.ExplosionType = "CratersAndDebris"
911
								game:GetService("Debris"):AddItem(ref, 2)
912
							end
913
							if Thing[3] <= 0 then
914
								table.remove(Effects, e)
915
							end
916
						end
917
						do
918
							do
919
								if Thing[2] ~= "Shoot" and Thing[2] ~= "DecreaseStat" and Thing[2] ~= "showDamage" and Thing[2] ~= "Shoot2" then
920
									if Thing[1].Transparency <= 1 then
921
										if Thing[2] == "Block1" then
922
											Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
923
											Mesh = Thing[7]
924
											Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
925
											Thing[1].Transparency = Thing[1].Transparency + Thing[3]
926
										else
927
											if Thing[2] == "Block2" then
928
												Thing[1].CFrame = Thing[1].CFrame
929
												Mesh = Thing[7]
930
												Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
931
												Thing[1].Transparency = Thing[1].Transparency + Thing[3]
932
											else
933
												if Thing[2] == "Block3" then
934
													Thing[8].C0 = CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) * Thing[9]
935
													Mesh = Thing[7]
936
													Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
937
													Thing[1].Transparency = Thing[1].Transparency + Thing[3]
938
												else
939
													if Thing[2] == "Cylinder" then
940
														Mesh = Thing[7]
941
														Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
942
														Thing[1].Transparency = Thing[1].Transparency + Thing[3]
943
													else
944
														if Thing[2] == "Cylinder2" then
945
															Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, Thing[8], 0)
946
															Mesh = Thing[7]
947
															Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
948
															Thing[1].Transparency = Thing[1].Transparency + Thing[3]
949
														else
950
															if Thing[2] == "Blood" then
951
																Mesh = Thing[7]
952
																Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, 0.5, 0)
953
																Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
954
																Thing[1].Transparency = Thing[1].Transparency + Thing[3]
955
															else
956
																if Thing[2] == "Elec" then
957
																	Mesh = Thing[10]
958
																	Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
959
																	Thing[1].Transparency = Thing[1].Transparency + Thing[3]
960
																else
961
																	if Thing[2] == "Disappear" then
962
																		Thing[1].Transparency = Thing[1].Transparency + Thing[3]
963
																	end
964
																end
965
															end
966
														end
967
													end
968
												end
969
											end
970
										end
971
									else
972
										Part.Parent = nil
973
										table.remove(Effects, e)
974
									end
975
								end
976
							end
977
						end
978
					end
979
				end
980
			end
981
		end
982
	end
983
end