SHARE
TWEET

Cream Banisher fe ver

rcubed1003 Sep 20th, 2019 45 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- This script has convert to FE by who i don't know?
  2.  
  3. -----------------------------------------------------
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,game,owner = owner,game
  6. local RealPlayer = Player
  7. do
  8.     print("FE Compatibility code by Mokiros | Showcase by Bacon Hair!")
  9.     local rp = RealPlayer
  10.     script.Parent = rp.Character
  11.    
  12.     --RemoteEvent for communicating
  13.     local Event = Instance.new("RemoteEvent")
  14.     Event.Name = "UserInput_Event"
  15.  
  16.     --Fake event to make stuff like Mouse.KeyDown work
  17.     local function fakeEvent()
  18.         local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  19.         t.connect = t.Connect
  20.         return t
  21.     end
  22.  
  23.     --Creating fake input objects with fake variables
  24.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  25.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  26.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  27.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  28.     end}
  29.     --Merged 2 functions into one by checking amount of arguments
  30.     CAS.UnbindAction = CAS.BindAction
  31.  
  32.     --This function will trigger the events that have been :Connect()'ed
  33.     local function te(self,ev,...)
  34.         local t = m[ev]
  35.         if t and t._fakeEvent then
  36.             for _,f in pairs(t.Functions) do
  37.                 f(...)
  38.             end
  39.         end
  40.     end
  41.     m.TrigEvent = te
  42.     UIS.TrigEvent = te
  43.  
  44.     Event.OnServerEvent:Connect(function(plr,io)
  45.         if plr~=rp then return end
  46.         m.Target = io.Target
  47.         m.Hit = io.Hit
  48.         if not io.isMouse then
  49.             local b = io.UserInputState == Enum.UserInputState.Begin
  50.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  51.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  52.             end
  53.             for _,t in pairs(CAS.Actions) do
  54.                 for _,k in pairs(t.Keys) do
  55.                     if k==io.KeyCode then
  56.                         t.Function(t.Name,io.UserInputState,io)
  57.                     end
  58.                 end
  59.             end
  60.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  61.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  62.         end
  63.     end)
  64.     Event.Parent = NLS([==[
  65.     local Player = game:GetService("Players").LocalPlayer
  66.     local Event = script:WaitForChild("UserInput_Event")
  67.  
  68.     local Mouse = Player:GetMouse()
  69.     local UIS = game:GetService("UserInputService")
  70.     local input = function(io,a)
  71.         if a then return end
  72.         --Since InputObject is a client-side instance, we create and pass table instead
  73.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  74.     end
  75.     UIS.InputBegan:Connect(input)
  76.     UIS.InputEnded:Connect(input)
  77.  
  78.     local h,t
  79.     --Give the server mouse data 30 times every second, but only if the values changed
  80.     --If player is not moving their mouse, client won't fire events
  81.     while wait(1/30) do
  82.         if h~=Mouse.Hit or t~=Mouse.Target then
  83.             h,t=Mouse.Hit,Mouse.Target
  84.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  85.         end
  86.     end]==],Player.Character)
  87.  
  88.     ----Sandboxed game object that allows the usage of client-side methods and services
  89.     --Real game object
  90.     local _rg = game
  91.  
  92.     --Metatable for fake service
  93.     local fsmt = {
  94.         __index = function(self,k)
  95.             local s = rawget(self,"_RealService")
  96.             if s then return s[k] end
  97.         end,
  98.         __newindex = function(self,k,v)
  99.             local s = rawget(self,"_RealService")
  100.             if s then s[k]=v end
  101.         end,
  102.         __call = function(self,...)
  103.             local s = rawget(self,"_RealService")
  104.             if s then return s(...) end
  105.         end
  106.     }
  107.     local function FakeService(t,RealService)
  108.         t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  109.         return setmetatable(t,fsmt)
  110.     end
  111.  
  112.     --Fake game object
  113.     local g = {
  114.         GetService = function(self,s)
  115.             return self[s]
  116.         end,
  117.         Players = FakeService({
  118.             LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  119.         },"Players"),
  120.         UserInputService = FakeService(UIS,"UserInputService"),
  121.         ContextActionService = FakeService(CAS,"ContextActionService"),
  122.     }
  123.     rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  124.     g.service = g.GetService
  125.    
  126.     g.RunService = FakeService({
  127.         RenderStepped = _rg:GetService("RunService").Heartbeat,
  128.         BindToRenderStep = function(self,name,_,fun)
  129.  
  130.         end,
  131.         UnbindFromRenderStep = function(self,name)
  132.             self._btrs[name]:Disconnect()
  133.         end,
  134.     },"RunService")
  135.  
  136.     setmetatable(g,{
  137.         __index=function(self,s)
  138.             return _rg:GetService(s) or typeof(_rg[s])=="function"
  139.             and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  140.         end,
  141.         __newindex = fsmt.__newindex,
  142.         __call = fsmt.__call
  143.     })
  144.     --Changing owner to fake player object to support owner:GetMouse()
  145.     game,owner = g,g.Players.LocalPlayer
  146. end
  147. script.Name = "Banisher Gun V3 / 1"
  148. --//====================================================\\--
  149. --||               CREATED BY SHACKLUSTER
  150. --\\====================================================//--
  151.  
  152. wait(0.2)
  153.  
  154. Player = game:GetService("Players").LocalPlayer
  155. PlayerGui = Player.PlayerGui
  156. Cam = workspace.CurrentCamera
  157. Backpack = Player.Backpack
  158. Character = Player.Character
  159. Humanoid = Character.Humanoid
  160. Mouse = Player:GetMouse()
  161. RootPart = Character["HumanoidRootPart"]
  162. Torso = Character["Torso"]
  163. Head = Character["Head"]
  164. RightArm = Character["Right Arm"]
  165. LeftArm = Character["Left Arm"]
  166. RightLeg = Character["Right Leg"]
  167. LeftLeg = Character["Left Leg"]
  168. RootJoint = RootPart["RootJoint"]
  169. Neck = Torso["Neck"]
  170. RightShoulder = Torso["Right Shoulder"]
  171. LeftShoulder = Torso["Left Shoulder"]
  172. RightHip = Torso["Right Hip"]
  173. LeftHip = Torso["Left Hip"]
  174. local sick = Instance.new("Sound",Torso)
  175. sick.SoundId = "rbxassetid://1138145518"
  176. sick.Looped = true
  177. sick.Pitch = 1
  178. sick.Volume = 2
  179. sick.TimePosition = 110
  180. Character.Archivable = true
  181. Humanoid.DisplayDistanceType = "None"
  182.  
  183. local naeeym2 = Instance.new("BillboardGui",Character)
  184. naeeym2.AlwaysOnTop = true
  185. naeeym2.Size = UDim2.new(5,35,2,35)
  186. naeeym2.StudsOffset = Vector3.new(0,3,0)
  187. naeeym2.Adornee = Character.Head
  188. naeeym2.Name = "Name"
  189. local tecks2 = Instance.new("TextLabel",naeeym2)
  190. tecks2.BackgroundTransparency = 1
  191. tecks2.TextScaled = true
  192. tecks2.BorderSizePixel = 0
  193. tecks2.Text = "CREAM"
  194. tecks2.Font = "Code"
  195. tecks2.TextSize = 30
  196. tecks2.TextTransparency = 1
  197. tecks2.TextStrokeTransparency = 1
  198. tecks2.TextColor3 = Color3.new(1/0,0/1,1/0)
  199. tecks2.Size = UDim2.new(1,0,0.5,0)
  200. tecks2.Parent = naeeym2
  201.  
  202. IT = Instance.new
  203. CF = CFrame.new
  204. VT = Vector3.new
  205. RAD = math.rad
  206. C3 = Color3.new
  207. UD2 = UDim2.new
  208. BRICKC = BrickColor.new
  209. ANGLES = CFrame.Angles
  210. EULER = CFrame.fromEulerAnglesXYZ
  211. COS = math.cos
  212. ACOS = math.acos
  213. SIN = math.sin
  214. ASIN = math.asin
  215. ABS = math.abs
  216. MRANDOM = math.random
  217. FLOOR = math.floor
  218.  
  219. --//=================================\\
  220. --||          USEFUL VALUES
  221. --\\=================================//
  222.  
  223. Animation_Speed = 3
  224. local FORCERESET = false
  225. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  226. local Speed = 16
  227. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  228. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  229. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  230. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  231. local DAMAGEMULTIPLIER = 1
  232. local ANIM = "Idle"
  233. local ATTACK = false
  234. local EQUIPPED = false
  235. local HOLD = false
  236. local COMBO = 1
  237. local Rooted = false
  238. local INTRO = false
  239. local Gun = IT("Model")
  240. Gun.Name = "Gun"
  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. --||          CUSTOMIZATION
  269. --\\=================================//
  270.  
  271. Class_Name = "Sharpshooter"
  272. Weapon_Name = "Add-ons"
  273.  
  274.     Custom_Color_1 = BRICKC("Really black"); --1st color for the weapon.
  275.     Custom_Color_2 = BRICKC("Maroon"); --2nd color for the weapon.
  276.  
  277.     Custom_Color_3 = BRICKC("Really red"); --Color for the abilities.
  278.     Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
  279.     Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
  280.     Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
  281.     Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
  282.  
  283.     Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
  284.     Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
  285.     Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
  286.     Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
  287.     Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
  288.  
  289.  
  290. Player_Size = 1 --Size of the player.
  291. Animation_Speed = 3
  292. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  293.  
  294. local Speed = 16
  295. local Effects2 = {}
  296.  
  297. --//=================================\\
  298. --||      END OF CUSTOMIZATION
  299. --\\=================================//
  300.  
  301.  
  302. --//=================================\\
  303. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  304. --\\=================================//
  305.  
  306. ArtificialHB = Instance.new("BindableEvent", script)
  307. ArtificialHB.Name = "ArtificialHB"
  308.  
  309. script:WaitForChild("ArtificialHB")
  310.  
  311. frame = Frame_Speed
  312. tf = 0
  313. allowframeloss = false
  314. tossremainder = false
  315. lastframe = tick()
  316. script.ArtificialHB:Fire()
  317.  
  318. game:GetService("RunService").Heartbeat:connect(function(s, p)
  319.     tf = tf + s
  320.     if tf >= frame then
  321.         if allowframeloss then
  322.             script.ArtificialHB:Fire()
  323.             lastframe = tick()
  324.         else
  325.             for i = 1, math.floor(tf / frame) do
  326.                 script.ArtificialHB:Fire()
  327.             end
  328.         lastframe = tick()
  329.         end
  330.         if tossremainder then
  331.             tf = 0
  332.         else
  333.             tf = tf - frame * math.floor(tf / frame)
  334.         end
  335.     end
  336. end)
  337.  
  338. --//=================================\\
  339. --\\=================================//
  340.  
  341. --//=================================\\
  342. --||          SOME FUNCTIONS
  343. --\\=================================//
  344.  
  345. function Clerp(a, b, t)
  346.     local qa = {QuaternionFromCFrame(a)}
  347.     local qb = {QuaternionFromCFrame(b)}
  348.     local ax, ay, az = a.x, a.y, a.z
  349.     local bx, by, bz = b.x, b.y, b.z
  350.     local _t = 1 - t
  351.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  352. end
  353.  
  354. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  355.     local frame = IT("Frame")
  356.     frame.BackgroundTransparency = TRANSPARENCY
  357.     frame.BorderSizePixel = BORDERSIZEPIXEL
  358.     frame.Position = POSITION
  359.     frame.Size = SIZE
  360.     frame.BackgroundColor3 = COLOR
  361.     frame.BorderColor3 = BORDERCOLOR
  362.     frame.Name = NAME
  363.     frame.Parent = PARENT
  364.     return frame
  365. end
  366.  
  367. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  368.     local label = IT("TextLabel")
  369.     label.BackgroundTransparency = 1
  370.     label.Size = UD2(1, 0, 1, 0)
  371.     label.Position = UD2(0, 0, 0, 0)
  372.     label.TextColor3 = TEXTCOLOR
  373.     label.TextStrokeTransparency = STROKETRANSPARENCY
  374.     label.TextTransparency = TRANSPARENCY
  375.     label.FontSize = TEXTFONTSIZE
  376.     label.Font = TEXTFONT
  377.     label.BorderSizePixel = BORDERSIZEPIXEL
  378.     label.TextScaled = false
  379.     label.Text = TEXT
  380.     label.Name = NAME
  381.     label.Parent = PARENT
  382.     return label
  383. end
  384.  
  385. function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
  386.     if FLOOR ~= nil then
  387.         coroutine.resume(coroutine.create(function()
  388.             local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
  389.             PART.CFrame = CF(POSITION)
  390.             for i = 1, 45 do
  391.                 local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
  392.                 RingPiece.Material = FLOOR.Material
  393.                 RingPiece.Color = FLOOR.Color
  394.                 RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  395.                 Debris:AddItem(RingPiece,SWAIT)
  396.             end
  397.             PART:remove()
  398.         end))
  399.     end
  400. end
  401.  
  402. function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
  403.     if FLOOR ~= nil then
  404.         for i = 1, AMOUNT do
  405.             local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
  406.             DEBREE.Material = FLOOR.Material
  407.             DEBREE.Color = FLOOR.Color
  408.             DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  409.             DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
  410.             coroutine.resume(coroutine.create(function()
  411.                 Swait(15)
  412.                 DEBREE.Parent = workspace
  413.                 DEBREE.CanCollide = true
  414.                 Debris:AddItem(DEBREE,SWAIT)
  415.             end))
  416.         end
  417.     end
  418. end
  419.  
  420. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  421.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  422. end
  423.  
  424. function PositiveAngle(NUMBER)
  425.     if NUMBER >= 0 then
  426.         NUMBER = 0
  427.     end
  428.     return NUMBER
  429. end
  430.  
  431. function NegativeAngle(NUMBER)
  432.     if NUMBER <= 0 then
  433.         NUMBER = 0
  434.     end
  435.     return NUMBER
  436. end
  437.  
  438. function Swait(NUMBER)
  439.     if NUMBER == 0 or NUMBER == nil then
  440.         ArtificialHB.Event:wait()
  441.     else
  442.         for i = 1, NUMBER do
  443.             ArtificialHB.Event:wait()
  444.         end
  445.     end
  446. end
  447.  
  448. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  449.     local NEWMESH = IT(MESH)
  450.     if MESH == "SpecialMesh" then
  451.         NEWMESH.MeshType = MESHTYPE
  452.         if MESHID ~= "nil" and MESHID ~= "" then
  453.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  454.         end
  455.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  456.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  457.         end
  458.     end
  459.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  460.     NEWMESH.Scale = SCALE
  461.     NEWMESH.Parent = PARENT
  462.     return NEWMESH
  463. end
  464.  
  465. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  466.     local NEWPART = IT("Part")
  467.     NEWPART.formFactor = FORMFACTOR
  468.     NEWPART.Reflectance = REFLECTANCE
  469.     NEWPART.Transparency = TRANSPARENCY
  470.     NEWPART.CanCollide = false
  471.     NEWPART.Locked = true
  472.     NEWPART.Anchored = true
  473.     if ANCHOR == false then
  474.         NEWPART.Anchored = false
  475.     end
  476.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  477.     NEWPART.Name = NAME
  478.     NEWPART.Size = SIZE
  479.     NEWPART.Position = Torso.Position
  480.     NEWPART.Material = MATERIAL
  481.     NEWPART:BreakJoints()
  482.     NEWPART.Parent = PARENT
  483.     return NEWPART
  484. end
  485.  
  486.     local function weldBetween(a, b)
  487.         local weldd = Instance.new("ManualWeld")
  488.         weldd.Part0 = a
  489.         weldd.Part1 = b
  490.         weldd.C0 = CFrame.new()
  491.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  492.         weldd.Parent = a
  493.         return weldd
  494.     end
  495.  
  496.  
  497. function QuaternionFromCFrame(cf)
  498.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  499.     local trace = m00 + m11 + m22
  500.     if trace > 0 then
  501.         local s = math.sqrt(1 + trace)
  502.         local recip = 0.5 / s
  503.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  504.     else
  505.         local i = 0
  506.         if m11 > m00 then
  507.             i = 1
  508.         end
  509.         if m22 > (i == 0 and m00 or m11) then
  510.             i = 2
  511.         end
  512.         if i == 0 then
  513.             local s = math.sqrt(m00 - m11 - m22 + 1)
  514.             local recip = 0.5 / s
  515.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  516.         elseif i == 1 then
  517.             local s = math.sqrt(m11 - m22 - m00 + 1)
  518.             local recip = 0.5 / s
  519.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  520.         elseif i == 2 then
  521.             local s = math.sqrt(m22 - m00 - m11 + 1)
  522.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  523.         end
  524.     end
  525. end
  526.  
  527. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  528.     local xs, ys, zs = x + x, y + y, z + z
  529.     local wx, wy, wz = w * xs, w * ys, w * zs
  530.     local xx = x * xs
  531.     local xy = x * ys
  532.     local xz = x * zs
  533.     local yy = y * ys
  534.     local yz = y * zs
  535.     local zz = z * zs
  536.     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))
  537. end
  538.  
  539. function QuaternionSlerp(a, b, t)
  540.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  541.     local startInterp, finishInterp;
  542.     if cosTheta >= 0.0001 then
  543.         if (1 - cosTheta) > 0.0001 then
  544.             local theta = ACOS(cosTheta)
  545.             local invSinTheta = 1 / SIN(theta)
  546.             startInterp = SIN((1 - t) * theta) * invSinTheta
  547.             finishInterp = SIN(t * theta) * invSinTheta
  548.         else
  549.             startInterp = 1 - t
  550.             finishInterp = t
  551.         end
  552.     else
  553.         if (1 + cosTheta) > 0.0001 then
  554.             local theta = ACOS(-cosTheta)
  555.             local invSinTheta = 1 / SIN(theta)
  556.             startInterp = SIN((t - 1) * theta) * invSinTheta
  557.             finishInterp = SIN(t * theta) * invSinTheta
  558.         else
  559.             startInterp = t - 1
  560.             finishInterp = t
  561.         end
  562.     end
  563.     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
  564. end
  565.  
  566. function Clerp(a, b, t)
  567.     local qa = {QuaternionFromCFrame(a)}
  568.     local qb = {QuaternionFromCFrame(b)}
  569.     local ax, ay, az = a.x, a.y, a.z
  570.     local bx, by, bz = b.x, b.y, b.z
  571.     local _t = 1 - t
  572.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  573. end
  574.  
  575. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  576.     local frame = IT("Frame")
  577.     frame.BackgroundTransparency = TRANSPARENCY
  578.     frame.BorderSizePixel = BORDERSIZEPIXEL
  579.     frame.Position = POSITION
  580.     frame.Size = SIZE
  581.     frame.BackgroundColor3 = COLOR
  582.     frame.BorderColor3 = BORDERCOLOR
  583.     frame.Name = NAME
  584.     frame.Parent = PARENT
  585.     return frame
  586. end
  587.  
  588. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  589.     local label = IT("TextLabel")
  590.     label.BackgroundTransparency = 1
  591.     label.Size = UD2(1, 0, 1, 0)
  592.     label.Position = UD2(0, 0, 0, 0)
  593.     label.TextColor3 = TEXTCOLOR
  594.     label.TextStrokeTransparency = STROKETRANSPARENCY
  595.     label.TextTransparency = TRANSPARENCY
  596.     label.FontSize = TEXTFONTSIZE
  597.     label.Font = TEXTFONT
  598.     label.BorderSizePixel = BORDERSIZEPIXEL
  599.     label.TextScaled = false
  600.     label.Text = TEXT
  601.     label.Name = NAME
  602.     label.Parent = PARENT
  603.     return label
  604. end
  605.  
  606. function NoOutlines(PART)
  607.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  608. end
  609.  
  610. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  611.     local NEWWELD = IT(TYPE)
  612.     NEWWELD.Part0 = PART0
  613.     NEWWELD.Part1 = PART1
  614.     NEWWELD.C0 = C0
  615.     NEWWELD.C1 = C1
  616.     NEWWELD.Parent = PARENT
  617.     return NEWWELD
  618. end
  619.  
  620. local S = IT("Sound")
  621. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  622.     local NEWSOUND = nil
  623.     coroutine.resume(coroutine.create(function()
  624.         NEWSOUND = S:Clone()
  625.         NEWSOUND.Parent = PARENT
  626.         NEWSOUND.Volume = VOLUME
  627.         NEWSOUND.Pitch = PITCH
  628.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  629.         NEWSOUND:play()
  630.         if DOESLOOP == true then
  631.             NEWSOUND.Looped = true
  632.         else
  633.             repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  634.             NEWSOUND:remove()
  635.         end
  636.     end))
  637.     return NEWSOUND
  638. end
  639.  
  640. function CFrameFromTopBack(at, top, back)
  641.     local right = top:Cross(back)
  642.     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)
  643. end
  644.  
  645. --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})
  646. function WACKYEFFECT(Table)
  647.     local TYPE = (Table.EffectType or "Sphere")
  648.     local SIZE = (Table.Size or VT(1,1,1))
  649.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  650.     local TRANSPARENCY = (Table.Transparency or 0)
  651.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  652.     local CFRAME = (Table.CFrame or Torso.CFrame)
  653.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  654.     local ROTATION1 = (Table.RotationX or 0)
  655.     local ROTATION2 = (Table.RotationY or 0)
  656.     local ROTATION3 = (Table.RotationZ or 0)
  657.     local MATERIAL = (Table.Material or "Neon")
  658.     local COLOR = (Table.Color or C3(1,1,1))
  659.     local TIME = (Table.Time or 45)
  660.     local SOUNDID = (Table.SoundID or nil)
  661.     local SOUNDPITCH = (Table.SoundPitch or nil)
  662.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  663.     coroutine.resume(coroutine.create(function()
  664.         local PLAYSSOUND = false
  665.         local SOUND = nil
  666.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  667.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  668.             PLAYSSOUND = true
  669.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  670.         end
  671.         EFFECT.Color = COLOR
  672.         local MSH = nil
  673.         if TYPE == "Sphere" then
  674.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  675.         elseif TYPE == "Block" then
  676.             MSH = IT("BlockMesh",EFFECT)
  677.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  678.         elseif TYPE == "Wave" then
  679.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  680.         elseif TYPE == "Ring" then
  681.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  682.         elseif TYPE == "Slash" then
  683.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  684.         elseif TYPE == "Round Slash" then
  685.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  686.         elseif TYPE == "Swirl" then
  687.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  688.         elseif TYPE == "Skull" then
  689.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  690.         elseif TYPE == "Crystal" then
  691.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  692.         end
  693.         if MSH ~= nil then
  694.             local MOVESPEED = nil
  695.             if MOVEDIRECTION ~= nil then
  696.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  697.             end
  698.             local GROWTH = SIZE - ENDSIZE
  699.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  700.             if TYPE == "Block" then
  701.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  702.             else
  703.                 EFFECT.CFrame = CFRAME
  704.             end
  705.             for LOOP = 1, TIME+1 do
  706.                 Swait()
  707.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  708.                 if TYPE == "Wave" then
  709.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  710.                 end
  711.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  712.                 if TYPE == "Block" then
  713.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  714.                 else
  715.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  716.                 end
  717.                 if MOVEDIRECTION ~= nil then
  718.                     local ORI = EFFECT.Orientation
  719.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  720.                     EFFECT.Orientation = ORI
  721.                 end
  722.             end
  723.             if PLAYSSOUND == false then
  724.                 EFFECT:remove()
  725.             else
  726.                 SOUND.Stopped:Connect(function()
  727.                     EFFECT:remove()
  728.                 end)
  729.             end
  730.         else
  731.             if PLAYSSOUND == false then
  732.                 EFFECT:remove()
  733.             else
  734.                 repeat Swait() until SOUND.Playing == false
  735.                 EFFECT:remove()
  736.             end
  737.         end
  738.     end))
  739. end
  740.  
  741. local DECAL = IT("Decal")
  742. function MakeRing()
  743.     local RING = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Really red"), "MagicRing", VT(0, 0, 0), true)
  744.     local MSH = IT("BlockMesh", RING)
  745.     local TOP = DECAL:Clone()
  746.     local BOTTOM = DECAL:Clone()
  747.     TOP.Parent = RING
  748.     BOTTOM.Parent = RING
  749.     TOP.Face = "Top"
  750.     BOTTOM.Face = "Bottom"
  751.     TOP.Texture = "http://www.roblox.com/asset/?id=127817121"
  752.     BOTTOM.Texture = "http://www.roblox.com/asset/?id=127817121"
  753.     local function REMOVE()
  754.         coroutine.resume(coroutine.create(function()
  755.             local SIZE = MSH.Scale.X
  756.             for i = 1, 35 do
  757.                 Swait()
  758.                 MSH.Scale = MSH.Scale - VT(SIZE, 0, SIZE) / 60
  759.                 TOP.Transparency = TOP.Transparency + 0.02857142857142857
  760.                 BOTTOM.Transparency = BOTTOM.Transparency + 0.02857142857142857
  761.                 RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(-5), RAD(0))
  762.             end
  763.             RING:remove()
  764.         end))
  765.     end
  766.     return RING, MSH, REMOVE
  767. end
  768.  
  769. function MakeForm(PART,TYPE)
  770.     if TYPE == "Cyl" then
  771.         local MSH = IT("CylinderMesh",PART)
  772.     elseif TYPE == "Ball" then
  773.         local MSH = IT("SpecialMesh",PART)
  774.         MSH.MeshType = "Sphere"
  775.     elseif TYPE == "Wedge" then
  776.         local MSH = IT("SpecialMesh",PART)
  777.         MSH.MeshType = "Wedge"
  778.     end
  779. end
  780.  
  781. function SpawnTrail(FROM,TO,BIG)
  782.     local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  783.     MakeForm(TRAIL,"Cyl")
  784.     local DIST = (FROM - TO).Magnitude
  785.     if BIG == true then
  786.         TRAIL.Size = VT(0.5,DIST,0.5)
  787.     else
  788.         TRAIL.Size = VT(0.25,DIST,0.25)
  789.     end
  790.     TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  791.     coroutine.resume(coroutine.create(function()
  792.         for i = 1, 5 do
  793.             Swait()
  794.             TRAIL.Transparency = TRAIL.Transparency + 0.1
  795.         end
  796.         TRAIL:remove()
  797.     end))
  798. end
  799. --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})
  800. function WACKYEFFECT(Table)
  801.     local TYPE = (Table.EffectType or "Sphere")
  802.     local SIZE = (Table.Size or VT(1,1,1))
  803.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  804.     local TRANSPARENCY = (Table.Transparency or 0)
  805.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  806.     local CFRAME = (Table.CFrame or Torso.CFrame)
  807.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  808.     local ROTATION1 = (Table.RotationX or 0)
  809.     local ROTATION2 = (Table.RotationY or 0)
  810.     local ROTATION3 = (Table.RotationZ or 0)
  811.     local MATERIAL = (Table.Material or "Neon")
  812.     local COLOR = (Table.Color or C3(1,1,1))
  813.     local TIME = (Table.Time or 45)
  814.     local SOUNDID = (Table.SoundID or nil)
  815.     local SOUNDPITCH = (Table.SoundPitch or nil)
  816.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  817.     coroutine.resume(coroutine.create(function()
  818.         local PLAYSSOUND = false
  819.         local SOUND = nil
  820.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Really red"), "Effect", VT(1,1,1), true)
  821.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  822.             PLAYSSOUND = true
  823.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  824.         end
  825.         EFFECT.Color = COLOR
  826.         local MSH = nil
  827.         if TYPE == "Sphere" then
  828.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  829.         elseif TYPE == "Block" then
  830.             MSH = IT("BlockMesh",EFFECT)
  831.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  832.         elseif TYPE == "Wave" then
  833.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  834.         elseif TYPE == "Ring" then
  835.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  836.         elseif TYPE == "Slash" then
  837.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  838.         elseif TYPE == "Round Slash" then
  839.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  840.         elseif TYPE == "Swirl" then
  841.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  842.         elseif TYPE == "Skull" then
  843.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  844.         elseif TYPE == "Crystal" then
  845.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  846.         end
  847.         if MSH ~= nil then
  848.             local MOVESPEED = nil
  849.             if MOVEDIRECTION ~= nil then
  850.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  851.             end
  852.             local GROWTH = SIZE - ENDSIZE
  853.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  854.             if TYPE == "Block" then
  855.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  856.             else
  857.                 EFFECT.CFrame = CFRAME
  858.             end
  859.             for LOOP = 1, TIME+1 do
  860.                 Swait()
  861.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  862.                 if TYPE == "Wave" then
  863.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  864.                 end
  865.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  866.                 if TYPE == "Block" then
  867.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  868.                 else
  869.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  870.                 end
  871.                 if MOVEDIRECTION ~= nil then
  872.                     local ORI = EFFECT.Orientation
  873.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  874.                     EFFECT.Orientation = ORI
  875.                 end
  876.             end
  877.             if PLAYSSOUND == false then
  878.                 EFFECT:remove()
  879.             else
  880.                 SOUND.Stopped:Connect(function()
  881.                     EFFECT:remove()
  882.                 end)
  883.             end
  884.         else
  885.             if PLAYSSOUND == false then
  886.                 EFFECT:remove()
  887.             else
  888.                 repeat Swait() until SOUND.Playing == false
  889.                 EFFECT:remove()
  890.             end
  891.         end
  892.     end))
  893. end
  894.  
  895. function MakeForm(PART,TYPE)
  896.     if TYPE == "Cyl" then
  897.         local MSH = IT("CylinderMesh",PART)
  898.     elseif TYPE == "Ball" then
  899.         local MSH = IT("SpecialMesh",PART)
  900.         MSH.MeshType = "Sphere"
  901.     elseif TYPE == "Wedge" then
  902.         local MSH = IT("SpecialMesh",PART)
  903.         MSH.MeshType = "Wedge"
  904.     end
  905. end
  906.  
  907. function SpawnTrail(FROM,TO,BIG)
  908.     local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  909.     MakeForm(TRAIL,"Cyl")
  910.     local DIST = (FROM - TO).Magnitude
  911.     if BIG == true then
  912.         TRAIL.Size = VT(0.5,DIST,0.5)
  913.     else
  914.         TRAIL.Size = VT(0.25,DIST,0.25)
  915.     end
  916.     TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  917.     coroutine.resume(coroutine.create(function()
  918.         for i = 1, 5 do
  919.             Swait()
  920.             TRAIL.Transparency = TRAIL.Transparency + 0.1
  921.         end
  922.         TRAIL:remove()
  923.     end))
  924. end
  925.  
  926. function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
  927.     local TORSO = Torso
  928.     local HUM = Humanoid
  929.     if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
  930.         coroutine.wrap(function()
  931.             VT = Vector3.new
  932.             MRANDOM = math.random
  933.             local A = TIME
  934.             local B = INTENSITY
  935.             local C = true
  936.             local HUMANOID = Humanoid
  937.             local TIMER = A or 35
  938.             local SHAKE = B or 5
  939.             local FADE = C or true
  940.             if HUMANOID then
  941.                 local FADER = SHAKE / TIMER
  942.                 for i = 1, TIMER do
  943.                     wait()
  944.                     HUMANOID.CameraOffset = VT(MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10)
  945.                 end
  946.                 HUMANOID.CameraOffset = VT(0, 0, 0)
  947.             end
  948.  
  949.         end)()
  950.     end
  951. end
  952.  
  953. function chatfunc(text)
  954.     local chat = coroutine.wrap(function()
  955.     if Character:FindFirstChild("TalkingBillBoard")~= nil then
  956.         Character:FindFirstChild("TalkingBillBoard"):destroy()
  957.     end
  958.     local Bill = Instance.new("BillboardGui",Character)
  959.     Bill.Size = UDim2.new(0,100,0,40)
  960.     Bill.StudsOffset = Vector3.new(0,3,0)
  961.     Bill.Adornee = Character.Head
  962.     Bill.Name = "TalkingBillBoard"
  963.     local Hehe = Instance.new("TextLabel",Bill)
  964.     Hehe.BackgroundTransparency = 1
  965.     Hehe.BorderSizePixel = 0
  966.     Hehe.Text = ""
  967.     Hehe.Font = "Bodoni"
  968.     Hehe.TextSize = 40
  969.     Hehe.TextStrokeTransparency = 0
  970.     Hehe.Size = UDim2.new(1,0,0.5,0)
  971.     coroutine.resume(coroutine.create(function()
  972.         while Hehe ~= nil do
  973.             Swait()
  974.             Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5)) 
  975.             Hehe.Rotation = math.random(-2.5,2.5)
  976.             Hehe.TextColor3 = Color3.new(MRANDOM(55,255),0,0)
  977.             Hehe.TextStrokeColor3 = Color3.new(0,0,0)
  978.         end
  979.     end))
  980.     for i = 1,string.len(text),1 do
  981.         Swait()
  982.         Hehe.Text = string.sub(text,1,i)
  983.     end
  984.     Swait(90)--Re[math.random(1, 93)]
  985.     for i = 0, 1, .025 do
  986.         Swait()
  987.         Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
  988.         Hehe.TextStrokeTransparency = i
  989.         Hehe.TextTransparency = i
  990.     end
  991.     Bill:Destroy()
  992.     end)
  993. chat()
  994. end
  995.  
  996. Debris = game:GetService("Debris")
  997.  
  998. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  999.     local DIRECTION = CF(StartPos,EndPos).lookVector
  1000.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1001. end
  1002.  
  1003. function turnto(position)
  1004.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1005. end
  1006.  
  1007. --//=================================\\
  1008. --||         RAGDOLL STUFF
  1009. --\\=================================//
  1010.  
  1011. function recurse(root,callback,i)
  1012.     i= i or 0
  1013.     for _,v in pairs(root:GetChildren()) do
  1014.         i = i + 1
  1015.         callback(i,v)
  1016.        
  1017.         if #v:GetChildren() > 0 then
  1018.             i = recurse(v,callback,i)
  1019.         end
  1020.     end
  1021.    
  1022.     return i
  1023. end
  1024.  
  1025. function ragdollJoint(character, part0, part1, attachmentName, className, properties)
  1026.     attachmentName = attachmentName.."RigAttachment"
  1027.     local constraint = Instance.new(className.."Constraint")
  1028.     constraint.Attachment0 = part0:FindFirstChild(attachmentName)
  1029.     constraint.Attachment1 = part1:FindFirstChild(attachmentName)
  1030.     constraint.Name = "RagdollConstraint"..part1.Name
  1031.    
  1032.     for _,propertyData in next,properties or {} do
  1033.         constraint[propertyData[1]] = propertyData[2]
  1034.     end
  1035.    
  1036.     constraint.Parent = character
  1037. end
  1038.  
  1039. function getAttachment0(character, attachmentName)
  1040.     for _,child in next,character:GetChildren() do
  1041.         local attachment = child:FindFirstChild(attachmentName)
  1042.         if attachment then
  1043.             return attachment
  1044.         end
  1045.     end
  1046. end
  1047.  
  1048. function ArtificialHitbox(Part)
  1049.     local HITBOX = CreatePart(3, Part, "Metal", 0, 1, "Really black", "Hitbox", Part.Size/2, false)
  1050.     HITBOX.CanCollide = true
  1051.     HITBOX.CFrame = Part.CFrame
  1052.     weldBetween(Part,HITBOX)
  1053. end
  1054.  
  1055. function R15Ragdoll(character,KeepArms)
  1056.     character:BreakJoints()
  1057.     coroutine.resume(coroutine.create(function()
  1058.         recurse(character, function(_,v)
  1059.             if v:IsA("Attachment") then
  1060.                 v.Axis = Vector3.new(0, 1, 0)
  1061.                 v.SecondaryAxis = Vector3.new(0, 0, 1)
  1062.                 v.Rotation = Vector3.new(0, 0, 0)
  1063.             end
  1064.         end)
  1065.         for _,child in next,character:GetChildren() do
  1066.             if child:IsA("Accoutrement") then
  1067.                 for _,part in next,child:GetChildren() do
  1068.                     if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
  1069.                         local attachment1 = part:FindFirstChildOfClass("Attachment")
  1070.                         local attachment0 = getAttachment0(character,attachment1.Name)
  1071.                         if attachment0 and attachment1 then
  1072.                             local constraint = Instance.new("HingeConstraint")
  1073.                             constraint.Attachment0 = attachment0
  1074.                             constraint.Attachment1 = attachment1
  1075.                             constraint.LimitsEnabled = true
  1076.                             constraint.UpperAngle = 0
  1077.                             constraint.LowerAngle = 0
  1078.                             constraint.Parent = character
  1079.                         end
  1080.                         ArtificialHitbox(part)
  1081.                     elseif part.Name == "HumanoidRootPart" then
  1082.                         part:remove()
  1083.                     end
  1084.                 end
  1085.             end
  1086.         end
  1087.        
  1088.         ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
  1089.             {"LimitsEnabled",true};
  1090.             {"UpperAngle",5};
  1091.         })
  1092.         if character:FindFirstChild("Head") then
  1093.             ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
  1094.                 {"LimitsEnabled",true};
  1095.                 {"UpperAngle",15};
  1096.             })
  1097.         end
  1098.        
  1099.         local handProperties = {
  1100.             {"LimitsEnabled", true};
  1101.             {"UpperAngle",0};
  1102.             {"LowerAngle",0};
  1103.         }
  1104.         ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
  1105.         ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
  1106.        
  1107.         local shinProperties = {
  1108.             {"LimitsEnabled", true};
  1109.             {"UpperAngle", 0};
  1110.             {"LowerAngle", -75};
  1111.         }
  1112.         ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
  1113.         ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
  1114.        
  1115.         local footProperties = {
  1116.             {"LimitsEnabled", true};
  1117.             {"UpperAngle", 15};
  1118.             {"LowerAngle", -45};
  1119.         }
  1120.         ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
  1121.         ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
  1122.         if KeepArms == true then
  1123.             ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
  1124.             ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
  1125.             ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
  1126.             ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
  1127.         end
  1128.         ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
  1129.         ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
  1130.         Debris:AddItem(character,5)
  1131.     end))
  1132. end
  1133.  
  1134. function Ragdoll(Character2,CharTorso,KeepArms)
  1135.     coroutine.resume(coroutine.create(function()
  1136.         Character2:BreakJoints()
  1137.         local hum = Character2:findFirstChild("Humanoid")
  1138.         hum:remove()
  1139.         local function Scan(ch)
  1140.             local e
  1141.             for e = 1,#ch do
  1142.                 Scan(ch[e]:GetChildren())
  1143.                 if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
  1144.                     ch[e]:remove()
  1145.                 end
  1146.             end
  1147.         end
  1148.         local NEWHUM = IT("Humanoid")
  1149.         NEWHUM.Name = "Corpse"
  1150.         NEWHUM.Health = 0
  1151.         NEWHUM.MaxHealth = 0
  1152.         NEWHUM.PlatformStand = true
  1153.         NEWHUM.Parent = Character2
  1154.         NEWHUM.DisplayDistanceType = "None"
  1155.    
  1156.         local ch = Character2:GetChildren()
  1157.         local i
  1158.         for i = 1,#ch do
  1159.             if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
  1160.                 ch[i]:remove()
  1161.             end
  1162.         end
  1163.    
  1164.         local Torso2 = Character2.Torso
  1165.         local movevector = Vector3.new()
  1166.    
  1167.         if Torso2 then
  1168.             movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
  1169.             local Head = Character2:FindFirstChild("Head")
  1170.             if Head then
  1171.                 local Neck = Instance.new("Weld")
  1172.                 Neck.Name = "Neck"
  1173.                 Neck.Part0 = Torso2
  1174.                 Neck.Part1 = Head
  1175.                 Neck.C0 = CFrame.new(0, 1.5, 0)
  1176.                 Neck.C1 = CFrame.new()
  1177.                 Neck.Parent = Torso2
  1178.    
  1179.             end
  1180.             local Limb = Character2:FindFirstChild("Right Arm")
  1181.             if Limb and KeepArms == true then
  1182.    
  1183.                 Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
  1184.                 local Joint = Instance.new("Glue")
  1185.                 Joint.Name = "RightShoulder"
  1186.                 Joint.Part0 = Torso2
  1187.                 Joint.Part1 = Limb
  1188.                 Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1189.                 Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1190.                 Joint.Parent = Torso2
  1191.    
  1192.                 local B = Instance.new("Part")
  1193.                 B.TopSurface = 0
  1194.                 B.BottomSurface = 0
  1195.                 B.formFactor = "Symmetric"
  1196.                 B.Size = Vector3.new(1, 1, 1)
  1197.                 B.Transparency = 1
  1198.                 B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1199.                 B.Parent = Character2
  1200.                 local W = Instance.new("Weld")
  1201.                 W.Part0 = Limb
  1202.                 W.Part1 = B
  1203.                 W.C0 = CFrame.new(0, -0.5, 0)
  1204.                 W.Parent = Limb
  1205.    
  1206.             end
  1207.             local Limb = Character2:FindFirstChild("Left Arm")
  1208.             if Limb and KeepArms == true then
  1209.    
  1210.                 Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
  1211.                 local Joint = Instance.new("Glue")
  1212.                 Joint.Name = "LeftShoulder"
  1213.                 Joint.Part0 = Torso2
  1214.                 Joint.Part1 = Limb
  1215.                 Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1216.                 Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1217.                 Joint.Parent = Torso2
  1218.    
  1219.                 local B = Instance.new("Part")
  1220.                 B.TopSurface = 0
  1221.                 B.BottomSurface = 0
  1222.                 B.formFactor = "Symmetric"
  1223.                 B.Size = Vector3.new(1, 1, 1)
  1224.                 B.Transparency = 1
  1225.                 B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1226.                 B.Parent = Character2
  1227.                 local W = Instance.new("Weld")
  1228.                 W.Part0 = Limb
  1229.                 W.Part1 = B
  1230.                 W.C0 = CFrame.new(0, -0.5, 0)
  1231.                 W.Parent = Limb
  1232.    
  1233.             end
  1234.             local Limb = Character2:FindFirstChild("Right Leg")
  1235.             if Limb then
  1236.    
  1237.                 Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
  1238.                 local Joint = Instance.new("Glue")
  1239.                 Joint.Name = "RightHip"
  1240.                 Joint.Part0 = Torso2
  1241.                 Joint.Part1 = Limb
  1242.                 Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1243.                 Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1244.                 Joint.Parent = Torso2
  1245.    
  1246.                 local B = Instance.new("Part")
  1247.                 B.TopSurface = 0
  1248.                 B.BottomSurface = 0
  1249.                 B.formFactor = "Symmetric"
  1250.                 B.Size = Vector3.new(1, 1, 1)
  1251.                 B.Transparency = 1
  1252.                 B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1253.                 B.Parent = Character2
  1254.                 local W = Instance.new("Weld")
  1255.                 W.Part0 = Limb
  1256.                 W.Part1 = B
  1257.                 W.C0 = CFrame.new(0, -0.5, 0)
  1258.                 W.Parent = Limb
  1259.    
  1260.             end
  1261.             local Limb = Character2:FindFirstChild("Left Leg")
  1262.             if Limb then
  1263.    
  1264.                 Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
  1265.                 local Joint = Instance.new("Glue")
  1266.                 Joint.Name = "LeftHip"
  1267.                 Joint.Part0 = Torso2
  1268.                 Joint.Part1 = Limb
  1269.                 Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1270.                 Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1271.                 Joint.Parent = Torso2
  1272.    
  1273.                 local B = Instance.new("Part")
  1274.                 B.TopSurface = 0
  1275.                 B.BottomSurface = 0
  1276.                 B.formFactor = "Symmetric"
  1277.                 B.Size = Vector3.new(1, 1, 1)
  1278.                 B.Transparency = 1
  1279.                 B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1280.                 B.Parent = Character2
  1281.                 local W = Instance.new("Weld")
  1282.                 W.Part0 = Limb
  1283.                 W.Part1 = B
  1284.                 W.C0 = CFrame.new(0, -0.5, 0)
  1285.                 W.Parent = Limb
  1286.    
  1287.             end
  1288.             --[
  1289.             local Bar = Instance.new("Part")
  1290.             Bar.TopSurface = 0
  1291.             Bar.BottomSurface = 0
  1292.             Bar.formFactor = "Symmetric"
  1293.             Bar.Size = Vector3.new(1, 1, 1)
  1294.             Bar.Transparency = 1
  1295.             Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
  1296.             Bar.Parent = Character2
  1297.             local Weld = Instance.new("Weld")
  1298.             Weld.Part0 = Torso2
  1299.             Weld.Part1 = Bar
  1300.             Weld.C0 = CFrame.new(0, 0.5, 0)
  1301.             Weld.Parent = Torso2
  1302.             --]]
  1303.         end
  1304.         Character2.Parent = workspace
  1305.         Debris:AddItem(Character2,5)
  1306.    
  1307.         return Character2,Torso2
  1308.     end))
  1309. end
  1310.  
  1311. --//=================================\\
  1312. --||         WEAPON CREATION
  1313. --\\=================================//
  1314.  
  1315. local Particle = IT("ParticleEmitter",nil)
  1316. Particle.Enabled = false
  1317. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  1318. Particle.LightEmission = 0.5
  1319. Particle.Rate = 150
  1320. Particle.ZOffset = 0.2
  1321. Particle.Rotation = NumberRange.new(-180, 180)
  1322. Particle.RotSpeed = NumberRange.new(-180, 180)
  1323. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  1324. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  1325.  
  1326. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  1327. function ParticleEmitter(Table)
  1328.     local PRTCL = Particle:Clone()
  1329.     local Speed = Table.Speed or 5
  1330.     local Drag = Table.Drag or 0
  1331.     local Size1 = Table.Size1 or 1
  1332.     local Size2 = Table.Size2 or 5
  1333.     local Lifetime1 = Table.Lifetime1 or 1
  1334.     local Lifetime2 = Table.Lifetime2 or 1.5
  1335.     local Parent = Table.Parent or Torso
  1336.     local Emit = Table.Emit or 100
  1337.     local Offset = Table.Offset or 360
  1338.     local Acel = Table.Acel or VT(0,0,0)
  1339.     local Enabled = Table.Enabled or false
  1340.     PRTCL.Parent = Parent
  1341.     PRTCL.Size = NumberSequence.new(Size1,Size2)
  1342.     PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1343.     PRTCL.Speed = NumberRange.new(Speed)
  1344.     PRTCL.VelocitySpread = Offset
  1345.     PRTCL.Drag = Drag
  1346.     PRTCL.Acceleration = Acel
  1347.     if Enabled == false then
  1348.         PRTCL:Emit(Emit)
  1349.         Debris:AddItem(PRTCL,Lifetime2)
  1350.     else
  1351.         PRTCL.Enabled = true
  1352.     end
  1353.     return PRTCL
  1354. end
  1355.  
  1356. local Handle = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
  1357. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  1358. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  1359. MakeForm(Part,"Wedge")
  1360. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  1361. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
  1362. MakeForm(Part,"Wedge")
  1363. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  1364. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
  1365. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1366. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
  1367. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1368. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
  1369. MakeForm(Part,"Cyl")
  1370. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1371. for i = 1, 8 do
  1372.     local Piece = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
  1373.     CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  1374. end
  1375. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
  1376. MakeForm(Part,"Cyl")
  1377. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1378. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
  1379. MakeForm(Part,"Ball")
  1380. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1381. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
  1382. MakeForm(Part,"Wedge")
  1383. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  1384. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
  1385. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1386. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
  1387. MakeForm(Part,"Cyl")
  1388. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1389. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
  1390. MakeForm(Part,"Cyl")
  1391. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1392. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
  1393. MakeForm(Part,"Cyl")
  1394. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1395. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  1396. MakeForm(Part,"Wedge")
  1397. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  1398. local LASTPART = Handle
  1399. for i = 1, 10 do
  1400.     if LASTPART == Handle then
  1401.         local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
  1402.         LASTPART = Part
  1403.         CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1404.     else
  1405.         local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
  1406.         CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  1407.         LASTPART = Part
  1408.     end
  1409. end
  1410.  
  1411. local Barrel = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,4,0.15),false)
  1412. MakeForm(Barrel,"Cyl")
  1413. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.85) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1414. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,2,0.25),false)
  1415. MakeForm(Part,"Cyl")
  1416. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.2, 0), CF(0, 0, 0))
  1417. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
  1418. MakeForm(Part,"Wedge")
  1419. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1420. local Hole = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
  1421. MakeForm(Hole,"Cyl")
  1422. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 2, 0), CF(0, 0, 0))
  1423. local Part = CreatePart(3, Gun, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
  1424. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1425. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  1426. local Part = CreatePart(3, Gun, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
  1427. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1428. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  1429. coroutine.resume(coroutine.create(function()
  1430.     while wait() do
  1431.         GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(sick.PlaybackLoudness/60 + 0.05))
  1432.         GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-sick.PlaybackLoudness/60 - 0.05))
  1433.     end
  1434. end))
  1435.  
  1436. 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)})
  1437. --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)})
  1438.  
  1439. for _, c in pairs(Gun:GetDescendants()) do
  1440.     if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  1441.         c.Material = "Glass"
  1442.         c.Color = C3(0,0,0)
  1443.     elseif c.ClassName == "Part" and c.Name == "Eye" then
  1444.         c.Color = C3(1,0,0)
  1445.         c.Material = "Neon"
  1446.     end
  1447. end
  1448.  
  1449. Weapon.Parent = Character
  1450. for _, c in pairs(Weapon:GetChildren()) do
  1451.     if c.ClassName == "Part" then
  1452.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1453.     end
  1454. end
  1455.  
  1456. Weapon.Parent = Character
  1457. Gun.Parent = nil
  1458.  
  1459. for _, c in pairs(Gun:GetChildren()) do
  1460.     if c.ClassName == "Part" then
  1461.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1462.     end
  1463. end
  1464.  
  1465. for _, c in pairs(Weapon:GetChildren()) do
  1466.     if c.ClassName == "Part" then
  1467.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1468.     end
  1469. end
  1470.  
  1471. local SKILLTEXTCOLOR = C3(1,0,0)
  1472. local SKILLFONT = "Antique"
  1473. local SKILLTEXTSIZE = 7
  1474.  
  1475. Humanoid.Died:connect(function()
  1476.     ATTACK = true
  1477. end)
  1478.  
  1479. 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")
  1480. 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")
  1481. 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")
  1482. 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")
  1483. 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")
  1484.  
  1485. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banish", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  1486. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[V] Kill", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  1487. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[X] Sleep", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  1488. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[C] Ultimate", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  1489. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[T] Taunt", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  1490.  
  1491. function printbye(Name)
  1492.     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, "}
  1493.     warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  1494. end
  1495.     if INTRO == false and INSTANT == false then
  1496.         INTRO = true
  1497.         coroutine.resume(coroutine.create(function()
  1498.             sick:Play()
  1499.             Intro()
  1500.         end))
  1501.     end
  1502.  
  1503. workspace.ChildAdded:connect(function(instance)
  1504.     for BANISH = 1, #TOBANISH do
  1505.         if TOBANISH[BANISH] ~= nil then
  1506.             if instance.Name == TOBANISH[BANISH] then
  1507.                 coroutine.resume(coroutine.create(function()
  1508.                     printbye(instance.Name)
  1509.                     instance:ClearAllChildren()
  1510.                     Debris:AddItem(instance,0.0005)
  1511.                 end))
  1512.             end
  1513.         end
  1514.     end
  1515. end)
  1516.  
  1517. --//=================================\\
  1518. --||            DAMAGING
  1519. --\\=================================//
  1520.  
  1521. function ApplyDamage(Humanoid,Damage,OneShot)
  1522.     Damage = Damage * DAMAGEMULTIPLIER
  1523.     local DEAD = false
  1524.     if Humanoid.Health < 2000 and OneShot == false then
  1525.         if Humanoid.Health - Damage > 0 then
  1526.             Humanoid.Health = Humanoid.Health - Damage
  1527.         else
  1528.             Humanoid.Parent:BreakJoints()
  1529.             DEAD = true
  1530.         end
  1531.     else
  1532.         DEAD = true
  1533.         Humanoid.Parent:BreakJoints()
  1534.     end
  1535.     if DEAD == true then
  1536.         local PARTS = {}
  1537.         for index, CHILD in pairs(Humanoid.Parent:GetChildren()) do
  1538.             if CHILD:IsA("BasePart") then
  1539.                 table.insert(PARTS,CHILD)
  1540.             end
  1541.         end
  1542.         coroutine.resume(coroutine.create(function()
  1543.             wait(2)
  1544.             repeat
  1545.                 Swait()
  1546.                 local PIECE = nil
  1547.                 if MRANDOM(1,5) == 1 then
  1548.                     for E = 1, #PARTS do
  1549.                         if MRANDOM(1,5) == 1 then
  1550.                             PIECE = PARTS[E]
  1551.                             table.remove(PARTS,E)
  1552.                             break
  1553.                         end
  1554.                     end
  1555.                 end
  1556.                 if PIECE ~= nil then
  1557.                     if PIECE.Name == "Head" then
  1558.                         WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z), Size2 = (VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z))*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), RotationX = MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0.4,0,0), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
  1559.                     else
  1560.                         WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = PIECE.Size, Size2 = PIECE.Size*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0.4,0,0), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
  1561.                     end
  1562.                     PIECE:remove()
  1563.                 end
  1564.             until #PARTS == 0
  1565.         end))
  1566.     end
  1567. end
  1568.  
  1569.  
  1570. function ApplyDamage3(Humanoid,Damage,TorsoPart)
  1571.     local defence = Instance.new("BoolValue",Humanoid.Parent)
  1572.     defence.Name = ("HitBy"..Player.Name)
  1573.     game:GetService("Debris"):AddItem(defence, 0.001)
  1574.     Damage = Damage * DAMAGEMULTIPLIER
  1575.     if Humanoid.Health ~= 0 then
  1576.         local CritChance = MRANDOM(1,100)
  1577.         if Damage > Humanoid.Health then
  1578.             Damage = math.ceil(Humanoid.Health)
  1579.             if Damage == 0 then
  1580.                 Damage = 0.1
  1581.             end
  1582.         end
  1583.         Humanoid.Health = Humanoid.Health - Damage
  1584.     end
  1585. end
  1586.  
  1587. function ApplyDamage3(Humanoid,Damage,TorsoPart)
  1588.     local defence = Instance.new("BoolValue",Humanoid.Parent)
  1589.     defence.Name = ("HitBy"..Player.Name)
  1590.     game:GetService("Debris"):AddItem(defence, 0.001)
  1591.     Damage = Damage * DAMAGEMULTIPLIER
  1592.     if Humanoid.Health ~= 0 then
  1593.         local CritChance = MRANDOM(1,100)
  1594.         if Damage > Humanoid.Health then
  1595.             Damage = math.ceil(Humanoid.Health)
  1596.             if Damage == 0 then
  1597.                 Damage = 0.1
  1598.             end
  1599.         end
  1600.         Humanoid.Health = Humanoid.Health - Damage
  1601.     end
  1602. end
  1603.  
  1604. function ApplyAoE3(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  1605.     local CHILDREN = workspace:GetDescendants()
  1606.     for index, CHILD in pairs(CHILDREN) do
  1607.         if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  1608.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1609.             if HUM then
  1610.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1611.                 if TORSO then
  1612.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1613.                         if INSTAKILL == true then
  1614.                             CHILD:BreakJoints()
  1615.                         else
  1616.                             local DMG = MRANDOM(MINDMG,MAXDMG)
  1617.                             ApplyDamage(HUM,DMG,TORSO)
  1618.                         end
  1619.                         if FLING > 0 then
  1620.                             for _, c in pairs(CHILD:GetChildren()) do
  1621.                                 if c:IsA("BasePart") then
  1622.                                     local bv = Instance.new("BodyVelocity")
  1623.                                     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1624.                                     bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  1625.                                     bv.Parent = c
  1626.                                     Debris:AddItem(bv,0.05)
  1627.                                 end
  1628.                             end
  1629.                         end
  1630.                     end
  1631.                 end
  1632.             end
  1633.         end
  1634.     end
  1635. end
  1636.  
  1637. function CameraEnshaking(Length, Intensity)
  1638.     coroutine.resume(coroutine.create(function()
  1639.         local intensity = 1 * Intensity
  1640.         local rotM = 0.01 * Intensity
  1641.         for i = 0, Length, 0.1 do
  1642.             Swait()
  1643.             intensity = intensity - 0.05 * Intensity / Length
  1644.             rotM = rotM - 5.0E-4 * Intensity / Length
  1645.             Humanoid.CameraOffset = Vector3.new(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)))
  1646.             Cam.CFrame = Cam.CFrame * CF(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity))) * EULER(RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM)
  1647.         end
  1648.         Humanoid.CameraOffset = Vector3.new(0, 0, 0)
  1649.     end))
  1650. end
  1651.  
  1652. function KillChildren(v)
  1653.     v:BreakJoints()
  1654.     for _, c in pairs(v:GetChildren()) do
  1655.         if c:IsA("BasePart") then
  1656.             if c.Transparency < 1 then
  1657.                 if c:FindFirstChildOfClass("Decal") then
  1658.                     c:FindFirstChildOfClass("Decal"):remove()
  1659.                 end
  1660.                 particles(c)
  1661.                 c.PE.Enabled = true
  1662.                 c.Parent = Effects
  1663.                 c.CanCollide = false
  1664.                 c.Material = "Neon"
  1665.                 c.Color = C3(1,0,0)
  1666.                 c.Transparency = 1
  1667.                 local grav = Instance.new("BodyPosition",c)
  1668.                 grav.P = 20000
  1669.                 grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1670.                 grav.position = c.Position + VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5))
  1671.                 grav.Name = "GravityForce"
  1672.                 coroutine.resume(coroutine.create(function()
  1673.                     for i = 1, 20 do
  1674.                         Swait()
  1675.                         c.Transparency = c.Transparency + 1/20
  1676.                     end
  1677.                     c.PE.Enabled = false
  1678.                     Debris:AddItem(c,2)
  1679.                 end))
  1680.             end
  1681.         end
  1682.     end
  1683. end
  1684.  
  1685. function ApplyAoE(POSITION,RANGE)
  1686.     local CHILDREN = workspace:GetDescendants()
  1687.     for index, CHILD in pairs(CHILDREN) do
  1688.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  1689.             local LISTED = false
  1690.             for LIST = 1, #WHITELIST do
  1691.                 if WHITELIST[LIST] ~= nil then
  1692.                     if CHILD.Name == WHITELIST[LIST] then
  1693.                         LISTED = true
  1694.                     end
  1695.                 end
  1696.             end
  1697.             if LISTED == false then
  1698.                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1699.                 if HUM then
  1700.                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1701.                     if TORSO then
  1702.                         if (TORSO.Position - POSITION).Magnitude <= RANGE+TORSO.Size.Magnitude then
  1703.                             KillChildren(CHILD)
  1704.                         end
  1705.                     end
  1706.                 end
  1707.             end
  1708.         end
  1709.     end
  1710. end
  1711.  
  1712. function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
  1713.     coroutine.resume(coroutine.create(function()
  1714.         local METEOR = IT("Model",Effects)
  1715.         METEOR.Name = "Meteorite"
  1716.         local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  1717.         METEOR.PrimaryPart = CENTER
  1718.         local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  1719.         PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1720.         for i = 1, 15 do
  1721.             local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really red", "Fire", VT(5.1,1,5.1)*SIZE)
  1722.             FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1723.         end
  1724.         if ISDEBREE ~= true then
  1725.             METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  1726.         else
  1727.             METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  1728.         end
  1729.         local IMPACT = false
  1730.         CreateSound(463593339, CENTER, 10, 0.6)
  1731.         if SIZE >= 3.5 then
  1732.             for i = 1, MRANDOM(3,7) do
  1733.                 SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
  1734.             end
  1735.         end
  1736.         for i = 1, 200 do
  1737.             Swait()
  1738.             local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
  1739.             if HITFLOOR == nil then
  1740.                 local ORI = CENTER.Orientation
  1741.                 METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  1742.             else
  1743.                 if HITFLOOR.Anchored == true then
  1744.                     CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
  1745.                     CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
  1746.                 end
  1747.                 IMPACT = true
  1748.                 break
  1749.             end
  1750.         end
  1751.         if IMPACT == true then
  1752.             WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  1753.             WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
  1754.             WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  1755.             ApplyAoE(CENTER.Position,30*SIZE)
  1756.         end
  1757.         METEOR:remove()
  1758.     end))
  1759. end
  1760.  
  1761. function ApplyAoE4(POSITION,RANGE,BRUTAL)
  1762.     local CHILDREN = workspace:GetDescendants()
  1763.     for index, CHILD in pairs(CHILDREN) do
  1764.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  1765.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1766.             if HUM then
  1767.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1768.                 if TORSO then
  1769.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1770.                         if BRUTAL == true then
  1771.                             Kill(CHILD)
  1772.                         else
  1773.                             CHILD:BreakJoints()
  1774.                         end
  1775.                     end
  1776.                 end
  1777.             end
  1778.         end
  1779.     end
  1780. end
  1781.  
  1782. function Kill(Char)
  1783.     local NewCharacter = IT("Model",Effects)
  1784.     NewCharacter.Name = "Ow im ded ;-;"
  1785.     for _, c in pairs(Char:GetDescendants()) do
  1786.         if c:IsA("BasePart") and c.Transparency == 0 then
  1787.             c:BreakJoints()
  1788.             c.Material = "Glass"
  1789.             c.Color = C3(1,0,0)
  1790.             c.CanCollide = true
  1791.             c.Transparency = 0.3
  1792.             if c:FindFirstChildOfClass("SpecialMesh") then
  1793.                 c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1794.             end
  1795.             if c.Name == "Head" then
  1796.                 c:ClearAllChildren()
  1797.                 c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  1798.             end
  1799.             if c.ClassName == "MeshPart" then
  1800.                 c.TextureID = ""
  1801.             end
  1802.             if c:FindFirstChildOfClass("BodyPosition") then
  1803.                 c:FindFirstChildOfClass("BodyPosition"):remove()
  1804.             end
  1805.             if c:FindFirstChildOfClass("ParticleEmitter") then
  1806.                 c:FindFirstChildOfClass("ParticleEmitter"):remove()
  1807.             end
  1808.             c.Parent = NewCharacter
  1809.             c.Name = "DeadPart"
  1810.             c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  1811.             c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  1812.         end
  1813.     end
  1814.     Char:remove()
  1815.     Debris:AddItem(NewCharacter,5)
  1816. end
  1817.  
  1818. function ApplyAoE(POSITION,RANGE,BRUTAL)
  1819.     local CHILDREN = workspace:GetDescendants()
  1820.     for index, CHILD in pairs(CHILDREN) do
  1821.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  1822.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1823.             if HUM then
  1824.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1825.                 if TORSO then
  1826.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1827.                         if BRUTAL == true then
  1828.                             Kill(CHILD)
  1829.                         else
  1830.                             CHILD:BreakJoints()
  1831.                         end
  1832.                     end
  1833.                 end
  1834.             end
  1835.         end
  1836.     end
  1837. end
  1838.  
  1839. function ApplyAoE(POSITION,RANGE,BRUTAL)
  1840.     local CHILDREN = workspace:GetDescendants()
  1841.     for index, CHILD in pairs(CHILDREN) do
  1842.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  1843.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1844.             if HUM then
  1845.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1846.                 if TORSO then
  1847.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1848.                         if BRUTAL == true then
  1849.                             Kill(CHILD)
  1850.                         else
  1851.                             CHILD:BreakJoints()
  1852.                         end
  1853.                     end
  1854.                 end
  1855.             end
  1856.         end
  1857.     end
  1858. end
  1859.  
  1860. function Banish(Foe)
  1861.     if Foe then
  1862.         coroutine.resume(coroutine.create(function()
  1863.             --if game.Players:FindFirstChild(Foe.Name) then
  1864.                 table.insert(TOBANISH,Foe.Name)
  1865.                 printbye(Foe.Name)
  1866.             --end
  1867.             Foe.Archivable = true
  1868.             local CLONE = Foe:Clone()
  1869.             Foe:Destroy()
  1870.             CLONE.Parent = Effects
  1871.             CLONE:BreakJoints()
  1872.             local MATERIALS = {"Glass","Neon"}
  1873.             for _, c in pairs(CLONE:GetDescendants()) do
  1874.                 if c:IsA("BasePart") then
  1875.                     if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  1876.                         CreateSound(138271815, c, 10, 1, false)
  1877.                     end
  1878.                     c.Anchored = true
  1879.                     c.Transparency = c.Transparency + 0.2
  1880.                     c.Material = MATERIALS[MRANDOM(1,2)]
  1881.                     c.Color = C3(1,0,0)
  1882.                     if c.ClassName == "MeshPart" then
  1883.                         c.TextureID = ""
  1884.                     end
  1885.                     if c:FindFirstChildOfClass("SpecialMesh") then
  1886.                         c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1887.                     end
  1888.                     if c:FindFirstChildOfClass("Decal") then
  1889.                         c:FindFirstChildOfClass("Decal"):remove()
  1890.                     end
  1891.                     c.Name = "Banished"
  1892.                     c.CanCollide = false
  1893.                 else
  1894.                     c:remove()
  1895.                 end
  1896.             end
  1897.             local A = false
  1898.             for i = 1, 35 do
  1899.                 if A == false then
  1900.                     A = true
  1901.                 elseif A == true then
  1902.                     A = false
  1903.                 end
  1904.                 for _, c in pairs(CLONE:GetDescendants()) do
  1905.                     if c:IsA("BasePart") then
  1906.                         c.Anchored = true
  1907.                         c.Material = MATERIALS[MRANDOM(1,2)]
  1908.                         c.Transparency = c.Transparency + 0.8/35
  1909.                         if A == false then
  1910.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1911.                         elseif A == true then
  1912.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)                       
  1913.                         end
  1914.                     end
  1915.                 end
  1916.                 Swait()
  1917.             end
  1918.             CLONE:remove()
  1919.         end))
  1920.     end
  1921. end
  1922.  
  1923.  
  1924. function ApplyAoE(POSITION,RANGE,ISBANISH)
  1925.     local CHILDREN = workspace:GetDescendants()
  1926.     for index, CHILD in pairs(CHILDREN) do
  1927.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  1928.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1929.             if HUM then
  1930.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1931.                 if TORSO then
  1932.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1933.                         if ISBANISH == true then
  1934.                             Banish(CHILD)
  1935.                         else
  1936.                             if ISBANISH == "Gravity" then
  1937.                                 HUM.PlatformStand = true
  1938.                                 if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1939.                                     local grav = Instance.new("BodyPosition",TORSO)
  1940.                                     grav.D = 15
  1941.                                     grav.P = 20000
  1942.                                     grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1943.                                     grav.position = TORSO.Position
  1944.                                     grav.Name = "V3BanishForce"..Player.Name
  1945.                                 else
  1946.                                     TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  1947.                                     TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  1948.                                 end
  1949.                             else
  1950.                                 HUM.PlatformStand = false
  1951.                             end
  1952.                         end
  1953.                     elseif ISBANISH == "Gravity" then
  1954.                         if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1955.                             TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  1956.                             HUM.PlatformStand = false
  1957.                         end
  1958.                     end
  1959.                 end
  1960.             end
  1961.         end
  1962.     end
  1963. end
  1964.  
  1965. function SpawnSmite(POS)
  1966.     local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
  1967.     local EMITPOS = HITPOS
  1968.     if HITFLOOR ~= nil then
  1969.         if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  1970.             HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  1971.             EMITPOS = HITPOS
  1972.         elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  1973.             HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  1974.             EMITPOS = HITPOS
  1975.         end
  1976.     end
  1977.     if HITFLOOR ~= nil then
  1978.         ApplyAoE(EMITPOS,10)
  1979.         WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  1980.         WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1981.         WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1982.         for i = 1, 5 do
  1983.             local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
  1984.             WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  1985.         end
  1986.     end
  1987. end
  1988.  
  1989. --//=================================\\
  1990. --||    ATTACK FUNCTIONS AND STUFF
  1991. --\\=================================//
  1992.  
  1993. function eh()
  1994.     ATTACK = true
  1995.     Rooted = false
  1996.     Speed = 20
  1997.         Swait()
  1998.         local CHILDREN = workspace:GetDescendants()
  1999.         for index, CHILD in pairs(CHILDREN) do
  2000.             if CHILD.ClassName == "Model" and CHILD ~= Character then
  2001.                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2002.                 if HUM then
  2003.                     local TORSO = CHILD:FindFirstChild("Head")
  2004.                     if TORSO then
  2005.                         if (TORSO.Position - Head.Position).Magnitude <= 25 then
  2006.                             WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(5,5,5), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2007.                             TORSO:remove()
  2008.                             if CHILD:FindFirstChild("Torso") then
  2009.                                 Ragdoll(CHILD,Torso,true)
  2010.                             elseif CHILD:FindFirstChild("UpperTorso") then
  2011.                                 R15Ragdoll(CHILD,true)
  2012.                             end
  2013.                         end
  2014.                     end
  2015.                 end
  2016.             end
  2017.         end
  2018.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), 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,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2019.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 1})
  2020.     for i=0, 0.3, 0.1 / Animation_Speed do
  2021.         Swait()
  2022.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  2023.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
  2024.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
  2025.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
  2026.         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.25 / Animation_Speed)
  2027.         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.25 / Animation_Speed)
  2028. end
  2029.     Speed = 20
  2030.     ATTACK = false
  2031.     Rooted = false
  2032. end
  2033.  
  2034. function Taunt()
  2035.     ATTACK = true
  2036.     Rooted = true
  2037.             CreateSound("1238240145", Torso, 6, 0.9)
  2038.         for i=0, 0.6, 0.1 / Animation_Speed do
  2039.             Swait()
  2040.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2041. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2042. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2043.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2044.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2045.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2046.         end
  2047.         for i=0, 0.6, 0.1 / Animation_Speed do
  2048.             Swait()
  2049.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2050. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2051. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2052.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2053.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2054.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2055.         end
  2056.         for i=0, 0.6, 0.1 / Animation_Speed do
  2057.             Swait()
  2058.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2059. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2060. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2061.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2062.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2063.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2064.         end
  2065.         for i=0, 0.6, 0.1 / Animation_Speed do
  2066.             Swait()
  2067.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2068. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2069. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2070.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2071.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2072.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2073.         end
  2074.         for i=0, 0.6, 0.1 / Animation_Speed do
  2075.             Swait()
  2076.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2077. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2078. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2079.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2080.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2081.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2082.         end
  2083.         for i=0, 0.6, 0.1 / Animation_Speed do
  2084.             Swait()
  2085.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2086. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2087. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2088.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2089.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2090.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2091.         end
  2092.     ATTACK = false
  2093.     Rooted = false
  2094. end
  2095.  
  2096. function TakeOnMe()
  2097.     Speed = 16
  2098.     local MEME = CreateSound(1171341451, Effects, 2, 1, false)
  2099.     ATTACK = true
  2100.     Rooted = false
  2101.     local DANCE = true
  2102.     local KEY = Mouse.KeyDown:connect(function(NEWKEY)
  2103.         if NEWKEY == "p" then
  2104.             DANCE = false
  2105.         end
  2106.     end)
  2107.     PLAYSONG = false
  2108.     while true do
  2109.         for i = 1, 15 do
  2110.             Swait()
  2111.             MEME.Parent = Effects
  2112.         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)
  2113.         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)
  2114.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2115.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2116.         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)
  2117.         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)
  2118.         end
  2119.         if DANCE == false then
  2120.             break
  2121.         end
  2122.         for i = 1, 15 do
  2123.             Swait()
  2124.             MEME.Parent = Effects
  2125.         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)
  2126.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  2127.             if MRANDOM(1,7) == 1 then
  2128.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2129.             end         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(150), RAD(65), RAD(85)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2130.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(65), RAD(85)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2131.         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)
  2132.             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)
  2133.         end
  2134.     end
  2135.     PLAYSONG = true
  2136.     KEY:Disconnect()
  2137.     MEME:remove()
  2138.     Speed = 25
  2139.     ATTACK = false
  2140.     Rooted = false
  2141. end
  2142.  
  2143. function Intro()
  2144.     ATTACK = true
  2145.     Rooted = true
  2146.     repeat
  2147.         Swait()
  2148.         WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(2,2,2), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0) * ANGLES(RAD(MRANDOM(-90,90)), RAD(MRANDOM(-90,90)), RAD(MRANDOM(-90,90))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 0})
  2149.         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)
  2150.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(-3.5 * COS(SINE / 12)), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2151.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.8 / Animation_Speed)
  2152.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2153.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(2.5 * COS(SINE / 12))), 0.8 / Animation_Speed)
  2154.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-8), RAD(5), RAD(15-2.5 * COS(SINE / 12))), 0.8 / Animation_Speed)
  2155.     until sick.TimePosition > 114
  2156.     repeat
  2157.         Swait()
  2158.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2159.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2160.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2161.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2162.         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)
  2163.         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)
  2164.     until sick.TimePosition > 116
  2165.     repeat
  2166.         Swait()
  2167.         WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0.2,0.2), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0) * ANGLES(RAD(MRANDOM(-90,90)), RAD(MRANDOM(-90,90)), RAD(MRANDOM(-90,90))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 0})
  2168.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2169.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2170.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(45), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2171.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-90), RAD(45), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2172.         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)
  2173.         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)
  2174.     until sick.TimePosition >119
  2175.     Gun.Parent = Character
  2176.     tecks2.TextTransparency = 0
  2177.     for i = 1, 100 do
  2178.         Swait()
  2179.         for _, c in pairs(Character:GetChildren()) do
  2180.             if c.ClassName == "Part" and c.Name ~= "HumanoidRootPart" then
  2181.                 c.Transparency = 0
  2182.             end
  2183.         end
  2184.         for _, c in pairs(Weapon:GetChildren()) do
  2185.             if c.ClassName == "Part" and c.Name ~= "HumanoidRootPart" then
  2186.                 c.Transparency = 0
  2187.             end
  2188.         end
  2189. for _, c in pairs(Weapon:GetDescendants()) do
  2190.     if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  2191.         c.Material = "Glass"
  2192.         c.Color = C3(0,0,0)
  2193.     elseif c.ClassName == "Part" and c.Name == "Eye" then
  2194.         c.Color = C3(1,0,0)
  2195.         c.Material = "Neon"
  2196.     end
  2197. end
  2198.     end
  2199.     TRANSFORMED = true
  2200.     ATTACK = false
  2201.     Rooted = false
  2202. end
  2203.  
  2204. function Shot()
  2205.     ATTACK = true
  2206.     Rooted = false
  2207.     for i=0, 0.2, 0.05 / Animation_Speed do
  2208.         Swait()
  2209.         turnto(Mouse.Hit.p)
  2210.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2211.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2212.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2213.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2214.         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)
  2215.         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)
  2216.     end
  2217.     repeat
  2218.         for i=0, 0.2, 0.05 / Animation_Speed do
  2219.             Swait()
  2220.             turnto(Mouse.Hit.p)
  2221.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2222.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2223.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2224.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2225.             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)
  2226.             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)
  2227.         end
  2228.         local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  2229.         SpawnTrail(Hole.Position,POS)
  2230.         if HIT ~= nil then
  2231.             if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  2232.                 Banish(HIT.Parent)
  2233.             end
  2234.         end
  2235.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), 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,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2236.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2237.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), 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,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2238.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), 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,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2239.     Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30
  2240.         for i=0, 0.2, 0.05 / Animation_Speed do
  2241.             Swait()
  2242.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2243.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  2244.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2245.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2246.             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)
  2247.             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)
  2248.         end
  2249.     until KEYHOLD == false
  2250.     ATTACK = false
  2251.     Rooted = false
  2252. end
  2253.  
  2254. function Shot2()
  2255.     ATTACK = true
  2256.     Rooted = false
  2257.     for i=0, 0.2, 0.05 / Animation_Speed do
  2258.         Swait()
  2259.         turnto(Mouse.Hit.p)
  2260.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2261.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2262.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2263.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2264.         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)
  2265.         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)
  2266.     end
  2267.     repeat
  2268.         for i=0, 0.2, 0.05 / Animation_Speed do
  2269.             Swait()
  2270.             turnto(Mouse.Hit.p)
  2271.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2272.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2273.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2274.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2275.             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)
  2276.             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)
  2277.         end
  2278.         local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  2279.         SpawnTrail(Hole.Position,POS)
  2280.         if HIT ~= nil then
  2281.             if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  2282.                 Kill(HIT.Parent)
  2283.             end
  2284.         end
  2285.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), 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,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2286.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2287.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), 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,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2288.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), 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,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2289.     Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30
  2290.         for i=0, 0.2, 0.05 / Animation_Speed do
  2291.             Swait()
  2292.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2293.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  2294.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2295.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2296.             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)
  2297.             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)
  2298.         end
  2299.     until KEYHOLD == false
  2300.     ATTACK = false
  2301.     Rooted = false
  2302. end
  2303.  
  2304. function AttackTemplate()
  2305.     ATTACK = true
  2306.     Rooted = false
  2307.     for i=0, 1, 0.1 / Animation_Speed do
  2308.         Swait()
  2309.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2310.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2311.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2312.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2313.         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)
  2314.         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)
  2315.     end
  2316.     ATTACK = false
  2317.     Rooted = false
  2318. end
  2319.  
  2320. function Finisher()
  2321.     local TARGET = Mouse.Target
  2322.     if TARGET ~= nil then
  2323.         if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
  2324.             local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
  2325.             local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
  2326.             if ROOT and HUM.Health > 0 then
  2327.                 local FOE = Mouse.Target.Parent
  2328.                 ATTACK = true
  2329.                 Rooted = true
  2330.                 RootPart.CFrame = ROOT.CFrame*CF(-1.35,0,4)
  2331.                 ROOT.Anchored = true
  2332.                 CreateSound(670796769, Torso, 9999, 0.6, false)
  2333.                 CreateSound(159882598, Torso, 5, 0.9, false)
  2334.                 for i=0, 0.4, 0.1 / Animation_Speed do
  2335.                     Swait()
  2336.                     RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2337.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2338.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2339.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2340.                     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 / Animation_Speed)
  2341.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2342.                 end
  2343.                 HUM.PlatformStand = true
  2344.                 ROOT.CFrame = ROOT.CFrame * CF(0,-2*ROOT.Size.Z,0) * ANGLES(RAD(-90), RAD(0), RAD(0))
  2345.                 coroutine.resume(coroutine.create(function()
  2346.                     Swait()
  2347.                     ROOT.Anchored = true
  2348.                 end))
  2349.                 RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.6)
  2350.                 for i=0, 0.2, 0.1 / Animation_Speed do
  2351.                     Swait()
  2352.                     RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2353.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2354.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2355.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2356.                     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 / Animation_Speed)
  2357.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2358.                 end
  2359.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), 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,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2360.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2361.                 for i=0, 0.2, 0.1 / Animation_Speed do
  2362.                     Swait()
  2363.                     RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  2364.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2365.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2366.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2367.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2368.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2369.                 end
  2370.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), 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,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2371.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2372.                 local AMMO = 6
  2373.                 local FIRING = true
  2374.                 local SHOOTING = false
  2375.                 local TIMER = 70
  2376.                 CreateSound(147722227, GunPoint, 6, 1.3, false)
  2377.                 for i=0, 0.2, 0.1 / Animation_Speed do
  2378.                     Swait()
  2379.                     RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2380.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2381.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2382.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2383.                     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 / Animation_Speed)
  2384.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2385.                 end
  2386.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), 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,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2387.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2388.                 for i = 1, 6 do
  2389.                     local GUNPOS = Hole.CFrame*CF(0, 0, 0).p
  2390.                     local DISTANCE = (FOE.Head.Position - GUNPOS).Magnitude
  2391.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), 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,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2392.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2393.                     HUM.Health = HUM.Health/1.5
  2394.                     for i=0, 0.2, 0.1 / Animation_Speed do
  2395.                         Swait()
  2396.                     RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2397.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2398.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2399.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2400.                     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 / Animation_Speed)
  2401.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2402.                 end
  2403.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), 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,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2404.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2405.                     for i=0, 0.2, 0.1 / Animation_Speed do
  2406.                         Swait()
  2407.                     RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2408.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2409.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2410.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2411.                     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 / Animation_Speed)
  2412.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2413.                     end
  2414.                 end
  2415.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), 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,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2416.         WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2417.                 ApplyDamage(HUM,0,true)
  2418.                 FOE:BreakJoints()
  2419.                 ROOT.Anchored = false
  2420.                 for i=0, 0.3, 0.1 / Animation_Speed do
  2421.                     Swait()
  2422.                     RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2423.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
  2424.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2425.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2426.                     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 / Animation_Speed)
  2427.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2428.                 end
  2429.                 ATTACK = false
  2430.                 Rooted = false
  2431.             end
  2432.         end
  2433.     end
  2434. end
  2435.  
  2436.  
  2437. --//=================================\\
  2438. --||      ASSIGN THINGS TO KEYS
  2439. --\\=================================//
  2440.  
  2441. function MouseDown(Mouse)
  2442.     if ATTACK == false then
  2443.     end
  2444. end
  2445.  
  2446. function MouseUp(Mouse)
  2447. HOLD = false
  2448. end
  2449.  
  2450. function KeyDown(Key)
  2451.     KEYHOLD = true
  2452.     if Key == "z" and ATTACK == false then
  2453.         Shot()
  2454.     end
  2455.  
  2456.     if Key == "v" and ATTACK == false then
  2457.         Shot2()
  2458.     end
  2459.  
  2460.     if Key == "x" and ATTACK == false then
  2461.                 Finisher()
  2462.     end
  2463.  
  2464.     if Key == "t" and ATTACK == false then
  2465.                Taunt()
  2466.     end
  2467.  
  2468.     if Key == "c" and ATTACK == false then
  2469.                 eh()
  2470.     end
  2471. end
  2472.  
  2473. function KeyUp(Key)
  2474.     KEYHOLD = false
  2475. end
  2476.  
  2477.     Mouse.Button1Down:connect(function(NEWKEY)
  2478.         MouseDown(NEWKEY)
  2479.     end)
  2480.     Mouse.Button1Up:connect(function(NEWKEY)
  2481.         MouseUp(NEWKEY)
  2482.     end)
  2483.     Mouse.KeyDown:connect(function(NEWKEY)
  2484.         KeyDown(NEWKEY)
  2485.     end)
  2486.     Mouse.KeyUp:connect(function(NEWKEY)
  2487.         KeyUp(NEWKEY)
  2488.     end)
  2489.  
  2490. --//=================================\\
  2491. --\\=================================//
  2492.  
  2493.  
  2494. function unanchor()
  2495.     if UNANCHOR == true then
  2496.         g = Character:GetChildren()
  2497.         for i = 1, #g do
  2498.             if g[i].ClassName == "Part" then
  2499.                 g[i].Anchored = false
  2500.             end
  2501.         end
  2502.     end
  2503. end
  2504.  
  2505.  
  2506. --//=================================\\
  2507. --||    WRAP THE WHOLE SCRIPT UP
  2508. --\\=================================//
  2509.  
  2510. Humanoid.Changed:connect(function(Jump)
  2511.     if Jump == "Jump" and (Disable_Jump == true) then
  2512.         Humanoid.Jump = false
  2513.     end
  2514. end)
  2515.  
  2516. local FF = IT("ForceField",Character)
  2517. FF.Visible = false
  2518.  
  2519. INSTANT = false
  2520. Speed = 20
  2521.  
  2522. while true do
  2523.     Swait()
  2524.     SINE = SINE + CHANGE
  2525.         ANIMATE.Parent = nil
  2526.         local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2527.         IDLEANIMATION:Play()
  2528.         if TRANSFORMED == true then
  2529.             tecks2.TextTransparency = 0
  2530.             for _, c in pairs(Character:GetChildren()) do
  2531.                 if c.ClassName == "Part" and c.Name ~= "HumanoidRootPart" then
  2532.                     c.Anchored = false
  2533.                     c.Transparency = 0
  2534.                 end
  2535.             end
  2536.             for _, c in pairs(Weapon:GetChildren()) do
  2537.                 if c.ClassName == "Part" then
  2538.                     c.Transparency = 0
  2539.                 end
  2540.             end
  2541.             local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2542.             local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2543.             local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  2544.             local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  2545.             local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  2546.             if ATTACK == false and VALUE2 == false then
  2547.                             end
  2548.             if ANIM == "Walk" and TORSOVELOCITY > 1 then
  2549.                 RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2550.                 Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * 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)
  2551.                 RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * 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)
  2552.                 LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * 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)
  2553.             elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  2554.                 RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2555.                 Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2556.                 RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2557.                 LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2558.             end
  2559.             if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  2560.                 ANIM = "Jump"
  2561.                 if ATTACK == false then
  2562.                     RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2563.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2564.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2565.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2566.                     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)
  2567.                     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)
  2568.                    end
  2569.             elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  2570.                 ANIM = "Fall"
  2571.                 if ATTACK == false then
  2572.                     RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2573.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2574.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2575.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2576.                     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)
  2577.                     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)
  2578.                 end
  2579.             elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2580.                 ANIM = "Idle"
  2581.                 if ATTACK == false then
  2582.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  2583.             if MRANDOM(1,7) == 1 then
  2584.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2585.             end    
  2586.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
  2587.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
  2588.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
  2589.         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.25 / Animation_Speed)
  2590.         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.25 / Animation_Speed)
  2591.                 end
  2592.             elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2593.                 ANIM = "Walk"
  2594.                 if ATTACK == false then
  2595.                     RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2596.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  2597.             if MRANDOM(1,7) == 1 then
  2598.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2599.             end
  2600.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(0), RAD(180), RAD(180)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2601.                     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)
  2602.                     RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  2603.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  2604.                 end
  2605.             end
  2606.         end
  2607.     --end
  2608.     Humanoid.DisplayDistanceType = "None"
  2609.     unanchor()
  2610.     tecks2.TextColor3 = BrickColor.Random().Color
  2611.     tecks2.TextStrokeColor3 = BrickColor.Random().Color
  2612.     Humanoid.MaxHealth = "inf"
  2613.     Humanoid.Health = "inf"
  2614.     if Rooted == false then
  2615.         Disable_Jump = false
  2616.         Humanoid.WalkSpeed = Speed
  2617.     elseif Rooted == true then
  2618.         Disable_Jump = true
  2619.         Humanoid.WalkSpeed = 0
  2620.     end
  2621.     if Head:FindFirstChild("face") then
  2622.         Head.face.Texture = "rbxassetid://403870689"
  2623.     end
  2624.     local MATHS = {"0","1"}
  2625.     Humanoid.Name = MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]
  2626.     Humanoid.PlatformStand = false
  2627.     if INTRO == false and INSTANT == false then
  2628.         INTRO = true
  2629.         coroutine.resume(coroutine.create(function()
  2630.             sick:Play()
  2631.             Intro()
  2632.         end))
  2633.     end
  2634.     if INSTANT == true then
  2635.         if TRANSFORMED == false then
  2636.             sick.TimePosition = 60
  2637.             sick:Play()
  2638.         end
  2639.         TRANSFORMED = true
  2640.     end
  2641.     script.Parent = PlayerGui
  2642.     Character.Parent = workspace
  2643.     Humanoid.Parent = Character
  2644. end
  2645. --//=================================\\
  2646. --\\=================================//
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652. --//====================================================\\--
  2653. --||                     END OF SCRIPT
  2654. --\\====================================================//--
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top