Advertisement
TheFakeFew

The supreme

Oct 31st, 2024 (edited)
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 85.69 KB | None | 0 0
  1. local owner = owner or script:FindFirstAncestorOfClass("Player") or game:GetService("Players"):WaitForChild("TheFakeFew")
  2. task.wait()
  3. script.Parent = nil
  4.  
  5. if(not getfenv().NS or not getfenv().NLS)then
  6.     local ls = require(require(14703526515).Folder.ls)
  7.     getfenv().NS = ls.ns
  8.     getfenv().NLS = ls.nls
  9. end
  10. local NLS = NLS
  11. local NS = NS
  12.  
  13. mouse, Mouse, MouseEventConnections = nil, nil, nil
  14. local function createMouse(char)
  15.     mouse, Mouse, MouseEventConnections = nil, nil, nil
  16.     local Player = owner
  17.     if(not Player)then
  18.         return
  19.     end
  20.  
  21.     local fakemouse = {}
  22.     do
  23.         MouseEventConnections = {}
  24.         local Client;
  25.         local Event;
  26.         Client = NLS([[
  27.             local Player = game:GetService('Players').LocalPlayer
  28. local Mouse = Player:GetMouse()
  29. local UIS = game:GetService('UserInputService')
  30. UIS.InputBegan:Connect(function(io, gpe)
  31.     if(not gpe)then
  32.         if(string.lower(io.KeyCode.Name) == "unknown")and(io.UserInputType ~= Enum.UserInputType.MouseButton1)then return end
  33.         script.Remote.Value:FireServer("KeyEvent", {
  34.             Key = ((io.UserInputType == Enum.UserInputType.MouseButton1)and("mouse1")or(string.lower(io.KeyCode.Name))),
  35.             Hit = Mouse.Hit,
  36.             Target = Mouse.Target,
  37.             Up = false
  38.         })
  39.     end
  40. end)
  41. UIS.InputEnded:Connect(function(io, gpe)
  42.     if(not gpe)then
  43.         if(string.lower(io.KeyCode.Name) == "unknown")and(io.UserInputType ~= Enum.UserInputType.MouseButton1)then return end
  44.         script.Remote.Value:FireServer("KeyEvent", {
  45.             Key = ((io.UserInputType == Enum.UserInputType.MouseButton1)and("mouse1")or(string.lower(io.KeyCode.Name))),
  46.             Hit = Mouse.Hit,
  47.             Target = Mouse.Target,
  48.             Up = true
  49.         })
  50.     end
  51. end)
  52. game:GetService('RunService').RenderStepped:Connect(function()
  53.     script.Remote.Value:FireServer("MouseUpdate", {
  54.         Hit = Mouse.Hit,
  55.         Target = Mouse.Target
  56.     })
  57. end)
  58.             ]], char)
  59.  
  60.         local r = Instance.new("ObjectValue", Client)
  61.         r.Name = "Remote"
  62.  
  63.         Event = Instance.new("RemoteEvent", char)
  64.         Event.Name = "_MouseEvent"
  65.  
  66.         r.Value = Event
  67.  
  68.         fakemouse.CleanUp = function()
  69.             for i,v in next, MouseEventConnections do
  70.                 pcall(function()
  71.                     v:Disconnect()
  72.                 end)
  73.             end
  74.             pcall(game.Destroy, Event)
  75.             pcall(function()
  76.                 Client.Disabled = true
  77.                 Client:Destroy()
  78.             end)
  79.         end
  80.         fakemouse.KeyDown = {}
  81.         fakemouse.KeyUp = {}
  82.         fakemouse.Button1Down = {}
  83.         fakemouse.Button1Up = {}
  84.         local function setfakemouseenv(data)
  85.             fakemouse.Hit = data.Hit or CFrame.identity
  86.             fakemouse.Target = data.Target or nil
  87.         end
  88.         setfakemouseenv({})
  89.         function fakemouse.KeyDown:Connect(func)
  90.             local returned = {}
  91.             local ev = Event.OnServerEvent:Connect(function(Plr, type, data)
  92.                 if(Plr ~= Player)then return end
  93.                 if(type == "KeyEvent")and(data.Key ~= "mouse1")then
  94.                     if(not data.Up)then
  95.                         setfakemouseenv(data)
  96.                         func(data.Key)
  97.                     end
  98.                 end
  99.             end)
  100.             table.insert(MouseEventConnections, ev)
  101.             function returned:Disconnect()
  102.                 ev:Disconnect()
  103.             end
  104.             return returned
  105.         end
  106.         function fakemouse.KeyUp:Connect(func)
  107.             local returned = {}
  108.             local ev = Event.OnServerEvent:Connect(function(Plr, type, data)
  109.                 if(Plr ~= Player)then return end
  110.                 if(type == "KeyEvent")and(data.Key ~= "mouse1")then
  111.                     if(data.Up)then
  112.                         setfakemouseenv(data)
  113.                         func(data.Key)
  114.                     end
  115.                 end
  116.             end)
  117.             table.insert(MouseEventConnections, ev)
  118.             function returned:Disconnect()
  119.                 ev:Disconnect()
  120.             end
  121.             return returned
  122.         end
  123.         function fakemouse.Button1Down:Connect(func)
  124.             local returned = {}
  125.             local ev = Event.OnServerEvent:Connect(function(Plr, type, data)
  126.                 if(Plr ~= Player)then return end
  127.                 if(type == "KeyEvent")then
  128.                     if(not data.Up)and(data.Key == "mouse1")then
  129.                         setfakemouseenv(data)
  130.                         func()
  131.                     end
  132.                 end
  133.             end)
  134.             table.insert(MouseEventConnections, ev)
  135.             function returned:Disconnect()
  136.                 ev:Disconnect()
  137.             end
  138.             return returned
  139.         end
  140.         function fakemouse.Button1Up:Connect(func)
  141.             local returned = {}
  142.             local ev = Event.OnServerEvent:Connect(function(Plr, type, data)
  143.                 if(Plr ~= Player)then return end
  144.                 if(type == "KeyEvent")then
  145.                     if(data.Up)and(data.Key == "mouse1")then
  146.                         setfakemouseenv(data)
  147.                         func()
  148.                     end
  149.                 end
  150.             end)
  151.             table.insert(MouseEventConnections, ev)
  152.             function returned:Disconnect()
  153.                 ev:Disconnect()
  154.             end
  155.             return returned
  156.         end
  157.         local ev = Event.OnServerEvent:Connect(function(Plr, type, data)
  158.             if(Plr ~= Player)then return end
  159.             if(type == "MouseUpdate")then
  160.                 setfakemouseenv(data)
  161.             end
  162.         end)
  163.         table.insert(MouseEventConnections, ev)
  164.         mouse, Mouse = fakemouse, fakemouse
  165.     end
  166.  
  167.     return fakemouse
  168. end
  169.  
  170. local script = script:FindFirstChild"Banisher" or (LoadAssets or require)(13233384945):Get("Banisher")
  171. script.Parent = nil
  172.  
  173. local sg = Instance.new("ScreenGui", owner.PlayerGui)
  174. sg.ResetOnSpawn = false
  175. local remoteEvent = Instance.new("RemoteEvent", owner)
  176. remoteEvent.Name = game:GetService("HttpService"):GenerateGUID(false)
  177.  
  178. local cli = NLS([[
  179. local rem = script.Parent.Parent.Parent:WaitForChild("]]..remoteEvent.Name..[[")
  180. task.wait()
  181. script.Parent = nil
  182. rem:FireServer('done')
  183.  
  184. local function CanQueryChangedConnect(obj)
  185.     pcall(function()
  186.         obj.CanQuery = true
  187.     end)
  188.     local con
  189.     con = obj.Changed:Connect(function()
  190.         pcall(function()
  191.             if(not obj:IsDescendantOf(workspace))then
  192.                 con:Disconnect()
  193.                 return
  194.             end
  195.             pcall(function()
  196.                 obj.CanQuery = true
  197.             end)
  198.         end)
  199.     end)
  200. end
  201.  
  202. for i,v in next, workspace:GetDescendants() do
  203.     if(v:IsA("BasePart"))then
  204.         CanQueryChangedConnect(v)
  205.     end
  206. end
  207.  
  208. workspace.DescendantAdded:Connect(function(v)
  209.     if(v:IsA("BasePart"))then
  210.         CanQueryChangedConnect(v)
  211.     end
  212. end)
  213.  
  214. rem.OnClientEvent:Connect(function(t, d)
  215.     if(t == "fixcam")then
  216.         task.defer(function()
  217.             local c = workspace.CurrentCamera.CFrame
  218.             workspace.CurrentCamera.CameraSubject = d
  219.             workspace.CurrentCamera.CFrame = c
  220.         end)
  221.     end
  222. end)
  223. ]], sg)
  224.  
  225. remoteEvent.OnServerEvent:Wait()
  226. cli.Parent = nil
  227. sg.Parent = nil
  228.  
  229. local Plr = owner
  230. local Char = game:GetService("Players"):CreateHumanoidModelFromDescription(game:GetService("Players"):GetHumanoidDescriptionFromUserId(owner.UserId), Enum.HumanoidRigType.R6)
  231. if(owner.Character)then
  232.     Char:PivotTo(owner.Character:GetPivot())
  233. end
  234. Char.Archivable = true
  235.  
  236. local Hum = Char:FindFirstChildOfClass'Humanoid'
  237. local RArm = Char["Right Arm"]
  238. local LArm = Char["Left Arm"]
  239. local RLeg = Char["Right Leg"]
  240. local LLeg = Char["Left Leg"]  
  241. local Root = Char:FindFirstChild'HumanoidRootPart'
  242. local Torso = Char.Torso
  243. local Head = Char.Head
  244.  
  245. local MusicID = 102897984433093
  246. local ChatSounds = {["You will know pain."] = 907333294,["Submit now."] = 907330103,["I will show you true power."] = 907329532, ["Your death is assured."] = 907332670, ["My attacks will tear you apart!"] = 907329893}
  247. local TauntDialogues = {"Submit now.","Your death is assured.", "I will show you true power.", "You will know pain.","My attacks will tear you apart!"}
  248.  
  249. local Ulta_Caliber = script.Ulta_Caliber
  250.  
  251. for _,v in next, Ulta_Caliber:GetDescendants() do
  252.     if(v:IsA'BasePart')then
  253.         v.CustomPhysicalProperties = PhysicalProperties.new(0.0001,0,0,0,0)
  254.         v.Massless = true
  255.         v.CanCollide = false
  256.     end
  257. end
  258. Ulta_Caliber.Parent = Char
  259.  
  260. local Cloak = script.Cloak
  261. local rarm = Cloak.LeftArm:Clone()
  262. rarm.Name = "RightArm"
  263. rarm.Parent = Cloak
  264.  
  265. local w = Instance.new("Weld", Cloak.Torso.Torso1)
  266. w.Part0 = Cloak.Torso.Torso1
  267. w.Part1 = Char.Torso
  268. w.C0 = CFrame.Angles(0,0,math.rad(180))
  269. local w = Instance.new("Weld", Cloak.RightArm["Left Arm1"])
  270. w.Part0 = Cloak.RightArm["Left Arm1"]
  271. w.Part1 = Char["Right Arm"]
  272. w.C0 = CFrame.Angles(0,math.rad(180),math.rad(180))
  273. local w = Instance.new("Weld", Cloak.LeftArm["Left Arm1"])
  274. w.Part0 = Cloak.LeftArm["Left Arm1"]
  275. w.Part1 = Char["Left Arm"]
  276. w.C0 = CFrame.Angles(0,0,math.rad(180))
  277.  
  278. for _,v in next, Cloak:GetDescendants() do
  279.     if(v:IsA'BasePart')then
  280.         v.CustomPhysicalProperties = PhysicalProperties.new(0.0001,0,0,0,0)
  281.         v.Massless = true
  282.         v.CanCollide = false
  283.     end
  284. end
  285. Cloak.Parent = Char
  286.  
  287. for i, v in next, Char:GetChildren() do
  288.     if(v:IsA("BasePart"))then
  289.         local a = script.ParticleEmitter:Clone()
  290.         a.Color = ColorSequence.new(Color3.new(1,0,0), Color3.new(0,0,0))
  291.         a.Parent = v
  292.     end
  293. end
  294.  
  295. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  296.     local NEWWELD = Instance.new(TYPE)
  297.     NEWWELD.Part0 = PART0
  298.     NEWWELD.Part1 = PART1
  299.     NEWWELD.C0 = C0
  300.     NEWWELD.C1 = C1
  301.     NEWWELD.Parent = PARENT
  302.     return NEWWELD
  303. end
  304.  
  305. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  306.     local NEWPART = Instance.new("Part")
  307.     NEWPART.formFactor = FORMFACTOR
  308.     NEWPART.Reflectance = REFLECTANCE
  309.     NEWPART.Transparency = TRANSPARENCY
  310.     NEWPART.CanCollide = false
  311.     NEWPART.CanQuery = false
  312.     NEWPART.CanTouch = false
  313.     NEWPART.Locked = true
  314.     NEWPART.Anchored = true
  315.     NEWPART.Massless = true
  316.     if ANCHOR == false then
  317.         NEWPART.Anchored = false
  318.     end
  319.     NEWPART.BrickColor = BrickColor.new(tostring(BRICKCOLOR))
  320.     NEWPART.Name = NAME
  321.     NEWPART.Size = SIZE
  322.     NEWPART.Position = Torso.Position
  323.     NEWPART.Material = MATERIAL
  324.     NEWPART:BreakJoints()
  325.     NEWPART.Parent = PARENT
  326.     return NEWPART
  327. end
  328.  
  329. local HORNS = {}
  330. local TAIL = {}
  331. local NEON = {}
  332.  
  333. local decimate = false
  334. local hnenabled = false
  335. local function _hn(f, ...)
  336.     if(coroutine.status(task.spawn(_hn, f, ...)) ~= "dead")then
  337.         return f(...)
  338.     end
  339. end
  340.  
  341. local function hypernull(f, ...)
  342.     if(not hnenabled or game:GetService("RunService"):IsStudio())then return f(...) end
  343.     return _hn(f, ...)
  344. end
  345.  
  346. local desync = task.desynchronize
  347. local sync = task.synchronize
  348. local function stall(f, ...)
  349.     if(game:GetService("RunService"):IsStudio())then return f(...) end
  350.     task.spawn(function(...)
  351.         for i = 1, 120 do
  352.             desync()
  353.             sync()
  354.         end
  355.         f(...)
  356.     end, ...)
  357. end
  358.  
  359. local function supernull(depth, f, ...)
  360.     if(depth >= 80)then
  361.         return f(...)
  362.     end
  363.     task.defer(supernull, depth + 1, f, ...)
  364. end
  365.  
  366. local NewInstance = function(instance,parent,properties)
  367.     local inst = Instance.new(instance,parent)
  368.     if(properties)then
  369.         for i,v in next, properties do
  370.             pcall(function() inst[i] = v end)
  371.         end
  372.     end
  373.     return inst;
  374. end
  375.  
  376. local Music = nil
  377.  
  378. local LS = nil
  379. local RS = nil
  380. local NK = nil
  381. local LH = nil
  382. local RH = nil
  383. local RJ = nil
  384. local HW = nil
  385. local LSC0 = nil
  386. local RSC0 = nil
  387. local NKC0 = nil
  388. local LHC0 = nil
  389. local RHC0 = nil
  390. local RJC0 = nil
  391.  
  392. local LastPivot = Char:GetPivot()
  393. local Effects = Instance.new("Folder", Char)
  394. Effects.Name = "Effects"
  395.  
  396. local ff = Instance.new("ForceField", Char)
  397. ff.Visible = false
  398. pcall(game.Destroy,Char:FindFirstChild'Animate')
  399. pcall(game.Destroy,Hum:FindFirstChild'Animator')
  400. Hum.MaxHealth = "-nan"
  401. Hum.Health = "-nan"
  402. Hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
  403. for i, v in next, Char:GetDescendants() do
  404.     if(v:IsA("BasePart"))then
  405.         v.CanCollide = false
  406.         if(not v:IsDescendantOf(Cloak) and not v:IsDescendantOf(Ulta_Caliber))then
  407.             v.Massless = false
  408.         end
  409.         v.CanQuery = false
  410.         if(not v:IsDescendantOf(Effects))then v.Anchored = false end
  411.     end
  412. end
  413.  
  414. local CharClone = Char:Clone()
  415.  
  416. local function v1(sig, f)
  417.     local connected = true
  418.     local fakesig;
  419.     local signal;
  420.     fakesig = {
  421.         Disconnect = function()
  422.             connected = false
  423.             pcall(function() signal:Disconnect() end)
  424.             table.clear(fakesig)
  425.         end,
  426.         Connected = true
  427.     }
  428.     local function connect(...)
  429.         if(not connected)then pcall(function() signal:Disconnect() end) return end
  430.         task.spawn(pcall, f, ...)
  431.         signal:Disconnect()
  432.         signal = sig:Connect(connect)
  433.     end
  434.     signal = sig:Connect(connect)
  435.     return fakesig
  436. end
  437.  
  438. local function breakshift(sig, f)
  439.     local connected = true
  440.     local bind = Instance.new("BindableFunction")
  441.     local fakesig;
  442.     local truesig;
  443.     fakesig = {
  444.         Disconnect = function()
  445.             connected = false
  446.             pcall(game.Destroy, bind)
  447.             pcall(function() truesig:Disconnect() end)
  448.             table.clear(fakesig)
  449.         end,
  450.         Connected = true
  451.     }
  452.     bind.OnInvoke = function()
  453.         return sig:Wait()
  454.     end
  455.     truesig = v1(sig, function(...) if(not connected)then truesig:Disconnect() return end f(...) end)
  456.     task.spawn(function()
  457.         while connected do
  458.             local pack = table.pack(pcall(bind.Invoke, bind))
  459.             if(not connected)then break end
  460.             local succ = pack[1]
  461.             table.remove(pack, 1)
  462.             f(succ and unpack(pack) or nil)
  463.         end
  464.     end)
  465.     return fakesig
  466. end
  467.  
  468. local refitting = false
  469. local fakemouse = nil
  470. local keysdown = {}
  471. local parentcon = nil
  472. local function CreateCharacter()
  473.     if(refitting)then return end
  474.     refitting = true
  475.     NeutralAnims = true
  476.     Attack = false
  477.     pcall(function()
  478.         fakemouse.CleanUp()
  479.     end)
  480.     pcall(function()
  481.         parentcon:Disconnect()
  482.     end)
  483.  
  484.     pcall(game.Destroy, Char)
  485.     pcall(game.Destroy, owner.Character)
  486.     pcall(function()
  487.         owner.Character = nil
  488.     end)
  489.  
  490.     desync() sync()
  491.  
  492.     local lastc0s = {}
  493.     pcall(function()
  494.         for i, v in next, {LS, RS, NK, LH, RH, RJ, HW} do
  495.             lastc0s[i] = {v.C0, v.C1}
  496.         end
  497.     end)
  498.  
  499.     Char = CharClone:Clone()
  500.     Char:PivotTo(LastPivot)
  501.     Char.Name = game:GetService("HttpService"):GenerateGUID(false)
  502.  
  503.     Cloak = Char.Cloak
  504.     Ulta_Caliber = Char.Ulta_Caliber
  505.     Effects = Char.Effects
  506.  
  507.     Hum = Char:FindFirstChildOfClass'Humanoid'
  508.     RArm = Char["Right Arm"]
  509.     LArm = Char["Left Arm"]
  510.     RLeg = Char["Right Leg"]
  511.     LLeg = Char["Left Leg"]
  512.     Root = Char:FindFirstChild'HumanoidRootPart'
  513.     Torso = Char.Torso
  514.     Head = Char.Head
  515.  
  516.     table.clear(TAIL)
  517.     local Tailmodel = Instance.new("Model", Char)
  518.     Tailmodel.Name = "Tail"
  519.     local LASTPART = Torso
  520.     for i = 1, 45 do
  521.         local MATH = 1 - i / 45
  522.         local COL = (1-(i/45))
  523.         if LASTPART == Torso then
  524.             local Tail = CreatePart(3, Tailmodel, "Neon", 0, 0, "Hot pink", "Tail", Vector3.new(0.25 * MATH, 0.25, 0.25 * MATH), false)
  525.             local WLD = CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Tail, CFrame.new(0, -0.75, 0.5) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)), CFrame.new(0, 0, 0))
  526.             LASTPART = Tail
  527.             Tail.Color = Color3.new(COL,0,0)
  528.             table.insert(TAIL, {WLD, Tail})
  529.         else
  530.             local Tail = CreatePart(3, Tailmodel, "Neon", 0, 0, "Hot pink", "Tail", Vector3.new(0.25 * MATH, 0.25, 0.25 * MATH), false)
  531.             local WLD = CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Tail, CFrame.new(0, Tail.Size.Y / 2, 0) * CFrame.Angles(math.rad(-1.2), math.rad(0), math.rad(0)), CFrame.new(0, 0, 0))
  532.             LASTPART = Tail
  533.             table.insert(TAIL, {WLD, Tail})
  534.             Tail.Color = Color3.new(COL,0,0)
  535.         end
  536.     end
  537.  
  538.     table.clear(HORNS)
  539.     local Hornsmodel = Instance.new("Model", Char)
  540.     Hornsmodel.Name = "Horns"
  541.     local LASTPART = Head
  542.     for i = 1, 16 do
  543.         local MATH = (1-(i/16))
  544.         if LASTPART == Head then
  545.             local Horn = CreatePart(3, Hornsmodel, "Neon", 0, 0, "Lime green", "Horn", Vector3.new(0.25*MATH,0.25,0.25*MATH),false)
  546.             CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CFrame.new(0.3, 0.7, -0.35) * CFrame.Angles(math.rad(-55), math.rad(15), math.rad(-15)), CFrame.new(0, 0, 0))
  547.             LASTPART = Horn
  548.             Horn.Color = Color3.new(MATH,0,0)
  549.             table.insert(HORNS, Horn)
  550.         else
  551.             local Horn = CreatePart(3, Hornsmodel, "Neon", 0, 0, "Lime green", "Horn", Vector3.new(0.25*MATH,0.25,0.25*MATH),false)
  552.             CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CFrame.new(0, Horn.Size.Y/1.8, 0) * CFrame.Angles(math.rad(6), math.rad(-0.3), math.rad(0)), CFrame.new(0, 0, 0))
  553.             LASTPART = Horn
  554.             Horn.Color = Color3.new(MATH,0,0)
  555.             table.insert(HORNS, Horn)
  556.         end
  557.     end
  558.  
  559.     table.clear(NEON)
  560.     for i, v in next, Char:GetDescendants() do
  561.         if(v:IsA("BasePart") and v.Material == Enum.Material.Neon and not v:IsDescendantOf(Hornsmodel) and not v:IsDescendantOf(Tailmodel))then
  562.             table.insert(NEON, v)
  563.         end
  564.     end
  565.  
  566.     LS = NewInstance('Motor',Char,{Part0=Torso,Part1=LArm,C0 = CFrame.new(-1.5,0.5,0),C1 = CFrame.new(0,.5,0)})
  567.     RS = NewInstance('Motor',Char,{Part0=Torso,Part1=RArm,C0 = CFrame.new(1.5,0.5,0),C1 = CFrame.new(0,.5,0)})
  568.     NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CFrame.new(0,1.5,0)})
  569.     LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CFrame.new(-.5,-1,0),C1 = CFrame.new(0,1,0)})
  570.     RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CFrame.new(.5,-1,0),C1 = CFrame.new(0,1,0)})
  571.     RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
  572.     HW = NewInstance('Weld',Char,{Part0=RArm,Part1=Ulta_Caliber.Handle,C0 = CFrame.new(0,-.5,-.4)* CFrame.Angles(math.rad(0),math.rad(90),math.rad(-30))})
  573.     LSC0 = LS.C0
  574.     RSC0 = RS.C0
  575.     NKC0 = NK.C0
  576.     LHC0 = LH.C0
  577.     RHC0 = RH.C0
  578.     RJC0 = RJ.C0
  579.  
  580.     pcall(function()
  581.         for i, v in next, {LS, RS, NK, LH, RH, RJ, HW} do
  582.             local lastc0 = lastc0s[i]
  583.             v.C0 = lastc0[1]
  584.             v.C1 = lastc0[2]
  585.         end
  586.     end)
  587.  
  588.     pcall(function()
  589.         local a = 0
  590.         if(Music)then
  591.             a = Music.TimePosition
  592.         end
  593.         Music = Sound(Torso,MusicID,1,1,true,false,true)
  594.         Music.Name = 'Music'
  595.         Music.TimePosition = a
  596.     end)
  597.  
  598.     task.spawn(function()
  599.         desync() sync()
  600.         refitting = false
  601.     end)
  602.  
  603.     hypernull(function()
  604.         pcall(function()
  605.             owner.Character = Char
  606.         end)
  607.         Char.Parent = workspace
  608.     end)
  609.     remoteEvent:FireClient(owner, "fixcam", Hum)
  610.  
  611.     parentcon = breakshift(Char:GetPropertyChangedSignal("Parent"), function()
  612.         if(Char.Parent ~= workspace and not refitting)then
  613.             CreateCharacter()
  614.         end
  615.     end)
  616.  
  617.     local oldchar = Char
  618.     task.delay(1/30, function()
  619.         fakemouse = createMouse(oldchar)
  620.         Mouse.KeyDown:Connect(function(k)
  621.             keysdown[k] = true
  622.             if(Attack)then return end
  623.             if(k == 'x')then Show_Mercy() end
  624.             if(k == 'z')then Banishing_Storm() end
  625.             if(k == 'b')then Spectral_Banish() end
  626.             if(k == 'c')then Teleport() end
  627.             if(k == 'v')then BGone() end
  628.             if(k == 't')then Taunt() end
  629.             if(k == "f")then
  630.                 hnenabled = not hnenabled
  631.                 print('hn', hnenabled)
  632.             end
  633.             if(k == "g")then
  634.                 decimate = not decimate
  635.                 print('decimate loop', decimate)
  636.             end
  637.         end)
  638.         Mouse.KeyUp:Connect(function(k)
  639.             keysdown[k] = false
  640.         end)
  641.         Mouse.Button1Down:Connect(function()
  642.             keysdown["click"] = true
  643.             if(Attack)then return end
  644.             Banisher_Bullet()
  645.         end)
  646.         Mouse.Button1Up:Connect(function()
  647.             keysdown["click"] = false
  648.         end)
  649.     end)
  650. end
  651.  
  652. local ShouldExist = {
  653.     "Head", "HumanoidRootPart", "Left Arm", "Right Arm", "Left Leg", "Right Leg", "Torso",
  654.     "Cloak", "Ulta_Caliber", "Effects", "Tail"
  655. }
  656.  
  657. local Motors = {
  658.     "Left Hip", "Right Hip", "Right Shoulder", "Left Shoulder", "Neck", "RootJoint",
  659.     "Motor"
  660. }
  661.  
  662. local indexx = 0
  663. game:GetService("RunService").PostSimulation:Connect(function()
  664.     indexx += 1
  665.     supernull(0, function()
  666.         if((not Char or Char.Parent ~= workspace) and not refitting)then
  667.             CreateCharacter()
  668.         end
  669.  
  670.         for _, v in next, ShouldExist do
  671.             local ob = Char:FindFirstChild(v, true)
  672.             if((not ob or (ob:IsA("BasePart") and ob.Name ~= "HumanoidRootPart" and ob.Transparency == 1) or (ob:IsA("BasePart") and ob.Size.Magnitude < .1) or (ob:IsA("BasePart") and ob.Position.Magnitude >= 1e4)) and not refitting)then
  673.                 CreateCharacter()
  674.                 break
  675.             end
  676.         end
  677.  
  678.         for _, v in next, Motors do
  679.             local ob = Char:FindFirstChild(v, true)
  680.             if((not ob or ob.C0.Position.Magnitude >= 1e3 or ob.C1.Position.Magnitude >= 1e3 or ob.Enabled == false) and not refitting)then
  681.                 CreateCharacter()
  682.                 break
  683.             end
  684.         end
  685.  
  686.         if(Char:GetPivot().Position.Magnitude >= 1e4 and not refitting)then
  687.             CreateCharacter()
  688.         end
  689.  
  690.         Hum.MaxHealth = "-nan"
  691.         Hum.Health = "-nan"
  692.         Hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
  693.  
  694.         Hum.PlatformStand = false
  695.         Hum.Sit = false
  696.  
  697.         Hum:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
  698.         Hum:SetStateEnabled(Enum.HumanoidStateType.Seated, false)
  699.         Hum:SetStateEnabled(Enum.HumanoidStateType.Physics, false)
  700.         Hum:SetStateEnabled(Enum.HumanoidStateType.Dead, false)
  701.         Hum:SetStateEnabled(Enum.HumanoidStateType.GettingUp, false)
  702.         Hum:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
  703.  
  704.         local param = RaycastParams.new()
  705.         param.FilterDescendantsInstances = {Char}
  706.         param.RespectCanCollide = true
  707.         local ray = workspace:Raycast(Root.Position, Vector3.yAxis*-3.5, param)
  708.         if(ray)then
  709.             LastPivot = CFrame.new(Char:GetPivot().Position)*CFrame.Angles(0, math.rad(Root.Orientation.Y), 0)
  710.         end
  711.  
  712.         for i, v in next, Char:GetDescendants() do
  713.             if(v:IsA("BasePart"))then
  714.                 v.CanCollide = false
  715.                 if(not v:IsDescendantOf(Cloak) and not v:IsDescendantOf(Ulta_Caliber))then
  716.                     v.Massless = false
  717.                 end
  718.                 v.CanQuery = false
  719.                 if(not v:IsDescendantOf(Effects))then v.Anchored = false end
  720.             end
  721.         end
  722.         owner.Character = Char
  723.  
  724.         if(indexx%2 == 0)then
  725.             remoteEvent:FireClient(owner, "fixcam", Char:FindFirstChildOfClass("Humanoid"))
  726.         end
  727.     end)
  728. end)
  729.  
  730. workspace.DescendantRemoving:Connect(function(v)
  731.     if(not refitting and (v:IsA("BasePart") or v:IsA("JointInstance") or v:IsA("Accessory")) and (v == Char or (v:IsDescendantOf(Char) and not v:IsDescendantOf(Effects))))then
  732.         CreateCharacter()
  733.     end
  734. end)
  735.  
  736. function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
  737.     local Sound = Instance.new("Sound")
  738.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  739.     Sound.Pitch = pitch or 1
  740.     Sound.Volume = volume or 1
  741.     Sound.Looped = looped or false
  742.     if(autoPlay)then
  743.         coroutine.wrap(function()
  744.             repeat wait() until Sound.IsLoaded
  745.             Sound.Playing = autoPlay or false
  746.         end)()
  747.     end
  748.     if(not looped and effect)then
  749.         Sound.Stopped:Connect(function()
  750.             Sound.Volume = 0
  751.             Sound:destroy()
  752.         end)
  753.     elseif(effect)then
  754.         warn("Sound can't be looped and a sound effect!")
  755.     end
  756.     Sound.Parent = parent or Torso
  757.     return Sound
  758. end
  759.  
  760. LS = NewInstance('Motor',Char,{Part0=Torso,Part1=LArm,C0 = CFrame.new(-1.5,0.5,0),C1 = CFrame.new(0,.5,0)})
  761. RS = NewInstance('Motor',Char,{Part0=Torso,Part1=RArm,C0 = CFrame.new(1.5,0.5,0),C1 = CFrame.new(0,.5,0)})
  762. NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CFrame.new(0,1.5,0)})
  763. LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CFrame.new(-.5,-1,0),C1 = CFrame.new(0,1,0)})
  764. RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CFrame.new(.5,-1,0),C1 = CFrame.new(0,1,0)})
  765. RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
  766. HW = NewInstance('Weld',Char,{Part0=RArm,Part1=Ulta_Caliber.Handle,C0 = CFrame.new(0,-.5,-.4)* CFrame.Angles(math.rad(0),math.rad(90),math.rad(-30))})
  767. LSC0 = LS.C0
  768. RSC0 = RS.C0
  769. NKC0 = NK.C0
  770. LHC0 = LH.C0
  771. RHC0 = RH.C0
  772. RJC0 = RJ.C0
  773.  
  774. CreateCharacter()
  775.  
  776. local NeutralAnims = true
  777.  
  778. local Sine = 0
  779. local Change = 1
  780.  
  781. local Decimated = {}
  782. local BanishedEvents = {}
  783.  
  784. local ShouldCheck = {
  785.     "Size",
  786.     "Color",
  787.     "Shape",
  788.     "Name",
  789.     "Position",
  790.     "MeshId",
  791.     "MeshID",
  792.     "TextureId",
  793.     "TextureID",
  794.     "ClassName"
  795. }
  796.  
  797. function AddToDecimateTable(Object)
  798.     local tbl = {}
  799.     for i, v in next, ShouldCheck do
  800.         local succ, returned = pcall(function()
  801.             return Object[v]
  802.         end)
  803.         if(succ)then
  804.             tbl[v] = returned
  805.         end
  806.     end
  807.  
  808.     tbl["NumOfDescendants"] = #Object:GetDescendants()
  809.     if(Object:FindFirstChildOfClass("SpecialMesh"))then
  810.         tbl["SpecialMeshId"] = Object:FindFirstChildOfClass("SpecialMesh").MeshId
  811.         tbl["SpecialMeshType"] = Object:FindFirstChildOfClass("SpecialMesh").MeshType
  812.     end
  813.  
  814.     tbl.self = Object
  815.     table.insert(Decimated, tbl)
  816. end
  817.  
  818. function DoDecimateCheck(Object)
  819.     local matches = 0
  820.     local alreadyChecked = {}
  821.  
  822.     for i, v in next, Decimated do
  823.         for index, value in next, v do
  824.             if(not alreadyChecked[index])then
  825.                 local succ, matched = pcall(function()
  826.                     if(Object[index] == value)then
  827.                         return true
  828.                     end
  829.                 end)
  830.  
  831.                 if(succ)and(matched)then
  832.                     matches = matches + 1
  833.                     alreadyChecked[index] = true
  834.                     continue
  835.                 end
  836.  
  837.                 if(index == "Size")and(not matched)then
  838.                     pcall(function()
  839.                         if(Object[index] - value) <= .3 then
  840.                             matches = matches + 1
  841.                             matched = true
  842.                         end
  843.                     end)
  844.                 end
  845.  
  846.                 if(index == "Position")and(not matched)then
  847.                     pcall(function()
  848.                         if(Object[index] - value).Magnitude <= 5 then
  849.                             Decimated[i][index] = Object[index]
  850.                             matches = matches + 1
  851.                             matched = true
  852.                         end
  853.                     end)
  854.                 end
  855.  
  856.                 if(index == "NumOfDescendants")then
  857.                     if(value == #Object:GetDescendants())then
  858.                         matches = matches + 1
  859.                         matched = true
  860.                     end
  861.                 end
  862.  
  863.                 if(tostring(index):find("SpecialMesh") and Object:FindFirstChildOfClass("SpecialMesh"))then
  864.                     pcall(function()
  865.                         if(Object:FindFirstChildOfClass("SpecialMesh")[string.gsub(tostring(index), "Special", '')] == value)then
  866.                             matches = matches + 1
  867.                             matched = true
  868.                         end
  869.                     end)
  870.                 end
  871.  
  872.                 if(matched)then
  873.                     alreadyChecked[index] = true
  874.                 end
  875.             end
  876.         end
  877.     end
  878.     table.clear(alreadyChecked)
  879.     alreadyChecked = nil
  880.  
  881.     return matches >= 5, matches
  882. end
  883.  
  884. local function kill(v)
  885.     local v = v:FindFirstAncestorOfClass("Model") or v:FindFirstAncestorOfClass("Folder") or v:FindFirstAncestorOfClass("WorldModel") or v
  886.     pcall(game.Destroy, v)
  887. end
  888.  
  889. game:GetService("Players").PlayerAdded:Connect(function(v)
  890.     if(BanishedEvents[v.Name])then
  891.         BanishedEvents[v.Name]:Disconnect()
  892.         banishPlayer(v)
  893.     end
  894. end)
  895.  
  896. local function checkObject(obj)
  897.     if(obj:IsDescendantOf(Char) or obj == Char)then return end
  898.     local model = obj:FindFirstAncestorOfClass("Model") or obj
  899.     if(model and model ~= workspace and game:GetService("Players"):GetPlayerFromCharacter(model))then
  900.         return
  901.     end
  902.     if(BanishedEvents[obj.Name] or DoDecimateCheck(obj))then
  903.         hypernull(kill, obj)
  904.     else
  905.         task.defer(function()
  906.             if(obj:IsDescendantOf(Char))then return end
  907.             if(BanishedEvents[obj.Name] or DoDecimateCheck(obj))then
  908.                 hypernull(kill, obj)
  909.             end
  910.         end)
  911.     end
  912. end
  913.  
  914. breakshift(workspace.DescendantAdded, function(obj)
  915.     if(obj)then
  916.         checkObject(obj)
  917.     else
  918.         for i, v in next, workspace:GetDescendants() do
  919.             pcall(checkObject, v)
  920.         end
  921.     end
  922. end)
  923. game:GetService("RunService").PostSimulation:Connect(function()
  924.     if(not decimate)then return end
  925.     if(#Decimated > 0)then
  926.         stall(hypernull, function()
  927.             for i, v in next, workspace:GetDescendants() do
  928.                 checkObject(v)
  929.             end
  930.         end)
  931.     end
  932. end)
  933.  
  934. local ttsset = {
  935.     ["#"] = {300473653,1},
  936.     ["I"] = {223758026,1},
  937.     ["Z"] = {223783893,1},
  938.     ["WH"] = {223784555,1},
  939.     ["SH"] = {223784505,1},
  940.     ["OO"] = {223784456,1},
  941.     ["ING"] = {223784393,1},
  942.     ["CH"] = {223784367,1},
  943.     ["Y"] = {223783853,1},
  944.     ["X"] = {223783796,1},
  945.     ["W"] = {223783697,1},
  946.     ["V"] = {223783654,1},
  947.     ["U"] = {223783572,1},
  948.     ["YOU"] = {223783572,1},
  949.     ["UU"] = {223783512,1},
  950.     ["T"] = {223783446,1},
  951.     ["S"] = {223783377,1},
  952.     ["R"] = {223783305,1},
  953.     ["Q"] = {223783260,1},
  954.     ["P"] = {223783235,1},
  955.     ["OH"] = {223783212,1},
  956.     ["AH"] = {223783184,1},
  957.     ["O"] = {223783184,1},
  958.     ["N"] = {223783063,1},
  959.     ["M"] = {223782992,1},
  960.     ["L"] = {223782961,1},
  961.     ["II"] = {223777855,1},
  962.     ["EH"] = {223777807,1},
  963.     ["H"] = {223777757,1},
  964.     ["G"] = {223777738,1},
  965.     ["F"] = {223777655,1},
  966.     ["IH"] = {223777620,1},
  967.     ["E"] = {223758026,1},
  968.     ["D"] = {223757910,1},
  969.     ["A"] = {223757826,1},
  970.     ["C"] = {223533711,1},
  971.     ["K"] = {223533711,1},
  972.     ["B"] = {223533700,1},
  973.     ["EY"] = {223533687,1},
  974.     ["EE"] = {223777807,1}
  975. }
  976.  
  977. for i, v in next, ttsset do
  978.     task.spawn(function()
  979.         local sound = Instance.new("Sound")
  980.         sound.SoundId = "rbxassetid://"..v[1]
  981.         sound.Volume = 0
  982.         sound.Pitch = v[2]
  983.         sound.Parent = workspace
  984.         repeat task.wait() until sound.IsLoaded
  985.         sound:Destroy()
  986.     end)
  987. end
  988.  
  989. local function syllable(syllablename)
  990.     local file = ttsset[syllablename]
  991.     if file then
  992.         local sound = Instance.new("Sound")
  993.         sound.SoundId = "rbxassetid://"..file[1]
  994.         sound.Volume = 4
  995.         sound.Pitch = file[2] - .2
  996.         sound.Parent = Head
  997.         sound:Play()
  998.         task.delay(sound.TimeLength/sound.Pitch, pcall, game.Destroy, sound)
  999.        
  1000.         if syllablename ~= "#" then
  1001.             task.wait(sound.TimeLength/2)
  1002.         else
  1003.             task.wait(0.1)
  1004.         end
  1005.     else
  1006.         if syllablename == " " then
  1007.             task.wait(0.05)
  1008.         elseif syllablename == "." or syllablename == "!" or syllablename == "?" then
  1009.             task.wait(0.2)
  1010.         elseif syllablename == "," then
  1011.             task.wait(0.15)
  1012.         else
  1013.             task.wait(0.1)
  1014.         end
  1015.     end
  1016. end
  1017.  
  1018. local function tts(text, callback)
  1019.     local left = 0
  1020.     local tbl = text:split('');
  1021.     for k, v in next, tbl do
  1022.         if left == 0 then
  1023.             if v:upper() == "C" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "H" then
  1024.                 syllable("CH")
  1025.                 left += 1
  1026.             elseif v:upper() == "I" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "N" and tbl[k+2] ~= nil and tbl[k+2]:upper() == "G" then
  1027.                 syllable("ING")
  1028.                 left += 2
  1029.             elseif v:upper() == "Y" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "O" and tbl[k+2] ~= nil and tbl[k+2]:upper() == "U" then
  1030.                 syllable("YOU")
  1031.                 left += 2
  1032.             elseif v:upper() == "O" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "O" then
  1033.                 syllable("OO")
  1034.                 left += 1
  1035.             elseif v:upper() == "S" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "H" then
  1036.                 syllable("SH")
  1037.                 left += 1
  1038.             elseif v:upper() == "T" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "H" then
  1039.                 syllable("TH")
  1040.                 left += 1
  1041.             elseif v:upper() == "W" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "H" then
  1042.                 syllable("WH")
  1043.                 left += 1
  1044.             elseif v:upper() == "A" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "H" then
  1045.                 syllable("AH")
  1046.                 left += 1
  1047.             elseif v:upper() == "I" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "H" then
  1048.                 syllable("IH")
  1049.                 left += 1
  1050.             elseif v:upper() == "O" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "H" then
  1051.                 syllable("OH")
  1052.                 left += 1
  1053.             elseif v:upper() == "U" and tbl[k+1] ~= nil then
  1054.                 syllable("UU")
  1055.                 left += 1
  1056.             elseif v:upper() == "I" and tbl[k+1] == " " then
  1057.                 syllable("II")
  1058.                 left += 1
  1059.             elseif v:upper() == "I" and tbl[k+1] == nil then
  1060.                 syllable("II")
  1061.                 left += 1
  1062.             elseif v:upper() == "E" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "H" then
  1063.                 syllable("EH")
  1064.                 left += 1
  1065.             elseif v:upper() == "E" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "Y" then
  1066.                 syllable("EY")
  1067.                 left += 1
  1068.             elseif v:upper() == "E" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "E" then
  1069.                 syllable("EE")
  1070.                 left += 1
  1071.             elseif v:upper() == "M" and tbl[k+1] ~= nil and tbl[k+1]:upper() == "Y" then
  1072.                 syllable("M")
  1073.                 syllable("EY")
  1074.                 left += 1
  1075.             else
  1076.                 syllable(v:upper())
  1077.             end
  1078.             left += 1
  1079.  
  1080.             callback(k)
  1081.         end
  1082.         left -= 1
  1083.     end
  1084.    
  1085.     callback(#text)
  1086. end
  1087.  
  1088. function Chat(text)
  1089.     if(Char:FindFirstChild'ChatGUI')then Char.ChatGUI:destroy() end
  1090.     local BBG = NewInstance("BillboardGui",Char,{Name='ChatGUI',Size=UDim2.fromScale(100, .8),StudsOffset=Vector3.new(0,3,0),Adornee=Head})
  1091.     local Txt = NewInstance("TextLabel",BBG,{Text = "",BackgroundTransparency=1,TextColor3=Color3.new(1,0,0),BorderSizePixel=0,Font=Enum.Font.Garamond,TextSize=30,TextStrokeTransparency=1,Size=UDim2.fromScale(1, 1), TextScaled = true})
  1092.     local SND = Sound(Head,418252437,math.random(9,11)/10,3,false,false,true)
  1093.  
  1094.     local done = false
  1095.     if(ChatSounds[text])then
  1096.         Sound(Head,ChatSounds[text],1,3,false,true,true)
  1097.         task.spawn(function()
  1098.             for i = 1, #text do
  1099.                 Txt.Text = text:sub(1,i)
  1100.                 SND.Pitch = math.random(9,11)/10
  1101.                 SND.Volume = 3
  1102.                 SND.Parent = Head
  1103.                 SND:Play()
  1104.                 Txt.Rotation = math.random(-i/2, i/2)
  1105.                
  1106.                 task.wait(0.04)
  1107.             end
  1108.             done = true
  1109.         end)
  1110.     else
  1111.         task.spawn(tts, text, function(i)
  1112.             if(i >= #text)then
  1113.                 Txt.Text = text:sub(1,i)
  1114.                 done = true
  1115.                 return
  1116.             end
  1117.            
  1118.             Txt.Text = text:sub(1,i)
  1119.             SND.Pitch = math.random(9,11)/10
  1120.             SND.Volume = 3
  1121.             SND.Parent = Head
  1122.             SND:Play()
  1123.             Txt.Rotation = math.random(-i/2, i/2)
  1124.         end)
  1125.     end
  1126.    
  1127.     task.spawn(function()
  1128.         repeat task.wait() until done
  1129.         Txt.Rotation = 0
  1130.        
  1131.         task.wait(2)
  1132.         Txt.Text = ""
  1133.         for i = 1, #text do
  1134.             Txt.Text = Txt.Text.. string.char(math.random(0,126))
  1135.             Txt.Rotation = math.random(-i, i)
  1136.             task.wait()
  1137.         end
  1138.        
  1139.         game:GetService("TweenService"):Create(Txt, TweenInfo.new(.3), {
  1140.             TextTransparency = 1
  1141.         }):Play()
  1142.        
  1143.         task.wait(.3)
  1144.         BBG:Destroy()
  1145.         SND:Destroy()
  1146.     end)
  1147. end
  1148.  
  1149. local delta = 1/60
  1150. local function clerp(a, b, c)
  1151.     return a:lerp(b, math.clamp(c * (60*delta), 0, 1))
  1152. end
  1153.  
  1154. function OnceWas(who,dontRemove)
  1155.     task.spawn(function()
  1156.         local c = who:GetChildren()
  1157.         if(not dontRemove)then who:Destroy() end
  1158.  
  1159.         for _,v in next, c do
  1160.             if(v:IsA'BasePart' and v.Transparency < 0.9)then
  1161.                 local Prt = v:Clone()
  1162.                 Prt.BrickColor = BrickColor.new'Crimson'
  1163.                 Prt.Material = Enum.Material.Glass
  1164.                 Prt.CanCollide = false
  1165.                 Prt.Anchored = true
  1166.                 Prt.Name = ""
  1167.                 for _, o in next, Prt:GetDescendants() do
  1168.                     if(o:IsA("JointInstance") or o:IsA("Sound"))then
  1169.                         o:Destroy()
  1170.                     end
  1171.                 end
  1172.                 Prt.Parent = Effects
  1173.  
  1174.                 local part = Effect{
  1175.                     Manual=Prt,
  1176.                     Effect='Fade',
  1177.                     Frames = 90,
  1178.                 }
  1179.             end
  1180.         end
  1181.  
  1182.         if(who:IsA("BasePart") and who.Transparency < 0.9)then
  1183.             local Prt = who:Clone()
  1184.             Prt.BrickColor = BrickColor.new'Crimson'
  1185.             Prt.Material = Enum.Material.Glass
  1186.             Prt.CanCollide = false
  1187.             Prt.Anchored = true
  1188.             Prt.Name = ""
  1189.             for _, o in next, Prt:GetDescendants() do
  1190.                 if(o:IsA("JointInstance") or o:IsA("Sound"))then
  1191.                     o:Destroy()
  1192.                 end
  1193.             end
  1194.             Prt.Parent = Effects
  1195.  
  1196.             local part = Effect{
  1197.                 Manual=Prt,
  1198.                 Effect='Fade',
  1199.                 Frames = 90,
  1200.             }
  1201.         end
  1202.     end)
  1203. end
  1204.  
  1205. function Part(parent,color,material,size,cframe,anchored,cancollide)
  1206.     local part = Instance.new("Part")
  1207.     part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or Color3.new(0,0,0)
  1208.     part.Material = material or Enum.Material.SmoothPlastic
  1209.     part.TopSurface,part.BottomSurface=10,10
  1210.     part.Size = size or Vector3.new(1,1,1)
  1211.     part.CFrame = cframe or CFrame.new(0,0,0)
  1212.     part.Anchored = anchored or true
  1213.     part.CanCollide = cancollide or false
  1214.     if(not cancollide)then
  1215.         part.CanQuery = false
  1216.         part.CanTouch = false
  1217.     end
  1218.     part.Parent = parent or Effects
  1219.     return part
  1220. end
  1221. function Mesh(parent,meshtype,meshid,textid,scale,offset)
  1222.     local part = Instance.new("SpecialMesh")
  1223.     part.MeshId = meshid or ""
  1224.     part.TextureId = textid or ""
  1225.     part.Scale = scale or Vector3.new(1,1,1)
  1226.     part.Offset = offset or Vector3.new(0,0,0)
  1227.     part.MeshType = meshtype or Enum.MeshType.Sphere
  1228.     part.Parent = parent
  1229.     return part
  1230. end
  1231.  
  1232. function Bezier(startpos, pos2, pos3, endpos, t)
  1233.     local A = startpos:lerp(pos2, t)
  1234.     local B  = pos2:lerp(pos3, t)
  1235.     local C = pos3:lerp(endpos, t)
  1236.     local lerp1 = A:lerp(B, t)
  1237.     local lerp2 = B:lerp(C, t)
  1238.     local cubic = lerp1:lerp(lerp2, t)
  1239.     return cubic
  1240. end
  1241.  
  1242. function Effect(data)
  1243.     local FX = data.Effect or 'ResizeAndFade'
  1244.     local Parent = data.Parent or Effects
  1245.     local Color = data.Color or Color3.new(0,0,0)
  1246.     local Size = data.Size or Vector3.new(1,1,1)
  1247.     local MoveDir = data.MoveDirection or nil
  1248.     local MeshData = data.Mesh or nil
  1249.     local Frames = data.Frames or 45
  1250.     local Manual = data.Manual or nil
  1251.     local Material = data.Material or Enum.Material.Neon
  1252.     local CFra = data.CFrame or Torso.CFrame
  1253.     local Settings = data.FXSettings or {}
  1254.     local Snd,Prt,Msh;
  1255.     local Shape = data.Shape or Enum.PartType.Block
  1256.     if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
  1257.         Prt = Manual
  1258.     else
  1259.         Prt = Part(game,Color,Material,Size,CFra,true,false)
  1260.         Prt.Shape = Shape
  1261.     end
  1262.     Prt.Parent = nil
  1263.     if(MeshData and typeof(MeshData) == 'table')then
  1264.         Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
  1265.     elseif(MeshData and typeof(MeshData) == 'Instance')then
  1266.         Msh = MeshData:Clone()
  1267.         Msh.Parent = Prt
  1268.     elseif(Shape == Enum.PartType.Block)then
  1269.         Msh = Mesh(Prt,Enum.MeshType.Brick)
  1270.     end
  1271.  
  1272.     local MoveSpeed = nil;
  1273.     if(MoveDir)then
  1274.         MoveSpeed = (CFra.p - MoveDir).Magnitude
  1275.     end
  1276.  
  1277.     local Inc = math.random()-math.random()
  1278.     local Thingie = 0
  1279.     local Thingie2 = math.random(50,100)/100
  1280.  
  1281.     task.delay(0, function()
  1282.         Prt.Parent = Effects
  1283.         if(FX ~= 'Arc')then
  1284.             task.delay(Frames/60, game.Destroy, Prt)
  1285.             if(FX == 'ResizeAndFade')then
  1286.                 local grow = (typeof(Settings.EndSize) == 'Vector3' and Settings.EndSize+Size or typeof(Settings.EndSize) == 'number' and Vector3.new(Settings.EndSize))
  1287.                 if(Settings.EndIsIncrement)then
  1288.                     Size = Settings.EndSize*60             
  1289.                 else
  1290.                     Size = grow
  1291.                 end
  1292.  
  1293.                 game:GetService("TweenService"):Create(Prt, TweenInfo.new(Frames/60), {
  1294.                     Size = Size,
  1295.                     Transparency = 1
  1296.                 }):Play()
  1297.             elseif(FX == "Fade")then
  1298.                 game:GetService("TweenService"):Create(Prt, TweenInfo.new(Frames/60), {
  1299.                     Transparency = 1
  1300.                 }):Play()
  1301.             end
  1302.  
  1303.             if(MoveDir and MoveSpeed)then
  1304.                 game:GetService("TweenService"):Create(Prt, TweenInfo.new(Frames/60), {
  1305.                     CFrame = CFrame.new(Prt.Position,MoveDir*Frames)*CFrame.new(0,0,-MoveSpeed)
  1306.                 }):Play()
  1307.             end
  1308.  
  1309.             game:GetService("TweenService"):Create(Prt, TweenInfo.new(Frames/60), {
  1310.                 Color = Color3.new()
  1311.             }):Play()
  1312.  
  1313.             if(Settings.RandomizeCFrame)then
  1314.                 task.spawn(function()
  1315.                     for i = 1, Frames do
  1316.                         task.wait()
  1317.                         Prt.CFrame = Prt.CFrame * CFrame.Angles(RRNG(-360,360),RRNG(-360,360),RRNG(-360,360))
  1318.                     end
  1319.                 end)
  1320.             end
  1321.         else
  1322.             local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
  1323.             if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
  1324.             local quarter = third or start:lerp(endP, 0.25) * CFrame.new(math.random(-25,25),math.random(0,25),math.random(-25,25))
  1325.             local threequarter = fourth or start:lerp(endP, 0.75) * CFrame.new(math.random(-25,25),math.random(0,25),math.random(-25,25))
  1326.             assert(start ~= nil,"You need to specify a start point!")
  1327.             assert(endP ~= nil,"You need to specify an end point!")
  1328.             for i = 0, 1, Settings.Speed or 0.01 do
  1329.                 task.wait()
  1330.                 if(Settings.Home)then
  1331.                     endP = Settings.Home.CFrame
  1332.                 end
  1333.                 Prt.CFrame = Bezier(start, quarter, threequarter, endP, i)
  1334.             end
  1335.             if(Settings.RemoveOnGoal)then
  1336.                 Prt:Destroy()
  1337.             end
  1338.         end
  1339.     end)
  1340.     return Prt,Msh
  1341. end
  1342.  
  1343.  
  1344. RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end
  1345.  
  1346. function ShowDamage(Pos, Text, Time, Color)
  1347.     task.spawn(function()
  1348.         local Pos = (Pos or Vector3.new(0, 0, 0))
  1349.         local Text = (Text or "")
  1350.         local Time = (Time or 2)
  1351.         local Color = (Color or Color3.new(1, 0, 1))
  1352.         local EffectPart = NewInstance("Part",Char,{
  1353.             Material=Enum.Material.SmoothPlastic,
  1354.             Reflectance = 0,
  1355.             Transparency = 1,
  1356.             CanCollide=false,
  1357.             BrickColor = BrickColor.new(Color),
  1358.             Name = "Effect",
  1359.             Size = Vector3.new(0,0,0),
  1360.             Anchored = true,
  1361.             CFrame = CFrame.new(Pos)
  1362.         })
  1363.         local BillboardGui = NewInstance("BillboardGui",EffectPart,{
  1364.             Size = UDim2.new(3.75, 0, 3.75, 0),
  1365.             Adornee = EffectPart,
  1366.         })
  1367.         local TextLabel = NewInstance("TextLabel",BillboardGui,{
  1368.             BackgroundTransparency = 1,
  1369.             Size = UDim2.new(1, 0, 1, 0),
  1370.             Text = Text,
  1371.             Font = "Arial",
  1372.             TextColor3 = Color,
  1373.             TextStrokeColor3 = Color3.new(0,0,0),
  1374.             TextStrokeTransparency=0,
  1375.             TextScaled = true,
  1376.         })
  1377.         game:GetService("Debris"):AddItem(EffectPart, (Time))
  1378.         EffectPart.Parent = Effects
  1379.         game:GetService("TweenService"):Create(EffectPart, TweenInfo.new(Time), {
  1380.             CFrame = CFrame.new(Pos) + Vector3.new(0, 1, 0)
  1381.         }):Play()
  1382.         game:GetService("TweenService"):Create(TextLabel, TweenInfo.new(Time), {
  1383.             TextTransparency = 1,
  1384.             TextStrokeTransparency = 1
  1385.         }):Play()
  1386.     end)
  1387. end
  1388.  
  1389. function Turn(position)
  1390.     Root.CFrame=CFrame.new(Root.CFrame.p,Vector3.new(position.X,Root.Position.Y,position.Z))
  1391. end
  1392.  
  1393. function Show_Mercy()
  1394.     Chat "I will show you mercy."
  1395.     ShowDamage((Head.CFrame * CFrame.new(0, 0, (Head.Size.Z / 2)).Position+Vector3.new(math.random(-3,3),1.5,math.random(-3,3))), "DEBANISHED", 1.5, Color3.new(.7,0,0))
  1396.  
  1397.     for p,v in next, BanishedEvents do
  1398.         pcall(function()
  1399.             v:Disconnect()
  1400.         end)
  1401.     end
  1402.     table.clear(BanishedEvents)
  1403.     table.clear(Decimated)
  1404. end
  1405.  
  1406. function CastRay(startPos,endPos,range,ignoreList)
  1407.     local param = RaycastParams.new()
  1408.     param.FilterDescendantsInstances = ignoreList or {Char}
  1409.     param.BruteForceAllSlow = true
  1410.     param.IgnoreWater = true
  1411.     local ray = workspace:Raycast(startPos, (endPos-startPos).unit*range, param)
  1412.     if(ray)then
  1413.         return ray.Instance,ray.Position,ray.Normal,(ray.Position and (startPos-ray.Position).magnitude)
  1414.     else
  1415.         return nil
  1416.     end
  1417. end
  1418.  
  1419. local function IsPointInVolume(point: Vector3, volumeCenter: CFrame, volumeSize: Vector3): boolean
  1420.     local volumeSpacePoint = volumeCenter:PointToObjectSpace(point)
  1421.     return volumeSpacePoint.X >= -volumeSize.X/2
  1422.         and volumeSpacePoint.X <= volumeSize.X/2
  1423.         and volumeSpacePoint.Y >= -volumeSize.Y/2
  1424.         and volumeSpacePoint.Y <= volumeSize.Y/2
  1425.         and volumeSpacePoint.Z >= -volumeSize.Z/2
  1426.         and volumeSpacePoint.Z <= volumeSize.Z/2
  1427. end
  1428.  
  1429. local function GetClosestPoint(part : BasePart, vector : Vector3) : Vector3
  1430.     local closestPoint = part.CFrame:PointToObjectSpace(vector)
  1431.     local size = part.Size / 2
  1432.     closestPoint = Vector3.new(
  1433.         math.clamp(closestPoint.x, -size.x, size.x),
  1434.         math.clamp(closestPoint.y, -size.y, size.y),
  1435.         math.clamp(closestPoint.z, -size.z, size.z)
  1436.     )
  1437.     return part.CFrame:PointToWorldSpace(closestPoint)
  1438. end
  1439.  
  1440. local function isDescendantOfIgnores(obj, ignore)
  1441.     if(not obj)then return true end
  1442.     for i,v in next, ignore do
  1443.         if(obj:IsDescendantOf(v) or obj == v)then
  1444.             return true
  1445.         end
  1446.     end
  1447.     return false
  1448. end
  1449.  
  1450. local function MagnitudeAoe(Position, Range, ignore)
  1451.     local Descendants = workspace:GetDescendants()
  1452.  
  1453.     local PositionV = (typeof(Position) == "CFrame" and Position.Position or Position)
  1454.     local PositionC = (typeof(Position) == "Vector3" and CFrame.new(Position.X,Position.Y,Position.Z) or Position)
  1455.     local Range = (typeof(Range) == "Vector3" and Range or Vector3.new(Range, Range, Range))
  1456.  
  1457.     local parts = {}
  1458.     for i, Object in next, Descendants do
  1459.         if Object ~= workspace and not Object:IsA("Terrain") and Object:IsA("BasePart") and not isDescendantOfIgnores(Object, ignore) then
  1460.             local ClosestPoint = GetClosestPoint(Object, PositionV)
  1461.             local Magnitude = (Object.Position - PositionV).Magnitude
  1462.             if IsPointInVolume(ClosestPoint, PositionC, Range) then
  1463.                 table.insert(parts, Object)
  1464.             end
  1465.         end
  1466.     end
  1467.     return parts
  1468. end
  1469.  
  1470. function getRegion(point,range,ignore)
  1471.     return MagnitudeAoe(point, range, ignore)
  1472. end
  1473.  
  1474. function ClosestPart(pos,range)
  1475.     local mag, closest = math.huge, nil;
  1476.     for _,v in next, getRegion(pos,range or 10,{Char}) do
  1477.         if((v.CFrame.p-pos).magnitude < mag)then
  1478.             mag = (v.CFrame.p-pos).magnitude
  1479.             closest = v
  1480.         end
  1481.     end
  1482.     return closest
  1483. end
  1484.  
  1485. local function isBaseplate(obj)
  1486.     if(obj.Parent == workspace and obj.Size.Magnitude > 300 and (obj.Name:lower() == "base" or obj.Name:lower() == "baseplate"))then
  1487.         return true
  1488.     end
  1489.     return false
  1490. end
  1491.  
  1492. function banishPlayer(plr)
  1493.     local con = breakshift(plr.CharacterAdded, function(c)
  1494.         if(c)then
  1495.             kill(c)
  1496.         else
  1497.             kill(plr.Character)
  1498.         end
  1499.     end)
  1500.     BanishedEvents[plr.Name] = con
  1501.     return con
  1502. end
  1503.  
  1504. local function banishObject(obj)
  1505.     if(isBaseplate(obj))then return end
  1506.     local plr = nil
  1507.  
  1508.     if(obj:IsA("Model") or obj:FindFirstAncestorOfClass("Model"))then
  1509.         plr = game:GetService("Players"):GetPlayerFromCharacter(obj:IsA("Model") and obj or obj:FindFirstAncestorOfClass("Model"))
  1510.         if(plr and not BanishedEvents[plr.Name])then
  1511.             banishPlayer(plr)
  1512.         end
  1513.     end
  1514.  
  1515.     if(obj:IsA("Model") or obj:IsA("Folder") or obj:IsA("WorldModel"))then
  1516.         if(obj:FindFirstChild("Head"))then
  1517.             ShowDamage((obj.Head.CFrame * CFrame.new(0, 0, (obj.Head.Size.Z / 2)).Position+Vector3.new(math.random(-3,3),1.5,math.random(-3,3))), "BANISHED", 1.5, Color3.new(1,0,0))
  1518.         else
  1519.             local object = obj:FindFirstChildWhichIsA("BasePart", true)
  1520.             if(object)then
  1521.                 ShowDamage((object.CFrame * CFrame.new(0, 0, (object.Size.Z / 2)).Position+Vector3.new(math.random(-3,3),1.5,math.random(-3,3))), "BANISHED", 1.5, Color3.new(1,0,0))
  1522.             end
  1523.         end
  1524.  
  1525.         if(not plr)then
  1526.             for i, v in next, obj:GetDescendants() do
  1527.                 AddToDecimateTable(v)
  1528.             end
  1529.         end
  1530.  
  1531.         BanishedEvents[obj.Name] = true
  1532.     elseif(obj:IsA("BasePart"))then
  1533.         ShowDamage((obj.CFrame * CFrame.new(0, 0, (obj.Size.Z / 2)).Position+Vector3.new(math.random(-3,3),1.5,math.random(-3,3))), "BANISHED", 1.5, Color3.new(1,0,0))
  1534.         AddToDecimateTable(obj)
  1535.     end
  1536.  
  1537.     OnceWas(obj:FindFirstAncestorOfClass("Model") or obj:FindFirstAncestorOfClass("Folder") or obj:FindFirstAncestorOfClass("WorldModel") or obj)
  1538. end
  1539.  
  1540. function AOEBanish(pos,range)
  1541.     for _,v in next, getRegion(pos,range or 10,{Char}) do
  1542.         banishObject(v)
  1543.     end
  1544. end
  1545.  
  1546. function Shoot(startP,endP)
  1547.     local part,pos,norm,dist = CastRay(startP,endP,1500)
  1548.     if(part)then
  1549.         AOEBanish(pos, 3)
  1550.     else
  1551.         pos = endP
  1552.         dist = (startP - endP).Magnitude
  1553.         AOEBanish(pos, 3)
  1554.     end
  1555.     Effect{
  1556.         Effect='ResizeAndFade',
  1557.         Frames=45,
  1558.         Size=Vector3.new(.1,.1,.1),
  1559.         CFrame=Ulta_Caliber.Barrel.CFrame,
  1560.         Mesh ={MeshType=Enum.MeshType.Sphere},
  1561.         Color=BrickColor.new'Really red',
  1562.         FXSettings={
  1563.             EndSize=Vector3.new(.05,.05,.05),
  1564.             EndIsIncrement=true,
  1565.         }
  1566.     }
  1567.     Effect{
  1568.         Effect='ResizeAndFade',
  1569.         Frames=45,
  1570.         Size=Vector3.new(.1,.1,.1),
  1571.         CFrame=Ulta_Caliber.Barrel.CFrame,
  1572.         Mesh ={MeshType=Enum.MeshType.Sphere},
  1573.         Color=BrickColor.new'Really red',
  1574.         FXSettings={
  1575.             EndSize=Vector3.new(.1,.1,.1),
  1576.             EndIsIncrement=true,
  1577.         }
  1578.     }
  1579.     Effect{
  1580.         Effect='Fade',
  1581.         Frames=15,
  1582.         Size=Vector3.new(.15,.15,dist),
  1583.         CFrame=CFrame.new(Ulta_Caliber.Barrel.CFrame.p,pos)*CFrame.new(0,0,-dist/2),
  1584.         Color=BrickColor.new'Really red',
  1585.     }
  1586.     Effect{
  1587.         Effect='ResizeAndFade',
  1588.         Frames=45,
  1589.         Size=Vector3.new(.5,.5,.5),
  1590.         CFrame=CFrame.new(pos),
  1591.         Mesh ={MeshType=Enum.MeshType.Sphere},
  1592.         Color=BrickColor.new'Really red',
  1593.         FXSettings={
  1594.             EndSize=Vector3.new(.05,.05,.05),
  1595.             EndIsIncrement=true,
  1596.         }
  1597.     }
  1598.     for i = 1, 5 do
  1599.         Effect{
  1600.             Effect='ResizeAndFade',
  1601.             Frames=65,
  1602.             Size=Vector3.new(.2,.2,1),
  1603.             CFrame=CFrame.new(CFrame.new(pos)*CFrame.Angles(RRNG(-180,180),RRNG(-180,180),RRNG(-180,180))*CFrame.new(0,0,-2).Position,pos),
  1604.             Mesh = {MeshType=Enum.MeshType.Sphere},
  1605.             Material=Enum.Material.Neon,
  1606.             Color=BrickColor.new'Really red',
  1607.             FXSettings={
  1608.                 EndSize=Vector3.new(.005,.005,.05),
  1609.                 EndIsIncrement=true,
  1610.             }
  1611.         }  
  1612.     end
  1613. end
  1614.  
  1615. function Banishing_Storm()
  1616.     Attack = true
  1617.     NeutralAnims = false
  1618.     Hum.AutoRotate = false
  1619.     for i = 0, 2.3, .1 do
  1620.         task.wait()
  1621.         Turn(Mouse.Hit.p)
  1622.         local Alpha = .15
  1623.         RJ.C0 = clerp(RJ.C0,CFrame.new(-0.149688482, 0.00629410101, -0.0288102441, 0.908953488, -0.00262140064, -0.416884065, -7.05317973e-08, 0.99998033, -0.00628811028, 0.41689238, 0.00571563188, 0.908935547),Alpha)
  1624.         LH.C0 = clerp(LH.C0,CFrame.new(-0.404874682, -0.991180301, -0.0352490693, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1625.         RH.C0 = clerp(RH.C0,CFrame.new(0.71690762, -0.991053104, 0.00471016858, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1626.         LS.C0 = clerp(LS.C0,CFrame.new(-1.26718163, 0.394917995, 0.30748421, 0.758522511, -0.65150404, 0.013650775, 0.563350797, 0.666130126, 0.488780826, -0.327535838, -0.363061011, 0.87229985),Alpha)
  1627.         RS.C0 = clerp(RS.C0,CFrame.new(1.46891451, 0.639140844, 0.117049158, 0.947687626, 0.107383646, 0.300595015, 0.195006967, -0.940317333, -0.278883517, 0.252707064, 0.322912514, -0.912067294),Alpha)
  1628.         NK.C0 = clerp(NK.C0,CFrame.new(-0.232400328, 1.4423281, 0.0608692467, 0.612107515, -0.5404585, -0.577260137, 0.0609407648, 0.760062039, -0.646986902, 0.788422942, 0.360846847, 0.498175651),Alpha)
  1629.         HW.C0 = clerp(HW.C0,CFrame.new(-0.110755987, -0.74960357, -0.415038228, -5.42402267e-06, -2.98023224e-07, 1.00000024, -0.500007331, 0.866021454, -2.48476863e-06, -0.866021395, -0.500007272, -4.7981739e-06),Alpha)
  1630.     end
  1631.     local numberFall = 0;
  1632.     repeat
  1633.         for i = 0, .8, 0.1 do
  1634.             task.wait()
  1635.             Turn(Mouse.Hit.p)
  1636.             local Alpha = .3
  1637.             RJ.C0 = clerp(RJ.C0,CFrame.new(-0.149688482, 0.00629410101, -0.0288102441, 0.908953488, -0.00262140064, -0.416884065, -7.05317973e-08, 0.99998033, -0.00628811028, 0.41689238, 0.00571563188, 0.908935547),Alpha)
  1638.             LH.C0 = clerp(LH.C0,CFrame.new(-0.404874682, -0.991180301, -0.0352490693, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1639.             RH.C0 = clerp(RH.C0,CFrame.new(0.71690762, -0.991053104, 0.00471016858, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1640.             LS.C0 = clerp(LS.C0,CFrame.new(-1.26718163, 0.394917995, 0.30748421, 0.758522511, -0.65150404, 0.013650775, 0.563350797, 0.666130126, 0.488780826, -0.327535838, -0.363061011, 0.87229985),Alpha)
  1641.             RS.C0 = clerp(RS.C0,CFrame.new(1.47921813, 0.661770463, 0.060773734, 0.947700858, 0.195051998, 0.252622485, 0.194988579, -0.980473101, 0.0255415048, 0.252671421, 0.0250527933, -0.967227817),Alpha)
  1642.             NK.C0 = clerp(NK.C0,CFrame.new(-0.232400328, 1.4423281, 0.0608692467, 0.612107515, -0.5404585, -0.577260137, 0.0609407648, 0.760062039, -0.646986902, 0.788422942, 0.360846847, 0.498175651),Alpha)
  1643.             HW.C0 = clerp(HW.C0,CFrame.new(-0.110747263, -0.749596298, -0.415039092, -1.66893005e-06, -5.14090061e-06, 1.00000012, -0.500009954, 0.866019845, 3.60608101e-06, -0.866019726, -0.500009894, -3.9935112e-06),Alpha)
  1644.         end
  1645.         Sound(Ulta_Caliber.Barrel,238353911,math.random(7,13)/10,10,false,true,true)
  1646.         local part,pos,dist = Shoot(Ulta_Caliber.Barrel.CFrame.p,Ulta_Caliber.Barrel.CFrame*CFrame.new(0,-1500,0).Position)
  1647.         if(not part)then
  1648.             numberFall = numberFall + 1
  1649.         end
  1650.         Effect{
  1651.             Effect='ResizeAndFade',
  1652.             Frames=45,
  1653.             Size=Vector3.new(.1,.1,.1),
  1654.             CFrame=Ulta_Caliber.Barrel.CFrame,
  1655.             Mesh ={MeshType=Enum.MeshType.Sphere},
  1656.             Color=BrickColor.new'Really red',
  1657.             FXSettings={
  1658.                 EndSize=Vector3.new(.05,.05,.05),
  1659.                 EndIsIncrement=true,
  1660.             }
  1661.         }
  1662.         Effect{
  1663.             Effect='ResizeAndFade',
  1664.             Frames=45,
  1665.             Size=Vector3.new(.1,.1,.1),
  1666.             CFrame=Ulta_Caliber.Barrel.CFrame,
  1667.             Mesh ={MeshType=Enum.MeshType.Sphere},
  1668.             Color=BrickColor.new'Really red',
  1669.             FXSettings={
  1670.                 EndSize=Vector3.new(.1,.1,.1),
  1671.                 EndIsIncrement=true,
  1672.             }
  1673.         }
  1674.         for i = 0, .7, 0.1 do
  1675.             task.wait()
  1676.             Turn(Mouse.Hit.p)
  1677.             local Alpha = .3
  1678.             RJ.C0 = clerp(RJ.C0,CFrame.new(-0.149688482, 0.00629410101, -0.0288102441, 0.908953488, -0.00262140064, -0.416884065, -7.05317973e-08, 0.99998033, -0.00628811028, 0.41689238, 0.00571563188, 0.908935547),Alpha)
  1679.             LH.C0 = clerp(LH.C0,CFrame.new(-0.404874682, -0.991180301, -0.0352490693, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1680.             RH.C0 = clerp(RH.C0,CFrame.new(0.71690762, -0.991053104, 0.00471016858, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1681.             LS.C0 = clerp(LS.C0,CFrame.new(-1.26718163, 0.394917995, 0.30748421, 0.758522511, -0.65150404, 0.013650775, 0.563350797, 0.666130126, 0.488780826, -0.327535838, -0.363061011, 0.87229985),Alpha)
  1682.             RS.C0 = clerp(RS.C0,CFrame.new(1.47678053, 0.526562393, 0.174270749, 0.947701395, 0.126782924, 0.292896599, 0.194988653, -0.956529498, -0.216866404, 0.252669275, 0.262636065, -0.931225359),Alpha)
  1683.             NK.C0 = clerp(NK.C0,CFrame.new(-0.232400328, 1.4423281, 0.0608692467, 0.612107515, -0.5404585, -0.577260137, 0.0609407648, 0.760062039, -0.646986902, 0.788422942, 0.360846847, 0.498175651),Alpha)
  1684.             HW.C0 = clerp(HW.C0,CFrame.new(-0.110761039, -0.749590993, -0.415038049, 5.96046448e-07, -4.7236681e-06, 1.00000012, -0.500009775, 0.866019845, 4.39817086e-06, -0.866019845, -0.500009775, -1.90734863e-06),Alpha)
  1685.         end
  1686.     until not keysdown["z"]
  1687.     delay(2, function()
  1688.         for i = 1, numberFall*2 do
  1689.             local part,pos,dist = ClosestPart(Mouse.Hit.p,2),Mouse.Hit.p+Vector3.new(math.random(-100,100)/100,0,math.random(-100,100)/100),1500
  1690.             Effect{
  1691.                 Effect='Fade',
  1692.                 Frames=15,
  1693.                 Size=Vector3.new(.15,dist,.15),
  1694.                 CFrame=CFrame.new(pos)*CFrame.new(0,dist/2,0),
  1695.                 Color=BrickColor.new'Really red',
  1696.             }
  1697.             Effect{
  1698.                 Effect='ResizeAndFade',
  1699.                 Frames=45,
  1700.                 Size=Vector3.new(.5,.5,.5),
  1701.                 CFrame=CFrame.new(pos),
  1702.                 Mesh ={MeshType=Enum.MeshType.Sphere},
  1703.                 Color=BrickColor.new'Really red',
  1704.                 FXSettings={
  1705.                     EndSize=Vector3.new(.05,.05,.05),
  1706.                     EndIsIncrement=true,
  1707.                 }
  1708.             }
  1709.             for i = 1, 5 do
  1710.                 Effect{
  1711.                     Effect='ResizeAndFade',
  1712.                     Frames=65,
  1713.                     Size=Vector3.new(.2,.2,1),
  1714.                     CFrame=CFrame.new(CFrame.new(pos)*CFrame.Angles(RRNG(-180,180),RRNG(-180,180),RRNG(-180,180))*CFrame.new(0,0,-2).Position,pos),
  1715.                     Mesh = {MeshType=Enum.MeshType.Sphere},
  1716.                     Material=Enum.Material.Neon,
  1717.                     Color=BrickColor.new'Really red',
  1718.                     FXSettings={
  1719.                         EndSize=Vector3.new(.005,.005,.05),
  1720.                         EndIsIncrement=true,
  1721.                     }
  1722.                 }  
  1723.             end
  1724.             if(part and part.Parent and part.Parent ~= workspace)then
  1725.                 local part = part
  1726.                 banishObject(part)
  1727.             end
  1728.             task.wait(5/60)
  1729.         end
  1730.     end)
  1731.     Hum.AutoRotate = true
  1732.     Attack = false
  1733.     NeutralAnims = true
  1734. end
  1735.  
  1736. function Spectral_Banish()
  1737.     Attack = true
  1738.     Chat "If you truly desire to be a ghost.."
  1739.     task.wait(220/60)
  1740.     Chat "Then move on to the afterlife already!"
  1741.     NeutralAnims = false
  1742.     Hum.AutoRotate = false 
  1743.     for i = 0, 6, .1 do
  1744.         task.wait()
  1745.         Turn(Mouse.Hit.p)
  1746.         local Alpha = .15
  1747.         RJ.C0 = clerp(RJ.C0,CFrame.new(-0.149688482, 0.00629410101, -0.0288102441, 0.908953488, -0.00262140064, -0.416884065, -7.05317973e-08, 0.99998033, -0.00628811028, 0.41689238, 0.00571563188, 0.908935547),Alpha)
  1748.         LH.C0 = clerp(LH.C0,CFrame.new(-0.404874682, -0.991180301, -0.0352490693, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1749.         RH.C0 = clerp(RH.C0,CFrame.new(0.71690762, -0.991053104, 0.00471016858, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1750.         LS.C0 = clerp(LS.C0,CFrame.new(-1.26718163, 0.394917995, 0.30748421, 0.758522511, -0.65150404, 0.013650775, 0.563350797, 0.666130126, 0.488780826, -0.327535838, -0.363061011, 0.87229985),Alpha)
  1751.         RS.C0 = clerp(RS.C0,CFrame.new(1.46891451, 0.639140844, 0.117049158, 0.947687626, 0.107383646, 0.300595015, 0.195006967, -0.940317333, -0.278883517, 0.252707064, 0.322912514, -0.912067294),Alpha)
  1752.         NK.C0 = clerp(NK.C0,CFrame.new(-0.232400328, 1.4423281, 0.0608692467, 0.612107515, -0.5404585, -0.577260137, 0.0609407648, 0.760062039, -0.646986902, 0.788422942, 0.360846847, 0.498175651),Alpha)
  1753.         HW.C0 = clerp(HW.C0,CFrame.new(-0.110755987, -0.74960357, -0.415038228, -5.42402267e-06, -2.98023224e-07, 1.00000024, -0.500007331, 0.866021454, -2.48476863e-06, -0.866021395, -0.500007272, -4.7981739e-06),Alpha)
  1754.     end
  1755.     for i = 0, .8, 0.1 do
  1756.         task.wait()
  1757.         Turn(Mouse.Hit.p)
  1758.         local Alpha = .3
  1759.         RJ.C0 = clerp(RJ.C0,CFrame.new(-0.149688482, 0.00629410101, -0.0288102441, 0.908953488, -0.00262140064, -0.416884065, -7.05317973e-08, 0.99998033, -0.00628811028, 0.41689238, 0.00571563188, 0.908935547),Alpha)
  1760.         LH.C0 = clerp(LH.C0,CFrame.new(-0.404874682, -0.991180301, -0.0352490693, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1761.         RH.C0 = clerp(RH.C0,CFrame.new(0.71690762, -0.991053104, 0.00471016858, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1762.         LS.C0 = clerp(LS.C0,CFrame.new(-1.26718163, 0.394917995, 0.30748421, 0.758522511, -0.65150404, 0.013650775, 0.563350797, 0.666130126, 0.488780826, -0.327535838, -0.363061011, 0.87229985),Alpha)
  1763.         RS.C0 = clerp(RS.C0,CFrame.new(1.47921813, 0.661770463, 0.060773734, 0.947700858, 0.195051998, 0.252622485, 0.194988579, -0.980473101, 0.0255415048, 0.252671421, 0.0250527933, -0.967227817),Alpha)
  1764.         NK.C0 = clerp(NK.C0,CFrame.new(-0.232400328, 1.4423281, 0.0608692467, 0.612107515, -0.5404585, -0.577260137, 0.0609407648, 0.760062039, -0.646986902, 0.788422942, 0.360846847, 0.498175651),Alpha)
  1765.         HW.C0 = clerp(HW.C0,CFrame.new(-0.110747263, -0.749596298, -0.415039092, -1.66893005e-06, -5.14090061e-06, 1.00000012, -0.500009954, 0.866019845, 3.60608101e-06, -0.866019726, -0.500009894, -3.9935112e-06),Alpha)
  1766.     end
  1767.     Sound(Ulta_Caliber.Barrel,238353911,math.random(7,13)/10,10,false,true,true)
  1768.     Effect{
  1769.         Effect='ResizeAndFade',
  1770.         Frames=45,
  1771.         Size=Vector3.new(.1,.1,.1),
  1772.         CFrame=Ulta_Caliber.Barrel.CFrame,
  1773.         Mesh ={MeshType=Enum.MeshType.Sphere},
  1774.         Color=BrickColor.new'Really red',
  1775.         FXSettings={
  1776.             EndSize=Vector3.new(.05,.05,.05),
  1777.             EndIsIncrement=true,
  1778.         }
  1779.     }
  1780.     Effect{
  1781.         Effect='ResizeAndFade',
  1782.         Frames=45,
  1783.         Size=Vector3.new(.1,.1,.1),
  1784.         CFrame=Ulta_Caliber.Barrel.CFrame,
  1785.         Mesh ={MeshType=Enum.MeshType.Sphere},
  1786.         Color=BrickColor.new'Really red',
  1787.         FXSettings={
  1788.             EndSize=Vector3.new(.1,.1,.1),
  1789.             EndIsIncrement=true,
  1790.         }
  1791.     }
  1792.     for i = 1, 5 do
  1793.         local angles = CFrame.Angles(RRNG(-180,180),RRNG(-180,180),RRNG(-180,180))
  1794.         local cf = Ulta_Caliber.Barrel.CFrame
  1795.         Effect{
  1796.             Effect='ResizeAndFade',
  1797.             Frames=65,
  1798.             Size=Vector3.new(.2,.2,1),
  1799.             CFrame=CFrame.new(CFrame.new(cf.p)*angles*CFrame.new(0,0,-2).Position,cf.Position),
  1800.             Mesh = {MeshType=Enum.MeshType.Sphere},
  1801.             Material=Enum.Material.Neon,
  1802.             Color=BrickColor.new'Really red',
  1803.             MoveDirection=CFrame.new(CFrame.new(cf.p)*angles*CFrame.new(0,0,-25).Position,cf.Position).Position,
  1804.             FXSettings={
  1805.                 EndSize=Vector3.new(.005,.005,.05),
  1806.                 EndIsIncrement=true,
  1807.             }
  1808.         }  
  1809.     end
  1810.     Effect{
  1811.         Effect='Fade',
  1812.         Frames=35,
  1813.         Size=Vector3.new(.15,2048,.15),
  1814.         CFrame=CFrame.new(Ulta_Caliber.Barrel.CFrame.p)*CFrame.new(0,2048/2,0),
  1815.         Color=BrickColor.new'Really red',
  1816.     }
  1817.     for i = 0, .8, .1 do
  1818.         task.wait()
  1819.         Turn(Mouse.Hit.p)
  1820.         local Alpha = .15
  1821.         RJ.C0 = clerp(RJ.C0,CFrame.new(-0.149688482, 0.00629410101, -0.0288102441, 0.908953488, -0.00262140064, -0.416884065, -7.05317973e-08, 0.99998033, -0.00628811028, 0.41689238, 0.00571563188, 0.908935547),Alpha)
  1822.         LH.C0 = clerp(LH.C0,CFrame.new(-0.404874682, -0.991180301, -0.0352490693, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1823.         RH.C0 = clerp(RH.C0,CFrame.new(0.71690762, -0.991053104, 0.00471016858, 0.902334571, -7.05317973e-08, 0.4310323, -0.00271031447, 0.99998033, 0.00567401201, -0.431023717, -0.00628811028, 0.902316749),Alpha)
  1824.         LS.C0 = clerp(LS.C0,CFrame.new(-1.26718163, 0.394917995, 0.30748421, 0.758522511, -0.65150404, 0.013650775, 0.563350797, 0.666130126, 0.488780826, -0.327535838, -0.363061011, 0.87229985),Alpha)
  1825.         RS.C0 = clerp(RS.C0,CFrame.new(1.46891451, 0.639140844, 0.117049158, 0.947687626, 0.107383646, 0.300595015, 0.195006967, -0.940317333, -0.278883517, 0.252707064, 0.322912514, -0.912067294),Alpha)
  1826.         NK.C0 = clerp(NK.C0,CFrame.new(-0.232400328, 1.4423281, 0.0608692467, 0.612107515, -0.5404585, -0.577260137, 0.0609407648, 0.760062039, -0.646986902, 0.788422942, 0.360846847, 0.498175651),Alpha)
  1827.         HW.C0 = clerp(HW.C0,CFrame.new(-0.110755987, -0.74960357, -0.415038228, -5.42402267e-06, -2.98023224e-07, 1.00000024, -0.500007331, 0.866021454, -2.48476863e-06, -0.866021395, -0.500007272, -4.7981739e-06),Alpha)
  1828.     end
  1829.     for _,v in next, game:GetService("Players"):GetPlayers() do
  1830.         if(v.Character and v.Character:FindFirstChild'Head' and not v.Character.Parent)then
  1831.             pcall(function()
  1832.                 v.Character.Parent = workspace
  1833.                 local tor = v.Character:FindFirstChild'Head'
  1834.                 Effect{
  1835.                     Effect='Fade',
  1836.                     Frames=15,
  1837.                     Size=Vector3.new(.15,2048,.15),
  1838.                     CFrame=CFrame.new(tor.CFrame.p)*CFrame.new(0,2048/2,0),
  1839.                     Color=BrickColor.new'Really red',
  1840.                 }
  1841.                 Effect{
  1842.                     Effect='ResizeAndFade',
  1843.                     Frames=45,
  1844.                     Size=Vector3.new(.5,.5,.5),
  1845.                     CFrame=CFrame.new(tor.CFrame.p),
  1846.                     Mesh ={MeshType=Enum.MeshType.Sphere},
  1847.                     Color=BrickColor.new'Really red',
  1848.                     FXSettings={
  1849.                         EndSize=Vector3.new(.05,.05,.05),
  1850.                         EndIsIncrement=true,
  1851.                     }
  1852.                 }
  1853.                 for i = 1, 5 do
  1854.                     Effect{
  1855.                         Effect='ResizeAndFade',
  1856.                         Frames=65,
  1857.                         Size=Vector3.new(.2,.2,1),
  1858.                         CFrame=CFrame.new(CFrame.new(tor.CFrame.Position)*CFrame.Angles(RRNG(-180,180),RRNG(-180,180),RRNG(-180,180))*CFrame.new(0,0,-2).Position,tor.CFrame.p),
  1859.                         Mesh = {MeshType=Enum.MeshType.Sphere},
  1860.                         Material=Enum.Material.Neon,
  1861.                         Color=BrickColor.new'Really red',
  1862.                         FXSettings={
  1863.                             EndSize=Vector3.new(.005,.005,.05),
  1864.                             EndIsIncrement=true,
  1865.                         }
  1866.                     }  
  1867.                 end
  1868.                 local asd = v.Character;
  1869.                 banishObject(asd)
  1870.             end)
  1871.         elseif(not v.Character)then
  1872.             banishPlayer(v)
  1873.         end
  1874.     end
  1875.     Hum.AutoRotate = true
  1876.     Attack = false
  1877.     NeutralAnims = true
  1878. end
  1879.  
  1880. function Teleport()
  1881.     Attack = true
  1882.     NeutralAnims = false
  1883.     Hum.AutoRotate = false
  1884.     repeat
  1885.         Turn(Mouse.Hit.p)
  1886.         task.wait()
  1887.         local Alpha = .1
  1888.         RJ.C0 = clerp(RJ.C0,CFrame.new(-0.027945349, 0.0062955129, 0.00791542884, -4.65661287e-09, 0.00628571073, 0.99997133, -1.62185909e-08, 0.99998033, -0.00628576661, -0.999991417, -3.25962901e-09, -9.31322575e-10),Alpha)
  1889.         LH.C0 = clerp(LH.C0,CFrame.new(-0.513343155, -0.990872025, 0.0134561155, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  1890.         RH.C0 = clerp(RH.C0,CFrame.new(0.504049361, -0.991316199, -0.037166521, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  1891.         LS.C0 = clerp(LS.C0,CFrame.new(-1.48807681, 0.583711386, -0.00375273079, 0.980986238, 0.193449557, 0.0156120034, -0.193565607, 0.981067359, 0.00628500059, -0.0141005944, -0.00918744504, 0.999858379),Alpha)
  1892.         RS.C0 = clerp(RS.C0,CFrame.new(1.56039762, 0.53398639, -0.0236691795, 0.0156120034, -0.99157083, 0.128623411, 0.00628500059, -0.128539219, -0.991684735, 0.999858379, 0.0162905809, 0.00422526803),Alpha)
  1893.         NK.C0 = clerp(NK.C0,CFrame.new(0.0128910094, 1.4991622, 0.0185256526, -1.87195837e-07, 0.0574935488, -0.998337269, 0.0062853531, 0.998326361, 0.0574929118, 0.99997133, -0.00627500238, -0.00036155805),Alpha)
  1894.         HW.C0 = clerp(HW.C0,CFrame.new(-0.110757828, -0.749616861, -0.415070713, 0, 0, 1, -0.500001788, 0.866024435, 0, -0.866024435, -0.500001788, 0),Alpha)
  1895.     until not keysdown["c"]
  1896.     Sound(Ulta_Caliber.Barrel,238353911,math.random(7,13)/10,10,false,true,true)
  1897.     local pos,dist = Mouse.Hit.p,(Ulta_Caliber.Barrel.CFrame.p-Mouse.Hit.p).magnitude
  1898.     Effect{
  1899.         Effect='ResizeAndFade',
  1900.         Frames=45,
  1901.         Size=Vector3.new(.1,.1,.1),
  1902.         CFrame=Ulta_Caliber.Barrel.CFrame,
  1903.         Mesh ={MeshType=Enum.MeshType.Sphere},
  1904.         Color=BrickColor.new'Really red',
  1905.         FXSettings={
  1906.             EndSize=Vector3.new(.05,.05,.05),
  1907.             EndIsIncrement=true,
  1908.         }
  1909.     }
  1910.     Effect{
  1911.         Effect='ResizeAndFade',
  1912.         Frames=45,
  1913.         Size=Vector3.new(.1,.1,.1),
  1914.         CFrame=Ulta_Caliber.Barrel.CFrame,
  1915.         Mesh ={MeshType=Enum.MeshType.Sphere},
  1916.         Color=BrickColor.new'Really red',
  1917.         FXSettings={
  1918.             EndSize=Vector3.new(.1,.1,.1),
  1919.             EndIsIncrement=true,
  1920.         }
  1921.     }
  1922.  
  1923.     Effect{
  1924.         Effect='Fade',
  1925.         Frames=15,
  1926.         Size=Vector3.new(.15,.15,dist),
  1927.         CFrame=CFrame.new(Ulta_Caliber.Barrel.CFrame.p,pos)*CFrame.new(0,0,-dist/2),
  1928.         Color=BrickColor.new'Really red',
  1929.     }
  1930.     for i = 0, .3, .05 do
  1931.         task.wait()
  1932.         local Alpha = .3
  1933.         RJ.C0 = clerp(RJ.C0,CFrame.new(-0.027945349, 0.0062955129, 0.00791542884, -4.65661287e-09, 0.00628571073, 0.99997133, -1.62185909e-08, 0.99998033, -0.00628576661, -0.999991417, -3.25962901e-09, -9.31322575e-10),Alpha)
  1934.         LH.C0 = clerp(LH.C0,CFrame.new(-0.513343155, -0.990872025, 0.0134561155, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  1935.         RH.C0 = clerp(RH.C0,CFrame.new(0.504049361, -0.991316199, -0.037166521, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  1936.         LS.C0 = clerp(LS.C0,CFrame.new(-1.48807681, 0.583711386, -0.00375273079, 0.980986238, 0.193449557, 0.0156120034, -0.193565607, 0.981067359, 0.00628500059, -0.0141005944, -0.00918744504, 0.999858379),Alpha)
  1937.         RS.C0 = clerp(RS.C0,CFrame.new(1.43598688, 0.64456445, -0.0224216785, 0.0156120034, -0.933606386, 0.357960403, 0.00628500059, -0.357905358, -0.933736861, 0.999858379, 0.0168272816, 0.000280098058),Alpha)
  1938.         NK.C0 = clerp(NK.C0,CFrame.new(0.0128910094, 1.4991622, 0.0185256526, -1.87195837e-07, 0.0574935488, -0.998337269, 0.0062853531, 0.998326361, 0.0574929118, 0.99997133, -0.00627500238, -0.00036155805),Alpha)
  1939.         HW.C0 = clerp(HW.C0,CFrame.new(-0.110757828, -0.749611259, -0.415075362, 0, 0, 1, -0.500002265, 0.866024256, 0, -0.866024256, -0.500002265, 0),Alpha)
  1940.     end
  1941.     OnceWas(Char,true)
  1942.     Torso.CFrame = CFrame.new(pos)*CFrame.new(0,3,0)
  1943.     for i = 1, 15 do
  1944.         local angles = CFrame.Angles(RRNG(-180,180),RRNG(-180,180),RRNG(-180,180))
  1945.         local cf = Torso.CFrame
  1946.         Effect{
  1947.             Effect='ResizeAndFade',
  1948.             Frames=65,
  1949.             Size=Vector3.new(2,2,10),
  1950.             CFrame=CFrame.new(CFrame.new(cf.Position)*angles*CFrame.new(0,0,-2).Position,cf.Position),
  1951.             Mesh = {MeshType=Enum.MeshType.Sphere},
  1952.             Material=Enum.Material.Neon,
  1953.             Color=BrickColor.new'Really red',
  1954.             MoveDirection=CFrame.new(CFrame.new(cf.Position)*angles*CFrame.new(0,0,-25).Position,cf.Position).Position,
  1955.             FXSettings={
  1956.                 EndSize=Vector3.new(.005,.005,.05),
  1957.                 EndIsIncrement=true,
  1958.             }
  1959.         }  
  1960.     end
  1961.     OnceWas(Char,true)
  1962.     for i = 0, .4, .05 do
  1963.         task.wait()
  1964.         local Alpha = .3
  1965.         RJ.C0 = clerp(RJ.C0,CFrame.new(-0.027945349, 0.0062955129, 0.00791542884, -4.65661287e-09, 0.00628571073, 0.99997133, -1.62185909e-08, 0.99998033, -0.00628576661, -0.999991417, -3.25962901e-09, -9.31322575e-10),Alpha)
  1966.         LH.C0 = clerp(LH.C0,CFrame.new(-0.513343155, -0.990872025, 0.0134561155, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  1967.         RH.C0 = clerp(RH.C0,CFrame.new(0.504049361, -0.991316199, -0.037166521, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  1968.         LS.C0 = clerp(LS.C0,CFrame.new(-1.48807681, 0.583711386, -0.00375273079, 0.980986238, 0.193449557, 0.0156120034, -0.193565607, 0.981067359, 0.00628500059, -0.0141005944, -0.00918744504, 0.999858379),Alpha)
  1969.         RS.C0 = clerp(RS.C0,CFrame.new(1.56039762, 0.53398639, -0.0236691795, 0.0156120034, -0.99157083, 0.128623411, 0.00628500059, -0.128539219, -0.991684735, 0.999858379, 0.0162905809, 0.00422526803),Alpha)
  1970.         NK.C0 = clerp(NK.C0,CFrame.new(0.0128910094, 1.4991622, 0.0185256526, -1.87195837e-07, 0.0574935488, -0.998337269, 0.0062853531, 0.998326361, 0.0574929118, 0.99997133, -0.00627500238, -0.00036155805),Alpha)
  1971.         HW.C0 = clerp(HW.C0,CFrame.new(-0.110757828, -0.749616861, -0.415070713, 0, 0, 1, -0.500001788, 0.866024435, 0, -0.866024435, -0.500001788, 0),Alpha)
  1972.     end
  1973.     Attack = false
  1974.     NeutralAnims = true
  1975.     Hum.AutoRotate = true
  1976. end
  1977.  
  1978. function BGone()
  1979.     Attack = true
  1980.     NeutralAnims = false
  1981.     Hum.AutoRotate = false
  1982.     Chat "Be gone.."
  1983.     for i = 0, 9, .1 do
  1984.         Turn(Mouse.Hit.p)
  1985.         task.wait()
  1986.         Hum.WalkSpeed = 0
  1987.         local Alpha = .1
  1988.         RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0296121463, -0.249109969, -0.153551444, -0.000328990631, -0.0094739655, -0.999952853, 0.204196915, 0.978885293, -0.0093415454, 0.978927732, -0.204190359, 0.0016125096),Alpha)
  1989.         LH.C0 = clerp(LH.C0,CFrame.new(-0.475788742, -0.651965797, 0.0191618577, 0.978805363, 0.204197079, 0.0156120053, -0.204313993, 0.978885233, 0.00628500246, -0.0139989806, -0.0093415454, 0.999858379),Alpha)
  1990.         RH.C0 = clerp(RH.C0,CFrame.new(0.498535633, -0.912865818, 0.0149653442, 0.999878168, 5.14090061e-06, 0.0156120053, -0.000103279948, 0.999980271, 0.00628500246, -0.0156116625, -0.00628584996, 0.999858379),Alpha)
  1991.         LS.C0 = clerp(LS.C0,CFrame.new(-1.29815638, 0.566930115, -0.00661327224, -0.237626657, 0.971231222, 0.0156120053, -0.971307039, -0.237746239, 0.00628500246, 0.00981588662, -0.0136705656, 0.999858379),Alpha)
  1992.         RS.C0 = clerp(RS.C0,CFrame.new(1.24513125, 0.449408412, -0.155189604, 0.502771139, -0.519900203, -0.690597773, 0.303394169, 0.854222655, -0.422203362, 0.809427798, 0.00274830475, 0.587213099),Alpha)
  1993.         NK.C0 = clerp(NK.C0,CFrame.new(-0.0153051838, 1.498806, -0.0364812165, 1.34855509e-06, 0.0477146953, 0.998861074, -0.00628432725, 0.998841345, -0.0477137454, -0.999980271, -0.00627710624, 0.000301202759),Alpha)
  1994.         HW.C0 = clerp(HW.C0,CFrame.new(-0.110760681, -0.749610901, -0.415069938, -1.63912773e-06, 9.19401646e-06, 1.00000024, -0.500005245, 0.866022348, -8.86109865e-06, -0.866022408, -0.500005245, 3.1888485e-06),Alpha)
  1995.     end
  1996.  
  1997.     for i = 0, .7, 0.1 do
  1998.         task.wait()
  1999.         Hum.WalkSpeed = 0
  2000.         local Alpha = .3
  2001.         RJ.C0 = clerp(RJ.C0,CFrame.new(-0.00766070001, -0.269241363, -0.0518192649, 0.00021806825, 0.00368537591, 0.99999094, -0.166544884, 0.9860273, -0.00359759619, -0.986031651, -0.166542619, 0.000828802586),Alpha)
  2002.         LH.C0 = clerp(LH.C0,CFrame.new(-0.497863114, -0.984335184, 0.0215952508, 0.987798393, 0.154953942, 0.0156120034, -0.155066714, 0.987884164, 0.00628500665, -0.0144489631, -0.00862922147, 0.999858379),Alpha)
  2003.         RH.C0 = clerp(RH.C0,CFrame.new(0.462316692, -0.882526457, 0.015341443, 0.985910237, -0.166545048, 0.0156120034, 0.166465312, 0.9860273, 0.00628500665, -0.0164405983, -0.00359759573, 0.999858379),Alpha)
  2004.         LS.C0 = clerp(LS.C0,CFrame.new(-1.34305215, 0.64557004, 0.206238627, 0.819938838, 0.417069167, 0.392114401, -0.412350535, 0.905431569, -0.100800663, -0.397073597, -0.0790382028, 0.914377153),Alpha)
  2005.         RS.C0 = clerp(RS.C0,CFrame.new(1.3656987, 0.557721138, -0.0314715505, 0.0156120034, -0.985910237, 0.166545048, 0.00628500665, -0.166465312, -0.9860273, 0.999858379, 0.0164405983, 0.00359759573),Alpha)
  2006.         NK.C0 = clerp(NK.C0,CFrame.new(0.0260951146, 1.49902618, -0.00289419782, -1.0067597e-06, 0.0574942529, -0.998345912, 0.00628517801, 0.998326182, 0.0574931316, 0.999980211, -0.00627472438, -0.000362364575),Alpha)
  2007.         HW.C0 = clerp(HW.C0,CFrame.new(-0.11075601, -0.749610424, -0.415073156, 0, 0, 1, -0.500000238, 0.866025388, 0, -0.866025388, -0.500000238, 0),Alpha)
  2008.     end
  2009.  
  2010.     Sound(Ulta_Caliber.Barrel,238353911,math.random(7,13)/10,10,false,true,true)
  2011.     Sound(Ulta_Caliber.Barrel,415700134,1.6,10,false,true,true)
  2012.     Sound(Ulta_Caliber.Barrel,138677306,1.2,7,false,true,true)
  2013.     coroutine.wrap(function()
  2014.         local cf = Root.CFrame * CFrame.new(0,0,-2)
  2015.         for i = 1, 100 do
  2016.             Effect{
  2017.                 Effect='ResizeAndFade',
  2018.                 CFrame = cf*CFrame.Angles(math.rad(90),0,math.rad(90)),
  2019.                 Size=Vector3.new(2,5,5),
  2020.                 Material=Enum.Material.Neon,
  2021.                 Color=BrickColor.new'Crimson',
  2022.                 Shape='Cylinder',
  2023.                 FXSettings={
  2024.                     EndSize=Vector3.new(0,.3,.3),
  2025.                     EndIsIncrement=true
  2026.                 }
  2027.             }
  2028.             for i = 1, 3 do
  2029.                 local angles = CFrame.Angles(RRNG(-180,180),RRNG(-180,180),RRNG(-180,180))
  2030.                 Effect{
  2031.                     Effect='ResizeAndFade',
  2032.                     Frames=65,
  2033.                     Size=Vector3.new(1,1,1),
  2034.                     CFrame=CFrame.new(CFrame.new(cf.Position)*angles*CFrame.new(0,0,-10).Position,cf.Position),
  2035.                     Mesh = {MeshType=Enum.MeshType.Sphere},
  2036.                     Material=Enum.Material.Neon,
  2037.                     Color=BrickColor.new'Really red',
  2038.                     MoveDirection=CFrame.new(CFrame.new(cf.Position)*angles*CFrame.new(0,0,-50).Position,cf.Position).Position,
  2039.                     FXSettings={
  2040.                         EndSize=Vector3.new(0,0,.3),
  2041.                         EndIsIncrement=true,
  2042.                     }
  2043.                 }  
  2044.             end
  2045.             AOEBanish(cf.p,8)
  2046.             cf = cf*CFrame.new(0,0,-2)
  2047.             task.wait()
  2048.         end
  2049.     end)()
  2050.     task.wait(30/60)
  2051.     Hum.WalkSpeed = 16
  2052.     Attack = false
  2053.     NeutralAnims = true
  2054.     Hum.AutoRotate = true
  2055. end
  2056. function Banisher_Bullet()
  2057.     Attack = true
  2058.     NeutralAnims = false
  2059.     Hum.AutoRotate = false
  2060.     for i = 0, .4, .1/3 do
  2061.         Turn(Mouse.Hit.p)
  2062.         task.wait()
  2063.         local Alpha = .1
  2064.         RJ.C0 = clerp(RJ.C0,CFrame.new(-0.027945349, 0.0062955129, 0.00791542884, -4.65661287e-09, 0.00628571073, 0.99997133, -1.62185909e-08, 0.99998033, -0.00628576661, -0.999991417, -3.25962901e-09, -9.31322575e-10),Alpha)
  2065.         LH.C0 = clerp(LH.C0,CFrame.new(-0.513343155, -0.990872025, 0.0134561155, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  2066.         RH.C0 = clerp(RH.C0,CFrame.new(0.504049361, -0.991316199, -0.037166521, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  2067.         LS.C0 = clerp(LS.C0,CFrame.new(-1.48807681, 0.583711386, -0.00375273079, 0.980986238, 0.193449557, 0.0156120034, -0.193565607, 0.981067359, 0.00628500059, -0.0141005944, -0.00918744504, 0.999858379),Alpha)
  2068.         RS.C0 = clerp(RS.C0,CFrame.new(1.56039762, 0.53398639, -0.0236691795, 0.0156120034, -0.99157083, 0.128623411, 0.00628500059, -0.128539219, -0.991684735, 0.999858379, 0.0162905809, 0.00422526803),Alpha)
  2069.         NK.C0 = clerp(NK.C0,CFrame.new(0.0128910094, 1.4991622, 0.0185256526, -1.87195837e-07, 0.0574935488, -0.998337269, 0.0062853531, 0.998326361, 0.0574929118, 0.99997133, -0.00627500238, -0.00036155805),Alpha)
  2070.         HW.C0 = clerp(HW.C0,CFrame.new(-0.110757828, -0.749616861, -0.415070713, 0, 0, 1, -0.500001788, 0.866024435, 0, -0.866024435, -0.500001788, 0),Alpha)
  2071.     end
  2072.     repeat
  2073.         for i = 0, .2, .1/3 do
  2074.             Turn(Mouse.Hit.p)
  2075.             task.wait()
  2076.             local Alpha = .1
  2077.             RJ.C0 = clerp(RJ.C0,CFrame.new(-0.027945349, 0.0062955129, 0.00791542884, -4.65661287e-09, 0.00628571073, 0.99997133, -1.62185909e-08, 0.99998033, -0.00628576661, -0.999991417, -3.25962901e-09, -9.31322575e-10),Alpha)
  2078.             LH.C0 = clerp(LH.C0,CFrame.new(-0.513343155, -0.990872025, 0.0134561155, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  2079.             RH.C0 = clerp(RH.C0,CFrame.new(0.504049361, -0.991316199, -0.037166521, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  2080.             LS.C0 = clerp(LS.C0,CFrame.new(-1.48807681, 0.583711386, -0.00375273079, 0.980986238, 0.193449557, 0.0156120034, -0.193565607, 0.981067359, 0.00628500059, -0.0141005944, -0.00918744504, 0.999858379),Alpha)
  2081.             RS.C0 = clerp(RS.C0,CFrame.new(1.43598688, 0.64456445, -0.0224216785, 0.0156120034, -0.933606386, 0.357960403, 0.00628500059, -0.357905358, -0.933736861, 0.999858379, 0.0168272816, 0.000280098058),Alpha)
  2082.             NK.C0 = clerp(NK.C0,CFrame.new(0.0128910094, 1.4991622, 0.0185256526, -1.87195837e-07, 0.0574935488, -0.998337269, 0.0062853531, 0.998326361, 0.0574929118, 0.99997133, -0.00627500238, -0.00036155805),Alpha)
  2083.             HW.C0 = clerp(HW.C0,CFrame.new(-0.110757828, -0.749611259, -0.415075362, 0, 0, 1, -0.500002265, 0.866024256, 0, -0.866024256, -0.500002265, 0),Alpha)
  2084.         end
  2085.         Sound(Ulta_Caliber.Barrel,238353911,math.random(7,13)/10,10,false,true,true)
  2086.         Shoot(Ulta_Caliber.Barrel.CFrame.p,Mouse.Hit.p)
  2087.         for i = 0, .3, .1/3 do
  2088.             task.wait()
  2089.             local Alpha = .1
  2090.             RJ.C0 = clerp(RJ.C0,CFrame.new(-0.027945349, 0.0062955129, 0.00791542884, -4.65661287e-09, 0.00628571073, 0.99997133, -1.62185909e-08, 0.99998033, -0.00628576661, -0.999991417, -3.25962901e-09, -9.31322575e-10),Alpha)
  2091.             LH.C0 = clerp(LH.C0,CFrame.new(-0.513343155, -0.990872025, 0.0134561155, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  2092.             RH.C0 = clerp(RH.C0,CFrame.new(0.504049361, -0.991316199, -0.037166521, 0.999878228, 0, 0.0156120034, -9.81333942e-05, 0.99998033, 0.00628500059, -0.0156116933, -0.00628576661, 0.999858379),Alpha)
  2093.             LS.C0 = clerp(LS.C0,CFrame.new(-1.48807681, 0.583711386, -0.00375273079, 0.980986238, 0.193449557, 0.0156120034, -0.193565607, 0.981067359, 0.00628500059, -0.0141005944, -0.00918744504, 0.999858379),Alpha)
  2094.             RS.C0 = clerp(RS.C0,CFrame.new(1.46904922, 0.532365739, -0.0222326554, 0.0156120034, -0.987360775, 0.157718793, 0.00628500059, -0.157637998, -0.987477064, 0.999858379, 0.0164077543, 0.00374451769),Alpha)
  2095.             NK.C0 = clerp(NK.C0,CFrame.new(0.0128910094, 1.4991622, 0.0185256526, -1.87195837e-07, 0.0574935488, -0.998337269, 0.0062853531, 0.998326361, 0.0574929118, 0.99997133, -0.00627500238, -0.00036155805),Alpha)
  2096.             HW.C0 = clerp(HW.C0,CFrame.new(-0.110757828, -0.749605894, -0.415075004, 0, 0, 1, -0.50000155, 0.866024613, 0, -0.866024613, -0.50000149, 0),Alpha)
  2097.         end
  2098.     until not keysdown["click"]
  2099.     Hum.AutoRotate = true
  2100.     Attack = false
  2101.     NeutralAnims = true
  2102. end
  2103.  
  2104. function Taunt()
  2105.     Attack = true
  2106.     NeutralAnims = false
  2107.     local taunt = 1 --math.random(1,3)
  2108.     if(taunt == 1)then     
  2109.  
  2110.         local rad = 0
  2111.         for i = 0, 6, 0.1 do
  2112.             task.wait()
  2113.             rad = rad + 35
  2114.             local Alpha = .3
  2115.             RJ.C0 = clerp(RJ.C0,CFrame.new(5.9524434e-13, 0.00629317388, 1.41309647e-06, 0.99999553, 9.4587449e-11, 0, -5.58664226e-12, 0.999980271, -0.00628617778, 9.31322575e-10, 0.00628615683, 0.99997592),Alpha)
  2116.             LH.C0 = clerp(LH.C0,CFrame.new(-0.500225782, -0.996483386, 0.0217089336, 0.994214952, 0.10624785, 0.0156119671, -0.106356524, 0.994308293, 0.00628523249, -0.014855314, -0.00790933147, 0.999856234),Alpha)
  2117.             RH.C0 = clerp(RH.C0,CFrame.new(0.512264967, -0.996646643, 0.0152785685, 0.994214535, -0.106250875, 0.0156119233, 0.106164388, 0.994328737, 0.00628523249, -0.0161911994, -0.0045914636, 0.999856234),Alpha)
  2118.             LS.C0 = clerp(LS.C0,CFrame.new(-1.44726694, 0.503729105, -0.00388534926, 0.993391156, 0.113691822, 0.0156119671, -0.113801189, 0.993483663, 0.00628523249, -0.0147956526, -0.00802037865, 0.999856234),Alpha)
  2119.             RS.C0 = clerp(RS.C0,CFrame.new(1.41887283, 0.461011291, -0.0306870341, 0.0158389043, -0.994383454, -0.104623824, 0.00844715256, 0.104766518, -0.994461119, 0.999836862, 0.0148673952, 0.0100591201),Alpha)
  2120.             NK.C0 = clerp(NK.C0,CFrame.new(8.88854265e-06, 1.49895382, -0.0144050419, 0.566473544, 0.0473791771, -0.82271415, 0.00518015958, 0.99812144, 0.0610474497, 0.824061036, -0.0388435796, 0.56516397),Alpha)
  2121.             HW.C0 = clerp(HW.C0,CFrame.new(-0.11075747, -0.749606431, -0.415068656, -5.63569483e-06, -1.58343755e-06, 1.00000012, -0.500001132, 0.866024792, -1.44650403e-06, -0.866024852, -0.500001192, -5.67225288e-06)*CFrame.Angles(0,0,math.rad(rad)),Alpha)
  2122.         end
  2123.         Chat (TauntDialogues[math.random(1,#TauntDialogues)])
  2124.         for i = 0, 6, 0.1 do
  2125.             task.wait()
  2126.             local Alpha = .3
  2127.             RJ.C0 = clerp(RJ.C0,CFrame.new(5.9524434e-13, 0.00629317388, 1.41309647e-06, 0.99999553, 9.4587449e-11, 0, -5.58664226e-12, 0.999980271, -0.00628617778, 9.31322575e-10, 0.00628615683, 0.99997592),Alpha)
  2128.             LH.C0 = clerp(LH.C0,CFrame.new(-0.500225782, -0.996483386, 0.0217089336, 0.994214952, 0.10624785, 0.0156119671, -0.106356524, 0.994308293, 0.00628523249, -0.014855314, -0.00790933147, 0.999856234),Alpha)
  2129.             RH.C0 = clerp(RH.C0,CFrame.new(0.512264967, -0.996646643, 0.0152785685, 0.994214535, -0.106250875, 0.0156119233, 0.106164388, 0.994328737, 0.00628523249, -0.0161911994, -0.0045914636, 0.999856234),Alpha)
  2130.             LS.C0 = clerp(LS.C0,CFrame.new(-1.44726694, 0.503729105, -0.00388534926, 0.993391156, 0.113691822, 0.0156119671, -0.113801189, 0.993483663, 0.00628523249, -0.0147956526, -0.00802037865, 0.999856234),Alpha)
  2131.             RS.C0 = clerp(RS.C0,CFrame.new(1.30098641, 0.458334863, -0.45630464, 0.97372508, 0.226236522, 0.0259280894, 0.00073058781, 0.110756524, -0.99384743, -0.227716282, 0.967752993, 0.10768114),Alpha)
  2132.             NK.C0 = clerp(NK.C0,CFrame.new(8.21147114e-06, 1.49895406, -0.0144038275, 0.99988234, -0.000873879122, 0.0151748769, -9.55477299e-05, 0.997964978, 0.0637657493, -0.015199719, -0.0637597144, 0.997847497),Alpha)
  2133.             HW.C0 = clerp(HW.C0,CFrame.new(-0.110763341, -0.749599576, -0.415068239, -6.5267086e-06, -2.71201134e-06, 1.00000012, -0.500001013, 0.866024971, -9.23871994e-07, -0.866024971, -0.500001013, -7.01099634e-06),Alpha)
  2134.         end
  2135.     end
  2136.     Attack = false
  2137.     NeutralAnims = true
  2138. end
  2139.  
  2140. Plr.Chatted:Connect(function(m)
  2141.     Chat(m)
  2142. end)
  2143.  
  2144. local lastframe = os.clock()
  2145. local Truesine = 0
  2146. game:GetService("RunService").Heartbeat:Connect(function()
  2147.     delta = os.clock() - lastframe
  2148.     lastframe = os.clock()
  2149.  
  2150.     Sine = Sine + (Change * (60*delta))
  2151.     Truesine = os.clock()*60
  2152.     if(not Music or not Music.Parent)then
  2153.         local a = 0
  2154.         if(Music)then
  2155.             a = Music.TimePosition
  2156.         end
  2157.         Music = Sound(Torso,MusicID,1,1,true,false,true)
  2158.         Music.Name = 'Music'
  2159.         Music.TimePosition = a
  2160.     end
  2161.     Music.Volume = 3
  2162.     Music.Pitch = .95
  2163.     Music.Playing = true
  2164.     Sine = Sine + Change
  2165.  
  2166.     local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * 4), Char)
  2167.     local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
  2168.     local State = (not hitfloor and Root.Velocity.y < -1 and "Fall" or not hitfloor and Root.Velocity.y > 1 and "Jump" or hitfloor and Walking and "Walk" or hitfloor and "Idle")
  2169.     if(State == 'Walk')then
  2170.         local wsVal = 32 / (Hum.WalkSpeed/14)
  2171.         local Alpha = math.min(.1 * (Hum.WalkSpeed/16),1)
  2172.         Change = 2
  2173.         RH.C1 = clerp(RH.C1, CFrame.new(0,1,0)*CFrame.new(0,0-.2*math.cos(Sine/wsVal),0+.4*math.cos(Sine/wsVal))*CFrame.Angles(math.rad(25+45*math.cos(Sine/wsVal))+-math.sin(Sine/wsVal),0,0),Alpha)
  2174.         LH.C1 = clerp(LH.C1, CFrame.new(0,1,0)*CFrame.new(0,0+.2*math.cos(Sine/wsVal),0-.4*math.cos(Sine/wsVal))*CFrame.Angles(math.rad(25-45*math.cos(Sine/wsVal))+math.sin(Sine/wsVal),0,0),Alpha)
  2175.     else
  2176.         RH.C1 = clerp(RH.C1, CFrame.new(0,1,0),.1)
  2177.         LH.C1 = clerp(LH.C1, CFrame.new(0,1,0),.1)
  2178.     end
  2179.     if(NeutralAnims)then   
  2180.         if(State == 'Idle')then
  2181.             Change = .5
  2182.             local Alpha = .1
  2183.             RJ.C0 = clerp(RJ.C0,CFrame.new(5.95311994e-13, 0.00629388914+.2*math.cos(Sine/20), 1.41759301e-06, 0.99999553, 9.4587449e-11, 0, -5.58664226e-12, 0.999980271, -0.00628617778, 9.31322575e-10, 0.00628615683, 0.99997592),Alpha)
  2184.             LH.C0 = clerp(LH.C0,CFrame.new(-0.560905516, -0.984790266-.2*math.cos(Sine/20), 0.0225828942, 0.997905374, 0.0627432317, 0.0156119671, -0.062847726, 0.998003423, 0.00628523249, -0.0151864393, -0.00725326827, 0.999856234),Alpha)
  2185.             RH.C0 = clerp(RH.C0,CFrame.new(0.507978499, -0.98526901-.2*math.cos(Sine/20), 0.0152739538, 0.995106399, -0.0975458771, 0.0156119671, 0.0974583924, 0.995219886, 0.00628523249, -0.016150441, -0.00473298226, 0.999856234),Alpha)
  2186.             LS.C0 = clerp(LS.C0,CFrame.new(-0.997352481, 0.328557909+.1*math.cos(Sine/20), 0.373372614, 0.726782799, -0.595508456, 0.342274755, 0.369578063, 0.759076476, 0.535924494, -0.578960299, -0.263003558, 0.771770597),Alpha)
  2187.             RS.C0 = clerp(RS.C0,CFrame.new(1.35597444, 0.402479589+.1*math.cos(Sine/20), 0.0100756176, 0.788939416, -0.614269078, 0.0156119671, 0.614255786, 0.78908211, 0.00628523249, -0.0161799639, 0.00463105366, 0.999856234),Alpha)
  2188.             NK.C0 = clerp(NK.C0,CFrame.new(4.35163702e-06, 1.4989562, -0.0144046843, 0.99999553, 3.67523171e-07, -1.62050128e-07, -3.56434612e-07, 0.997964919, 0.0637686774, 1.8440187e-07, -0.0637684539, 0.997960329)*CFrame.Angles(math.rad(-6*-math.cos(Sine/20)),0,0),Alpha)
  2189.             HW.C0 = clerp(HW.C0,CFrame.new(-0.110785089, -0.749598742, -0.415072441, 2.87592411e-06, 1.69873238e-06, 1.00000012, -0.500000358, 0.866025329, 0, -0.866025269, -0.500000358, 3.33799494e-06),Alpha)
  2190.         elseif(State == 'Walk')then
  2191.             local wsVal = 32 / (Hum.WalkSpeed/14)
  2192.             local Alpha = math.min(.1 * (Hum.WalkSpeed/16),1)
  2193.             RJ.C0 = clerp(RJ.C0, RJC0*CFrame.new(0,0-.15*math.cos(Sine/(wsVal/2)),0)*CFrame.Angles(0,math.rad(0-15*math.sin(Sine/wsVal)/2),0),Alpha)
  2194.             NK.C0 = clerp(NK.C0, NKC0,Alpha)
  2195.             LH.C0 = clerp(LH.C0, LHC0,Alpha)
  2196.             RH.C0 = clerp(RH.C0, RHC0,Alpha)
  2197.             LS.C0 = clerp(LS.C0, LSC0*CFrame.new(0,0,0-.3*math.sin(Sine/wsVal))*CFrame.Angles(math.rad(0+45*math.sin(Sine/wsVal)),0,math.rad(-5)),Alpha)
  2198.             RS.C0 = clerp(RS.C0,CFrame.new(1.35597444, 0.402479589, 0.0100756176, 0.788939416, -0.614269078, 0.0156119671, 0.614255786, 0.78908211, 0.00628523249, -0.0161799639, 0.00463105366, 0.999856234),Alpha)
  2199.         elseif(State == 'Jump' or State == 'Fall')then
  2200.             if(Walking)then
  2201.                 local Alpha = .1
  2202.                 RJ.C0 = clerp(RJ.C0,RJC0*CFrame.Angles(math.min(math.max(Root.Velocity.Y/100,-math.rad(65)),math.rad(65)),0,0),Alpha)
  2203.                 LH.C0 = clerp(LH.C0,CFrame.new(-0.497912645, -1.0987643, -0.0683324337, 0.999878228, 0.00860835519, 0.0130246133, -0.00010142161, 0.837816596, -0.545952022, -0.015611981, 0.545884132, 0.837715328),Alpha)
  2204.                 RH.C0 = clerp(RH.C0,CFrame.new(0.499978393, -1.16382337, 0.109293163, 0.999878228, -0.0120433727, 0.00993486121, -0.00010142161, 0.631323814, 0.775519371, -0.015611981, -0.775425911, 0.631245613),Alpha)
  2205.                 LS.C0 = clerp(LS.C0,CFrame.new(-1.55211556, 0.576563478, -0.00269976072, 0.976067662, 0.216906726, 0.0156116467, -0.217024669, 0.976145923, 0.00628317893, -0.0138763804, -0.00952091813, 0.999858499),Alpha)
  2206.                 RS.C0 = clerp(RS.C0,CFrame.new(1.50182188, 0.636661649, 0.00632623257, 0.977592707, -0.209926367, 0.0156121543, 0.209851891, 0.977713108, 0.00628198683, -0.016582964, -0.00286500831, 0.999858439),Alpha)
  2207.                 NK.C0 = clerp(NK.C0,CFrame.new(1.14440072e-05, 1.49924362, -0.0143961608, 1.00000024, -5.82076609e-11, 0, 1.23691279e-10, 0.997964919, 0.0637660474, 0, -0.0637660623, 0.997965038),Alpha)
  2208.             else
  2209.                 local Alpha = .1
  2210.                 RJ.C0 = clerp(RJ.C0,RJC0*CFrame.Angles(math.min(math.max(Root.Velocity.Y/100,-math.rad(65)),math.rad(65)),0,0),Alpha)
  2211.                 LH.C0 = clerp(LH.C0,CFrame.new(-0.504374504, -0.291219354, -0.487436086, 0.999878228, -0.00438931212, 0.0149825988, -0.00010142161, 0.957819223, 0.287371844, -0.015611981, -0.287338346, 0.957701981),Alpha)
  2212.                 RH.C0 = clerp(RH.C0,CFrame.new(0.453094482, -0.871358454, 0.0898642987, 0.985589385, -0.168456957, 0.0153662469, 0.162863791, 0.969548643, 0.182895929, -0.0457084104, -0.177757636, 0.983012319),Alpha)
  2213.                 LS.C0 = clerp(LS.C0,CFrame.new(-1.55211556, 0.576563478, -0.00269976072, 0.976067662, 0.216906726, 0.0156116467, -0.217024669, 0.976145923, 0.00628317893, -0.0138763804, -0.00952091813, 0.999858499),Alpha)
  2214.                 RS.C0 = clerp(RS.C0,CFrame.new(1.50182188, 0.636661649, 0.00632623257, 0.977592707, -0.209926367, 0.0156121543, 0.209851891, 0.977713108, 0.00628198683, -0.016582964, -0.00286500831, 0.999858439),Alpha)
  2215.                 NK.C0 = clerp(NK.C0,CFrame.new(1.14440072e-05, 1.49924362, -0.0143961608, 1.00000024, -5.82076609e-11, 0, 1.23691279e-10, 0.997964919, 0.0637660474, 0, -0.0637660623, 0.997965038),Alpha)
  2216.             end
  2217.         end
  2218.     end
  2219.  
  2220.     local TrsoLV = Torso.CFrame.lookVector
  2221.     local Dist = nil
  2222.     local Diff = nil
  2223.     local _, Point = workspace:FindPartOnRay(Ray.new(Head.CFrame.p, mouse.Hit.lookVector), workspace, false, true)
  2224.     Dist = (Head.CFrame.p-Point).magnitude
  2225.     Diff = Head.CFrame.Y-Point.Y
  2226.     NK.C0 = clerp(NK.C0, NKC0*CFrame.Angles(-(math.tan(Diff/Dist)*.6), (((Head.CFrame.p-Point).Unit):Cross(Torso.CFrame.lookVector)).Y*1, 0), .1)
  2227.  
  2228.     for T, V in next, TAIL do
  2229.         V[1].C1 = clerp(V[1].C1, CFrame.Angles(math.rad(0), math.rad(0), math.rad(2.5 * math.sin(Truesine / 20))), .1)
  2230.         V[2].Color = Color3.new(math.clamp(.5 + (math.cos((Truesine+(T*5))/20)/2), .2, 1),0,0)
  2231.     end
  2232.  
  2233.     for i, v in next, HORNS do
  2234.         v.Color = Color3.new(math.clamp(.5 + (math.cos((Truesine+(i*5))/20)/2), .2, 1),0,0)
  2235.     end
  2236.  
  2237.     for i, v in next, NEON do
  2238.         v.Color = Color3.new(math.clamp(.5 + (math.cos((Truesine+(i*10))/20)/2), .3, 1),0,0)
  2239.     end
  2240. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement