View difference between Paste ID: BAtAMtaa and HBhPLa6p
SHOW: | | - or go back to the newest paste.
1-
local p = game.Players.LocalPlayer
1+
--https://github.com/Mokiros/roblox-FE-compatibility
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
4
local RealPlayer = Player
5
do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end local p = game.Players.LocalPlayer
6
local char = p.Character
7
local Character = char
8
local Mau5 = p:GetMouse()
9
local larm = char["Left Arm"]
10
local rarm = char["Right Arm"]
11
local lleg = char["Left Leg"]
12
local rleg = char["Right Leg"]
13
local hed = char.Head
14
local torso = char.Torso
15
local hum = char.Humanoid
16
local cam = game.Workspace.CurrentCamera
17
local root = char.HumanoidRootPart
18
local RootPart = root
19
local l = game:GetService("Lighting")
20
local debris = game:GetService("Debris")
21
local rs = game:GetService("RunService").RenderStepped
22
local Damaged = {}
23
it = Instance.new
24
vt = Vector3.new
25
cn = CFrame.new
26
euler = CFrame.fromEulerAnglesXYZ
27
angles = CFrame.Angles
28
local HandCF = CFrame.new(root.Position - Vector3.new(0, 3, 0)) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
29
Debounces = {
30
	CanAttack = true,
31
	NoIdle = false,
32
	Anger = false,
33
	OrbMove1 = false,
34
	OrbMove2 = false,
35
	OrbMove3 = false,
36
	OrbMove4 = false,
37
	OrbMove5 = false,
38
	OrbMove6 = false,
39
	OrbMove7 = false,
40
	OrbMove8 = false
41
}
42
function Lerp(a, b, t)
43
	local qa = {
44
		QuaternionFromCFrame(a)
45
	}
46
	local qb = {
47
		QuaternionFromCFrame(b)
48
	}
49
	local ax, ay, az = a.x, a.y, a.z
50
	local bx, by, bz = b.x, b.y, b.z
51
	local _t = 1 - t
52
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
53
end
54
local Lerp = CFrame.new().lerp
55
function QuaternionFromCFrame(cf)
56
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
57
	local trace = m00 + m11 + m22
58
	if trace > 0 then
59
		local s = math.sqrt(1 + trace)
60
		local recip = 0.5 / s
61
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
62
	else
63
		local i = 0
64
		if m00 < m11 then
65
			i = 1
66
		end
67
		if i == 0 and m00 or m11 < m22 then
68
			i = 2
69
		end
70
		if i == 0 then
71
			local s = math.sqrt(m00 - m11 - m22 + 1)
72
			local recip = 0.5 / s
73
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
74
		elseif i == 1 then
75
			local s = math.sqrt(m11 - m22 - m00 + 1)
76
			local recip = 0.5 / s
77
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
78
		elseif i == 2 then
79
			local s = math.sqrt(m22 - m00 - m11 + 1)
80
			local recip = 0.5 / s
81
			return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
82
		end
83
	end
84
end
85
function QuaternionToCFrame(px, py, pz, x, y, z, w)
86
	local xs, ys, zs = x + x, y + y, z + z
87
	local wx, wy, wz = w * xs, w * ys, w * zs
88
	local xx = x * xs
89
	local xy = x * ys
90
	local xz = x * zs
91
	local yy = y * ys
92
	local yz = y * zs
93
	local zz = z * zs
94
	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))
95
end
96
function QuaternionSlerp(a, b, t)
97
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
98
	local startInterp, finishInterp
99
	if cosTheta >= 1.0E-4 then
100
		if 1 - cosTheta > 1.0E-4 then
101
			local theta = math.acos(cosTheta)
102
			local invSinTheta = 1 / math.sin(theta)
103
			startInterp = math.sin((1 - t) * theta) * invSinTheta
104
			finishInterp = math.sin(t * theta) * invSinTheta
105
		else
106
			startInterp = 1 - t
107
			finishInterp = t
108
			if 1 + cosTheta > 1.0E-4 then
109
				local theta = math.acos(-cosTheta)
110
				local invSinTheta = 1 / math.sin(theta)
111
				startInterp = math.sin((t - 1) * theta) * invSinTheta
112
				finishInterp = math.sin(t * theta) * invSinTheta
113
			else
114
				startInterp = t - 1
115
				finishInterp = t
116
				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
117
			end
118
		end
119
	end
120
end
121
function scaleTween(strt, fnsh, tim)
122
	local com1 = {
123
		strt.X,
124
		strt.Y,
125
		strt.Z
126
	}
127
	local com2 = {
128
		fnsh.X,
129
		fnsh.Y,
130
		fnsh.Z
131
	}
132
	for i, v in pairs(com1) do
133
		com1[i] = v + (com2[i] - v) * tim
134
	end
135
	return Vector3.new(com1[1], com1[2], com1[3])
136
end
137
function newWeld(wp0, wp1, wc0x, wc0y, wc0z)
138
	local wld = Instance.new("Weld", wp1)
139
	wld.Part0 = wp0
140
	wld.Part1 = wp1
141
	wld.C0 = CFrame.new(wc0x, wc0y, wc0z)
142
end
143
144
function TakeDamage(a, b)
145
a:TakeDamage(b)
146
end
147
148
function WeldBetween(a, b)
149
	weld = Instance.new("Weld", a)
150
	weld.Name = "W"
151
	weld.Part0 = a
152
	weld.Part1 = b
153
	weld.C0 = a.CFrame:inverse() * b.CFrame
154
	return weld
155
end
156
function Lerp2(a, b, i)
157
	return a:lerp(b, i)
158
end
159
function HasntDamaged(plrname)
160
	local ret = true
161
	for _, v in pairs(Damaged) do
162
		if v == plrname then
163
			ret = false
164
		end
165
	end
166
	return ret
167
end
168
function nooutline(part)
169
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
170
end
171
function part(formfactor, parent, material, reflectance, transparency, brickcolor, name, size)
172
	local fp = it("Part")
173
	fp.formFactor = formfactor
174
	fp.Parent = parent
175
	fp.Reflectance = reflectance
176
	fp.Transparency = transparency
177
	fp.CanCollide = false
178
	fp.Locked = true
179
	fp.BrickColor = BrickColor.new(tostring(brickcolor))
180
	fp.Name = name
181
	fp.Size = size
182
	fp.Position = Character.Torso.Position
183
	nooutline(fp)
184
	fp.Material = material
185
	fp:BreakJoints()
186
	return fp
187
end
188
function mesh(Mesh, part, meshtype, meshid, offset, scale)
189
	local mesh = it(Mesh)
190
	mesh.Parent = part
191
	if Mesh == "SpecialMesh" then
192
		mesh.MeshType = meshtype
193
		mesh.MeshId = meshid
194
	end
195
	mesh.Offset = offset
196
	mesh.Scale = scale
197
	return mesh
198
end
199
function weld(parent, part0, part1, c0, c1)
200
	local weld = it("Weld")
201
	weld.Parent = parent
202
	weld.Part0 = part0
203
	weld.Part1 = part1
204
	weld.C0 = c0
205
	weld.C1 = c1
206
	return weld
207
end
208
function Damagefunc(Part, hit, minim, maxim, knockback, Type, Property, Delay, KnockbackType, decreaseblock)
209
	if hit.Parent == nil then
210
		return
211
	end
212
	local h = hit.Parent:FindFirstChild("Humanoid")
213
	for _, v in pairs(hit.Parent:children()) do
214
		if v:IsA("Humanoid") then
215
			h = v
216
		end
217
	end
218
	if hit.Parent.Parent:FindFirstChild("Torso") ~= nil then
219
		h = hit.Parent.Parent:FindFirstChild("Humanoid")
220
	end
221
	if hit.Parent.className == "Hat" then
222
		hit = hit.Parent.Parent:findFirstChild("Head")
223
	end
224
	if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
225
		if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
226
			return
227
		end
228
		local c = Instance.new("ObjectValue")
229
		c.Name = "creator"
230
		c.Value = game:service("Players").LocalPlayer
231
		c.Parent = h
232
		game:GetService("Debris"):AddItem(c, 0.5)
233
		local Damage = math.random(minim, maxim)
234
		local blocked = false
235
		local block = hit.Parent:findFirstChild("Block")
236
		if block ~= nil then
237
			print(block.className)
238
			if block.className == "NumberValue" and block.Value > 0 then
239
				blocked = true
240
				if decreaseblock == nil then
241
					block.Value = block.Value - 1
242
				end
243
			end
244
			if block.className == "IntValue" and block.Value > 0 then
245
				blocked = true
246
				if decreaseblock ~= nil then
247
					block.Value = block.Value - 1
248
				end
249
			end
250
		end
251
		if blocked == false then
252
			TakeDamage(h, Damage)
253
			ShowDamage(hit.CFrame * CFrame.new(0, 0, Part.Size.Z / 2).p + Vector3.new(0, 1.5, 0), -Damage, 1.5, Part.BrickColor.Color)
254
		else
255
			TakeDamage(h, Damage / 2)
256
			ShowDamage(hit.CFrame * CFrame.new(0, 0, Part.Size.Z / 2).p + Vector3.new(0, 1.5, 0), -Damage, 1.5, BrickColor.new("Bright blue").Color)
257
		end
258
		if Type == "Knockdown" then
259
			hum = hit.Parent.Humanoid
260
			hum.PlatformStand = true
261
			coroutine.resume(coroutine.create(function(HHumanoid)
262
				swait(1)
263
				HHumanoid.PlatformStand = false
264
			end), hum)
265
			local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
266
			local bodvol = Instance.new("BodyVelocity")
267
			bodvol.velocity = angle * knockback
268
			bodvol.P = 5000
269
			bodvol.maxForce = Vector3.new(8000, 8000, 8000)
270
			bodvol.Parent = hit
271
			local rl = Instance.new("BodyAngularVelocity")
272
			rl.P = 3000
273
			rl.maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000
274
			rl.angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
275
			rl.Parent = hit
276
			game:GetService("Debris"):AddItem(bodvol, 0.5)
277
			game:GetService("Debris"):AddItem(rl, 0.5)
278
		elseif Type == "Normal" then
279
			local vp = Instance.new("BodyVelocity")
280
			vp.P = 500
281
			vp.maxForce = Vector3.new(math.huge, 0, math.huge)
282
			if KnockbackType == 1 then
283
				vp.velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
284
			elseif KnockbackType == 2 then
285
				vp.velocity = Property.CFrame.lookVector * knockback
286
			end
287
			if knockback > 0 then
288
				vp.Parent = hit.Parent.Torso
289
			end
290
			game:GetService("Debris"):AddItem(vp, 0.1)
291
		elseif Type == "Up" then
292
			local bodyVelocity = Instance.new("BodyVelocity")
293
			bodyVelocity.velocity = vt(0, 60, 0)
294
			bodyVelocity.P = 5000
295
			bodyVelocity.maxForce = Vector3.new(8000, 8000, 8000)
296
			bodyVelocity.Parent = hit
297
			game:GetService("Debris"):AddItem(bodyVelocity, 1)
298
			local rl = Instance.new("BodyAngularVelocity")
299
			rl.P = 3000
300
			rl.maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000
301
			rl.angularvelocity = Vector3.new(math.random(-30, 30), math.random(-30, 30), math.random(-30, 30))
302
			rl.Parent = hit
303
			game:GetService("Debris"):AddItem(rl, 0.5)
304
		elseif Type == "Snare" then
305
			local bp = Instance.new("BodyPosition")
306
			bp.P = 2000
307
			bp.D = 100
308
			bp.maxForce = Vector3.new(math.huge, math.huge, math.huge)
309
			bp.position = hit.Parent.Torso.Position
310
			bp.Parent = hit.Parent.Torso
311
			game:GetService("Debris"):AddItem(bp, 1)
312
		elseif Type == "Target" then
313
			local Targetting = false
314
			if Targetting == false then
315
				local ZTarget = hit.Parent.Torso
316
				coroutine.resume(coroutine.create(function(Part)
317
					so("http://www.roblox.com/asset/?id=15666462", Part, 1, 1.5)
318
					swait(5)
319
					so("http://www.roblox.com/asset/?id=15666462", Part, 1, 1.5)
320
				end), ZTarget)
321
				local TargHum = ZTarget.Parent:findFirstChild("Humanoid")
322
				local targetgui = Instance.new("BillboardGui")
323
				targetgui.Parent = ZTarget
324
				targetgui.Size = UDim2.new(10, 100, 10, 100)
325
				local targ = Instance.new("ImageLabel")
326
				targ.Parent = targetgui
327
				targ.BackgroundTransparency = 1
328
				targ.Image = "rbxassetid://4834067"
329
				targ.Size = UDim2.new(1, 0, 1, 0)
330
				cam.CameraType = "Scriptable"
331
				cam.CoordinateFrame = CFrame.new(Head.CFrame.p, ZTarget.Position)
332
				local dir = Vector3.new(cam.CoordinateFrame.lookVector.x, 0, cam.CoordinateFrame.lookVector.z)
333
				workspace.CurrentCamera.CoordinateFrame = CFrame.new(Head.CFrame.p, ZTarget.Position)
334
				Targetting = true
335
				local RocketTarget = ZTarget
336
				for i = 1, Property do
337
					if 0 < TargHum.Health and Character.Parent ~= nil and 0 < TargHum.Health and TargHum.Parent ~= nil and Targetting == true then
338
						swait()
339
					end
340
					cam.CoordinateFrame = CFrame.new(Head.CFrame.p, ZTarget.Position)
341
					dir = Vector3.new(cam.CoordinateFrame.lookVector.x, 0, cam.CoordinateFrame.lookVector.z)
342
					cam.CoordinateFrame = CFrame.new(Head.CFrame.p, ZTarget.Position) * cf(0, 5, 10) * euler(-0.3, 0, 0)
343
				end
344
				Targetting = false
345
				RocketTarget = nil
346
				targetgui.Parent = nil
347
				cam.CameraType = "Custom"
348
			end
349
		end
350
		local debounce = Instance.new("BoolValue")
351
		debounce.Name = "DebounceHit"
352
		debounce.Parent = hit.Parent
353
		debounce.Value = true
354
		game:GetService("Debris"):AddItem(debounce, Delay)
355
		c = Instance.new("ObjectValue")
356
		c.Name = "creator"
357
		c.Value = Player
358
		c.Parent = h
359
		game:GetService("Debris"):AddItem(c, 0.5)
360
	end
361
end
362
function ShowDamage(Pos, Text, Time, Color)
363
	local Rate = 0.03333333333333333
364
	local Pos = Pos or Vector3.new(0, 0, 0)
365
	local Text = Text or ""
366
	local Time = Time or 2
367
	local Color = Color or Color3.new(1, 0, 0)
368
	local EffectPart = part("Custom", workspace, "Neon", 0, 1, BrickColor.new(Color), "Effect", vt(0, 0, 0))
369
	EffectPart.Anchored = true
370
	local BillboardGui = Instance.new("BillboardGui")
371
	BillboardGui.Size = UDim2.new(3, 3, 3, 3)
372
	BillboardGui.Adornee = EffectPart
373
	local TextLabel = Instance.new("TextLabel")
374
	TextLabel.BackgroundTransparency = 1
375
	TextLabel.Size = UDim2.new(3, 3, 3, 3)
376
	TextLabel.Text = Text
377
	TextLabel.TextColor3 = Color
378
	TextLabel.TextStrokeColor3 = BrickColor.new("Really black").Color
379
	TextLabel.TextScaled = true
380
	TextLabel.TextStrokeTransparency = 0
381
	TextLabel.Font = Enum.Font.SourceSansBold
382
	TextLabel.Parent = BillboardGui
383
	BillboardGui.Parent = EffectPart
384
	game.Debris:AddItem(EffectPart, Time + 0.1)
385
	EffectPart.Parent = game:GetService("Workspace")
386
	Delay(0, function()
387
		local Frames = Time / Rate
388
		for Frame = 1, Frames do
389
			wait(Rate)
390
			local Percent = Frame / Frames
391
			EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
392
			TextLabel.TextTransparency = Percent
393
			TextLabel.TextStrokeTransparency = Percent
394
		end
395
		if EffectPart and EffectPart.Parent then
396
			EffectPart:Destroy()
397
		end
398
	end)
399
end
400
function LoadOutfit()
401
	local Player = game.Players.LocalPlayer
402
	local InsertService = game:GetService("InsertService")
403
	local char = Player.Character
404
	local face = char.Head.face
405
	local color = char["Body Colors"]
406
	local Data = {
407
		Pants = "rbxassetid://163845518",
408
		Shirt = "rbxassetid://225706293",
409
		Hat = 30380659,
410
		Face = "rbxassetid://159139241",
411
		BodyColor = "Pastel brown"
412
	}
413
	for i, v in pairs(char:children()) do
414
		if v.ClassName == "Hat" then
415
			v:Destroy()
416
		elseif v.ClassName == "Shirt" then
417
			v:Destroy()
418
		elseif v.ClassName == "Pants" then
419
			v:Destroy()
420
		end
421
	end
422
	color.HeadColor = BrickColor.new("Pastel brown")
423
	color.TorsoColor = BrickColor.new("Pastel brown")
424
	color.LeftArmColor = BrickColor.new("Pastel brown")
425
	color.LeftLegColor = BrickColor.new("Pastel brown")
426
	color.RightArmColor = BrickColor.new("Pastel brown")
427
	color.RightLegColor = BrickColor.new("Pastel brown")
428
	face.Texture = Data.Face
429
	InsertService:LoadAsset(Data.Hat):children()[1].Parent = char
430
	local shirt = Instance.new("Shirt", char)
431
	shirt.ShirtTemplate = Data.Shirt
432
	local pants = Instance.new("Pants", char)
433
	pants.PantsTemplate = Data.Pants
434
end
435
function MakeOrb(Type)
436
	local this = {}
437
	local LightOrDark
438
	if Type == nil then
439
		LightOrDark = math.random(0, 1)
440
	else
441
		LightOrDark = Type
442
	end
443
	local Orb = Instance.new("Part", Orbs)
444
	Orb.Anchored = true
445
	Orb.Material = "Neon"
446
	if LightOrDark == 1 then
447
		Orb.BrickColor = BrickColor.new("Fucking Gray")
448
	else
449
		Orb.BrickColor = BrickColor.new("Fucking Gray")
450
	end
451
	Orb.CFrame = torso.CFrame
452
	Orb.CanCollide = false
453
	Orb.Shape = "Ball"
454
	Orb.Size = Vector3.new(0.9, 0.9, 0.9)
455
	Orb.BottomSurface = "Smooth"
456
	Orb.TopSurface = "Smooth"
457
	Orb.Locked = true
458
	local Outline = Instance.new("Part", Orbs)
459
	Outline.Anchored = true
460
	Outline.Material = "Neon"
461
	if LightOrDark == 1 then
462
		Outline.BrickColor = BrickColor.new("Fucking Gray")
463
	else
464
		Outline.BrickColor = BrickColor.new("Fucking Gray")
465
	end
466
	Outline.CFrame = torso.CFrame
467
	Outline.CanCollide = false
468
	Outline.Shape = "Ball"
469
	Outline.Size = Vector3.new(1, 1, 1)
470
	Outline.BottomSurface = "Smooth"
471
	Outline.TopSurface = "Smooth"
472
	Outline.Transparency = 0.75
473
	Outline.Locked = true
474
	local OrbWeld = newWeld(Outline, Orb, 0, 0, 0)
475
	weld = Instance.new("Weld", Orb)
476
	weld.Part0 = Orb
477
	weld.Part1 = Outline
478
	weld.C0 = CFrame.new(0, 0, 0)
479
	local OrbMesh = Instance.new("SpecialMesh", Orb)
480
	OrbMesh.MeshType = "Sphere"
481
	OrbMesh.Scale = Vector3.new(0.9, 0.9, 0.9)
482
	local OutlineMesh = Instance.new("SpecialMesh", Outline)
483
	OutlineMesh.MeshType = "Sphere"
484
	OutlineMesh.Scale = Vector3.new(1, 1, 1)
485
	function this.Size(v3)
486
		OrbMesh.Scale = Lerp2(OrbMesh.Scale, v3 - Vector3.new(0.1, 0.1, 0.1), 0.3)
487
		OutlineMesh.Scale = Lerp2(OutlineMesh.Scale, v3, 0.3)
488
	end
489
	function this.CFrame(cf)
490
		Orb.CFrame = cf
491
		Outline.CFrame = Orb.CFrame
492
	end
493
	return Orb, Outline, this
494
end
495
function TailedBeastBomb()
496
	local this = {}
497
	local TailedBeastBomb = Instance.new("Model", char)
498
	local Outer = Instance.new("Part", TailedBeastBomb)
499
	Outer.Material = "Neon"
500
	Outer.Name = "Outer"
501
	Outer.BrickColor = BrickColor.new("Really black")
502
	Outer.CFrame = CFrame.new(0, 0, 0)
503
	Outer.Locked = true
504
	Outer.Size = Vector3.new(4, 4, 4)
505
	Outer.CanCollide = false
506
	Outer.Transparency = 0.25
507
	local OuterMesh = Instance.new("SpecialMesh", Outer)
508
	OuterMesh.MeshType = "Sphere"
509
	OuterMesh.Scale = Vector3.new(1, 1, 1)
510
	local Inner = Instance.new("Part", TailedBeastBomb)
511
	Inner.Material = "Neon"
512
	Inner.Name = "Inner"
513
	Inner.BrickColor = BrickColor.new("Institutional white")
514
	Inner.CFrame = Outer.CFrame
515
	Inner.Locked = true
516
	Inner.Size = Outer.Size - Vector3.new(1, 1, 1)
517
	Inner.CanCollide = false
518
	Inner.Transparency = 0.8
519
	local InnerMesh = Instance.new("SpecialMesh", Inner)
520
	InnerMesh.MeshType = "Sphere"
521
	InnerMesh.Scale = Vector3.new(1, 1, 1)
522
	local InnerOuterWeld = Instance.new("Weld", Inner)
523
	InnerOuterWeld.Part0 = Inner
524
	InnerOuterWeld.Part1 = Outer
525
	InnerOuterWeld.C0 = CFrame.new(0, 0, 0)
526
	local Core = Instance.new("Part", TailedBeastBomb)
527
	Core.Material = "Neon"
528
	Core.Name = "Core"
529
	Core.BrickColor = BrickColor.new("New Yeller")
530
	Core.CFrame = Outer.CFrame
531
	Core.Locked = true
532
	Core.Size = Inner.Size - Vector3.new(2, 2, 2)
533
	Core.CanCollide = false
534
	Core.Shape = 0
535
	Core.Transparency = 0
536
	local CoreMesh = Instance.new("SpecialMesh", Core)
537
	CoreMesh.MeshType = "Sphere"
538
	CoreMesh.Scale = Vector3.new(1, 1, 1)
539
	local InnerCoreWeld = Instance.new("Weld", Inner)
540
	InnerCoreWeld.Part0 = Inner
541
	InnerCoreWeld.Part1 = Core
542
	InnerCoreWeld.C0 = CFrame.new(0, 0, 0)
543
	function this.reSize(v3)
544
		Outer.Size = Lerp2(Outer.Size, v3, 0.3)
545
		Inner.Size = Lerp2(Inner.Size, Outer.Size - Vector3.new(1, 1, 1), 0.3)
546
		Core.Size = Lerp2(Core.Size, Inner.Size - Vector3.new(2, 2, 2), 0.3)
547
	end
548
	return Outer, Inner, Core, this
549
end
550
function SpawnRasengan(m, cf)
551
	local Rasengan = Instance.new("Part", m)
552
	Rasengan.BrickColor = BrickColor.new("Bright blue")
553
	Rasengan.Material = "Neon"
554
	Rasengan.Anchored = true
555
	Rasengan.CFrame = cf or CFrame.new(0, 0, 0)
556
	Rasengan.CanCollide = false
557
	Rasengan.CanCollide = true
558
	Rasengan.BottomSurface = "Smooth"
559
	Rasengan.TopSurface = "Smooth"
560
	Rasengan.Locked = true
561
	Rasengan.Size = Vector3.new(0.9, 0.9, 0.9)
562
	local RasenganMesh = Instance.new("SpecialMesh", Rasengan)
563
	RasenganMesh.MeshType = "Sphere"
564
	local Outline = Instance.new("Part", m)
565
	Outline.BrickColor = BrickColor.new("Institutional white")
566
	Outline.Material = "Neon"
567
	Outline.Transparency = 0.7
568
	Outline.Anchored = true
569
	Outline.CanCollide = false
570
	Outline.CanCollide = true
571
	Outline.BottomSurface = "Smooth"
572
	Outline.TopSurface = "Smooth"
573
	Outline.Locked = true
574
	Outline.CFrame = Rasengan.CFrame
575
	Outline.Size = Rasengan.Size + Vector3.new(0.1, 0.1, 0.1)
576
	local OutlineMesh = Instance.new("SpecialMesh", Outline)
577
	OutlineMesh.MeshType = "Sphere"
578
	local RasenWeld = Instance.new("Weld", Rasengan)
579
	RasenWeld.Part0 = Rasengan
580
	RasenWeld.Part1 = Outline
581
	RasenWeld.C0 = CFrame.new(0, 0, 0)
582
	return Rasengan, Outline
583
end
584
function SpawnRasenShurikan(m, cf)
585
	local Rasengan, Outline = SpawnRasengan(m, cf)
586
	local this = {}
587
	local interval = 0
588
	Rasengan.BrickColor = BrickColor.new("Crimson")
589
	Outline.BrickColor = BrickColor.new("Really black")
590
	local Shurikan = Instance.new("Part", m)
591
	Shurikan.BrickColor = BrickColor.new("Institutional white")
592
	Shurikan.Material = "Neon"
593
	Shurikan.Anchored = true
594
	Shurikan.CanCollide = false
595
	Shurikan.BottomSurface = "Smooth"
596
	Shurikan.TopSurface = "Smooth"
597
	Shurikan.Locked = true
598
	Shurikan.Size = Vector3.new(1, 1, 1)
599
	Shurikan.CFrame = Rasengan.CFrame
600
	local ShurikanMesh = Instance.new("SpecialMesh", Shurikan)
601
	ShurikanMesh.MeshType = "FileMesh"
602
	ShurikanMesh.MeshId = "rbxassetid://11376946"
603
	ShurikanMesh.Scale = Vector3.new(7, 7, 7)
604
	ShurikanMesh.TextureId = "rbxassetid://269748808"
605
	function this.Start()
606
		local Event = game:GetService("RunService").RenderStepped:connect(function()
607
			interval = interval + 60
608
			Shurikan.CFrame = Rasengan.CFrame * CFrame.Angles(math.rad(0), math.rad(interval), math.rad(0))
609
		end)
610
		this.Connections = Event
611
	end
612
	function this.Stop()
613
		this.Connections:disconnect()
614
		Shurikan.CFrame = Rasengan.CFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
615
	end
616
	return Rasengan, Outline, Shurikan, ShurikanMesh, this
617
end
618
function InstanceService()
619
	local OldInstance = Instance
620
	local Instance = newproxy(true)
621
	local Meta = getmetatable(Instance)
622
	local InstanceData = {
623
		Properties = {
624
			__READONLY = {ClassName = "Instance"}
625
		},
626
		Methods = {},
627
		Events = {},
628
		Private = {
629
			Registered = {},
630
			Util = LoadLibrary("RbxUtility")
631
		},
632
		__META = {SERVICE_MODEL_VERSION = "0.1.0"}
633
	}
634
	local Properties = InstanceData.Properties
635
	local Methods = InstanceData.Methods
636
	local Events = InstanceData.Events
637
	local Private = InstanceData.Private
638
	local function CreateEvent(EventName)
639
		Events[EventName] = {}
640
		local Signal = Private.Util.CreateSignal()
641
		local Event = InstanceData.Events[EventName]
642
		function Event:connect(func)
643
			local this = {}
644
			if self ~= Event then
645
				error("connect must be called with `:`, not `.`", 2)
646
			end
647
			if type(func) ~= "function" then
648
				error("Argument #1 of connect must be a function, got a " .. type(func), 2)
649
			end
650
			Signal:connect(func)
651
			function this:disconnect()
652
				if self ~= this then
653
					error("disconnect must be called with `:`, not `.`", 2)
654
				end
655
				Signal:disconnect()
656
			end
657
			return this
658
		end
659
		return Signal
660
	end
661
	local CheckSelf = function(self)
662
		repeat
663
			if not self then
664
				return false, "\":\" Expected, got \".\""
665
			else
666
				if not self or type(self) == "table" then
667
				end
668
				do return false, "\"userdata or table\" Expected, got \"" .. type(self) .. "\"" end
669
				do break end
670
				if not self or type(self) ~= "table" then
671
				end
672
				return true
673
			end
674
		until true
675
	end
676
	local function MetaIndex(_table, index)
677
		if Properties[index] and index:sub(1, 2) ~= "__" then
678
			return Properties[index]
679
		elseif Properties.__READONLY[index] then
680
			return Properties.__READONLY[index]
681
		elseif Methods[index] then
682
			return Methods[index]
683
		elseif Events[index] then
684
			return Events[index]
685
		end
686
	end
687
	local function MetaNewIndex(_table, index, value)
688
		if Properties[index] and index:sub(1, 2) ~= "__" and type(value) ~= "function" then
689
			if index:sub(1, 2) == "__" then
690
				return error(index .. " is not a valid member of " .. Properties.__READONLY.ClassName)
691
			else
692
				Properties[index] = value
693
			end
694
		end
695
	end
696
	function Methods.register(name, constructor)
697
		if type(name) ~= "string" then
698
			error("Argument #1 of register must be a string, got a " .. type(name))
699
		end
700
		if type(constructor) ~= "function" then
701
			error("Argument #2 of register must be a function, got a " .. type(constructor))
702
		end
703
		Private.Registered[name] = constructor
704
	end
705
	function Methods.new(name, parent, options)
706
		local Parent
707
		if type(parent) == "table" then
708
			if parent[Parent] then
709
				Parent = options[Parent]
710
			else
711
				Parent = nil
712
			end
713
		elseif type(parent) == "userdata" then
714
			Parent = parent
715
		end
716
		if Private.Registered[name] then
717
			return Private.Registered[name](Parent, options)
718
		else
719
			return OldInstance.new(name, Parent)
720
		end
721
	end
722
	Meta.__index = MetaIndex
723
	Meta.__newindex = MetaNewIndex
724
	Meta.__metatable = "The metatable is locked"
725
	return Instance
726
end
727
function TruthSeekerOrb()
728
	local O1, O2 = MakeOrb()
729
	local Orb = newproxy(true)
730
	local OrbMeta = getmetatable(Orb)
731
	local OrbProperties = {
732
		ReadOnly = {
733
			ClassName = "TruthSeekerOrb",
734
			_VERSION = "0.1.0"
735
		},
736
		Parent = Orbs,
737
		CFrame = CFrame.new(0, 0, 0),
738
		Size = Vector3.new(0, 0, 0),
739
		Touched = O1.Touched,
740
		Outline = O2
741
	}
742
	local OrbPrivateData = {Orb = O1, Outline = O2}
743
	local OrbMethods = {}
744
	function OrbMeta.__index(_table, index)
745
		if OrbProperties[index] then
746
			if index == "CFrame" then
747
				return OrbPrivateData.Orb.CFrame
748
			elseif index == "Size" then
749
				return OrbPrivateData.Orb.Size
750
			elseif index == "ReadOnly" then
751
				return nil
752
			elseif index == "Parent" then
753
				return OrbPrivateData.Orb.Parent
754
			else
755
				return OrbProperties[index]
756
			end
757
		elseif OrbProperties.ReadOnly[index] then
758
			return OrbProperties.ReadOnly[index]
759
		elseif OrbMethods[index] then
760
			return OrbMethods[index]
761
		end
762
	end
763
	function OrbMeta.__newindex(_table, index, value)
764
		if OrbProperties[index] then
765
			if not type(value) ~= "function" then
766
				if index == "CFrame" then
767
					OrbPrivateData.Orb.CFrame = value
768
					OrbPrivateData.Outline.CFrame = value
769
				elseif index == "Size" then
770
					OrbPrivateData.Orb.Mesh.Scale = Lerp2(OrbPrivateData.Orb.Mesh.Scale, value - Vector3.new(0.1, 0.1, 0.1), 0.3)
771
					OrbPrivateData.Outline.Mesh.Scale = Lerp2(OrbPrivateData.Outline.Mesh.Scale, value, 0.3)
772
				elseif index == "Parent" then
773
					OrbPrivateData.Orb.Parent = value
774
					OrbPrivateData.Outline.Parent = value
775
				elseif index == "ReadOnly" then
776
					return error("can't set protected value")
777
				else
778
					OrbProperties[index] = value
779
				end
780
			end
781
		elseif OrbProperties.ReadOnly[index] then
782
			return error("can't set value")
783
		end
784
	end
785
	local CheckSelf = function(s)
786
		if not s then
787
			return false, "\":\" Expected, got \".\""
788
		end
789
		return true, ""
790
	end
791
	function OrbMethods:Destroy()
792
		assert(CheckSelf(self))
793
		OrbPrivateData.Orb:Destroy()
794
		OrbPrivateData.Outline:Destroy()
795
	end
796
	return Orb
797
end
798
function Rasengan(m, options)
799
	local m = Instance.new("Model", m)
800
	local r, o = SpawnRasengan(m, options.CFrame or nil)
801
	local Rasengan = newproxy(true)
802
	local RasenganMeta = getmetatable(Rasengan)
803
	local RasenganData = {Rasengan = r, Outline = o}
804
	local RasenganProperties = {
805
		__Protected = {ClassName = "Rasengan"},
806
		Parent = m,
807
		Size = Vector3.new(0, 0, 0),
808
		CFrame = CFrame.new(0, 0, 0),
809
		Transparency = 0
810
	}
811
	local RasenganMethods = {}
812
	local RasenganEvents = {}
813
	local CreateSignal = function()
814
		local this = {}
815
		local mBindableEvent = Instance.new("BindableEvent")
816
		local mAllCns = {}
817
		function this:connect(func)
818
			if self ~= this then
819
				error("connect must be called with `:`, not `.`", 2)
820
			end
821
			if type(func) ~= "function" then
822
				error("Argument #1 of connect must be a function, got a " .. type(func), 2)
823
			end
824
			local cn = mBindableEvent.Event:connect(func)
825
			mAllCns[cn] = true
826
			local pubCn = {}
827
			function pubCn:disconnect()
828
				cn:disconnect()
829
				mAllCns[cn] = nil
830
			end
831
			return pubCn
832
		end
833
		function this:disconnect()
834
			if self ~= this then
835
				error("disconnect must be called with `:`, not `.`", 2)
836
			end
837
			for cn, _ in pairs(mAllCns) do
838
				cn:disconnect()
839
				mAllCns[cn] = nil
840
			end
841
		end
842
		function this:wait()
843
			if self ~= this then
844
				error("wait must be called with `:`, not `.`", 2)
845
			end
846
			return mBindableEvent.Event:wait()
847
		end
848
		function this:fire(...)
849
			if self ~= this then
850
				error("fire must be called with `:`, not `.`", 2)
851
			end
852
			mBindableEvent:Fire(...)
853
		end
854
		return this
855
	end
856
	local function CreateEvent(EventName)
857
		RasenganEvents[EventName] = {}
858
		local Signal = CreateSignal()
859
		local Event = RasenganEvents[EventName]
860
		function Event:connect(func)
861
			local this = {}
862
			if self ~= Event then
863
				error("connect must be called with `:`, not `.`", 2)
864
			end
865
			if type(func) ~= "function" then
866
				error("Argument #1 of connect must be a function, got a " .. type(func), 2)
867
			end
868
			Signal:connect(func)
869
			function this:disconnect()
870
				if self ~= this then
871
					error("disconnect must be called with `:`, not `.`", 2)
872
				end
873
				Signal:disconnect()
874
			end
875
			return this
876
		end
877
		return Signal
878
	end
879
	local Touched = CreateEvent("Touched")
880
	local Method = RasenganMethods
881
	local CheckSelf = function(self)
882
		if not self then
883
			return false, "\":\" Expected, got \".\""
884
		else
885
			return true
886
		end
887
	end
888
	function Method:Destroy()
889
		assert(CheckSelf(self))
890
		if m then
891
			m:Destroy()
892
		end
893
		if RasenganData.Outline then
894
			RasenganData.Outline:Destroy()
895
		end
896
		if RasenganData.Rasengan then
897
			RasenganData.Rasengan:Destroy()
898
		end
899
	end
900
	local function Handle_GET_Property(index)
901
		if index == "Parent" then
902
			return RasenganData.Rasengan.Parent
903
		elseif index == "Size" then
904
			return RasenganData.Rasengan.Size
905
		elseif index == "CFrame" then
906
			return RasenganData.Rasengan.CFrame
907
		elseif index == "Transparency" then
908
			return RasenganData.Rasengan.Transparency
909
		end
910
	end
911
	local function Handle_SET_Property(index, value)
912
		if index == "Parent" then
913
			RasenganData.Rasengan.Parent = value
914
			RasenganData.Outline.Parent = value
915
		elseif index == "Size" then
916
			RasenganData.Rasengan.Size = Lerp2(RasenganData.Rasengan.Size, value - Vector3.new(0.1, 0.1, 0.1) * value, 0.3)
917
			RasenganData.Outline.Size = Lerp2(RasenganData.Outline.Size, value, 0.3)
918
		elseif index == "CFrame" then
919
			RasenganData.Rasengan.CFrame = value
920
			RasenganData.Outline.CFrame = value
921
		elseif index == "Transparency" then
922
			RasenganData.Rasengan.Transparency = value / 0.7
923
			RasenganData.Outline.Transparency = value / 0.7
924
		end
925
	end
926
	function RasenganMeta.__index(_table, index)
927
		if RasenganProperties[index] then
928
			if index:sub(1, 2) == "__" then
929
				return nil
930
			else
931
				return Handle_GET_Property(index)
932
			end
933
		elseif RasenganProperties.__Protected[index] then
934
			return RasenganProperties.__Protected[index]
935
		elseif RasenganMethods[index] then
936
			return RasenganMethods[index]
937
		elseif RasenganEvents[index] then
938
			return RasenganEvents[index]
939
		else
940
			error(index .. " is not a valid member of " .. RasenganProperties.__Protected.ClassName)
941
		end
942
	end
943
	function RasenganMeta.__newindex(_table, index, value)
944
		if RasenganProperties[index] then
945
			if not type(value) ~= "function" then
946
				if index:sub(1, 2) == "__" then
947
					return error(index .. " is not a valid member of " .. RasenganProperties.__Protected.ClassName)
948
				else
949
					Handle_SET_Property(index, value)
950
				end
951
			end
952
		elseif RasenganProperties.__Protected[index] then
953
			return error("can't set value")
954
		else
955
			error(index .. " is not a valid member of " .. RasenganProperties.__Protected.ClassName)
956
		end
957
	end
958
	RasenganMeta.__metatable = "The metatable is locked"
959
	return Rasengan
960
end
961
function RasenShurikan(m, options)
962
	local m = Instance.new("Model", m)
963
	local r, o, s, sm, lib = SpawnRasenShurikan(m, options.CFrame or nil)
964
	local Rasengan = newproxy(true)
965
	local RasenganMeta = getmetatable(Rasengan)
966
	local RasenganData = {
967
		Rasengan = r,
968
		Outline = o,
969
		Shurikan = s,
970
		ShurikanMesh = sm,
971
		Lib = lib
972
	}
973
	local RasenganProperties = {
974
		__Protected = {ClassName = "Rasengan"},
975
		Parent = m,
976
		Size = Vector3.new(0, 0, 0),
977
		CFrame = CFrame.new(0, 0, 0),
978
		Transparency = 0,
979
		Base = r,
980
		Outline = o
981
	}
982
	local RasenganMethods = {}
983
	local RasenganEvents = {}
984
	local CreateSignal = function()
985
		local this = {}
986
		local mBindableEvent = Instance.new("BindableEvent")
987
		local mAllCns = {}
988
		function this:connect(func)
989
			if self ~= this then
990
				error("connect must be called with `:`, not `.`", 2)
991
			end
992
			if type(func) ~= "function" then
993
				error("Argument #1 of connect must be a function, got a " .. type(func), 2)
994
			end
995
			local cn = mBindableEvent.Event:connect(func)
996
			mAllCns[cn] = true
997
			local pubCn = {}
998
			function pubCn:disconnect()
999
				cn:disconnect()
1000
				mAllCns[cn] = nil
1001
			end
1002
			return pubCn
1003
		end
1004
		function this:disconnect()
1005
			if self ~= this then
1006
				error("disconnect must be called with `:`, not `.`", 2)
1007
			end
1008
			for cn, _ in pairs(mAllCns) do
1009
				cn:disconnect()
1010
				mAllCns[cn] = nil
1011
			end
1012
		end
1013
		function this:wait()
1014
			if self ~= this then
1015
				error("wait must be called with `:`, not `.`", 2)
1016
			end
1017
			return mBindableEvent.Event:wait()
1018
		end
1019
		function this:fire(...)
1020
			if self ~= this then
1021
				error("fire must be called with `:`, not `.`", 2)
1022
			end
1023
			mBindableEvent:Fire(...)
1024
		end
1025
		return this
1026
	end
1027
	local function CreateEvent(EventName)
1028
		RasenganEvents[EventName] = {}
1029
		local Signal = CreateSignal()
1030
		local Event = RasenganEvents[EventName]
1031
		function Event:connect(func)
1032
			local this = {}
1033
			if self ~= Event then
1034
				error("connect must be called with `:`, not `.`", 2)
1035
			end
1036
			if type(func) ~= "function" then
1037
				error("Argument #1 of connect must be a function, got a " .. type(func), 2)
1038
			end
1039
			Signal:connect(func)
1040
			function this:disconnect()
1041
				if self ~= this then
1042
					error("disconnect must be called with `:`, not `.`", 2)
1043
				end
1044
				Signal:disconnect()
1045
			end
1046
			return this
1047
		end
1048
		return Signal
1049
	end
1050
	local Method = RasenganMethods
1051
	local CheckSelf = function(self)
1052
		if not self then
1053
			return false, "\":\" Expected, got \".\""
1054
		else
1055
			return true
1056
		end
1057
	end
1058
	function Method:Start()
1059
		assert(CheckSelf(self))
1060
		RasenganData.Lib.Start()
1061
	end
1062
	function Method:Stop()
1063
		assert(CheckSelf(self))
1064
		RasenganData.Lib.Stop()
1065
	end
1066
	function Method:Destroy(t)
1067
		assert(CheckSelf(self))
1068
		if t == "Rasengan" then
1069
			RasenganData.Rasengan:Destroy()
1070
		elseif t == "Outline" then
1071
			RasenganData.Outline:Destroy()
1072
		elseif t == "Shurikan" then
1073
			RasenganData.Shurikan:Destroy()
1074
		else
1075
			if m then
1076
				m:Destroy()
1077
			end
1078
			if RasenganData.Rasengan then
1079
				RasenganData.Rasengan:Destroy()
1080
			end
1081
			if RasenganData.Outline then
1082
				RasenganData.Outline:Destroy()
1083
			end
1084
			if RasenganData.Shurikan then
1085
				RasenganData.Shurikan:Destroy()
1086
			end
1087
		end
1088
	end
1089
	local function Handle_GET_Property(index)
1090
		if index == "Parent" then
1091
			return RasenganData.Rasengan.Parent
1092
		elseif index == "Size" then
1093
			return RasenganData.Rasengan.Size
1094
		elseif index == "CFrame" then
1095
			return RasenganData.Rasengan.CFrame
1096
		elseif index == "Transparency" then
1097
			return RasenganData.Rasengan.Transparency
1098
		else
1099
			return RasenganProperties[index]
1100
		end
1101
	end
1102
	local function Handle_SET_Property(index, value)
1103
		if index == "Parent" then
1104
			RasenganData.Rasengan.Parent = value
1105
			RasenganData.Outline.Parent = value
1106
			RasenganData.Shurikan.Parent = value
1107
		elseif index == "Size" then
1108
			RasenganData.Rasengan.Size = Lerp2(RasenganData.Rasengan.Size, value - Vector3.new(0.1, 0.1, 0.1) * value, 0.3)
1109
			RasenganData.Outline.Size = Lerp2(RasenganData.Outline.Size, value, 0.3)
1110
			RasenganData.ShurikanMesh.Scale = Lerp2(RasenganData.ShurikanMesh.Scale, value * 5.5, 0.3)
1111
		elseif index == "CFrame" then
1112
			RasenganData.Rasengan.CFrame = value
1113
			RasenganData.Outline.CFrame = value
1114
			RasenganData.Shurikan.CFrame = value
1115
		elseif index == "Transparency" then
1116
			RasenganData.Rasengan.Transparency = value / 0.7
1117
			RasenganData.Outline.Transparency = value / 0.7
1118
		end
1119
	end
1120
	function RasenganMeta.__index(_table, index)
1121
		if RasenganProperties[index] then
1122
			if index:sub(1, 2) == "__" then
1123
				return nil
1124
			else
1125
				return Handle_GET_Property(index)
1126
			end
1127
		elseif RasenganProperties.__Protected[index] then
1128
			return RasenganProperties.__Protected[index]
1129
		elseif RasenganMethods[index] then
1130
			return RasenganMethods[index]
1131
		elseif RasenganEvents[index] then
1132
			return RasenganEvents[index]
1133
		else
1134
			error(index .. " is not a valid member of " .. RasenganProperties.__Protected.ClassName)
1135
		end
1136
	end
1137
	function RasenganMeta.__newindex(_table, index, value)
1138
		if RasenganProperties[index] then
1139
			if not type(value) ~= "function" then
1140
				if index:sub(1, 2) == "__" then
1141
					return error(index .. " is not a valid member of " .. RasenganProperties.__Protected.ClassName)
1142
				else
1143
					Handle_SET_Property(index, value)
1144
				end
1145
			end
1146
		elseif RasenganProperties.__Protected[index] then
1147
			return error("can't set value")
1148
		else
1149
			error(index .. " is not a valid member of " .. RasenganProperties.__Protected.ClassName)
1150
		end
1151
	end
1152
	RasenganMeta.__metatable = "The metatable is locked"
1153
	return Rasengan
1154
end
1155
local Instance = InstanceService()
1156
Instance.register("TruthSeekerOrb", TruthSeekerOrb)
1157
Instance.register("Rasengan", Rasengan)
1158
Instance.register("RasenShurikan", RasenShurikan)
1159
newWeld(torso, larm, -1.5, 0.5, 0)
1160
larm.Weld.C1 = CFrame.new(0, 0.5, 0)
1161
newWeld(torso, rarm, 1.5, 0.5, 0)
1162
rarm.Weld.C1 = CFrame.new(0, 0.5, 0)
1163
newWeld(torso, hed, 0, 1.5, 0)
1164
newWeld(torso, lleg, -0.5, -1, 0)
1165
lleg.Weld.C1 = CFrame.new(0, 1, 0)
1166
newWeld(torso, rleg, 0.5, -1, 0)
1167
rleg.Weld.C1 = CFrame.new(0, 1, 0)
1168
newWeld(root, torso, 0, -1, 0)
1169
torso.Weld.C1 = CFrame.new(0, -1, 0)
1170
local laDef = CFrame.new(-1.5, 0.5, 0)
1171
local raDef = CFrame.new(1.5, 0.5, 0)
1172
local hDef = CFrame.new(0, 1.5, 0)
1173
local tDef = CFrame.new(0, -1, 0)
1174
local llDef = CFrame.new(-0.5, -1, 0)
1175
local rlDef = CFrame.new(0.5, -1, 0)
1176
Orbs = Instance.new("Model", char)
1177
Orbs.Name = "Truthseeker Orbs"
1178
local Orb1 = Instance.new("TruthSeekerOrb")
1179
local Orb2 = Instance.new("TruthSeekerOrb")
1180
local Orb3 = Instance.new("TruthSeekerOrb")
1181
local Orb4 = Instance.new("TruthSeekerOrb")
1182
local Orb5 = Instance.new("TruthSeekerOrb")
1183
local Orb6 = Instance.new("TruthSeekerOrb")
1184
local Orb7 = Instance.new("TruthSeekerOrb")
1185
local Orb8 = Instance.new("TruthSeekerOrb")
1186
local Orbs_ = {
1187
	Orb1 = Orb1,
1188
	Orb2 = Orb2,
1189
	Orb3 = Orb3,
1190
	Orb4 = Orb4,
1191
	Orb5 = Orb5,
1192
	Orb6 = Orb6,
1193
	Orb7 = Orb7,
1194
	Orb8 = Orb8
1195
}
1196
local CurrentHealth = hum.Health
1197
local DebounceShot = false
1198
local OGDesign = 1
1199
function TailedBeastBombAttack()
1200
	hum.WalkSpeed = 0
1201
	Debounces.CanAttack = false
1202
	Debounces.NoIdle = true
1203
	for i = 1, 10 do
1204
		larm.Weld.C0 = Lerp(larm.Weld.C0, laDef * CFrame.Angles(math.rad(0), math.rad(20), math.rad(-80)), 0.2)
1205
		torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 45, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(0)), 0.2)
1206
		rarm.Weld.C0 = Lerp(rarm.Weld.C0, raDef * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(80)), 0.2)
1207
		hed.Weld.C0 = Lerp(hed.Weld.C0, hDef * CFrame.Angles(math.rad(10), math.rad(0), math.rad(0)), 0.2)
1208
		lleg.Weld.C0 = Lerp(lleg.Weld.C0, llDef * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.2)
1209
		rleg.Weld.C0 = Lerp(rleg.Weld.C0, rlDef * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(20)), 0.2)
1210
		wait()
1211
	end
1212
	function FindNearestTorso(Position, Distance, SinglePlayer)
1213
		if SinglePlayer then
1214
			return Distance > (SinglePlayer.Torso.CFrame.p - Position).magnitude
1215
		end
1216
		local List = {}
1217
		for i, v in pairs(workspace:GetChildren()) do
1218
			if v:IsA("Model") and v:findFirstChild("Torso") and v ~= char and Distance >= (v.Torso.Position - Position).magnitude then
1219
				table.insert(List, v)
1220
			end
1221
		end
1222
		return List
1223
	end
1224
	local Outer, Inner, Core, Control = TailedBeastBomb()
1225
	local SetupWeld = Instance.new("Weld", Inner)
1226
	SetupWeld.Part0 = Inner
1227
	SetupWeld.Part1 = torso
1228
	SetupWeld.C0 = CFrame.new(0, 0, 10)
1229
	wait()
1230
	Core.Anchored = true
1231
	Outer.Anchored = true
1232
	Inner.Anchored = true
1233
	for i = 1, 16 do
1234
		Control.reSize(Lerp2(Outer.Size, Vector3.new(23, 23, 23), 0.3))
1235
		wait()
1236
	end
1237
	wait(0.5)
1238
	for i = 1, 20 do
1239
		larm.Weld.C0 = Lerp(larm.Weld.C0, laDef * CFrame.Angles(math.rad(0), math.rad(-80), math.rad(-80)), 0.2)
1240
		torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 45, 0) * CFrame.Angles(math.rad(-20), math.rad(0), math.rad(0)), 0.2)
1241
		rarm.Weld.C0 = Lerp(rarm.Weld.C0, raDef * CFrame.Angles(math.rad(0), math.rad(80), math.rad(80)), 0.2)
1242
		hed.Weld.C0 = Lerp(hed.Weld.C0, hDef * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(0)), 0.2)
1243
		lleg.Weld.C0 = Lerp(lleg.Weld.C0, llDef * CFrame.Angles(math.rad(10), math.rad(0), math.rad(-20)), 0.2)
1244
		rleg.Weld.C0 = Lerp(rleg.Weld.C0, rlDef * CFrame.Angles(math.rad(10), math.rad(0), math.rad(20)), 0.2)
1245
		wait()
1246
	end
1247
	SetupWeld:remove()
1248
	Core.Anchored = false
1249
	Outer.Anchored = false
1250
	Inner.Anchored = false
1251
	Shooter = Instance.new("BodyVelocity", Inner)
1252
	Shooter.maxForce = Vector3.new(1, 1, 1) * math.huge
1253
	Shooter.velocity = torso.CFrame.lookVector * 100
1254
	Shooter2 = Instance.new("BodyVelocity", Core)
1255
	Shooter2.maxForce = Vector3.new(1, 1, 1) * math.huge
1256
	Shooter2.velocity = torso.CFrame.lookVector * 100
1257
	Shooter3 = Instance.new("BodyVelocity", Outer)
1258
	Shooter3.maxForce = Vector3.new(1, 1, 1) * math.huge
1259
	Shooter3.velocity = torso.CFrame.lookVector * 100
1260
	Explode = Core.Touched:connect(function(hit)
1261
		if hit ~= char and hit.Name ~= "Outer" and hit.Name ~= "Inner" then
1262
			Inner:Destroy()
1263
			Outer:Destroy()
1264
			do
1265
				local cf = Core.CFrame
1266
				Shooter2:Destroy()
1267
				Core.Anchored = true
1268
				Explode:disconnect()
1269
				Core.Size = Vector3.new(3, 3, 3)
1270
				Core.Touched:connect(function(hit)
1271
				end)
1272
				Core.CanCollide = false
1273
				local part3 = Instance.new("Part", rarm)
1274
				part3.Anchored = true
1275
				part3.CanCollide = false
1276
				part3.Locked = true
1277
				part3.TopSurface = "SmoothNoOutlines"
1278
				part3.BottomSurface = "SmoothNoOutlines"
1279
				part3.FormFactor = "Custom"
1280
				part3.Size = Vector3.new(1, 1, 1)
1281
				part3.CFrame = Core.CFrame
1282
				part3.Transparency = 0
1283
				part3.BrickColor = BrickColor.new("Institutional white")
1284
				local mesh3 = Instance.new("SpecialMesh", part3)
1285
				mesh3.MeshType = "Sphere"
1286
				mesh3.Scale = Vector3.new(1, 1, 1)
1287
				local part4 = Instance.new("Part", rarm)
1288
				part4.Material = "Neon"
1289
				part4.Anchored = true
1290
				part4.CanCollide = false
1291
				part4.Locked = true
1292
				part4.TopSurface = "SmoothNoOutlines"
1293
				part4.BottomSurface = "SmoothNoOutlines"
1294
				part4.FormFactor = "Custom"
1295
				part4.Size = Vector3.new(1, 1, 1)
1296
				part4.CFrame = Core.CFrame
1297
				part4.Transparency = 1
1298
				part4.BrickColor = BrickColor.new("New Yeller")
1299
				local mesh4 = Instance.new("SpecialMesh", part4)
1300
				mesh4.MeshType = "Sphere"
1301
				mesh4.Scale = Vector3.new(0.5, 0.5, 0.5)
1302
				local part7 = Instance.new("Part", rarm)
1303
				part7.Material = "Neon"
1304
				part7.Anchored = true
1305
				part7.CanCollide = false
1306
				part7.Locked = true
1307
				part7.TopSurface = "SmoothNoOutlines"
1308
				part7.BottomSurface = "SmoothNoOutlines"
1309
				part7.FormFactor = "Custom"
1310
				part7.Size = Vector3.new(1, 1, 1)
1311
				part7.CFrame = Core.CFrame
1312
				part7.Transparency = 0
1313
				part7.BrickColor = BrickColor.new("Really black")
1314
				local mesh7 = Instance.new("SpecialMesh", part7)
1315
				mesh7.MeshType = "Sphere"
1316
				mesh7.Scale = Vector3.new(0.1, 0.1, 0.1)
1317
				for i, v in pairs(FindNearestTorso(Core.CFrame.p, 80)) do
1318
					if v:FindFirstChild("Humanoid") then
1319
						Damagefunc(Core, v.Torso, 10, 20, math.random(3, 6), "Normal", RootPart, 0.05, 1)
1320
						v.Humanoid.PlatformStand = true
1321
						v:FindFirstChild("Torso").Velocity = hed.CFrame.lookVector * 100
1322
					end
1323
				end
1324
				local acos = math.acos
1325
				local sqrt = math.sqrt
1326
				local Vec3 = Vector3.new
1327
				local fromAxisAngle = CFrame.fromAxisAngle
1328
				local function toAxisAngle(CFr)
1329
					local X, Y, Z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = CFr:components()
1330
					local Angle = math.acos((R00 + R11 + R22 - 1) / 2)
1331
					local A = (R21 - R12) ^ 2 + (R02 - R20) ^ 2 + (R10 - R01) ^ 2
1332
					A = A == 0 and 1.0E-5 or A
1333
					local B = (R21 - R12) ^ 2 + (R02 - R20) ^ 2 + (R10 - R01) ^ 2
1334
					B = B == 0 and 1.0E-5 or B
1335
					local C = (R21 - R12) ^ 2 + (R02 - R20) ^ 2 + (R10 - R01) ^ 2
1336
					C = C == 0 and 1.0E-5 or C
1337
					local x = (R21 - R12) / sqrt(A)
1338
					local y = (R02 - R20) / sqrt(B)
1339
					local z = (R10 - R01) / sqrt(C)
1340
					return Vec3(x, y, z), Angle
1341
				end
1342
				function ApplyTrig(Num, Func)
1343
					local Min, Max = Func(0), Func(1)
1344
					local i = Func(Num)
1345
					return (i - Min) / (Max - Min)
1346
				end
1347
				function LerpCFrame(CFrame1, CFrame2, Num)
1348
					local Vec, Ang = toAxisAngle(CFrame1:inverse() * CFrame2)
1349
					return CFrame1 * fromAxisAngle(Vec, Ang * Num) + (CFrame2.p - CFrame1.p) * Num
1350
				end
1351
				function Crater(Torso, Radius)
1352
					Spawn(function()
1353
						local Ray = Ray.new(Torso.Position, Vector3.new(0, -1, 0) * 10)
1354
						local Ignore = {}
1355
						for i, v in pairs(game:GetService("Players"):GetPlayers()) do
1356
							if v.Character ~= nil then
1357
								Ignore[#Ignore + 1] = v.Character
1358
							end
1359
						end
1360
						local Hit, Pos, SurfaceNorm = Workspace:FindPartOnRayWithIgnoreList(Ray, Ignore)
1361
						if Hit == nil then
1362
							return
1363
						end
1364
						local Parts = {}
1365
						for i = 1, 360, 10 do
1366
							local P = Instance.new("Part", Torso.Parent)
1367
							P.Anchored = true
1368
							P.FormFactor = "Custom"
1369
							P.BrickColor = BrickColor.new("Really black")
1370
							P.Material = "Neon"
1371
							P.TopSurface = "Smooth"
1372
							P.BottomSurface = "Smooth"
1373
							P.Size = Vector3.new(5, 10, 10) * (math.random(80, 100) / 100)
1374
							P.CFrame = (CFrame.new(Pos, Pos + SurfaceNorm) * CFrame.Angles(math.rad(90), 0, 0) - Vector3.new(0, 7, 0)) * CFrame.Angles(math.rad(math.random(-50, 50)), math.rad(math.random(-50, 50)), math.rad(math.random(-50, 50)))
1375
							Parts[#Parts + 1] = {
1376
								P,
1377
								P.CFrame,
1378
								(CFrame.new(Pos, Pos + SurfaceNorm) * CFrame.Angles(math.rad(90), 0, 0) - Vector3.new(0, 1, 0)) * CFrame.Angles(0, math.rad(i), 0) * CFrame.new(0, 0, -Radius) * CFrame.Angles(math.rad(math.random(-50, -20)), math.rad(math.random(-15, 15)), math.rad(math.random(-15, 15))),
1379
								P.Size
1380
							}
1381
							if math.random(0, 5) == 0 then
1382
								local P = Instance.new("Part", Torso.Parent)
1383
								P.Anchored = true
1384
								P.FormFactor = "Custom"
1385
								P.BrickColor = Hit.BrickColor
1386
								P.Material = Hit.Material
1387
								P.TopSurface = "Smooth"
1388
								P.BottomSurface = "Smooth"
1389
								P.Size = Vector3.new(2, 2, 2) * (math.random(80, 100) / 100)
1390
								P.CFrame = (CFrame.new(Pos, Pos + SurfaceNorm) * CFrame.Angles(math.rad(90), 0, 0) - Vector3.new(0, 2.5, 0)) * CFrame.Angles(math.rad(math.random(-50, 50)), math.rad(math.random(-50, 50)), math.rad(math.random(-50, 50)))
1391
								Parts[#Parts + 1] = {
1392
									P,
1393
									P.CFrame,
1394
									CFrame.new(Pos, Pos + SurfaceNorm) * CFrame.Angles(math.rad(90), 0, 0) * CFrame.Angles(0, math.rad(i), 0) * CFrame.new(0, 0, -Radius - 8) * CFrame.Angles(math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90)), math.rad(math.random(-90, 90))),
1395
									P.Size
1396
								}
1397
							end
1398
						end
1399
						for i = 0, 1, 0.05 do
1400
							for i2, v in pairs(Parts) do
1401
								v[1].CFrame = LerpCFrame(v[2], v[3], ApplyTrig(i, math.cos))
1402
							end
1403
							wait(0.02)
1404
						end
1405
						for i, v in pairs(Parts) do
1406
							if v[1].Size.X > 2.1 then
1407
								v[1].CFrame = v[1].CFrame + Vector3.new(0, 2, 0)
1408
							end
1409
							v[1].Anchored = false
1410
						end
1411
						for i = 0, 1, 0.05 do
1412
							for i2, v in pairs(Parts) do
1413
								v[1].Transparency = i
1414
								if i == 1 then
1415
									v[1]:Destroy()
1416
								elseif i >= 0.25 then
1417
									v[1].CanCollide = false
1418
								end
1419
							end
1420
							wait(0.02)
1421
						end
1422
						Parts = nil
1423
					end)
1424
				end
1425
				function ROW(out, trans, s, wt, t, ang, plus)
1426
					for i = 1, 360, 360 / t do
1427
						local c = Instance.new("Part", game.Workspace)
1428
						c.FormFactor = 3
1429
						c.TopSurface = 0
1430
						c.BottomSurface = 0
1431
						c.Size = s
1432
						c.Anchored = true
1433
						c.CanCollide = wt
1434
						c.Material = "Neon"
1435
						c.Transparency = trans
1436
						c.BrickColor = BrickColor.new("Really black")
1437
						c.CFrame = CFrame.new(Core.CFrame.x, 0, Core.CFrame.z) * CFrame.Angles(math.rad(20), math.rad(i + plus), 0) * CFrame.new(0, 0, out) * ang
1438
						c.Locked = true
1439
						game.Debris:AddItem(c, 15)
1440
					end
1441
				end
1442
				function Part(x, y, z, color, tr, cc, an, parent)
1443
					local p = Instance.new("Part", parent or Weapon)
1444
					p.formFactor = "Custom"
1445
					p.Size = Vector3.new(x, y, z)
1446
					p.BrickColor = BrickColor.new(color)
1447
					p.CanCollide = cc
1448
					p.Transparency = tr
1449
					p.Anchored = an
1450
					p.TopSurface, p.BottomSurface = 0, 0
1451
					p.Locked = true
1452
					p:BreakJoints()
1453
					return p
1454
				end
1455
				function Mesh(par, num, x, y, z)
1456
					local msh = _
1457
					if num == 1 then
1458
						msh = Instance.new("CylinderMesh", par)
1459
					elseif num == 2 then
1460
						msh = Instance.new("SpecialMesh", par)
1461
						msh.MeshType = 3
1462
					elseif num == 3 then
1463
						msh = Instance.new("BlockMesh", par)
1464
					elseif num == 4 then
1465
						msh = Instance.new("SpecialMesh", par)
1466
						msh.MeshType = "Torso"
1467
					elseif type(num) == "string" then
1468
						msh = Instance.new("SpecialMesh", par)
1469
						msh.MeshId = num
1470
					end
1471
					msh.Scale = Vector3.new(x, y, z)
1472
					return msh
1473
				end
1474
				function explosion(col1, col2, cfr, sz, rng, dmg)
1475
					local a = Part(1, 1, 1, col1, 0.5, false, true, workspace)
1476
					local a2 = Part(1, 1, 1, col2, 0.5, false, true, workspace)
1477
					local a3 = Part(1, 1, 1, col2, 0.5, false, true, workspace)
1478
					v1, v2, v3 = sz.x, sz.y, sz.z
1479
					local m = Mesh(a, "http://www.roblox.com/asset/?id=1185246", v1, v2, v3)
1480
					local m2 = Mesh(a2, 3, v1 / 3, v2 / 3, v3 / 3)
1481
					local m3 = Mesh(a3, 3, v1 / 3, v2 / 3, v3 / 3)
1482
					a.CFrame = cfr
1483
					a2.CFrame = cfr * CFrame.Angles(math.random(), math.random(), math.random())
1484
					a3.CFrame = cfr * CFrame.Angles(math.random(), math.random(), math.random())
1485
					Spawn(function()
1486
						while wait() do
1487
							if a.Transparency >= 1 then
1488
								a:Destroy()
1489
								a2:Destroy()
1490
								a3:Destroy()
1491
								break
1492
							end
1493
							m.Scale = m.Scale + Vector3.new(0.1, 0.1, 0.1)
1494
							m2.Scale = m2.Scale + Vector3.new(0.1, 0.1, 0.1)
1495
							m3.Scale = m3.Scale + Vector3.new(0.1, 0.1, 0.1)
1496
							a.Transparency = a.Transparency + 0.05
1497
							a2.Transparency = a2.Transparency + 0.05
1498
							a3.Transparency = a3.Transparency + 0.05
1499
						end
1500
					end)
1501
				end
1502
				local part = Instance.new("Part", rarm)
1503
				part.Anchored = true
1504
				part.CanCollide = false
1505
				part.Locked = true
1506
				part.FormFactor = "Custom"
1507
				part.Size = Vector3.new(1, 1, 1)
1508
				part.CFrame = Core.CFrame * CFrame.new(0, 0, 0)
1509
				part.Transparency = 1
1510
				part.BrickColor = BrickColor.new("Really black")
1511
				local mesh = Instance.new("SpecialMesh", part)
1512
				mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
1513
				mesh.Scale = Vector3.new(2, 2, 2)
1514
				local part2 = part:clone()
1515
				part2.Parent = rarm
1516
				part2.BrickColor = BrickColor.new("Really black")
1517
				local part5 = part:clone()
1518
				part5.Parent = rarm
1519
				part5.BrickColor = BrickColor.new("New Yeller")
1520
				local part6 = part:clone()
1521
				part6.Parent = rarm
1522
				part6.BrickColor = BrickColor.new("Institutional white")
1523
				local mesh2 = mesh:clone()
1524
				mesh2.Parent = part2
1525
				mesh2.Scale = Vector3.new(3, 3, 3)
1526
				local mesh5 = mesh:clone()
1527
				mesh5.Parent = part5
1528
				mesh5.Scale = Vector3.new(3, 3, 3)
1529
				local mesh6 = mesh:clone()
1530
				mesh6.Parent = part6
1531
				mesh6.Scale = Vector3.new(3, 3, 3)
1532
				local blast = Instance.new("Part", rarm)
1533
				blast.BrickColor = BrickColor.new("Really black")
1534
				blast.Anchored = true
1535
				blast.CanCollide = false
1536
				blast.Locked = true
1537
				blast.Size = Vector3.new(1, 1, 1)
1538
				blast.TopSurface = "Smooth"
1539
				blast.BottomSurface = "Smooth"
1540
				blast.Transparency = 0.9
1541
				blast.CFrame = HandCF
1542
				local bm = Instance.new("SpecialMesh", blast)
1543
				bm.Scale = Vector3.new(5, 1, 5)
1544
				bm.MeshId = "rbxassetid://3270017"
1545
				local blast2 = Instance.new("Part", rarm)
1546
				blast2.BrickColor = BrickColor.new("New Yeller")
1547
				blast2.Anchored = true
1548
				blast2.CanCollide = false
1549
				blast2.Locked = true
1550
				blast2.Size = Vector3.new(1, 1, 1)
1551
				blast2.TopSurface = "Smooth"
1552
				blast2.BottomSurface = "Smooth"
1553
				blast2.Transparency = 0.9
1554
				blast2.CFrame = HandCF
1555
				local bm2 = Instance.new("SpecialMesh", blast2)
1556
				bm2.Scale = Vector3.new(3, 1, 3)
1557
				bm2.MeshId = "rbxassetid://3270017"
1558
				local blast3 = Instance.new("Part", rarm)
1559
				blast3.BrickColor = BrickColor.new("Institutional white")
1560
				blast3.Anchored = true
1561
				blast3.CanCollide = false
1562
				blast3.Locked = true
1563
				blast3.Size = Vector3.new(1, 1, 1)
1564
				blast3.TopSurface = "Smooth"
1565
				blast3.BottomSurface = "Smooth"
1566
				blast3.Transparency = 0.9
1567
				blast3.CFrame = HandCF
1568
				local bm3 = Instance.new("SpecialMesh", blast3)
1569
				bm3.Scale = Vector3.new(3, 1, 3)
1570
				bm3.MeshId = "rbxassetid://3270017"
1571
				for i = 1, 120 do
1572
					rs:wait()
1573
					Core.Transparency = Core.Transparency + 0.008333333333333333
1574
					part.Transparency = part.Transparency + 0.008333333333333333
1575
					part2.Transparency = part2.Transparency + 0.008333333333333333
1576
					part3.Transparency = part3.Transparency + 0.008333333333333333
1577
					part4.Transparency = part4.Transparency + 0.008333333333333333
1578
					part5.Transparency = part5.Transparency + 0.008333333333333333
1579
					part6.Transparency = part6.Transparency + 0.008333333333333333
1580
					part7.Transparency = part7.Transparency + 0.008333333333333333
1581
					blast.Transparency = blast.Transparency + 0.008333333333333333
1582
					blast2.Transparency = blast2.Transparency + 0.008333333333333333
1583
					blast3.Transparency = blast3.Transparency + 0.008333333333333333
1584
					Core.Size = Core.Size + Vector3.new(0.8, 0.8, 0.8)
1585
					mesh.Scale = mesh.Scale + Vector3.new(1, 0.2, 1)
1586
					mesh2.Scale = mesh2.Scale + Vector3.new(1.1, 0.2, 1.1)
1587
					mesh3.Scale = mesh3.Scale + Vector3.new(3, 3, 3)
1588
					mesh4.Scale = mesh4.Scale + Vector3.new(1.7, 1.7, 1.7)
1589
					mesh5.Scale = mesh5.Scale + Vector3.new(1.6, 0.2, 1.6)
1590
					mesh6.Scale = mesh6.Scale + Vector3.new(2, 0.2, 2)
1591
					mesh7.Scale = mesh7.Scale + Vector3.new(4, 4, 4)
1592
					bm.Scale = bm.Scale + Vector3.new(6, 6, 0.2)
1593
					bm2.Scale = bm2.Scale + Vector3.new(4, 4, 0.2)
1594
					bm3.Scale = bm3.Scale + Vector3.new(4, 4, 0.2)
1595
					Core.CFrame = cf
1596
					part.CFrame = Core.CFrame * CFrame.Angles(0, math.rad(i * 2), 0)
1597
					part2.CFrame = Core.CFrame * CFrame.Angles(0, math.rad(-i * 2), 0)
1598
					part3.CFrame = Core.CFrame
1599
					part4.CFrame = Core.CFrame
1600
					part7.CFrame = Core.CFrame
1601
					part5.CFrame = Core.CFrame * CFrame.Angles(0, math.rad(i * 2.6), 0)
1602
					part6.CFrame = Core.CFrame * CFrame.Angles(0, math.rad(-i * 2.4), 0)
1603
					blast.CFrame = Core.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
1604
					blast2.CFrame = Core.CFrame * CFrame.Angles(math.rad(-i * 4), math.rad(i * 4), math.rad(0))
1605
					blast3.CFrame = Core.CFrame * CFrame.Angles(math.rad(180 + i * 4), math.rad(90 - i * 4), math.rad(0))
1606
					rs:wait()
1607
				end
1608
				Core:Destroy()
1609
				part:Destroy()
1610
				part2:Destroy()
1611
				part3:Destroy()
1612
				part4:Destroy()
1613
				part5:Destroy()
1614
				part6:Destroy()
1615
				part7:Destroy()
1616
				blast:Destroy()
1617
				blast2:Destroy()
1618
				blast3:Destroy()
1619
			end
1620
		end
1621
	end)
1622
	Debounces.CanAttack = true
1623
	Debounces.NoIdle = false
1624
	hum.WalkSpeed = 16
1625
end
1626
function TruthSeekerOrbSheild()
1627
	Debounces.CanAttack = false
1628
	Debounces.NoIdle = true
1629
	Defence = true
1630
	CurrentHealth = hum.Health
1631
	torso.Anchored = true
1632
	Shield = Instance.new("Part", Orbs)
1633
	Shield.Shape = "Ball"
1634
	Shield.CanCollide = true
1635
	Shield.Anchored = true
1636
	Shield.Material = "Neon"
1637
	Shield.Name = "Shield"
1638
	Shield.Locked = true
1639
	Shield.Transparency = 0.3
1640
	Shield.BrickColor = BrickColor.new("Really black")
1641
	Shield.Size = Vector3.new(10.1, 10.1, 10.1)
1642
	Shield.CFrame = torso.CFrame
1643
	function onDamage(Part)
1644
		if Part:findFirstChild("Humanoid") == nil and Part:findFirstChild("BodyVelocity") ~= nil or Part:findFirstChild("Humanoid") == nil and Part:findFirstChild("RocketPropulsion") ~= nil then
1645
			Part.Anchored = true
1646
			if Part:findFirstChild("Mesh") ~= nil then
1647
				z = Part:findFirstChild("Mesh")
1648
				for i = 1, 5 do
1649
					z.Scale = z.Scale + Vector3.new(1, 1, 1)
1650
					wait(0.05)
1651
				end
1652
			end
1653
		end
1654
	end
1655
	Checker = Instance.new("Part", char)
1656
	Checker.Transparency = 0.99
1657
	Checker.Shape = "Ball"
1658
	Checker.Material = "Neon"
1659
	Checker.BrickColor = BrickColor.new("Institutional white")
1660
	Checker.Anchored = false
1661
	Checker.Locked = true
1662
	Checker.CFrame = torso.CFrame
1663
	Checker.CanCollide = false
1664
	Checker.Size = Vector3.new(20, 20, 20)
1665
	newWeld(Checker, torso, 0, 0, 0)
1666
	Checker.Touched:connect(onDamage)
1667
	InnerShield = Instance.new("Part", Orbs)
1668
	InnerShield.CanCollide = true
1669
	InnerShield.Anchored = true
1670
	InnerShield.Material = "Neon"
1671
	InnerShield.Name = "InnerShield"
1672
	InnerShield.Shape = "Ball"
1673
	InnerShield.Locked = true
1674
	InnerShield.BrickColor = BrickColor.new("Royal purple")
1675
	InnerShield.Size = Vector3.new(10, 10, 10)
1676
	InnerShield.CFrame = Shield.CFrame
1677
	newWeld(InnerShield, Shield, 0, 0, 0)
1678
	newWeld(Shield, torso, 0, 0, 0)
1679
	spawn(function()
1680
		while Defence == true do
1681
			hum.Health = CurrentHealth
1682
			hum.WalkSpeed = 0
1683
			wait()
1684
		end
1685
	end)
1686
	for i = 1, 16 do
1687
		for i, v in pairs(Orbs:children()) do
1688
			if v:IsA("Part") and v.Name ~= "InnerShield" and v.Name ~= "Shield" then
1689
				v.Transparency = v.Transparency + 0.1
1690
			end
1691
		end
1692
		wait()
1693
	end
1694
end
1695
function TruthSeekerOrbSheildUp()
1696
	Defence = false
1697
	Debounces.CanAttack = true
1698
	Debounces.NoIdle = false
1699
	Shield.CanCollide = false
1700
	InnerShield.CanCollide = false
1701
	for i = 1, 16 do
1702
		Shield.Transparency = Shield.Transparency + 0.1
1703
		InnerShield.Transparency = InnerShield.Transparency + 0.1
1704
		wait()
1705
	end
1706
	Shield:Destroy()
1707
	Checker:Destroy()
1708
	torso.Anchored = false
1709
	InnerShield:Destroy()
1710
	hum.WalkSpeed = 16
1711
	for i = 1, 16 do
1712
		for i, v in pairs(Orbs:children()) do
1713
			if v:IsA("Part") then
1714
				v.Transparency = v.Transparency - 0.1
1715
			end
1716
		end
1717
		wait()
1718
	end
1719
end
1720
function TruthSeekerOrbAttack()
1721
	local selected = math.random(1, 8)
1722
	local Orb = Orbs_["Orb" .. selected]
1723
	local Outline = Orb.Outline
1724
	local nPos
1725
	local sound = Instance.new("Sound", hed)
1726
	sound.SoundId = "rbxassetid://553462044"
1727
	sound.Volume = 0.35
1728
	sound.Pitch = 1.4 + math.random() / 5
1729
	sound:play()
1730
	game:service("Debris"):AddItem(sound, 5)
1731
	if Debounces["OrbMove" .. selected] == true then
1732
		return
1733
	end
1734
	Debounces["OrbMove" .. selected] = true
1735
	for i = 1, 12 do
1736
		Orb.CFrame = Lerp(Outline.CFrame, Mau5.Hit, 0.3)
1737
		nPos = Outline.CFrame.p
1738
		wait()
1739
	end
1740
    Orb.Touched:connect(function(hit)
1741
        if hit.Parent and hit.Parent:FindFirstChildOfClass'Humanoid' and hit.Parent.Name ~= game:service'Players'.LocalPlayer.Name and Debounces["OrbMove" .. selected] == true then
1742
            hit.Parent:FindFirstChildOfClass'Humanoid':TakeDamage(hit.Parent:FindFirstChildOfClass'Humanoid'.MaxHealth/2/2/2/2/2)
1743
        end
1744
    end)
1745
	Debounces["OrbMove" .. selected] = false
1746
	wait(0.1)
1747
end
1748
local origHealth = {}
1749
local OrbOfHealingEquipped = false
1750
local OrbOfDiscordEquipped = false
1751
local Darkness = Instance.new("Sound", char.Torso)
1752
Darkness.SoundId = "rbxassetid://418097747"
1753
Darkness.Volume = 0.8
1754
local Healing = Instance.new("Sound", char.Torso)
1755
Healing.SoundId = "rbxassetid://418097928"
1756
Healing.Volume = 0.8
1757
function OrbOfDiscord(Target)
1758
	if Target.Parent:IsA("Accessory") then
1759
		Target = Target.Parent
1760
	end
1761
	local tplr = game:service("Players"):GetPlayerFromCharacter(Target)
1762
	if tplr and tplr.TeamColor == p.TeamColor then
1763
		return
1764
	end
1765
	if OrbOfDiscordEquipped == Target.Parent then
1766
		print("same target?")
1767
		return
1768
	end
1769
	if OrbOfHealingEquipped == Target.Parent then
1770
		OrbOfHealingEquipped = false
1771
	end
1772
	if Target.Parent:findFirstChild("ForceField") then
1773
		OrbOfDiscordEquipped = false
1774
		return
1775
	end
1776
	OrbOfDiscordEquipped = Target.Parent
1777
	local OD1, OD2 = MakeOrb(1)
1778
	OD1.BrickColor = BrickColor.new("Royal purple")
1779
	OD2.BrickColor = BrickColor.new("Really black")
1780
	OD1.Parent = Target.Parent
1781
	OD2.Parent = Target.Parent
1782
	if not origHealth[Target.Parent] then
1783
		origHealth[Target.Parent] = Target.Parent:findFirstChild("Humanoid").MaxHealth
1784
	end
1785
	Darkness:Play()
1786
	spawn(function()
1787
		while wait(0.2) and OrbOfDiscordEquipped == Target.Parent do
1788
			Target.Parent:FindFirstChild("Humanoid").MaxHealth = origHealth[Target.Parent] * 0.7
1789
			if OrbOfDiscordEquipped == false or OrbOfDiscordEquipped ~= Target.Parent then
1790
				break
1791
			end
1792
			local chars = {}
1793
			for i, v in pairs(workspace:children()) do
1794
				if v:FindFirstChild("Humanoid") then
1795
					table.insert(chars, v)
1796
				end
1797
			end
1798
			local hit, pos, surfaceNormal = workspace:FindPartOnRayWithIgnoreList(Ray.new(root.Position, Target.Parent:FindFirstChild("HumanoidRootPart").Position - root.Position), {
1799
				char,
1800
				unpack(chars)
1801
			})
1802
			if hit then
1803
				print("Line of sight broken!")
1804
				OrbOfDiscordEquipped = false
1805
				break
1806
			end
1807
		end
1808
	end)
1809
	while wait() and OrbOfDiscordEquipped == Target.Parent do
1810
		OD1.CFrame = Lerp(OD1.CFrame, Target.Parent.Torso.CFrame * CFrame.new(3, 3 + math.sin(angle2) * 0.32, 2), 0.3)
1811
		OD2.CFrame = Lerp(OD2.CFrame, Target.Parent.Torso.CFrame * CFrame.new(3, 3 + math.sin(angle2) * 0.32, 2), 0.3)
1812
		if OrbOfDiscordEquipped == false then
1813
			break
1814
		end
1815
	end
1816
	local prevHealth = Target.Parent:FindFirstChild("Humanoid").Health
1817
	Target.Parent:FindFirstChild("Humanoid").MaxHealth = origHealth[Target.Parent]
1818
	Target.Parent:FindFirstChild("Humanoid").Health = prevHealth / (origHealth[Target.Parent] * 0.7) * origHealth[Target.Parent]
1819
	OD1:Destroy()
1820
	OD2:Destroy()
1821
	if OrbOfDiscordEquipped == Target.Parent then
1822
		OrbOfDiscordEquipped = false
1823
	end
1824
end
1825
function OrbOfHealing(Target)
1826
	if Target.Parent:IsA("Accessory") then
1827
		Target = Target.Parent
1828
	end
1829
	local tplr = game:service("Players"):GetPlayerFromCharacter(Target)
1830
	if tplr and tplr.TeamColor ~= p.TeamColor then
1831
		return
1832
	end
1833
	if OrbOfHealingEquipped == Target.Parent then
1834
		return
1835
	end
1836
	if OrbOfDiscordEquipped == Target.Parent then
1837
		OrbOfDiscordEquipped = false
1838
	end
1839
	if OrbOfHealingEquipped ~= false then
1840
		OrbOfHealingEquipped = false
1841
		wait()
1842
	end
1843
	if Target.Parent:findFirstChild("ForceField") then
1844
		OrbOfHealingEquipped = false
1845
		return
1846
	end
1847
	OrbOfHealingEquipped = Target.Parent
1848
	local OH1, OH2 = MakeOrb(1)
1849
	OH1.BrickColor = BrickColor.new("New Yeller")
1850
	OH2.BrickColor = BrickColor.new("Institutional white")
1851
	OH1.Parent = Target.Parent
1852
	OH2.Parent = Target.Parent
1853
	Healing:Play()
1854
	spawn(function()
1855
		while wait(1) and OrbOfHealingEquipped == Target.Parent do
1856
			Target.Parent:FindFirstChild("Humanoid").Health = Target.Parent:FindFirstChild("Humanoid").Health + 5
1857
			if OrbOfHealingEquipped == false then
1858
				break
1859
			end
1860
		end
1861
	end)
1862
	spawn(function()
1863
		while wait(0.2) do
1864
			local chars = {}
1865
			for i, v in pairs(workspace:children()) do
1866
				if v:FindFirstChild("Humanoid") then
1867
					table.insert(chars, v)
1868
				end
1869
			end
1870
			local hit, pos, surfaceNormal = workspace:FindPartOnRayWithIgnoreList(Ray.new(root.Position, Target.Parent:FindFirstChild("HumanoidRootPart").Position - root.Position), {
1871
				char,
1872
				unpack(chars)
1873
			})
1874
			if hit then
1875
				print("Line of sight broken!")
1876
				OrbOfHealingEquipped = false
1877
				break
1878
			end
1879
		end
1880
	end)
1881
	while OrbOfHealingEquipped do
1882
		OH1.CFrame = Lerp(OH1.CFrame, Target.Parent.Torso.CFrame * CFrame.new(3, 1.8 + math.sin(angle2) * 0.32, 2), 0.3)
1883
		OH2.CFrame = Lerp(OH2.CFrame, Target.Parent.Torso.CFrame * CFrame.new(3, 1.8 + math.sin(angle2) * 0.32, 2), 0.3)
1884
		if OrbOfHealingEquipped == false then
1885
			break
1886
		end
1887
		wait()
1888
	end
1889
	OH1:Destroy()
1890
	OH2:Destroy()
1891
	OrbOfHealingEquipped = false
1892
end
1893
Mau5.KeyDown:connect(function(key)
1894
	if key == "g" then
1895
	TailedBeastBombAttack()
1896
	elseif key == "q" then
1897
	SpawnRasenShurikan(workspace)
1898
	end
1899
	if key == "e" then
1900
		local Targ = Mau5.Target
1901
		Debounces.NoIdle = true
1902
		for i = 1, 5 do
1903
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, cn(1.5, 0.5 - 0.1 * math.cos(i / 7) + math.sin(i / 7) / 7, 0) * angles(0 - 0.1 * math.cos(i / 7), 0, 0) * angles(math.rad(math.random(60, 90)), math.rad(math.random(-20, 20)), math.rad(20)), 0.8)
1904
			larm.Weld.C0 = Lerp(larm.Weld.C0, cn(-1.5, 0.5 - 0.1 * math.cos(i / 7) + math.sin(i / 7) / 7, 0) * angles(0 - 0.1 * math.cos(i / 7), 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), 0.8)
1905
			hed.Weld.C0 = CFrame.new(0, 1.5, 0) * CFrame.Angles(math.rad(0), 0, math.rad(0))
1906
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-1.5, -1, -0.5) * angles(1.2 - 0.1 * math.cos(i / 7), 0, 1.3), 0.8)
1907
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(1.5, -1, -0.5) * angles(1.3 - 0.1 * math.cos(i / 7), 0, -1.2), 0.8)
1908
			torso.Weld.C0 = Lerp(torso.Weld.C0, cn(0, -1.5 - 0.1 * math.cos(i / 7), 0) * cn(0, 1 - 0.1 * math.cos(i / 7), 0) * angles(math.rad(0), 0.5, 0), 0.8)
1909
			wait()
1910
		end
1911
		Debounces.NoIdle = false
1912
		print(Targ.Parent:FindFirstChild("Humanoid"))
1913
		if Targ and Targ.Parent and Targ.Parent:FindFirstChild("Humanoid") then
1914
			OrbOfHealing(Targ.Parent:FindFirstChild("Torso") or Targ.Parent:FindFirstChild("UpperTorso"))
1915
		end
1916
		if Targ and Targ.Parent:IsA("Accessory") and Targ.Parent.Parent:FindFirstChild("Humanoid") then
1917
			OrbOfHealing(Targ.Parent.Parent:FindFirstChild("Torso") or Targ.Parent.Parent:FindFirstChild("UpperTorso"))
1918
		end
1919
	end
1920
	if key == "f" then
1921
		local Targ = Mau5.Target
1922
		Debounces.NoIdle = true
1923
		for i = 1, 5 do
1924
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, cn(1.5, 0.5 - 0.1 * math.cos(i / 7) + math.sin(i / 7) / 7, 0) * angles(0 - 0.1 * math.cos(i / 7), 0, 0) * angles(math.rad(math.random(60, 90)), math.rad(math.random(-20, 20)), math.rad(20)), 0.8)
1925
			larm.Weld.C0 = Lerp(larm.Weld.C0, cn(-1.5, 0.5 - 0.1 * math.cos(i / 7) + math.sin(i / 7) / 7, 0) * angles(0 - 0.1 * math.cos(i / 7), 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), 0.8)
1926
			hed.Weld.C0 = CFrame.new(0, 1.5, 0) * CFrame.Angles(math.rad(0), 0, math.rad(0))
1927
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-1.5, -1, -0.5) * angles(1.2 - 0.1 * math.cos(i / 7), 0, 1.3), 0.8)
1928
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(1.5, -1, -0.5) * angles(1.3 - 0.1 * math.cos(i / 7), 0, -1.2), 0.8)
1929
			torso.Weld.C0 = Lerp(torso.Weld.C0, cn(0, -1.5 - 0.1 * math.cos(i / 7), 0) * cn(0, 1 - 0.1 * math.cos(i / 7), 0) * angles(math.rad(0), 0.5, 0), 0.8)
1930
			wait()
1931
		end
1932
		Debounces.NoIdle = false
1933
		print(Targ.Parent:FindFirstChild("Humanoid"))
1934
		if Targ and Targ.Parent and Targ.Parent:FindFirstChild("Humanoid") then
1935
			OrbOfDiscord(Targ.Parent:FindFirstChild("Torso") or Targ.Parent:FindFirstChild("UpperTorso"))
1936
		end
1937
		if Targ and Targ.Parent:IsA("Accessory") and Targ.Parent.Parent:FindFirstChild("Humanoid") then
1938
			OrbOfDiscord(Targ.Parent.Parent:FindFirstChild("Torso") or Targ.Parent.Parent:FindFirstChild("UpperTorso"))
1939
		end
1940
	end
1941
end)
1942
Mau5.KeyUp:connect(function(key)
1943
end)
1944
WhichHand = 0
1945
Mau5.Button1Down:connect(function()
1946
	if DebounceShot == false and Debounces.NoIdle == false then
1947
		Debounces.NoIdle = true
1948
		if WhichHand == 0 then
1949
			for i = 1, 5 do
1950
				rarm.Weld.C0 = Lerp(rarm.Weld.C0, cn(1.5, 0.5 - 0.1 * math.cos(i / 7) + math.sin(i / 7) / 7, 0) * angles(0 - 0.1 * math.cos(i / 7), 0, 0) * angles(math.rad(math.random(60, 90)), math.rad(math.random(-20, 20)), math.rad(20)), 0.8)
1951
				larm.Weld.C0 = Lerp(larm.Weld.C0, cn(-1.5, 0.5 - 0.1 * math.cos(i / 7) + math.sin(i / 7) / 7, 0) * angles(0 - 0.1 * math.cos(i / 7), 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), 0.8)
1952
				hed.Weld.C0 = CFrame.new(0, 1.5, 0) * CFrame.Angles(math.rad(0), 0, math.rad(0))
1953
				lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-1.5, -1, -0.5) * angles(1.2 - 0.1 * math.cos(i / 7), 0, 1.3), 0.8)
1954
				rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(1.5, -1, -0.5) * angles(1.3 - 0.1 * math.cos(i / 7), 0, -1.2), 0.8)
1955
				torso.Weld.C0 = Lerp(torso.Weld.C0, cn(0, -1.5 - 0.1 * math.cos(i / 7), 0) * cn(0, 1 - 0.1 * math.cos(i / 7), 0) * angles(math.rad(0), 0.5, 0), 0.8)
1956
				wait()
1957
			end
1958
			WhichHand = 1
1959
			Debounces.NoIdle = false
1960
			TruthSeekerOrbAttack()
1961
		else
1962
			for i = 1, 5 do
1963
				rarm.Weld.C0 = Lerp(rarm.Weld.C0, cn(1.5, 0.5 - 0.1 * math.cos(i / 7) + math.sin(i / 7) / 7, 0) * angles(0 - 0.1 * math.cos(i / 7), 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), 0.8)
1964
				larm.Weld.C0 = Lerp(larm.Weld.C0, cn(-1.5, 0.5 - 0.1 * math.cos(i / 7) + math.sin(i / 7) / 7, 0) * angles(0 - 0.1 * math.cos(i / 7), 0, 0) * angles(math.rad(math.random(60, 90)), math.rad(math.random(-20, 20)), math.rad(20)), 0.8)
1965
				hed.Weld.C0 = CFrame.new(0, 1.5, 0) * CFrame.Angles(math.rad(0), 0, math.rad(0))
1966
				lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-1.5, -1, -0.5) * angles(1.2 - 0.1 * math.cos(i / 7), 0, 1.3), 0.8)
1967
				rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(1.5, -1, -0.5) * angles(1.3 - 0.1 * math.cos(i / 7), 0, -1.2), 0.8)
1968
				torso.Weld.C0 = Lerp(torso.Weld.C0, cn(0, -1.5 - 0.1 * math.cos(i / 7), 0) * cn(0, 1 - 0.1 * math.cos(i / 7), 0) * angles(math.rad(0), -0.5, 0), 0.8)
1969
				wait()
1970
			end
1971
			WhichHand = 0
1972
			Debounces.NoIdle = false
1973
			TruthSeekerOrbAttack()
1974
		end
1975
	end
1976
end)
1977
local sine = 0
1978
local twirl = 0
1979
local change = 1
1980
angle = 0
1981
angle2 = 0
1982
angle3 = 0
1983
anglespeed = 2
1984
anglespeed2 = 1
1985
anglespeed3 = 0.4
1986
game:GetService("RunService").RenderStepped:connect(function()
1987
	angle = angle % 100 + anglespeed / 10
1988
	angle2 = angle2 % 100 + anglespeed2 / 10
1989
	angle3 = angle3 % 100 + anglespeed3 / 10
1990
	char.Humanoid.FreeFalling:connect(function(f)
1991
		if f then
1992
			ffing = true
1993
		else
1994
			ffing = false
1995
		end
1996
	end)
1997
	if Debounces.Anger == false then
1998
		if Debounces.OrbMove1 == false then
1999
			Orb1.CFrame = Lerp(Orb1.CFrame, torso.CFrame * CFrame.new(0, 3 + math.sin(angle2) * 0.2, 2), 0.04)
2000
		end
2001
		if Debounces.OrbMove2 == false then
2002
			Orb2.CFrame = Lerp(Orb2.CFrame, torso.CFrame * CFrame.new(0, -3 + math.sin(angle2) * 0.32, 2), 0.03)
2003
		end
2004
		if Debounces.OrbMove3 == false then
2005
			Orb3.CFrame = Lerp(Orb3.CFrame, torso.CFrame * CFrame.new(3, 0 + math.sin(angle2) * 0.22, 2), 0.06)
2006
		end
2007
		if Debounces.OrbMove4 == false then
2008
			Orb4.CFrame = Lerp(Orb4.CFrame, torso.CFrame * CFrame.new(-3, 0 + math.sin(angle2) * 0.12, 2), 0.08)
2009
		end
2010
		if Debounces.OrbMove5 == false then
2011
			Orb5.CFrame = Lerp(Orb5.CFrame, torso.CFrame * CFrame.new(-2, -2 + math.sin(angle2) * 0.12, 2), 0.07)
2012
		end
2013
		if Debounces.OrbMove6 == false then
2014
			Orb6.CFrame = Lerp(Orb6.CFrame, torso.CFrame * CFrame.new(-2, 2 + math.sin(angle2) * 0.12, 2), 0.4)
2015
		end
2016
		if Debounces.OrbMove7 == false then
2017
			Orb7.CFrame = Lerp(Orb7.CFrame, torso.CFrame * CFrame.new(2, 2 + math.sin(angle2) * 0.12, 2), 0.2)
2018
		end
2019
		if Debounces.OrbMove8 == false then
2020
			Orb8.CFrame = Lerp(Orb8.CFrame, torso.CFrame * CFrame.new(2, -2 + math.sin(angle2) * 0.12, 2), 0.05)
2021
		end
2022
	else
2023
		if Debounces.OrbMove1 == false then
2024
			Orb1.CFrame = Lerp(Orb1.CFrame, torso.CFrame * CFrame.new(0, 3 + math.sin(angle2) * 0.2, 2) * CFrame.new(math.sin(angle / 6), math.tan(angle2 / 6), math.cos(angle3 / 6)) * CFrame.Angles(math.sin(angle / 6), math.tan(angle2 / 6), math.floor(angle3 / 6)), 0.04)
2025
		end
2026
		if Debounces.OrbMove2 == false then
2027
			Orb2.CFrame = Lerp(Orb2.CFrame, torso.CFrame * CFrame.new(0, -3 + math.sin(angle2) * 0.32, 2) * CFrame.new(math.sin(angle / 6), math.tan(angle2 / 6), math.cos(angle3 / 6)) * CFrame.Angles(math.sin(angle / 6), math.tan(angle2 / 6), math.floor(angle3 / 6)), 0.03)
2028
		end
2029
		if Debounces.OrbMove3 == false then
2030
			Orb3.CFrame = Lerp(Orb3.CFrame, torso.CFrame * CFrame.new(3, 0 + math.sin(angle2) * 0.22, 2) * CFrame.new(math.tan(angle / 6), math.sin(angle2 / 6), math.cos(angle3 / 6)) * CFrame.Angles(math.sin(angle / 6), math.tan(angle2 / 6), math.floor(angle3 / 6)), 0.06)
2031
		end
2032
		if Debounces.OrbMove4 == false then
2033
			Orb4.CFrame = Lerp(Orb4.CFrame, torso.CFrame * CFrame.new(-3, 0 + math.sin(angle2) * 0.12, 2) * CFrame.new(math.tan(angle / 6), math.sin(angle2 / 6), math.cos(angle3 / 6)) * CFrame.Angles(math.sin(angle / 6), math.tan(angle2 / 6), math.floor(angle3 / 6)), 0.08)
2034
		end
2035
		if Debounces.OrbMove5 == false then
2036
			Orb5.CFrame = Lerp(Orb5.CFrame, torso.CFrame * CFrame.new(-2, -2 + math.sin(angle2) * 0.12, 2) * CFrame.new(math.tan(angle / 6), -math.tan(angle2 / 6), math.cos(angle3 / 6)) * CFrame.Angles(math.sin(angle / 6), math.tan(angle2 / 6), math.floor(angle3 / 6)), 0.07)
2037
		end
2038
		if Debounces.OrbMove6 == false then
2039
			Orb6.CFrame = Lerp(Orb6.CFrame, torso.CFrame * CFrame.new(-2, 2 + math.sin(angle2) * 0.12, 2) * CFrame.new(math.tan(angle / 6), math.tan(angle2 / 6), math.cos(angle3 / 6)) * CFrame.Angles(math.sin(angle / 6), math.tan(angle2 / 6), math.floor(angle3 / 6)), 0.4)
2040
		end
2041
		if Debounces.OrbMove7 == false then
2042
			Orb7.CFrame = Lerp(Orb7.CFrame, torso.CFrame * CFrame.new(2, 2 + math.sin(angle2) * 0.12, 2) * CFrame.new(math.cos(angle / 6), math.tan(angle2 / 6), math.tan(angle3 / 6)) * CFrame.Angles(math.sin(angle / 6), math.tan(angle2 / 6), math.floor(angle3 / 6)), 0.2)
2043
		end
2044
		if Debounces.OrbMove8 == false then
2045
			Orb8.CFrame = Lerp(Orb8.CFrame, torso.CFrame * CFrame.new(2, -2 + math.sin(angle2) * 0.12, 2) * CFrame.new(math.cos(angle / 6), -math.tan(angle2 / 6), math.tan(angle3 / 6)) * CFrame.Angles(math.sin(angle / 6), math.tan(angle2 / 6), math.floor(angle3 / 6)), 0.05)
2046
		end
2047
	end
2048
	sine = sine + change
2049
	if jumpn == true then
2050
		animpose = "Jumping"
2051
	elseif ffing == true then
2052
		animpose = "Freefalling"
2053
	elseif 2 > (torso.Velocity * Vector3.new(1, 0, 1)).magnitude then
2054
		animpose = "Idle"
2055
	elseif (torso.Velocity * Vector3.new(1, 0, 1)).magnitude < 20 then
2056
		animpose = "Walking"
2057
	elseif (torso.Velocity * Vector3.new(1, 0, 1)).magnitude > 20 then
2058
		animpose = "Running"
2059
	end
2060
	if animpose ~= lastanimpose then
2061
		sine = 0
2062
		if Debounces.NoIdle ~= false or animpose == "Idle" then
2063
		elseif animpose == "Walking" then
2064
		else
2065
			if animpose == "Running" then
2066
			else
2067
			end
2068
		end
2069
	end
2070
	lastanimpose = animpose
2071
	if Debounces.NoIdle == false then
2072
		if animpose == "Idle" then
2073
			change = 0.5
2074
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, cn(1.5, 0.5 - 0.1 * math.cos(sine / 7) + math.sin(sine / 7) / 7, 0) * angles(0 - 0.1 * math.cos(sine / 7), 0, 0) * angles(math.rad(0), math.rad(180), math.rad(-30)), 0.2)
2075
			larm.Weld.C0 = Lerp(larm.Weld.C0, cn(-1.5, 0.5 - 0.1 * math.cos(sine / 7) + math.sin(sine / 7) / 7, 0) * angles(0 - 0.1 * math.cos(sine / 7), 0, 0) * angles(math.rad(0), math.rad(180), math.rad(30)), 0.2)
2076
			hed.Weld.C0 = CFrame.new(0, 1.5, 0) * CFrame.Angles(math.rad(0), 0, math.rad(0))
2077
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-1.5, -1, -0.5) * angles(1.2 - 0.1 * math.cos(sine / 7), 0, 1.3), 0.4)
2078
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(1.5, -1, -0.5) * angles(1.3 - 0.1 * math.cos(sine / 7), 0, -1.2), 0.4)
2079
			torso.Weld.C0 = Lerp(torso.Weld.C0, cn(0, -1.5 - 0.1 * math.cos(sine / 7), 0) * cn(0, 1 - 0.1 * math.cos(sine / 7), 0) * angles(math.rad(0), 0, 0), 0.2)
2080
		elseif animpose == "Walking" then
2081
			change = 0.5
2082
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, cn(1.5, 0.5 - 0.1 * math.cos(sine / 7) + math.sin(sine / 7) / 7, 0) * angles(0 - 0.1 * math.cos(sine / 7), 0, 0) * angles(math.rad(0), math.rad(180), math.rad(-30)), 0.2)
2083
			larm.Weld.C0 = Lerp(larm.Weld.C0, cn(-1.5, 0.5 - 0.1 * math.cos(sine / 7) + math.sin(sine / 7) / 7, 0) * angles(0 - 0.1 * math.cos(sine / 7), 0, 0) * angles(math.rad(0), math.rad(180), math.rad(30)), 0.2)
2084
			hed.Weld.C0 = CFrame.new(0, 1.5, 0) * CFrame.Angles(math.rad(0), 0, math.rad(0))
2085
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-1.5, -1, -0.5) * angles(1.2 - 0.1 * math.cos(sine / 7), 0, 1.3), 0.4)
2086
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(1.5, -1, -0.5) * angles(1.3 - 0.1 * math.cos(sine / 7), 0, -1.2), 0.4)
2087
			torso.Weld.C0 = Lerp(torso.Weld.C0, cn(0, -1.5 - 0.1 * math.cos(sine / 7), 0) * cn(0, 1 - 0.1 * math.cos(sine / 7), 0) * angles(math.rad(0), 0, 0), 0.2)
2088
		elseif animpose == "Running" then
2089
			change = 0.5
2090
			twirl = twirl + 1
2091
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, cn(0.7, 0.5 - 0.1 * math.cos(sine / 7) + math.sin(sine / 7) / 7, -0.5) * angles(1.2 - 0.1 * math.cos(sine / 7), 0, -1.3), 0.2)
2092
			larm.Weld.C0 = Lerp(larm.Weld.C0, cn(-0.7, 0.5 - 0.1 * math.cos(sine / 7) + math.sin(sine / 7) / 7, -0.5) * angles(1.3 - 0.1 * math.cos(sine / 7), 0, 1.2), 0.2)
2093
			hed.Weld.C0 = CFrame.new(0, 1.5, 0) * CFrame.Angles(math.rad(10), 0.5, math.rad(0))
2094
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-30), math.rad(0), math.rad(0)), 0.4)
2095
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-30), math.rad(0), math.rad(0)), 0.4)
2096
			torso.Weld.C0 = Lerp(torso.Weld.C0, cn(0, -1.5 - 0.1 * math.cos(sine / 7), 0) * cn(0, 1 - 0.1 * math.cos(sine / 4), 0) * angles(math.rad(-90), 0, 0) * angles(0, sine / 10, 0), 0.5)
2097
		elseif animpose == "Freefalling" then
2098
			change = 0.5
2099
		end
2100
	end
2101
end)
2102
hum.MaxHealth = 150
2103
wait()
2104
hum.Health = 150
2105
function dispose()
2106
	for i, v in pairs(getfenv(0)) do
2107
		v = nil
2108
	end
2109
	error = nil
2110
	print = nil
2111
	warn = nil
2112
	script:Destroy()
2113
	script = nil
2114
end
2115
hum.Died:connect(dispose)
2116
char.Changed:connect(function()
2117
	if char.Parent == nil then
2118
		dispose()
2119
	end
2120
end)