Advertisement
ItzInfern

zen shooter test?

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