basbas1234

Taker

Dec 29th, 2018
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 115.89 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility: by WaverlyCole");InternalData = {}
  2. do
  3.     script.Parent = owner.Character
  4.     local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
  5.     local function NewFakeEvent()
  6.         local Bind = Instance.new("BindableEvent")
  7.         local Fake;Fake = {Connections = {},
  8.         fakeEvent=true;
  9.         Connect=function(self,Func)
  10.             Bind.Event:connect(Func)
  11.             self.Connections[Bind] = true
  12.             return setmetatable({Connected = true},{
  13.             __index = function (self,Index)
  14.                 if Index:lower() == "disconnect" then
  15.                     return function() Fake.Connections[Bind] = false;self.Connected = false end
  16.                 end
  17.                 return Fake[Index]
  18.             end;
  19.             __tostring = function() return "Connection" end;
  20.         })
  21.         end}
  22.         Fake.connect = Fake.Connect;return Fake;
  23.     end
  24.     local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
  25.     local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
  26.     local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  27.         self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  28.     end};ContextActionService.UnBindAction = ContextActionService.BindAction
  29.     local function TriggerEvent(self,Event,...)
  30.         local Trigger = Mouse[Event]
  31.         if Trigger and Trigger.fakeEvent and Trigger.Connections then
  32.             for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end
  33.         end
  34.     end
  35.     Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent
  36.     Event.OnServerEvent:Connect(function(FiredBy,Input)
  37.         if FiredBy.Name ~= owner.Name then return end
  38.         if Input.MouseEvent then
  39.             Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  40.         else
  41.             local Begin = Input.UserInputState == Enum.UserInputState.Begin
  42.             if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end
  43.             for _,Action in pairs(ContextActionService.Actions) do
  44.                 for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  45.             end
  46.             Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
  47.             UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  48.         end
  49.     end)
  50.     InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  51.     Event.Parent = NLS([[
  52.         local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse()
  53.         local Input = function(Input,gameProcessedEvent)
  54.             if gameProcessedEvent then return end
  55.             Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  56.         end
  57.         UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  58.         local Hit,Target
  59.         while wait(1/30) do
  60.             if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  61.                 Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  62.             end
  63.         end
  64.     ]],owner.Character)
  65. end
  66. RealGame = game;game = setmetatable({},{
  67.     __index = function (self,Index)
  68.         local Sandbox = function (Thing)
  69.             if Thing:IsA("Player") then
  70.                 local RealPlayer = Thing
  71.                 return setmetatable({},{
  72.                     __index = function (self,Index)
  73.                         local Type = type(RealPlayer[Index])
  74.                         if Type == "function" then
  75.                             if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  76.                                 return function (self)return InternalData["Mouse"] end
  77.                             end
  78.                             return function (self,...)return RealPlayer[Index](RealPlayer,...) end
  79.                         end
  80.                         return RealPlayer[Index]
  81.                     end;
  82.                     __tostring = function(self) return RealPlayer.Name end
  83.                 })
  84.             end
  85.         end
  86.         if RealGame[Index] then
  87.             local Type = type(RealGame[Index])
  88.             if Type == "function" then
  89.                 if Index:lower() == "getservice" or Index:lower() == "service" then
  90.                     return function (self,Service)
  91.                         local FakeServices = {
  92.                             ["players"] = function()
  93.                                 return setmetatable({},{
  94.                                     __index = function (self2,Index2)
  95.                                         local RealService = RealGame:GetService(Service)
  96.                                         local Type2 = type(Index2)
  97.                                         if Type2 == "function" then
  98.                                             return function (self,...) return RealService[Index2](RealService,...)end
  99.                                         else
  100.                                             if Index2:lower() == "localplayer" then return Sandbox(owner) end
  101.                                             return RealService[Index2]
  102.                                         end
  103.                                     end;
  104.                                     __tostring = function(self) return RealGame:GetService(Service).Name end
  105.                                 })
  106.                             end;
  107.                             ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  108.                             ["userinputservice"] = function() return InternalData["UserInputService"] end;
  109.                             ["runservice"] = function()
  110.                                 return setmetatable({},{
  111.                                     __index = function(self2,Index2)
  112.                                         local RealService = RealGame:GetService(Service)
  113.                                         local Type2 = type(Index2)
  114.                                         if Type2 == "function" then
  115.                                             return function (self,...) return RealService[Index2](RealService,...) end
  116.                                         else
  117.                                             local RunServices = {
  118.                                                 ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  119.                                                 ["renderstepped"] = function() return RealService["Stepped"] end
  120.                                             }
  121.                                             if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  122.                                             return RealService[Index2]
  123.                                         end
  124.                                     end
  125.                                 })
  126.                             end
  127.                         }
  128.                         if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  129.                         return RealGame:GetService(Service)
  130.                     end
  131.                 end
  132.                 return function (self,...) return RealGame[Index](RealGame,...) end
  133.             else
  134.                 if game:GetService(Index) then return game:GetService(Index) end
  135.                 return RealGame[Index]
  136.             end
  137.         end
  138.         return nil
  139.     end
  140. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...")
  141. --]]
  142.  
  143. -----------------------
  144. local halocolor = BrickColor.new("White")
  145.  
  146. Player = game.Players.LocalPlayer
  147.     Character = Player.Character
  148.     local txt = Instance.new("BillboardGui", Character)
  149.     txt.Adornee = Character.Head
  150.     txt.Name = "_status"
  151.     txt.Size = UDim2.new(2, 0, 1.2, 0)
  152.     txt.StudsOffset = Vector3.new(-9, 8, 0)
  153.     local text = Instance.new("TextLabel", txt)
  154.     text.Size = UDim2.new(10, 0, 7, 0)
  155.     text.FontSize = "Size24"
  156.     text.TextScaled = true
  157.     text.TextTransparency = 1
  158.     text.BackgroundTransparency = 1
  159.     text.TextTransparency = 1
  160.     text.TextStrokeTransparency = 0
  161.     text.Font = "Antique"
  162.     text.TextStrokeColor3 = Color3.new(17, 17, 17)
  163.         text.Text = "The Taker."
  164. script.Name = "Banisher Gun V3 / 1"
  165. --//====================================================\\--
  166. --||               CREATED BY SHACKLUSTER
  167. --\\====================================================//--
  168. local Player_Size = 1
  169. script:ClearAllChildren()
  170. wait(0.2)
  171.  
  172. --Player = owner
  173. PlayerGui = Player.PlayerGui
  174. Cam = workspace.CurrentCamera
  175. Backpack = Player.Backpack
  176. Character = Player.Character
  177. Humanoid = Character.Humanoid
  178. Mouse = Player:GetMouse()
  179. RootPart = Character["HumanoidRootPart"]
  180. Torso = Character["Torso"]
  181. Head = Character["Head"]
  182. RightArm = Character["Right Arm"]
  183. LeftArm = Character["Left Arm"]
  184. RightLeg = Character["Right Leg"]
  185. LeftLeg = Character["Left Leg"]
  186. RootJoint = RootPart["RootJoint"]
  187. Neck = Torso["Neck"]
  188. RightShoulder = Torso["Right Shoulder"]
  189. LeftShoulder = Torso["Left Shoulder"]
  190. RightHip = Torso["Right Hip"]
  191. LeftHip = Torso["Left Hip"]
  192. local TIME = 0
  193. local sick = Instance.new("Sound",Torso)
  194.  
  195. for i,v in pairs(Character:GetChildren()) do
  196.     if v.ClassName == "Shirt" or v.ClassName == "Pants" or v.ClassName == "CharacterMesh" then
  197.         v:Destroy()
  198.     end
  199. end
  200.  
  201. local Shirt = Instance.new("Shirt",Character)
  202. local Pants = Instance.new("Pants",Character)
  203. Shirt.ShirtTemplate = "rbxassetid://520226382"
  204. Pants.PantsTemplate = "rbxassetid://520226569"
  205.  
  206. IT = Instance.new
  207. CF = CFrame.new
  208. VT = Vector3.new
  209. RAD = math.rad
  210. C3 = Color3.new
  211. UD2 = UDim2.new
  212. BRICKC = BrickColor.new
  213. ANGLES = CFrame.Angles
  214. EULER = CFrame.fromEulerAnglesXYZ
  215. COS = math.cos
  216. ACOS = math.acos
  217. SIN = math.sin
  218. ASIN = math.asin
  219. ABS = math.abs
  220. MRANDOM = math.random
  221. FLOOR = math.floor
  222. --//=================================\\
  223. --||          USEFUL VALUES
  224. --\\=================================//
  225.  
  226. Animation_Speed = 3
  227. local FORCERESET = false
  228. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  229. local Speed = 16
  230. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  231. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  232. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  233. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  234. local DAMAGEMULTIPLIER = 1
  235. local ANIM = "Idle"
  236. local ATTACK = false
  237. local EQUIPPED = false
  238. local HOLD = false
  239. local COMBO = 1
  240. local Rooted = false
  241. local SINE = 0
  242. local KEYHOLD = false
  243. local CHANGE = 2 / Animation_Speed
  244. local WALKINGANIM = false
  245. local VALUE1 = false
  246. local VALUE2 = false
  247. local ROBLOXIDLEANIMATION = IT("Animation")
  248. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  249. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  250. --ROBLOXIDLEANIMATION.Parent = Humanoid
  251. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  252. WEAPONGUI.Name = "BanishV3Gui"
  253. local Weapon = IT("Model")
  254. Weapon.Name = "Adds"
  255. local Effects = IT("Folder", Weapon)
  256. Effects.Name = "Effects"
  257. local ANIMATOR = Humanoid.Animator
  258. local ANIMATE = Character:FindFirstChild("Animate")
  259. local UNANCHOR = true
  260. local TOBANISH = {}
  261. script.Parent = PlayerGui
  262.  
  263. --//=================================\\
  264. --\\=================================//
  265.  
  266.  
  267. --//=================================\\
  268. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  269. --\\=================================//
  270.  
  271. ArtificialHB = Instance.new("BindableEvent", script)
  272. ArtificialHB.Name = "ArtificialHB"
  273.  
  274. script:WaitForChild("ArtificialHB")
  275.  
  276. frame = Frame_Speed
  277. tf = 0
  278. allowframeloss = false
  279. tossremainder = false
  280. lastframe = tick()
  281. script.ArtificialHB:Fire()
  282.  
  283. game:GetService("RunService").Heartbeat:connect(function(s, p)
  284.     tf = tf + s
  285.     if tf >= frame then
  286.         if allowframeloss then
  287.             script.ArtificialHB:Fire()
  288.             lastframe = tick()
  289.         else
  290.             for i = 1, math.floor(tf / frame) do
  291.                 script.ArtificialHB:Fire()
  292.             end
  293.         lastframe = tick()
  294.         end
  295.         if tossremainder then
  296.             tf = 0
  297.         else
  298.             tf = tf - frame * math.floor(tf / frame)
  299.         end
  300.     end
  301. end)
  302.  
  303. --//=================================\\
  304. --\\=================================//
  305.  
  306. --//=================================\\
  307. --||          SOME FUNCTIONS
  308. --\\=================================//
  309.  
  310. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  311.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  312. end
  313.  
  314. function PositiveAngle(NUMBER)
  315.     if NUMBER >= 0 then
  316.         NUMBER = 0
  317.     end
  318.     return NUMBER
  319. end
  320.  
  321. function NegativeAngle(NUMBER)
  322.     if NUMBER <= 0 then
  323.         NUMBER = 0
  324.     end
  325.     return NUMBER
  326. end
  327.  
  328. function Swait(NUMBER)
  329.     if NUMBER == 0 or NUMBER == nil then
  330.         ArtificialHB.Event:wait()
  331.     else
  332.         for i = 1, NUMBER do
  333.             ArtificialHB.Event:wait()
  334.         end
  335.     end
  336. end
  337.  
  338. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  339.     local NEWMESH = IT(MESH)
  340.     if MESH == "SpecialMesh" then
  341.         NEWMESH.MeshType = MESHTYPE
  342.         if MESHID ~= "nil" and MESHID ~= "" then
  343.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  344.         end
  345.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  346.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  347.         end
  348.     end
  349.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  350.     NEWMESH.Scale = SCALE
  351.     NEWMESH.Parent = PARENT
  352.     return NEWMESH
  353. end
  354.  
  355. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  356.     local NEWPART = IT("Part")
  357.     NEWPART.formFactor = FORMFACTOR
  358.     NEWPART.Reflectance = REFLECTANCE
  359.     NEWPART.Transparency = TRANSPARENCY
  360.     NEWPART.CanCollide = false
  361.     NEWPART.Locked = true
  362.     NEWPART.Anchored = true
  363.     if ANCHOR == false then
  364.         NEWPART.Anchored = false
  365.     end
  366.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  367.     NEWPART.Name = NAME
  368.     NEWPART.Size = SIZE
  369.     NEWPART.Position = Torso.Position
  370.     NEWPART.Material = MATERIAL
  371.     NEWPART:BreakJoints()
  372.     NEWPART.Parent = PARENT
  373.     return NEWPART
  374. end
  375.  
  376.     local function weldBetween(a, b)
  377.         local weldd = Instance.new("ManualWeld")
  378.         weldd.Part0 = a
  379.         weldd.Part1 = b
  380.         weldd.C0 = CFrame.new()
  381.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  382.         weldd.Parent = a
  383.         return weldd
  384.     end
  385.  
  386.  
  387. function QuaternionFromCFrame(cf)
  388.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  389.     local trace = m00 + m11 + m22
  390.     if trace > 0 then
  391.         local s = math.sqrt(1 + trace)
  392.         local recip = 0.5 / s
  393.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  394.     else
  395.         local i = 0
  396.         if m11 > m00 then
  397.             i = 1
  398.         end
  399.         if m22 > (i == 0 and m00 or m11) then
  400.             i = 2
  401.         end
  402.         if i == 0 then
  403.             local s = math.sqrt(m00 - m11 - m22 + 1)
  404.             local recip = 0.5 / s
  405.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  406.         elseif i == 1 then
  407.             local s = math.sqrt(m11 - m22 - m00 + 1)
  408.             local recip = 0.5 / s
  409.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  410.         elseif i == 2 then
  411.             local s = math.sqrt(m22 - m00 - m11 + 1)
  412.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  413.         end
  414.     end
  415. end
  416.  
  417. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  418.     local xs, ys, zs = x + x, y + y, z + z
  419.     local wx, wy, wz = w * xs, w * ys, w * zs
  420.     local xx = x * xs
  421.     local xy = x * ys
  422.     local xz = x * zs
  423.     local yy = y * ys
  424.     local yz = y * zs
  425.     local zz = z * zs
  426.     return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
  427. end
  428.  
  429. function QuaternionSlerp(a, b, t)
  430.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  431.     local startInterp, finishInterp;
  432.     if cosTheta >= 0.0001 then
  433.         if (1 - cosTheta) > 0.0001 then
  434.             local theta = ACOS(cosTheta)
  435.             local invSinTheta = 1 / SIN(theta)
  436.             startInterp = SIN((1 - t) * theta) * invSinTheta
  437.             finishInterp = SIN(t * theta) * invSinTheta
  438.         else
  439.             startInterp = 1 - t
  440.             finishInterp = t
  441.         end
  442.     else
  443.         if (1 + cosTheta) > 0.0001 then
  444.             local theta = ACOS(-cosTheta)
  445.             local invSinTheta = 1 / SIN(theta)
  446.             startInterp = SIN((t - 1) * theta) * invSinTheta
  447.             finishInterp = SIN(t * theta) * invSinTheta
  448.         else
  449.             startInterp = t - 1
  450.             finishInterp = t
  451.         end
  452.     end
  453.     return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
  454. end
  455.  
  456. function Clerp(a, b, t)
  457.     local qa = {QuaternionFromCFrame(a)}
  458.     local qb = {QuaternionFromCFrame(b)}
  459.     local ax, ay, az = a.x, a.y, a.z
  460.     local bx, by, bz = b.x, b.y, b.z
  461.     local _t = 1 - t
  462.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  463. end
  464.  
  465. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  466.     local frame = IT("Frame")
  467.     frame.BackgroundTransparency = TRANSPARENCY
  468.     frame.BorderSizePixel = BORDERSIZEPIXEL
  469.     frame.Position = POSITION
  470.     frame.Size = SIZE
  471.     frame.BackgroundColor3 = COLOR
  472.     frame.BorderColor3 = BORDERCOLOR
  473.     frame.Name = NAME
  474.     frame.Parent = PARENT
  475.     return frame
  476. end
  477.  
  478. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  479.     local label = IT("TextLabel")
  480.     label.BackgroundTransparency = 1
  481.     label.Size = UD2(1, 0, 1, 0)
  482.     label.Position = UD2(0, 0, 0, 0)
  483.     label.TextColor3 = TEXTCOLOR
  484.     label.TextStrokeTransparency = STROKETRANSPARENCY
  485.     label.TextTransparency = TRANSPARENCY
  486.     label.FontSize = TEXTFONTSIZE
  487.     label.Font = TEXTFONT
  488.     label.BorderSizePixel = BORDERSIZEPIXEL
  489.     label.TextScaled = false
  490.     label.Text = TEXT
  491.     label.Name = NAME
  492.     label.Parent = PARENT
  493.     return label
  494. end
  495.  
  496. function NoOutlines(PART)
  497.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  498. end
  499.  
  500. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  501.     local NEWWELD = IT(TYPE)
  502.     NEWWELD.Part0 = PART0
  503.     NEWWELD.Part1 = PART1
  504.     NEWWELD.C0 = C0
  505.     NEWWELD.C1 = C1
  506.     NEWWELD.Parent = PARENT
  507.     return NEWWELD
  508. end
  509.  
  510. local S = IT("Sound")
  511. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  512.     local NEWSOUND
  513.     coroutine.resume(coroutine.create(function()
  514.         NEWSOUND = S:Clone()
  515.         NEWSOUND.Parent = PARENT
  516.         NEWSOUND.EmitterSize = VOLUME * 3
  517.         NEWSOUND.Volume = VOLUME
  518.         NEWSOUND.Pitch = PITCH
  519.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id=" .. ID
  520.         NEWSOUND:play()
  521.         if DOESLOOP == true then
  522.             NEWSOUND.Looped = true
  523.         else
  524.             repeat
  525.                 wait(1)
  526.             until NEWSOUND.Playing == false
  527.             NEWSOUND:remove()
  528.         end
  529.     end))
  530.     return NEWSOUND
  531. end
  532.  
  533. function CFrameFromTopBack(at, top, back)
  534.     local right = top:Cross(back)
  535.     return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  536. end
  537.  
  538. local HATWELD = nil
  539. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  540.     PLAYMAINANIM = false
  541.     if WhichPose == "Cast1" then
  542.         for i=0, Time, 0.1 / Animation_Speed do
  543.             Swait()
  544.             if Magic == true then
  545.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  546.             end
  547.             if Gyro ~= nil and Gyro ~= false then
  548.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  549.             end
  550.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
  551.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
  552.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  553.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  554.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  555.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  556.         end
  557.     elseif WhichPose == "Cast2" then
  558.         for i=0, Time, 0.1 / Animation_Speed do
  559.             Swait()
  560.             if Magic == true then
  561.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  562.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  563.             end
  564.             if Gyro ~= nil and Gyro ~= false then
  565.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  566.             end
  567.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  568.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  569.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  570.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  571.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  572.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  573.         end
  574.     elseif WhichPose == "RightArmUp" then
  575.         for i=0, Time, 0.1 / Animation_Speed do
  576.             Swait()
  577.             if Magic == true then
  578.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  579.             end
  580.             if Gyro ~= nil and Gyro ~= false then
  581.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  582.             end
  583.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
  584.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
  585.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  586.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  587.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  588.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  589.         end
  590.     elseif WhichPose == "Taunt" then
  591.         for i=0, Time, 0.1 / Animation_Speed do
  592.             Swait()
  593.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  594.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  595.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  596.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  597.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  598.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  599.         end
  600.         HATWELD.Part0 = RightArm
  601.         HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
  602.         CreateSound(137473066,Torso,10,1,false)
  603.         for i=0, Time*2, 0.1 / Animation_Speed do
  604.             Swait()
  605.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  606.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  607.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  608.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  609.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  610.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  611.         end
  612.         for i=0, Time, 0.1 / Animation_Speed do
  613.             Swait()
  614.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  615.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  616.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  617.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  618.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  619.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  620.             HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
  621.         end
  622.         HATWELD.Part0 = Head
  623.         HATWELD.C0 = CF(0,0.35,0)
  624.     elseif WhichPose == "Prepare key" then
  625.         for i=0, Time, 0.1 / Animation_Speed do
  626.             Swait()
  627.             if Gyro ~= nil and Gyro ~= false then
  628.                 Gyro.cframe = CF(RootPart.Position,Tors.Position)
  629.             end
  630.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
  631.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
  632.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  633.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  634.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  635.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  636.         end
  637.     elseif WhichPose == "Turn key" then
  638.         for i=0, Time, 0.1 / Animation_Speed do
  639.             Swait()
  640.             if Gyro ~= nil and Gyro ~= false then
  641.                 Gyro.cframe = CF(RootPart.Position,Tors.Position)
  642.             end
  643.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
  644.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
  645.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  646.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  647.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  648.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  649.         end
  650.     end
  651.     PLAYMAINANIM = true
  652. end
  653.  
  654. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  655. function WACKYEFFECT(Table)
  656.     local TYPE = (Table.EffectType or "Sphere")
  657.     local SIZE = (Table.Size or VT(1,1,1))
  658.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  659.     local TRANSPARENCY = (Table.Transparency or 0)
  660.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  661.     local CFRAME = (Table.CFrame or Torso.CFrame)
  662.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  663.     local ROTATION1 = (Table.RotationX or 0)
  664.     local ROTATION2 = (Table.RotationY or 0)
  665.     local ROTATION3 = (Table.RotationZ or 0)
  666.     local MATERIAL = (Table.Material or "Neon")
  667.     local COLOR = (Table.Color or C3(1,1,1))
  668.     local TIME = (Table.Time or 45)
  669.     local SOUNDID = (Table.SoundID or nil)
  670.     local SOUNDPITCH = (Table.SoundPitch or nil)
  671.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  672.     coroutine.resume(coroutine.create(function()
  673.         local PLAYSSOUND = false
  674.         local SOUND = nil
  675.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  676.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  677.             PLAYSSOUND = true
  678.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  679.         end
  680.         EFFECT.Color = COLOR
  681.         local MSH = nil
  682.         if TYPE == "Sphere" then
  683.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  684.         elseif TYPE == "Block" then
  685.             MSH = IT("BlockMesh",EFFECT)
  686.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  687.         elseif TYPE == "Wave" then
  688.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  689.         elseif TYPE == "Ring" then
  690.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  691.         elseif TYPE == "Slash" then
  692.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  693.         elseif TYPE == "Round Slash" then
  694.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  695.         elseif TYPE == "Swirl" then
  696.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  697.         elseif TYPE == "Skull" then
  698.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  699.         elseif TYPE == "Crystal" then
  700.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  701.         end
  702.         if MSH ~= nil then
  703.             local MOVESPEED = nil
  704.             if MOVEDIRECTION ~= nil then
  705.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  706.             end
  707.             local GROWTH = SIZE - ENDSIZE
  708.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  709.             if TYPE == "Block" then
  710.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  711.             else
  712.                 EFFECT.CFrame = CFRAME
  713.             end
  714.             for LOOP = 1, TIME+1 do
  715.                 Swait()
  716.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  717.                 if TYPE == "Wave" then
  718.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  719.                 end
  720.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  721.                 if TYPE == "Block" then
  722.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  723.                 else
  724.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  725.                 end
  726.                 if MOVEDIRECTION ~= nil then
  727.                     local ORI = EFFECT.Orientation
  728.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  729.                     EFFECT.Orientation = ORI
  730.                 end
  731.             end
  732.             if PLAYSSOUND == false then
  733.                 EFFECT:remove()
  734.             else
  735.                 SOUND.Stopped:Connect(function()
  736.                     EFFECT:remove()
  737.                 end)
  738.             end
  739.         else
  740.             if PLAYSSOUND == false then
  741.                 EFFECT:remove()
  742.             else
  743.                 repeat Swait() until SOUND.Playing == false
  744.                 EFFECT:remove()
  745.             end
  746.         end
  747.     end))
  748. end
  749.  
  750. --L Wings Part
  751.  
  752.     local extrawingmod1 = Instance.new("Model",Character)
  753.     extrawingmod1.Name = "Wing1"
  754.    
  755.    
  756.     local function CreateParta(parent,transparency,reflectance,material,brickcolor)
  757.     local p = Instance.new("Part")
  758.     p.TopSurface = 0
  759.     p.BottomSurface = 0
  760.     p.Parent = parent
  761.     p.Size = Vector3.new(0.1,0.1,0.1)
  762.     p.Transparency = transparency
  763.     p.Reflectance = reflectance
  764.     p.CanCollide = false
  765.     p.Locked = true
  766.     p.BrickColor = brickcolor
  767.     p.Material = material
  768.     return p
  769.     end
  770.    
  771.     local function CreateMeshN(parent,meshtype,x1,y1,z1)
  772.     local mesh = Instance.new("SpecialMesh",parent)
  773.     mesh.MeshType = meshtype
  774.     mesh.Scale = Vector3.new(x1*10,y1*10,z1*10)
  775.     return mesh
  776.     end
  777.    
  778.     local function CreateSpecialMesh(parent,meshid,x1,y1,z1)
  779.     local mesh = Instance.new("SpecialMesh",parent)
  780.     mesh.MeshType = "FileMesh"
  781.     mesh.MeshId = meshid
  782.     mesh.Scale = Vector3.new(x1,y1,z1)
  783.     return mesh
  784.     end
  785.    
  786.    
  787.     local function CreateSpecialGlowMesh(parent,meshid,x1,y1,z1)
  788.     local mesh = Instance.new("SpecialMesh",parent)
  789.     mesh.MeshType = "FileMesh"
  790.     mesh.MeshId = meshid
  791.     mesh.TextureId = "http://www.roblox.com/asset/?id=269748808"
  792.     mesh.Scale = Vector3.new(x1,y1,z1)
  793.     mesh.VertexColor = Vector3.new(parent.BrickColor.r, parent.BrickColor.g, parent.BrickColor.b)
  794.     return mesh
  795.     end
  796.    
  797.     local function CreateWeld(parent,part0,part1,C1X,C1Y,C1Z,C1Xa,C1Ya,C1Za,C0X,C0Y,C0Z,C0Xa,C0Ya,C0Za)
  798.     local weld = Instance.new("Weld")
  799.     weld.Parent = parent
  800.     weld.Part0 = part0
  801.     weld.Part1 = part1
  802.     weld.C1 = CFrame.new(C1X,C1Y,C1Z)*CFrame.Angles(C1Xa,C1Ya,C1Za)
  803.     weld.C0 = CFrame.new(C0X,C0Y,C0Z)*CFrame.Angles(C0Xa,C0Ya,C0Za)
  804.     return weld
  805.     end
  806.    
  807.    
  808.     local mw1 = Instance.new("Model",Character)
  809.     local m = Instance.new('Model',Character)
  810.    
  811. local maincolor = BrickColor.new("White")
  812. local handle = CreateParta(m,1,1,"Neon",maincolor)
  813. CreateMeshN(handle,"Brick",0.5,0.5,0.5)
  814. local handleweld = CreateWeld(handle,Torso,handle,0,-1.5,-1.05,math.rad(0),math.rad(0),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  815.  
  816. --- Left wing.
  817.  
  818. local lwing1 = CreateParta(m,1,1,"Neon",maincolor)
  819. CreateMeshN(handle,"Brick",0.5,0.5,0.5)
  820. local lwing1weld = CreateWeld(lwing1,handle,lwing1,3,0,0,math.rad(5),math.rad(0),math.rad(12.5),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  821.  
  822. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  823. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  824. CreateWeld(wed,lwing1,wed,0,0,0.25,math.rad(0),math.rad(90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  825. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  826. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  827. CreateWeld(wed,lwing1,wed,0,0,0.25,math.rad(0),math.rad(-90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  828. A0 = Instance.new('Attachment',wed)
  829. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  830. CreateMeshN(wed,"Wedge",0.05,0.5,3)
  831. CreateWeld(wed,lwing1,wed,0,-0.25,1.75,math.rad(0),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  832. A1 = Instance.new('Attachment',wed)
  833. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  834. CreateMeshN(wed,"Wedge",0.05,3,0.5)
  835. CreateWeld(wed,lwing1,wed,0,-1.75,0.25,math.rad(90),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  836.  
  837. tl1 = Instance.new('Trail',wed)
  838. tl1.Attachment0 = A0
  839. tl1.Attachment1 = A1
  840. --tl1.Texture = "http://www.roblox.com/asset/?id=1049219073"
  841. tl1.LightEmission = 1
  842. tl1.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(1, 1)})
  843. tl1.Color = ColorSequence.new(BrickColor.new('White').Color)
  844. tl1.Lifetime = 0.6
  845.  
  846.  
  847. local lwing2 = CreateParta(m,1,1,"Neon",maincolor)
  848. CreateMeshN(handle,"Brick",0.5,0.5,0.5)
  849. local lwing2weld = CreateWeld(lwing2,handle,lwing2,4,1,0,math.rad(10),math.rad(0),math.rad(25),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  850.  
  851. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  852. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  853. CreateWeld(wed,lwing2,wed,0,0,0.25,math.rad(0),math.rad(90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  854. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  855. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  856. CreateWeld(wed,lwing2,wed,0,0,0.25,math.rad(0),math.rad(-90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  857. A0 = Instance.new('Attachment',wed)
  858. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  859. CreateMeshN(wed,"Wedge",0.05,0.5,3)
  860. CreateWeld(wed,lwing2,wed,0,-0.25,1.75,math.rad(0),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  861. A1 = Instance.new('Attachment',wed)
  862. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  863. CreateMeshN(wed,"Wedge",0.05,3,0.5)
  864. CreateWeld(wed,lwing2,wed,0,-1.75,0.25,math.rad(90),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  865.  
  866. tl2 = Instance.new('Trail',wed)
  867. tl2.Attachment0 = A0
  868. tl2.Attachment1 = A1
  869. --tl2.Texture = "http://www.roblox.com/asset/?id=1049219073"
  870. tl2.LightEmission = 1
  871. tl2.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(1, 1)})
  872. tl2.Color = ColorSequence.new(BrickColor.new('Ghost grey').Color)
  873. tl2.Lifetime = 0.6
  874.  
  875. local lwing3 = CreateParta(m,1,1,"Neon",maincolor)
  876. CreateMeshN(handle,"Brick",0.5,0.5,0.5)
  877. local lwing3weld = CreateWeld(lwing3,handle,lwing3,4.75,2,0,math.rad(15),math.rad(0),math.rad(37.5),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  878.  
  879. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  880. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  881. CreateWeld(wed,lwing3,wed,0,0,0.25,math.rad(0),math.rad(90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  882. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  883. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  884. CreateWeld(wed,lwing3,wed,0,0,0.25,math.rad(0),math.rad(-90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  885. A0 = Instance.new('Attachment',wed)
  886. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  887. CreateMeshN(wed,"Wedge",0.05,0.5,3)
  888. CreateWeld(wed,lwing3,wed,0,-0.25,1.75,math.rad(0),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  889. A1 = Instance.new('Attachment',wed)
  890. wed = CreateParta(mw1,0,0,"Neon",halocolor)
  891. CreateMeshN(wed,"Wedge",0.05,3,0.5)
  892. CreateWeld(wed,lwing3,wed,0,-1.75,0.25,math.rad(90),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  893.  
  894. tl3 = Instance.new('Trail',wed)
  895. tl3.Attachment0 = A0
  896. tl3.Attachment1 = A1
  897. --tl3.Texture = "http://www.roblox.com/asset/?id=1049219073"
  898. tl3.LightEmission = 1
  899. tl3.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(1, 1)})
  900. tl3.Color = ColorSequence.new(BrickColor.new('Smoky grey').Color)
  901. tl3.Lifetime = 0.6
  902.  
  903. tl1.Enabled = true
  904. tl2.Enabled = true
  905. tl3.Enabled = true
  906.  
  907. local mw2 = Instance.new("Model",Character)
  908.  
  909. local rwing1 = CreateParta(m,1,1,"Neon",maincolor)
  910. CreateMeshN(handle,"Brick",0.5,0.5,0.5)
  911. local rwing1weld = CreateWeld(rwing1,handle,rwing1,-3,0,0,math.rad(5),math.rad(0),math.rad(-12.5),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  912.  
  913. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  914. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  915. CreateWeld(wed,rwing1,wed,0,0,0.25,math.rad(0),math.rad(90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  916. A0 = Instance.new('Attachment',wed)
  917. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  918. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  919. CreateWeld(wed,rwing1,wed,0,0,0.25,math.rad(0),math.rad(-90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  920. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  921. CreateMeshN(wed,"Wedge",0.05,0.5,3)
  922. CreateWeld(wed,rwing1,wed,0,-0.25,1.75,math.rad(0),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  923. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  924. CreateMeshN(wed,"Wedge",0.05,3,0.5)
  925. CreateWeld(wed,rwing1,wed,0,-1.75,0.25,math.rad(90),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  926. A1 = Instance.new('Attachment',wed)
  927.  
  928. tr1 = Instance.new('Trail',wed)
  929. tr1.Attachment0 = A0
  930. tr1.Attachment1 = A1
  931. --tr1.Texture = "http://www.roblox.com/asset/?id=1049219073"
  932. tr1.LightEmission = 1
  933. tr1.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(1, 1)})
  934. tr1.Color = ColorSequence.new(BrickColor.new('White').Color)
  935. tr1.Lifetime = 0.6
  936.  
  937. local rwing2 = CreateParta(m,1,1,"Neon",maincolor)
  938. CreateMeshN(handle,"Brick",0.5,0.5,0.5)
  939. local rwing2weld = CreateWeld(rwing2,handle,rwing2,-4,1,0,math.rad(10),math.rad(0),math.rad(-25),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  940.  
  941. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  942. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  943. CreateWeld(wed,rwing2,wed,0,0,0.25,math.rad(0),math.rad(90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  944. A0 = Instance.new('Attachment',wed)
  945. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  946. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  947. CreateWeld(wed,rwing2,wed,0,0,0.25,math.rad(0),math.rad(-90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  948. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  949. CreateMeshN(wed,"Wedge",0.05,0.5,3)
  950. CreateWeld(wed,rwing2,wed,0,-0.25,1.75,math.rad(0),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  951. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  952. CreateMeshN(wed,"Wedge",0.05,3,0.5)
  953. CreateWeld(wed,rwing2,wed,0,-1.75,0.25,math.rad(90),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  954. A1 = Instance.new('Attachment',wed)
  955.  
  956. tr2 = Instance.new('Trail',wed)
  957. tr2.Attachment0 = A0
  958. tr2.Attachment1 = A1
  959. --tr2.Texture = "http://www.roblox.com/asset/?id=1049219073"
  960. tr2.LightEmission = 1
  961. tr2.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(1, 1)})
  962. tr2.Color = ColorSequence.new(BrickColor.new('Ghost grey').Color)
  963. tr2.Lifetime = 0.6
  964.  
  965. local rwing3 = CreateParta(m,1,1,"Neon",maincolor)
  966. CreateMeshN(handle,"Brick",0.5,0.5,0.5)
  967. local rwing3weld = CreateWeld(rwing3,handle,rwing3,-4.75,2,0,math.rad(15),math.rad(0),math.rad(-37.5),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  968.  
  969. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  970. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  971. CreateWeld(wed,rwing3,wed,0,0,0.25,math.rad(0),math.rad(90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  972. A0 = Instance.new('Attachment',wed)
  973. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  974. CreateMeshN(wed,"Wedge",0.05,0.5,0.5)
  975. CreateWeld(wed,rwing3,wed,0,0,0.25,math.rad(0),math.rad(-90),math.rad(0),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  976. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  977. CreateMeshN(wed,"Wedge",0.05,0.5,3)
  978. CreateWeld(wed,rwing3,wed,0,-0.25,1.75,math.rad(0),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  979. wed = CreateParta(mw2,0,0,"Neon",halocolor)
  980. CreateMeshN(wed,"Wedge",0.05,3,0.5)
  981. CreateWeld(wed,rwing3,wed,0,-1.75,0.25,math.rad(90),math.rad(90),math.rad(90),0,0,0,math.rad(0),math.rad(0),math.rad(0))
  982. A1 = Instance.new('Attachment',wed)
  983.  
  984. tr3 = Instance.new('Trail',wed)
  985. tr3.Attachment0 = A0
  986. tr3.Attachment1 = A1
  987. --tr3.Texture = "http://www.roblox.com/asset/?id=1049219073"
  988. tr3.LightEmission = 1
  989. tr3.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(1, 1)})
  990. tr3.Color = ColorSequence.new(BrickColor.new('Smoky grey').Color)
  991. tr3.Lifetime = 0.6
  992.  
  993.  
  994. function MakeForm(PART,TYPE)
  995.     if TYPE == "Cyl" then
  996.         local MSH = IT("CylinderMesh",PART)
  997.     elseif TYPE == "Ball" then
  998.         local MSH = IT("SpecialMesh",PART)
  999.         MSH.MeshType = "Sphere"
  1000.     elseif TYPE == "Wedge" then
  1001.         local MSH = IT("SpecialMesh",PART)
  1002.         MSH.MeshType = "Wedge"
  1003.     end
  1004. end
  1005.  
  1006. function SpawnTrail(FROM,TO,BIG)
  1007.     local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Bright yellow", "Trail", VT(0,0,0))
  1008.     MakeForm(TRAIL,"Cyl")
  1009.     local DIST = (FROM - TO).Magnitude
  1010.     if BIG == true then
  1011.         TRAIL.Size = VT(0.5,DIST,0.5)
  1012.     else
  1013.         TRAIL.Size = VT(0.25,DIST,0.25)
  1014.     end
  1015.     TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  1016.     coroutine.resume(coroutine.create(function()
  1017.         for i = 1, 5 do
  1018.             Swait()
  1019.             TRAIL.Transparency = TRAIL.Transparency + 0.1
  1020.         end
  1021.         TRAIL:remove()
  1022.     end))
  1023. end
  1024.  
  1025. Debris = game:GetService("Debris")
  1026.  
  1027. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1028.     local DIRECTION = CF(StartPos,EndPos).lookVector
  1029.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1030. end
  1031.  
  1032. function turnto(position)
  1033.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1034. end
  1035.  
  1036. --//=================================\\
  1037. --||         WEAPON CREATION
  1038. --\\=================================//
  1039.  
  1040.  
  1041. local Particle = IT("ParticleEmitter",nil)
  1042. Particle.Enabled = false
  1043. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  1044. Particle.LightEmission = 0.5
  1045. Particle.Rate = 150
  1046. Particle.ZOffset = 0.2
  1047. Particle.Rotation = NumberRange.new(-180, 180)
  1048. Particle.RotSpeed = NumberRange.new(-180, 180)
  1049. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  1050. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  1051.  
  1052. local HAT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Tophat", VT(1,1,1),false)
  1053. local Hatweld = CreateWeldOrSnapOrMotor("Weld", Head, Head, HAT, CF(0,1,0), CF(0, 0, 0))
  1054. CreateMesh("SpecialMesh", HAT, "FileMesh", "97094619", "97094572", VT(1,1,1), VT(0,0,0))
  1055. for i = 1, 16 do
  1056.     local FACE = CreatePart(3, Character, "Neon", 0, 0+(i-1)/16.2, "White", "FaceGradient", VT(1.01,0.65,1.01),false)
  1057.     FACE.Color = C3(0,0,0)
  1058.     Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  1059.     CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.45-(i-1)/25,0), CF(0, 0, 0))
  1060. end
  1061. local EYE = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eyeball", VT(0.15,0.15,0.15),false)
  1062. MakeForm(EYE,"Ball")
  1063. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0.15,0.26,-0.55), CF(0, 0, 0))
  1064. local EYE2 = CreatePart(3, Character, "Neon", 0, 0, "Really white", "Eyeball", VT(0.15,0.15,0.15),false)
  1065. MakeForm(EYE2,"Ball")
  1066. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE2, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
  1067.  
  1068. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  1069. function ParticleEmitter(Table)
  1070.     local PRTCL = Particle:Clone()
  1071.     local Speed = Table.Speed or 5
  1072.     local Drag = Table.Drag or 0
  1073.     local Size1 = Table.Size1 or 1
  1074.     local Size2 = Table.Size2 or 5
  1075.     local Lifetime1 = Table.Lifetime1 or 1
  1076.     local Lifetime2 = Table.Lifetime2 or 1.5
  1077.     local Parent = Table.Parent or Torso
  1078.     local Emit = Table.Emit or 100
  1079.     local Offset = Table.Offset or 360
  1080.     local Acel = Table.Acel or VT(0,0,0)
  1081.     local Enabled = Table.Enabled or false
  1082.     PRTCL.Parent = Parent
  1083.     PRTCL.Size = NumberSequence.new(Size1,Size2)
  1084.     PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1085.     PRTCL.Speed = NumberRange.new(Speed)
  1086.     PRTCL.VelocitySpread = Offset
  1087.     PRTCL.Drag = Drag
  1088.     PRTCL.Acceleration = Acel
  1089.     if Enabled == false then
  1090.         PRTCL:Emit(Emit)
  1091.         Debris:AddItem(PRTCL,Lifetime2)
  1092.     else
  1093.         PRTCL.Enabled = true
  1094.     end
  1095.     return PRTCL
  1096. end
  1097.  
  1098. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
  1099. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  1100. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  1101. MakeForm(Part,"Wedge")
  1102. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  1103. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
  1104. MakeForm(Part,"Wedge")
  1105. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  1106. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
  1107. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1108. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
  1109. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1110. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
  1111. MakeForm(Part,"Cyl")
  1112. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1113. for i = 1, 8 do
  1114.     local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
  1115.     CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  1116. end
  1117. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
  1118. MakeForm(Part,"Cyl")
  1119. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1120. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
  1121. MakeForm(Part,"Ball")
  1122. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1123. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
  1124. MakeForm(Part,"Wedge")
  1125. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  1126. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
  1127. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1128. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
  1129. MakeForm(Part,"Cyl")
  1130. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1131. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
  1132. MakeForm(Part,"Cyl")
  1133. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1134. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
  1135. MakeForm(Part,"Cyl")
  1136. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1137. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  1138. MakeForm(Part,"Wedge")
  1139. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  1140. local LASTPART = Handle
  1141. for i = 1, 10 do
  1142.     if LASTPART == Handle then
  1143.         local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
  1144.         LASTPART = Part
  1145.         CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1146.     else
  1147.         local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
  1148.         CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  1149.         LASTPART = Part
  1150.     end
  1151. end
  1152.  
  1153. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
  1154. MakeForm(Barrel,"Cyl")
  1155. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1156. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
  1157. MakeForm(Part,"Cyl")
  1158. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  1159. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
  1160. MakeForm(Part,"Wedge")
  1161. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1162. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
  1163. MakeForm(Hole,"Cyl")
  1164. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  1165. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
  1166. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1167. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  1168. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
  1169. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1170. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  1171. coroutine.resume(coroutine.create(function()
  1172.     while wait() do
  1173.         GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  1174.         GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  1175.     end
  1176. end))
  1177.  
  1178. ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  1179. --ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 0.2, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.7, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  1180.  
  1181. for _, c in pairs(Weapon:GetDescendants()) do
  1182.     if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  1183.         c.Material = "Glass"
  1184.         c.Color = C3(0,0,0)
  1185.     elseif c.ClassName == "Part" and c.Name == "Eye" then
  1186.         c.Color = C3(1,0,0)
  1187.         c.Material = "Neon"
  1188.     end
  1189. end
  1190.  
  1191. Weapon.Parent = Character
  1192. for _, c in pairs(Weapon:GetChildren()) do
  1193.     if c.ClassName == "Part" then
  1194.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1195.     end
  1196. end
  1197.  
  1198. local SKILLTEXTCOLOR = C3(1,0,0)
  1199. local SKILLFONT = "Antique"
  1200. local SKILLTEXTSIZE = 7
  1201.  
  1202. Humanoid.Died:connect(function()
  1203.     ATTACK = true
  1204. end)
  1205.  
  1206. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  1207. --[[local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  1208. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  1209. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  1210. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  1211. ]]
  1212. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banish Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  1213. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  1214. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  1215. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  1216. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  1217. ]]
  1218. function printbye(Name)
  1219.     local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
  1220.     warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  1221. end
  1222.  
  1223. workspace.ChildAdded:connect(function(instance)
  1224.     for BANISH = 1, #TOBANISH do
  1225.         if TOBANISH[BANISH] ~= nil then
  1226.             if game.Players[instance.Name] ~= nil then
  1227.                 local KickPlayer = game.Players[instance.Name]
  1228.                 KickPlayer.Parent = nil;
  1229.             end
  1230.             if instance.Name == TOBANISH[BANISH] then
  1231.                 coroutine.resume(coroutine.create(function()
  1232.                     printbye(instance.Name)
  1233.                     instance:ClearAllChildren()
  1234.                     Debris:AddItem(instance,0.0005)
  1235.                 end))
  1236.             end
  1237.         end
  1238.     end
  1239. end)
  1240.  
  1241. --//=================================\\
  1242. --||            DAMAGING
  1243. --\\=================================//
  1244.  
  1245. function Banish(Foe)
  1246.     if Foe then
  1247.         coroutine.resume(coroutine.create(function()
  1248.             --if game.Players:FindFirstChild(Foe.Name) then
  1249.                 table.insert(TOBANISH,Foe.Name)
  1250.                 printbye(Foe.Name)
  1251.             --end
  1252.             Foe.Archivable = true
  1253.             local CLONE = Foe:Clone()
  1254.             Foe:Destroy()
  1255.             CLONE.Parent = Effects
  1256.             CLONE:BreakJoints()
  1257.             local MATERIALS = {"Glass","Neon"}
  1258.             for _, c in pairs(CLONE:GetDescendants()) do
  1259.                 if c:IsA("BasePart") then
  1260.                     if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  1261.                         CreateSound(340722848, c, 10, 1, false)
  1262.                     end
  1263.                     c.Anchored = true
  1264.                     c.Transparency = c.Transparency + 0.2
  1265.                     c.Material = MATERIALS[MRANDOM(1,2)]
  1266.                     c.Color = C3(1,1,1)
  1267.                     if c.ClassName == "MeshPart" then
  1268.                         c.TextureID = ""
  1269.                     end
  1270.                     if c:FindFirstChildOfClass("SpecialMesh") then
  1271.                         c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1272.                     end
  1273.                     if c:FindFirstChildOfClass("Decal") then
  1274.                         c:FindFirstChildOfClass("Decal"):remove()
  1275.                     end
  1276.                     c.Name = "Banished"
  1277.                     c.CanCollide = false
  1278.                 else
  1279.                     c:remove()
  1280.                 end
  1281.             end
  1282.             local A = false
  1283.             for i = 1, 35 do
  1284.                 if A == false then
  1285.                     A = true
  1286.                 elseif A == true then
  1287.                     A = false
  1288.                 end
  1289.                 for _, c in pairs(CLONE:GetDescendants()) do
  1290.                     if c:IsA("BasePart") then
  1291.                         c.Anchored = true
  1292.                         c.Material = MATERIALS[MRANDOM(1,2)]
  1293.                         c.Transparency = c.Transparency + 0.8/35
  1294.                         if A == false then
  1295.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1296.                         elseif A == true then
  1297.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)                       
  1298.                         end
  1299.                     end
  1300.                 end
  1301.                 Swait()
  1302.             end
  1303.             CLONE:remove()
  1304.         end))
  1305.     end
  1306. end
  1307.  
  1308. function ApplyAoE(POSITION,RANGE,ISBANISH)
  1309.     local CHILDREN = workspace:GetDescendants()
  1310.     for index, CHILD in pairs(CHILDREN) do
  1311.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  1312.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1313.             if HUM then
  1314.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1315.                 if TORSO then
  1316.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1317.                         if ISBANISH == true then
  1318.                             Banish(CHILD)
  1319.                         else
  1320.                             if ISBANISH == "Gravity" then
  1321.                                 HUM.PlatformStand = true
  1322.                                 if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1323.                                     local grav = Instance.new("BodyPosition",TORSO)
  1324.                                     grav.D = 15
  1325.                                     grav.P = 20000
  1326.                                     grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1327.                                     grav.position = TORSO.Position
  1328.                                     grav.Name = "V3BanishForce"..Player.Name
  1329.                                 else
  1330.                                     TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  1331.                                     TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  1332.                                 end
  1333.                             else
  1334.                                 HUM.PlatformStand = false
  1335.                             end
  1336.                         end
  1337.                     elseif ISBANISH == "Gravity" then
  1338.                         if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1339.                             TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  1340.                             HUM.PlatformStand = false
  1341.                         end
  1342.                     end
  1343.                 end
  1344.             end
  1345.         end
  1346.     end
  1347. end
  1348.  
  1349. UnBanishTaunts = {"You Are Released.", "If You Do The Same Thing Twice You Shall Not Be Given Mercy.", "Your Actions Have Been Forgiven.", "I shall set you free.", "I have let you go.", "Don't do that again.", "As A Person, i have the emotion of forgiving.", "Its Only Fair To Show You Mercy."}
  1350.  
  1351. --//=================================\\
  1352. --||    ATTACK FUNCTIONS AND STUFF
  1353. --\\=================================//
  1354.  
  1355. function Shot()
  1356.     ATTACK = true
  1357.     Rooted = false
  1358.     for i=0, 0.05, 0.1 / Animation_Speed do
  1359.         Swait()
  1360.         turnto(Mouse.Hit.p)
  1361.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1362.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1363.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1364.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1365.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1366.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1367.     end
  1368.     repeat
  1369.         for i=0, 0.05, 0.1 / Animation_Speed do
  1370.             Swait()
  1371.             turnto(Mouse.Hit.p)
  1372.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1373.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1374.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1375.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1376.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1377.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1378.         end
  1379.         local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  1380.         SpawnTrail(Hole.Position,POS)
  1381.         if HIT ~= nil then
  1382.             if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  1383.                 Banish(HIT.Parent)
  1384.             end
  1385.         end
  1386.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,7.5,6), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1387.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,6.5,6), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1388.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,6.5,6), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1389.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,6.5,6), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1390.         for i=0, 0.05, 0.1 / Animation_Speed do
  1391.             Swait()
  1392.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1393.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  1394.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1395.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1396.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1397.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1398.         end
  1399.     until KEYHOLD == false
  1400.     ATTACK = false
  1401.     Rooted = false
  1402. end
  1403.  
  1404. function AttackTemplate()
  1405.     ATTACK = true
  1406.     Rooted = false
  1407.     for i=0, 1, 0.1 / Animation_Speed do
  1408.         Swait()
  1409.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1410.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1411.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1412.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1413.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1414.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1415.     end
  1416.     ATTACK = false
  1417.     Rooted = false
  1418. end
  1419.  
  1420. function chatfunc(text)
  1421.     local chat = coroutine.wrap(function()
  1422.     if Character:FindFirstChild("TalkingBillBoard")~= nil then
  1423.         Character:FindFirstChild("TalkingBillBoard"):destroy()
  1424.     end
  1425.     local Bill = Instance.new("BillboardGui",Character)
  1426.     Bill.Size = UDim2.new(0,100,0,40)
  1427.     Bill.StudsOffset = Vector3.new(0,3,0)
  1428.     Bill.Adornee = Character.Head
  1429.     Bill.Name = "TalkingBillBoard"
  1430.     local Hehe = Instance.new("TextLabel",Bill)
  1431.     Hehe.BackgroundTransparency = 1
  1432.     Hehe.BorderSizePixel = 0
  1433.     Hehe.Text = ""
  1434.     Hehe.Font = "Bodoni"
  1435.     Hehe.TextSize = 40
  1436.     Hehe.TextStrokeTransparency = 0
  1437.     Hehe.Size = UDim2.new(1,0,0.5,0)
  1438.     coroutine.resume(coroutine.create(function()
  1439.         while Hehe ~= nil do
  1440.             swait()
  1441.             Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5)) 
  1442.             Hehe.Rotation = math.random(-5,5)
  1443.             Hehe.TextColor3 = Color3.new(196, 40, 28)
  1444.             Hehe.TextStrokeColor3 = Color3.new(0,0,0)
  1445.         end
  1446.     end))
  1447.     for i = 1,string.len(text),1 do
  1448.         swait()
  1449.         Hehe.Text = string.sub(text,1,i)
  1450.     end
  1451.     swait(90)--Re[math.random(1, 93)]
  1452.     for i = 0, 1, .025 do
  1453.         swait()
  1454.         Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
  1455.         Hehe.TextStrokeTransparency = i
  1456.         Hehe.TextTransparency = i
  1457.     end
  1458.     Bill:Destroy()
  1459.     end)
  1460. chat()
  1461. end
  1462.  
  1463. function onChatted(msg)
  1464.     chatfunc(msg)
  1465. end
  1466.  
  1467. Player.Chatted:connect(onChatted)
  1468.  
  1469. function Swait(NUMBER)
  1470.     if NUMBER == 0 or NUMBER == nil then
  1471.         ArtificialHB.Event:wait()
  1472.     else
  1473.         for i = 1, NUMBER do
  1474.             ArtificialHB.Event:wait()
  1475.         end
  1476.     end
  1477. end
  1478.  
  1479. function swait(num)
  1480.     if num == 0 or num == nil then
  1481.         ArtificialHB.Event:wait()
  1482.     else
  1483.         for i = 0, num do
  1484.             ArtificialHB.Event:wait()
  1485.         end
  1486.     end
  1487. end
  1488.  
  1489. local EYES = {}
  1490. function ApplyDamage9(Humanoid,Damage,TorsoPart)
  1491.     local defence = Instance.new("BoolValue",Humanoid.Parent)
  1492.     defence.Name = ("HitBy"..Player.Name)
  1493.     game:GetService("Debris"):AddItem(defence, 0.001)
  1494.     Damage = Damage * DAMAGEMULTIPLIER
  1495.     if Humanoid.Health ~= 0 then
  1496.         local CritChance = MRANDOM(1,100)
  1497.         if Damage > Humanoid.Health then
  1498.             Damage = math.ceil(Humanoid.Health)
  1499.             if Damage == 0 then
  1500.                 Damage = 0.1
  1501.             end
  1502.         end
  1503.         Humanoid.Health = Humanoid.Health - Damage
  1504.     end
  1505. end
  1506.  
  1507. function ApplyAoE2(POSITION, RANGE, MINDMG, MAXDMG, FLING, IZBANISH)
  1508.     local CHILDREN = workspace:GetDescendants()
  1509.     for index, CHILD in pairs(CHILDREN) do
  1510.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  1511.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1512.             if HUM then
  1513.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1514.                 if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
  1515.                     if IZBANISH == true then
  1516.                         Banish(CHILD)
  1517.                     else
  1518.                         local DMG = MRANDOM(MINDMG, MAXDMG)
  1519.                         ApplyDamage9(HUM, DMG, TORSO)
  1520.                     end
  1521.                     if FLING > 0 then
  1522.                         for _, c in pairs(CHILD:GetChildren()) do
  1523.                             if c:IsA("BasePart") then
  1524.                                 local bv = Instance.new("BodyVelocity")
  1525.                                 bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  1526.                                 bv.velocity = CF(POSITION, TORSO.Position).lookVector * FLING
  1527.                                 bv.Parent = c
  1528.                                 Debris:AddItem(bv, 0.05)
  1529.                             end
  1530.                         end
  1531.                     end
  1532.                 end
  1533.             end
  1534.         end
  1535.     end
  1536. end
  1537.  
  1538. function CreateDebreeRing(FLOOR, POSITION, SIZE, BLOCKSIZE, SWAIT)
  1539.     if FLOOR ~= nil then
  1540.         coroutine.resume(coroutine.create(function()
  1541.             local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0, 0, 0))
  1542.             PART.CFrame = CF(POSITION)
  1543.             for i = 1, 45 do
  1544.                 local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
  1545.                 RingPiece.Material = FLOOR.Material
  1546.                 RingPiece.Color = FLOOR.Color
  1547.                 RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i * 8), RAD(0)) * CF(SIZE * 4, 0, 0) * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)))
  1548.                 Debris:AddItem(RingPiece, SWAIT)
  1549.             end
  1550.             PART:remove()
  1551.         end))
  1552.     end
  1553. end
  1554. function CreateFlyingDebree(FLOOR, POSITION, AMOUNT, BLOCKSIZE, SWAIT, STRENGTH)
  1555.     if FLOOR ~= nil then
  1556.         for i = 1, AMOUNT do
  1557.             do
  1558.                 local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, 0, "Peal", "Debree", BLOCKSIZE, false)
  1559.                 DEBREE.Material = FLOOR.Material
  1560.                 DEBREE.Color = FLOOR.Color
  1561.                 DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)))
  1562.                 DEBREE.Velocity = VT(MRANDOM(-STRENGTH, STRENGTH), STRENGTH, MRANDOM(-STRENGTH, STRENGTH))
  1563.                 coroutine.resume(coroutine.create(function()
  1564.                     Swait(15)
  1565.                     DEBREE.Parent = workspace
  1566.                     DEBREE.CanCollide = true
  1567.                     Debris:AddItem(DEBREE, SWAIT)
  1568.                 end))
  1569.             end
  1570.         end
  1571.     end
  1572. end
  1573.  
  1574. function Fire_At_Will()
  1575.     ATTACK = true
  1576.     Rooted = false
  1577.     local GYRO = IT("BodyGyro", RootPart)
  1578.     GYRO.D = 750
  1579.     GYRO.P = 2000
  1580.     GYRO.MaxTorque = VT(0, 40000, 0)
  1581.     for i = 0, 0.2, 0.1 / Animation_Speed do
  1582.         Swait()
  1583.         GYRO.cframe = CF(RootPart.Position, Mouse.Hit.p)
  1584.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.5 / Animation_Speed)
  1585.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 0.5 / Animation_Speed)
  1586.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.48, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1587.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1588.         if ANIM == "Idle" then
  1589.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1590.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1591.         elseif ANIM == "Walk" then
  1592.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1593.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1594.         elseif ANIM == "Jump" or ANIM == "Fall" then
  1595.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1596.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1597.         end
  1598.     end
  1599.     local BOMB = CreatePart(3, Effects, "Neon", 0, 0, "White", "Sphere", VT(1, 1, 1), false)
  1600.     MakeForm(BOMB, "Ball")
  1601.     BOMB.Mesh.Scale = VT(2, 2, 2)
  1602.     local WELD = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BOMB, CF(0, -2, 0), CF(0, 0, 0))
  1603.     for i = 0, 1.5, 0.1 / Animation_Speed do
  1604.         Swait()
  1605.         if MRANDOM(1, 2) == 1 then
  1606.             for E = 1, #EYES do
  1607.                 if EYES[E] ~= nil then
  1608.                     local EY = EYES[E]
  1609.                     local LIGHTNING = Zap({
  1610.                         StartPosition = EY.Position,
  1611.                         TargetPosition = BOMB.Position,
  1612.                         Character = Character,
  1613.                         Color = "Black",
  1614.                         Individual = false,
  1615.                         MaxRange = 7,
  1616.                         SegmentLength = 1,
  1617.                         Offset = 0.3,
  1618.                         SIZE = 0.05
  1619.                     })
  1620.                     Debris:AddItem(LIGHTNING.LightningModel, 0.05)
  1621.                 end
  1622.             end
  1623.         end
  1624.         BOMB.Mesh.Scale = BOMB.Mesh.Scale + VT(0.1, 0.1, 0.1)
  1625.         GYRO.cframe = CF(RootPart.Position, Mouse.Hit.p)
  1626.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.5 / Animation_Speed)
  1627.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 0.5 / Animation_Speed)
  1628.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.48, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1629.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1630.         if ANIM == "Idle" then
  1631.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1632.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1633.         elseif ANIM == "Walk" then
  1634.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1635.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1636.         elseif ANIM == "Jump" or ANIM == "Fall" then
  1637.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1638.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1639.         end
  1640.     end
  1641.     WACKYEFFECT({
  1642.         Time = 25,
  1643.         EffectType = "Ring",
  1644.         Size = VT(0, 0, 0),
  1645.         Size2 = VT(3.75, 3.75, 0),
  1646.         Transparency = 0.7,
  1647.         Transparency2 = 1,
  1648.         CFrame = RootPart.CFrame * CF(0, -0.25, -1.3),
  1649.         MoveToPos = nil,
  1650.         RotationX = 0,
  1651.         RotationY = 0,
  1652.         RotationZ = 0,
  1653.         Material = "Neon",
  1654.         Color = BOMB.Color,
  1655.         SoundID = nil,
  1656.         SoundPitch = nil,
  1657.         SoundVolume = nil
  1658.     })
  1659.     WACKYEFFECT({
  1660.         Time = 50,
  1661.         EffectType = "Ring",
  1662.         Size = VT(0, 0, 0),
  1663.         Size2 = VT(75, 75, 0),
  1664.         Transparency = 0.7,
  1665.         Transparency2 = 1,
  1666.         CFrame = RootPart.CFrame * CF(0, -0.25, -1.3),
  1667.         MoveToPos = nil,
  1668.         RotationX = 0,
  1669.         RotationY = 0,
  1670.         RotationZ = 0,
  1671.         Material = "Neon",
  1672.         Color = BOMB.Color,
  1673.         SoundID = nil,
  1674.         SoundPitch = nil,
  1675.         SoundVolume = nil
  1676.     })
  1677.     BOMB.Anchored = true
  1678.     WELD:remove()
  1679.     GYRO:remove()
  1680.     coroutine.resume(coroutine.create(function()
  1681.         BOMB.CFrame = CF(BOMB.Position, Mouse.Hit.p)
  1682.         for i = 1, 500 do
  1683.             Swait()
  1684.             BOMB.CFrame = BOMB.CFrame * CF(0, 0, -2)
  1685.             local HITFLOOR, HITPOS = Raycast(BOMB.Position, BOMB.CFrame.lookVector, 2.2, Character)
  1686.             if HITFLOOR ~= nil then
  1687.                 break
  1688.             end
  1689.         end
  1690.         ApplyAoE2(BOMB.Position, 75, 0, 0, 0, true)
  1691.         for i = 1, 3 do
  1692.             WACKYEFFECT({
  1693.                 Time = 35,
  1694.                 EffectType = "Swirl",
  1695.                 Size = VT(0, 0, 0),
  1696.                 Size2 = VT(250, 325, 250) + VT(50, 150, 50) * i,
  1697.                 Transparency = 0,
  1698.                 Transparency2 = 1,
  1699.                 CFrame = BOMB.CFrame,
  1700.                 MoveToPos = nil,
  1701.                 RotationX = 0,
  1702.                 RotationY = 5 * i,
  1703.                 RotationZ = 0,
  1704.                 Material = "Neon",
  1705.                 Color = BOMB.Color,
  1706.                 SoundID = nil,
  1707.                 SoundPitch = nil,
  1708.                 SoundVolume = nil
  1709.             })
  1710.         end
  1711.         for i = 1, 5 do
  1712.             WACKYEFFECT({
  1713.                 Time = 75,
  1714.                 EffectType = "Sphere",
  1715.                 Size = BOMB.Mesh.Scale,
  1716.                 Size2 = VT(100, 100, 100) * i,
  1717.                 Transparency = 0.5,
  1718.                 Transparency2 = 1,
  1719.                 CFrame = BOMB.CFrame,
  1720.                 MoveToPos = nil,
  1721.                 RotationX = 0,
  1722.                 RotationY = 0,
  1723.                 RotationZ = 0,
  1724.                 Material = "Neon",
  1725.                 Color = BOMB.Color,
  1726.                 SoundID = 1222405264,
  1727.                 SoundPitch = 1,
  1728.                 SoundVolume = 10
  1729.             })
  1730.         end
  1731.         local HITFLOOR, HITPOS = Raycast(BOMB.Position, CF(BOMB.Position + VT(0, 1, 0), BOMB.Position - VT(0, 1, 0)).lookVector, 15, Character)
  1732.         if HITFLOOR then
  1733.             CreateDebreeRing(HITFLOOR, HITPOS, 15, VT(18, 18, 18), 5)
  1734.         end
  1735.         BOMB.Transparency = 1
  1736.         for i = 1, 35 do
  1737.             Swait()
  1738.             CreateFlyingDebree(BOMB, CF(BOMB.Position), 1, VT(0.5, 0.5, 0.5), 5, 150)
  1739.         end
  1740.         BOMB:remove()
  1741.     end))
  1742.     ATTACK = false
  1743.     Rooted = false
  1744. end
  1745.  
  1746. function ApplyDamage(Humanoid, Damage, TorsoPart)
  1747.     local defence = Instance.new("BoolValue", Humanoid.Parent)
  1748.     defence.Name = "HitBy" .. Player.Name
  1749.     game:GetService("Debris"):AddItem(defence, 0.001)
  1750.     Damage = Damage * DAMAGEMULTIPLIER
  1751.     if Humanoid.Health ~= 0 then
  1752.         local CritChance = MRANDOM(1, 100)
  1753.         if Damage > Humanoid.Health then
  1754.             Damage = math.ceil(Humanoid.Health)
  1755.             if Damage == 0 then
  1756.                 Damage = 0.1
  1757.             end
  1758.         end
  1759.         Humanoid.Health = Humanoid.Health - Damage
  1760.         StatLabel(TorsoPart.CFrame * CF(0, 0 + (TorsoPart.Size.z - 1), 0), Damage, C3(0, 0, 0))
  1761.     end
  1762. end
  1763. function ApplyAoE(POSITION, RANGE, MINDMG, MAXDMG, FLING, INSTAKILL)
  1764.     local CHILDREN = workspace:GetDescendants()
  1765.     for index, CHILD in pairs(CHILDREN) do
  1766.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  1767.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1768.             if HUM then
  1769.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1770.                 if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
  1771.                     if INSTAKILL == true then
  1772.                         CHILD:BreakJoints()
  1773.                     else
  1774.                         local DMG = MRANDOM(MINDMG, MAXDMG)
  1775.                         ApplyDamage(HUM, DMG, TORSO)
  1776.                     end
  1777.                     if FLING > 0 then
  1778.                         for _, c in pairs(CHILD:GetChildren()) do
  1779.                             if c:IsA("BasePart") then
  1780.                                 local bv = Instance.new("BodyVelocity")
  1781.                                 bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  1782.                                 bv.velocity = CF(POSITION, TORSO.Position).lookVector * FLING
  1783.                                 bv.Parent = c
  1784.                                 Debris:AddItem(bv, 0.05)
  1785.                             end
  1786.                         end
  1787.                     end
  1788.                 end
  1789.             end
  1790.         end
  1791.     end
  1792. end
  1793. function Extreme_Offset()
  1794.     local HITFLOOR, HITPOS = Raycast(Mouse.Hit.p + VT(0, 1, 0), CF(Mouse.Hit.p + VT(0, 1, 0), Mouse.Hit.p - VT(0, 1, 0)).lookVector, 25, Character)
  1795.     if HITFLOOR then
  1796.         local ORIGINPOS = VT(RootPart.Position.X, HITPOS.Y + 8, RootPart.Position.Z)
  1797.         CreateSound("1295446488", Torso, 5, 1)
  1798.         for i = 1, 5 do
  1799.             WACKYEFFECT({
  1800.                 Time = MRANDOM(15, 35),
  1801.                 EffectType = "Round Slash",
  1802.                 Size = VT(0, 0, 0),
  1803.                 Size2 = VT(0.3, 0, 0.3),
  1804.                 Transparency = 0.5,
  1805.                 Transparency2 = 1,
  1806.                 CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(-25, 25)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-25, 25))),
  1807.                 MoveToPos = nil,
  1808.                 RotationX = MRANDOM(-50, 50) / 10,
  1809.                 RotationY = MRANDOM(-50, 50) / 10,
  1810.                 RotationZ = MRANDOM(-50, 50) / 10,
  1811.                 Material = "Neon",
  1812.                 Color = C3(1, 1, 1),
  1813.                 SoundID = nil,
  1814.                 SoundPitch = nil,
  1815.                 SoundVolume = nil
  1816.             })
  1817.         end
  1818.         ATTACK = true
  1819.         Rooted = true
  1820.         UNANCHOR = false
  1821.         RootPart.Anchored = true
  1822.         RootPart.CFrame = CF(HITPOS + VT(0, 8, 0), ORIGINPOS) * ANGLES(RAD(0), RAD(180), RAD(0))
  1823.         for i = 1, 5 do
  1824.             WACKYEFFECT({
  1825.                 Time = MRANDOM(15, 35),
  1826.                 EffectType = "Round Slash",
  1827.                 Size = VT(0, 0, 0),
  1828.                 Size2 = VT(0.3, 0, 0.3),
  1829.                 Transparency = 0.5,
  1830.                 Transparency2 = 1,
  1831.                 CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(-25, 25)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-25, 25))),
  1832.                 MoveToPos = nil,
  1833.                 RotationX = MRANDOM(-50, 50) / 10,
  1834.                 RotationY = MRANDOM(-50, 50) / 10,
  1835.                 RotationZ = MRANDOM(-50, 50) / 10,
  1836.                 Material = "Neon",
  1837.                 Color = C3(1, 1, 1),
  1838.                 SoundID = nil,
  1839.                 SoundPitch = nil,
  1840.                 SoundVolume = nil
  1841.             })
  1842.         end
  1843.         for i = 0, 0.2, 0.1 / Animation_Speed do
  1844.             Swait()
  1845.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(150)), 2 / Animation_Speed)
  1846.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  1847.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  1848.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  1849.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  1850.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 2 / Animation_Speed)
  1851.         end
  1852.         for i = 0, 1, 0.1 / Animation_Speed do
  1853.             Swait()
  1854.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(300)), 0.02 / Animation_Speed)
  1855.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.02 / Animation_Speed)
  1856.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.02 / Animation_Speed)
  1857.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.02 / Animation_Speed)
  1858.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.02 / Animation_Speed)
  1859.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 0.02 / Animation_Speed)
  1860.         end
  1861.         for i = 1, 10 do
  1862.             Swait()
  1863.             RootPart.CFrame = RootPart.CFrame * CF(0, -0.4, 0)
  1864.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(300)), 1.7 / Animation_Speed)
  1865.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1.7 / Animation_Speed)
  1866.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 1.7 / Animation_Speed)
  1867.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.7 / Animation_Speed)
  1868.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.7 / Animation_Speed)
  1869.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1.7 / Animation_Speed)
  1870.         end
  1871.         for i = 0, 0.2, 0.1 / Animation_Speed do
  1872.             Swait()
  1873.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(90)), 1.5 / Animation_Speed)
  1874.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 1.5 / Animation_Speed)
  1875.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
  1876.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.5 / Animation_Speed)
  1877.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / Animation_Speed)
  1878.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1.5 / Animation_Speed)
  1879.         end
  1880.         local HITFLOOR, HITPOS = Raycast(RightArm.Position, CF(RightArm.Position, RightArm.Position + VT(0, -1, 0)).lookVector, 8, Character)
  1881.         if HITFLOOR then
  1882.             if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  1883.                 local CHILDREN = HITFLOOR.Parent:GetDescendants()
  1884.                 for index, CHILD in pairs(CHILDREN) do
  1885.                     if CHILD:IsA("BasePart") and CHILD.Parent:FindFirstChildOfClass("Humanoid") then
  1886.                         for i = 1, 5 do
  1887.                             CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 2, 5, MRANDOM(15, 25))
  1888.                             CHILD:remove()
  1889.                         end
  1890.                     end
  1891.                 end
  1892.                 local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
  1893.                 SOUNDPART.CFrame = CF(HITPOS)
  1894.                 Debris:AddItem(SOUNDPART, 5)
  1895.                 CreateSound("130972023", SOUNDPART, 6, 3)
  1896.                 CreateSound("182765513", SOUNDPART, 6, 1)
  1897.                 WACKYEFFECT({
  1898.                     EffectType = "Ring",
  1899.                     Size = VT(0, 0, 0),
  1900.                     Size2 = VT(1, 1, 0),
  1901.                     Transparency = 0.7,
  1902.                     Transparency2 = 1,
  1903.                     CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
  1904.                     MoveToPos = nil,
  1905.                     RotationX = 0,
  1906.                     RotationY = 0,
  1907.                     RotationZ = 0,
  1908.                     Material = "Neon",
  1909.                     Color = C3(1, 1, 1),
  1910.                     SoundID = nil,
  1911.                     SoundPitch = nil,
  1912.                     SoundVolume = nil
  1913.                 })
  1914.             elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  1915.                 local CHILDREN = HITFLOOR.Parent.Parent:GetDescendants()
  1916.                 for index, CHILD in pairs(CHILDREN) do
  1917.                     if CHILD:IsA("BasePart") and CHILD.Parent:FindFirstChildOfClass("Humanoid") then
  1918.                         for i = 1, 5 do
  1919.                             CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 2, 5, MRANDOM(15, 25))
  1920.                             CHILD:remove()
  1921.                         end
  1922.                     end
  1923.                 end
  1924.                 local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
  1925.                 SOUNDPART.CFrame = CF(HITPOS)
  1926.                 Debris:AddItem(SOUNDPART, 5)
  1927.                 CreateSound("130972023", SOUNDPART, 6, 3)
  1928.                 CreateSound("182765513", SOUNDPART, 6, 1)
  1929.                 WACKYEFFECT({
  1930.                     EffectType = "Ring",
  1931.                     Size = VT(0, 0, 0),
  1932.                     Size2 = VT(1, 1, 0),
  1933.                     Transparency = 0.7,
  1934.                     Transparency2 = 1,
  1935.                     CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
  1936.                     MoveToPos = nil,
  1937.                     RotationX = 0,
  1938.                     RotationY = 0,
  1939.                     RotationZ = 0,
  1940.                     Material = "Neon",
  1941.                     Color = C3(1, 1, 1),
  1942.                     SoundID = nil,
  1943.                     SoundPitch = nil,
  1944.                     SoundVolume = nil
  1945.                 })
  1946.             elseif HITFLOOR.Anchored == false then
  1947.                 if HITFLOOR.Parent ~= workspace then
  1948.                     local CHILDREN = HITFLOOR.Parent:GetDescendants()
  1949.                     for index, CHILD in pairs(CHILDREN) do
  1950.                         if CHILD:IsA("BasePart") and CHILD.Position.Y < HITPOS.Y then
  1951.                             for i = 1, 5 do
  1952.                                 CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 3, 5, MRANDOM(15, 25))
  1953.                             end
  1954.                             CHILD:remove()
  1955.                         end
  1956.                     end
  1957.                 else
  1958.                     for i = 1, 5 do
  1959.                         CreateFlyingDebree(HITFLOOR, CF(HITFLOOR.Position), 1, HITFLOOR.Size / 3, 5, MRANDOM(15, 25))
  1960.                     end
  1961.                     HITFLOOR:remove()
  1962.                 end
  1963.                 local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
  1964.                 SOUNDPART.CFrame = CF(HITPOS)
  1965.                 Debris:AddItem(SOUNDPART, 5)
  1966.                 CreateSound("130972023", SOUNDPART, 10, 3)
  1967.                 CreateSound("178452217", SOUNDPART, 6, 1)
  1968.                 WACKYEFFECT({
  1969.                     EffectType = "Ring",
  1970.                     Size = VT(0, 0, 0),
  1971.                     Size2 = VT(1, 1, 0),
  1972.                     Transparency = 0.7,
  1973.                     Transparency2 = 1,
  1974.                     CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
  1975.                     MoveToPos = nil,
  1976.                     RotationX = 0,
  1977.                     RotationY = 0,
  1978.                     RotationZ = 0,
  1979.                     Material = "Neon",
  1980.                     Color = C3(1, 1, 1),
  1981.                     SoundID = nil,
  1982.                     SoundPitch = nil,
  1983.                     SoundVolume = nil
  1984.                 })
  1985.             else
  1986.                 local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
  1987.                 SOUNDPART.CFrame = CF(HITPOS)
  1988.                 Debris:AddItem(SOUNDPART, 5)
  1989.                 CreateSound("130972023", SOUNDPART, 10, 1)
  1990.                 CreateSound("130972023", SOUNDPART, 6, 0.7)
  1991.                 CreateDebreeRing(HITFLOOR, HITPOS, 5, VT(5, 5, 5), 5)
  1992.                 CreateDebreeRing(HITFLOOR, HITPOS, 8, VT(8, 8, 8), 5)
  1993.                 ApplyAoE(HITPOS, 15, 45, 75, 75, false)
  1994.                 ApplyAoE(HITPOS, 25, 25, 35, 35, false)
  1995.                 for i = 1, 5 do
  1996.                     CreateFlyingDebree(HITFLOOR, CF(HITPOS), 1, VT(MRANDOM(10, 30) / 10, MRANDOM(10, 30) / 10, MRANDOM(10, 30) / 10), 5, MRANDOM(75, 150))
  1997.                 end
  1998.                 for i = 1, 5 do
  1999.                     CreateFlyingDebree(HITFLOOR, CF(HITPOS), 1, VT(MRANDOM(10, 30) / 2, MRANDOM(10, 30) / 2, MRANDOM(10, 30) / 2), 5, MRANDOM(75, 150))
  2000.                 end
  2001.             end
  2002.         end
  2003.         for i = 0, 1.2, 0.1 / Animation_Speed do
  2004.             Swait()
  2005.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(90)), 1.5 / Animation_Speed)
  2006.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 1.5 / Animation_Speed)
  2007.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
  2008.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.5 / Animation_Speed)
  2009.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / Animation_Speed)
  2010.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1.5 / Animation_Speed)
  2011.         end
  2012.         ATTACK = false
  2013.         Rooted = false
  2014.         UNANCHOR = true
  2015.         RootPart.Anchored = false
  2016.     end
  2017. end
  2018.  
  2019. function idk()
  2020.         ATTACK = true
  2021.         Rooted = true
  2022.         coroutine.resume(coroutine.create(function()
  2023.             local PITS = {}
  2024.             local FRAME = RootPart.CFrame
  2025.             for i = 2, 120 do
  2026.                 Swait()
  2027.                 local CFRAME = FRAME*CF(MRANDOM(-10,10)/10,0,5-(i)).p
  2028.                 local HITFLOOR,HITPOS,NORMAL = Raycast(CFRAME, (CF(CFRAME, CFRAME + VT(0, -1, 0))).lookVector, 25, Character)
  2029.                 if HITFLOOR ~= nil then
  2030.                     if MRANDOM(1, 2) == 1 then
  2031.                         local ICICLE = IT("CornerWedgePart",Effects)
  2032.                         ICICLE.Locked = true
  2033.                         ICICLE.CanCollide = false
  2034.                         ICICLE.Anchored = true
  2035.                         ICICLE.BrickColor = BRICKC"Really black"
  2036.                         ICICLE.Material = "Marble"
  2037.                         ICICLE.Size = VT(i/10,i/2,i/10)
  2038.                         ICICLE.CFrame = CF(HITPOS)*CF(MRANDOM(-i/10,i/10),0,MRANDOM(-i/10,i/10))*ANGLES(RAD(MRANDOM(-25,25)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-25,25)))
  2039.                         table.insert(PITS,ICICLE)
  2040.                         ICICLE.Transparency = 1
  2041.                         PITS.Transparency = 1
  2042.                         --CreateSound("588693156", ICICLE, 3, MRANDOM(8,12)/10, false)
  2043.                         ApplyAoE(ICICLE.Position,ICICLE.Size.X,100,100,20,true)
  2044.                         WACKYEFFECT({EffectType = "Sphere", Size = VT(ICICLE.Size.X*3,2,ICICLE.Size.X*3), Size2 = VT(0,6,0), Transparency = 1, Transparency2 = 0, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Glass", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2045.                     end
  2046.                 else
  2047.                     break
  2048.                 end
  2049.             end
  2050.             wait(3)
  2051.             coroutine.resume(coroutine.create(function()
  2052.                 for i = 1, 10 do
  2053.                     Swait()
  2054.                     for e=1,#PITS do
  2055.                         if PITS[e]~=nil then
  2056.                             local E = PITS[e]
  2057.                             E.Transparency = E.Transparency + 0.1
  2058.                         end
  2059.                     end
  2060.                 end
  2061.                 for e=1,#PITS do
  2062.                     if PITS[e]~=nil then
  2063.                         local E = PITS[e]
  2064.                         E:remove()
  2065.                     end
  2066.                 end
  2067.             end))
  2068.         end))
  2069.         ATTACK = false
  2070.         Rooted = false
  2071. end
  2072.  
  2073. function Taunt()
  2074.     ATTACK = true
  2075.     Rooted = true
  2076.     CreateSound("907330011", Head, 10, 1.1)
  2077.     for i=0, 1, 0.1 / Animation_Speed do
  2078.         Swait()
  2079.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  2080.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 2 / Animation_Speed)
  2081.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.8) * ANGLES(RAD(170), RAD(0), RAD(-30)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2082.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2083.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
  2084.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
  2085.     end
  2086.     for i=0, 2, 0.1 / Animation_Speed do
  2087.         Swait()
  2088.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  2089.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 2 / Animation_Speed)
  2090.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(75), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2091.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2092.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
  2093.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
  2094.     end
  2095.     ATTACK = false
  2096.     Rooted = false
  2097. end
  2098.  
  2099. function TrustIssues()
  2100.     ATTACK = true
  2101.     Rooted = false
  2102.     CreateSound(649634100,Head,10,0.5,false)
  2103.     for i=1, 80 do
  2104.         Swait()
  2105.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.15* COS(i / 5)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2106.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + MRANDOM(-5,5)), RAD(MRANDOM(-5,5)), RAD(0)), 1 / Animation_Speed)
  2107.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * SIN(i / 5), 0) * ANGLES(RAD(0), RAD(-15), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2108.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.15 * SIN(i / 5), 0) * ANGLES(RAD(0), RAD(15), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2109.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(i / 5), -0.01) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2110.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(i / 5), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2111.     end
  2112.     ATTACK = false
  2113.     Rooted = false
  2114. end
  2115.  
  2116. function Supernova()
  2117.     local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 7 * Player_Size, Character)
  2118.     if HITFLOOR ~= nil then
  2119.         local HITBODIES = {}
  2120.         ATTACK = true
  2121.         Rooted = true
  2122.         local ABSOLUTE = CreatePart(3, Effects, "Neon", 0, 1, "Relly red", "Star", VT(0,0,0))
  2123.         MakeForm(ABSOLUTE,"Ball")
  2124.         CreateSound("429459101", ABSOLUTE, 10, 1)
  2125.         for i=0, 4, 0.1 / Animation_Speed do
  2126.             Swait()
  2127.             ABSOLUTE.Size = ABSOLUTE.Size + VT(0.2,0.2,0.2)
  2128.             ABSOLUTE.CFrame = RootPart.CFrame*CF(0,5+(ABSOLUTE.Size.Y/2),0)
  2129.             ABSOLUTE.Transparency = ABSOLUTE.Transparency - 0.01
  2130.             local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, "Lime green", "Star", VT(1,1,1))
  2131.             MakeForm(CHARGE,"Ball")
  2132.             CHARGE.Color = C3(255,0,0)
  2133.             CHARGE.CFrame = CF(RootPart.Position) * CF(MRANDOM(-15,15),-6,MRANDOM(-15,15))
  2134.             FireArc(CHARGE,ABSOLUTE.Position,45,45,true)
  2135.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2136.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2137.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2138.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2139.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2140.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2141.         end
  2142.         CreateSound("907330103", Head, 10, 1.2)
  2143.         for i = 1, 75 do
  2144.             Swait()
  2145.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2146.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2147.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2148.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2149.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2150.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2151.         end
  2152.         coroutine.resume(coroutine.create(function()
  2153.             for i = 1, 13 do
  2154.                 for e = 1, 8 do
  2155.                     Swait()
  2156.                     MagicSphere(VT(1,1,1),15,CF(ABSOLUTE.Position)*CF(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)),C3(255,0,0),VT(0,0,0))
  2157.                     CreateSwirl(ABSOLUTE.Size/2,15,CF(HITPOS),true,15,BRICKC"Reakky red".Color,VT(i,0.3,i)*2)
  2158.                 end
  2159.                 for i = 1, 5 do
  2160.                     Slice("Round",0,35,CF(ABSOLUTE.Position)*ANGLES(RAD(MRANDOM(-18,18)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-18,18))),C3(1,1,1),VT(i,0,i)/3)
  2161.                     Slice("Thin",i,55,ABSOLUTE.CFrame * CF(0,-1.1,0) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),C3(255,0,0),VT(0,0,0))
  2162.                 end
  2163.                 CreateSwirl(ABSOLUTE.Size/2,25,CF(ABSOLUTE.Position),true,-25,BRICKC"Relly red".Color,VT(i,i*2,i))
  2164.                 CreateSwirl(ABSOLUTE.Size/2,55,CF(ABSOLUTE.Position),true,25,C3(255,0,0),VT(i,i*2,i))
  2165.                 CreateSound("168586621", ABSOLUTE, 4, 0.8)
  2166.                 CreateSound("201858144", ABSOLUTE, 10, 0.8)
  2167.                 killnearest(ABSOLUTE.Position,i*18,i)
  2168.                 ABSOLUTE.Size = ABSOLUTE.Size*0.9
  2169.                 MagicSphere(ABSOLUTE.Size,25,CF(ABSOLUTE.Position),BRICKC"Relly red".Color,VT(i,i,i)/1.1)
  2170.                 MagicSphere(ABSOLUTE.Size,45,CF(ABSOLUTE.Position),C3(255,0,0),VT(i,i,i))
  2171.             end
  2172.             ABSOLUTE.Transparency = 1
  2173.             Debris:AddItem(ABSOLUTE,10)
  2174.         end))
  2175.         ATTACK = false
  2176.         Rooted = false
  2177.     end
  2178. end
  2179.  
  2180.  
  2181. local ENERGYSOUND = 1417051162
  2182. local BEAMSOUND = 1417056781
  2183. local EXPLOSIONSOUND = 1417056081
  2184. local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Lime green", "BraceletPart", VT(1.01,0.3,1.01),false)
  2185.  
  2186. function Charge(TIME,GYRO)
  2187.     local SND = CreateSound(ENERGYSOUND,Torso,6,TIME,false)
  2188.     local G = nil
  2189.     if GYRO == true then
  2190.         G = IT("BodyGyro",RootPart)
  2191.         G.D = 250
  2192.         G.P = 200000
  2193.         G.MaxTorque = VT(math.huge,math.huge,math.huge)
  2194.     end
  2195.     for i=0, TIME, 0.1 / Animation_Speed do
  2196.         Swait()
  2197.         if G then
  2198.             G.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2199.         end
  2200.         WACKYEFFECT({TIME = 25, EffectType = "Sphere", Size = VT(1.2,1.2,1.2), Size2 = VT(0,0,0), Transparency = 0.5, Transparency2 = 1, CFrame = BasePart.CFrame, MoveToPos = BasePart.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-4).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2201.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2202.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2203.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2204.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2205.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2206.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2207.     end
  2208.     SND:remove()
  2209.     if G then
  2210.         return G
  2211.     end
  2212. end
  2213.  
  2214. function FireArc(Part,ToLocation,AmountOfTime,Height,DoesCourontine)
  2215.     if DoesCourontine == false then
  2216.         local Direction = CF(Part.Position,ToLocation)
  2217.         local Distance = (Part.Position - ToLocation).magnitude
  2218.         for i = 1, AmountOfTime do
  2219.             Swait()
  2220.             Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  2221.             Direction = Part.CFrame
  2222.         end
  2223.         Part:remove()
  2224.     elseif DoesCourontine == true then
  2225.         coroutine.resume(coroutine.create(function()
  2226.             local Direction = CF(Part.Position,ToLocation)
  2227.             local Distance = (Part.Position - ToLocation).magnitude
  2228.             for i = 1, AmountOfTime do
  2229.                 Swait()
  2230.                 Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  2231.                 Direction = Part.CFrame
  2232.             end
  2233.             Part:remove()
  2234.         end))
  2235.     end
  2236. end
  2237.  
  2238. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  2239.     local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  2240.     wave.Color = COLOR
  2241.     local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
  2242.     wave.CFrame = CFRAME
  2243.     coroutine.resume(coroutine.create(function(PART)
  2244.         for i = 1, WAIT do
  2245.             Swait()
  2246.             mesh.Scale = mesh.Scale + GROW
  2247.             wave.Transparency = wave.Transparency + (1/WAIT)
  2248.             if wave.Transparency > 0.99 then
  2249.                 wave:remove()
  2250.             end
  2251.         end
  2252.     end))
  2253. end
  2254.  
  2255. function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  2256.     local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  2257.     wave.Color = COLOR
  2258.     local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  2259.     wave.CFrame = CFRAME
  2260.     coroutine.resume(coroutine.create(function(PART)
  2261.         for i = 1, WAIT do
  2262.             Swait()
  2263.             mesh.Scale = mesh.Scale + GROW
  2264.             mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  2265.             if DOESROT == true then
  2266.                 wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  2267.             end
  2268.             wave.Transparency = wave.Transparency + (0.5/WAIT)
  2269.             if wave.Transparency > 0.99 then
  2270.                 wave:remove()
  2271.             end
  2272.         end
  2273.     end))
  2274. end
  2275.  
  2276. function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
  2277.     local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  2278.     local mesh = nil
  2279.     if KIND == "Base" then
  2280.         mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  2281.     elseif KIND == "Thin" then
  2282.         mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  2283.     elseif KIND == "Round" then
  2284.         mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  2285.     end
  2286.     wave.CFrame = CFRAME
  2287.     coroutine.resume(coroutine.create(function(PART)
  2288.         for i = 1, WAIT do
  2289.             Swait()
  2290.             mesh.Scale = mesh.Scale + GROW/10
  2291.             wave.Transparency = wave.Transparency + (0.5/WAIT)
  2292.             if wave.Transparency > 0.99 then
  2293.                 wave:remove()
  2294.             end
  2295.         end
  2296.     end))
  2297. end
  2298.  
  2299. function killnearest(position,range,maxstrength)
  2300.     for i,v in ipairs(workspace:GetChildren()) do
  2301.     local body = v:GetChildren()
  2302.         for part = 1, #body do
  2303.             if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  2304.                 if(body[part].Position - position).Magnitude < range then
  2305.                     if v.ClassName == "Model" then
  2306.                         v:BreakJoints()
  2307.                     end
  2308.                     --table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
  2309.                     local bv = Instance.new("BodyVelocity")
  2310.                     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2311.                     bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
  2312.                     bv.Parent = body[part]
  2313.                     Debris:AddItem(bv,0.2)
  2314.                 end
  2315.             end
  2316.         end
  2317.         if v.ClassName == "Part" then
  2318.             if v.Anchored == false and (v.Position - position).Magnitude < range then
  2319.                 --table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
  2320.                 v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
  2321.             end
  2322.         end
  2323.     end
  2324. end
  2325.  
  2326. --//=================================\\
  2327. --||      ASSIGN THINGS TO KEYS
  2328. --\\=================================//
  2329.  
  2330. function MouseDown(Mouse)
  2331.     if ATTACK == false then
  2332.     end
  2333. end
  2334.  
  2335. function MouseUp(Mouse)
  2336. HOLD = false
  2337. end
  2338.  
  2339. function KeyDown(Key)
  2340.     KEYHOLD = true
  2341.     if Key == "z" and ATTACK == false then
  2342.         Shot()
  2343.     end
  2344.  
  2345.     if Key == "x" and ATTACK == false then
  2346.             Fire_At_Will()
  2347.         end
  2348.  
  2349.     if Key == "b" and ATTACK == false then
  2350.                        chatfunc(UnBanishTaunts[MRANDOM(1,#UnBanishTaunts)])
  2351.                    TOBANISH = {}
  2352.     end
  2353.  
  2354.     if Key == "c" and ATTACK == false then
  2355.         Extreme_Offset()
  2356.     end
  2357.  
  2358.     if Key == "v" and ATTACK == false then
  2359.         idk()
  2360.     end
  2361.  
  2362.     if Key == "t" and ATTACK == false then
  2363.         Taunt()
  2364.     end
  2365.  
  2366.     if Key == "y" and ATTACK == false then
  2367.         TrustIssues()
  2368.     end
  2369.     if Key == "n" and ATTACK == false then
  2370.         Supernova()
  2371.     end
  2372. end
  2373.  
  2374. function KeyUp(Key)
  2375.     KEYHOLD = false
  2376. end
  2377.  
  2378.     Mouse.Button1Down:connect(function(NEWKEY)
  2379.         MouseDown(NEWKEY)
  2380.     end)
  2381.     Mouse.Button1Up:connect(function(NEWKEY)
  2382.         MouseUp(NEWKEY)
  2383.     end)
  2384.     Mouse.KeyDown:connect(function(NEWKEY)
  2385.         KeyDown(NEWKEY)
  2386.     end)
  2387.     Mouse.KeyUp:connect(function(NEWKEY)
  2388.         KeyUp(NEWKEY)
  2389.     end)
  2390.  
  2391. --//=================================\\
  2392. --\\=================================//
  2393.  
  2394.  
  2395. function unanchor()
  2396.     if UNANCHOR == true then
  2397.         g = Character:GetChildren()
  2398.         for i = 1, #g do
  2399.             if g[i].ClassName == "Part" then
  2400.                 g[i].Anchored = false
  2401.             end
  2402.         end
  2403.     end
  2404. end
  2405.  
  2406. function clerp(a,b,t)
  2407. local qa = {QuaternionFromCFrame(a)}
  2408. local qb = {QuaternionFromCFrame(b)}
  2409. local ax, ay, az = a.x, a.y, a.z
  2410. local bx, by, bz = b.x, b.y, b.z
  2411. local _t = 1-t
  2412. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  2413. end
  2414.  
  2415. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  2416. local xs, ys, zs = x + x, y + y, z + z
  2417. local wx, wy, wz = w*xs, w*ys, w*zs
  2418. local xx = x*xs
  2419. local xy = x*ys
  2420. local xz = x*zs
  2421. local yy = y*ys
  2422. local yz = y*zs
  2423. local zz = z*zs
  2424. return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
  2425. end
  2426.  
  2427. function QuaternionSlerp(a, b, t)
  2428. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  2429. local startInterp, finishInterp;
  2430. if cosTheta >= 0.0001 then
  2431. if (1 - cosTheta) > 0.0001 then
  2432. local theta = math.acos(cosTheta)
  2433. local invSinTheta = 1/math.sin(theta)
  2434. startInterp = math.sin((1-t)*theta)*invSinTheta
  2435. finishInterp = math.sin(t*theta)*invSinTheta  
  2436. else
  2437. startInterp = 1-t
  2438. finishInterp = t
  2439. end
  2440. else
  2441. if (1+cosTheta) > 0.0001 then
  2442. local theta = math.acos(-cosTheta)
  2443. local invSinTheta = 1/math.sin(theta)
  2444. startInterp = math.sin((t-1)*theta)*invSinTheta
  2445. finishInterp = math.sin(t*theta)*invSinTheta
  2446. else
  2447. startInterp = t-1
  2448. finishInterp = t
  2449. end
  2450. end
  2451. return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
  2452. end
  2453.  
  2454. local function CFrameFromTopBack(at, top, back)
  2455. local right = top:Cross(back)
  2456. return CFrame.new(at.x, at.y, at.z,
  2457. right.x, top.x, back.x,
  2458. right.y, top.y, back.y,
  2459. right.z, top.z, back.z)
  2460. end
  2461.  
  2462. --//=================================\\
  2463. --||    WRAP THE WHOLE SCRIPT UP
  2464. --\\=================================//
  2465.  
  2466. local cf,angles = CFrame.new,CFrame.Angles
  2467. Humanoid.Changed:connect(function(Jump)
  2468.     if Jump == "Jump" and (Disable_Jump == true) then
  2469.         Humanoid.Jump = false
  2470.     end
  2471. end)
  2472.  
  2473. local CONNECT = nil
  2474.  
  2475. while true do
  2476.     Swait()
  2477.     --spawn(function()
  2478.         lwing1weld.C1=clerp(lwing1weld.C1,cf(2,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(5 + 10 * math.cos(SINE / 32)),math.rad(0),math.rad(12.5 + 5 * math.cos(SINE / 32))),.3)
  2479.         lwing2weld.C1=clerp(lwing2weld.C1,cf(3,1,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(10 + 15 * math.cos(SINE / 32)),math.rad(0),math.rad(25 + 7.5 * math.cos(SINE / 32))),.3)
  2480.         lwing3weld.C1=clerp(lwing3weld.C1,cf(3.75,2,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(15 + 20 * math.cos(SINE / 32)),math.rad(0),math.rad(37.5 + 10 * math.cos(SINE / 32))),.3)
  2481.         rwing1weld.C1=clerp(rwing1weld.C1,cf(-2,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(5 + 10 * math.cos(SINE / 32)),math.rad(0),math.rad(-12.5 - 5 * math.cos(SINE / 32))),.3)
  2482.         rwing2weld.C1=clerp(rwing2weld.C1,cf(-3,1,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(10 + 15 * math.cos(SINE / 32)),math.rad(0),math.rad(-25 - 7.5 * math.cos(SINE / 32))),.3)
  2483.         rwing3weld.C1=clerp(rwing3weld.C1,cf(-3.75,2,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(15 + 20 * math.cos(SINE / 32)),math.rad(0),math.rad(-37.5 - 10 * math.cos(SINE / 32))),.3)
  2484.     --end)
  2485.     ANIMATE.Parent = nil
  2486.     if Character:FindFirstChildOfClass("Humanoid") == nil then
  2487.         Humanoid = IT("Humanoid",Character)
  2488.     end
  2489.     for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  2490.         v:Stop();
  2491.     end
  2492.     SINE = SINE + CHANGE
  2493.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2494.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2495.     local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  2496.     local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  2497.     if ANIM == "Walk" and TORSOVELOCITY > 1 then
  2498.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2499.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2500.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2501.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2502.     elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  2503.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2504.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2505.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2506.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2507.     end
  2508.     if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  2509.         ANIM = "Jump"
  2510.         if ATTACK == false then
  2511.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2512.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2513.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2514.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2515.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  2516.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  2517.         end
  2518.     elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  2519.         ANIM = "Fall"
  2520.         if ATTACK == false then
  2521.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2522.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2523.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2524.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2525.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  2526.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  2527.         end
  2528.     elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2529.         ANIM = "Idle"
  2530.         if ATTACK == false then
  2531.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  2532.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed)
  2533.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2534.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2535.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2536.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2537.         end
  2538.     elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2539.         ANIM = "Walk"
  2540.         if ATTACK == false then
  2541.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2542.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2543.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2544.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
  2545.             RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  2546.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  2547.         end
  2548.     end
  2549.     unanchor()
  2550.     Humanoid.MaxHealth = "inf"
  2551.     Humanoid.Health = "inf"
  2552.     if Rooted == false then
  2553.         Disable_Jump = false
  2554.         Humanoid.WalkSpeed = Speed
  2555.     elseif Rooted == true then
  2556.         Disable_Jump = true
  2557.         Humanoid.WalkSpeed = 0
  2558.     end
  2559.     sick.Playing = true
  2560.     sick.SoundId = "rbxassetid://254826701"
  2561.     sick.Looped = true
  2562.     sick.Pitch = 1
  2563.     sick.Volume = 3
  2564.     if sick.Parent ~= Torso then
  2565.         sick = IT("Sound", Torso)
  2566.     end
  2567. end
  2568.  
  2569. --//=================================\\
  2570. --\\=================================//
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576. --//====================================================\\--
  2577. --||                     END OF SCRIPT
  2578. --\\====================================================//--
Add Comment
Please, Sign In to add comment