Advertisement
lafur

Untitled

Dec 27th, 2018
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement