Advertisement
UnknownUser25

FE Zen shooter

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