SHARE
TWEET

Mafia banish

Basykung7845 Feb 26th, 2019 96 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- This script has been converted to FE by Basykung7845
  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,Mouse,mouse,UserInputService,ContextActionService = owner
  6. do
  7.     print("FE Compatibility code by Basykung7845")
  8.     script.Parent = Player.Character
  9.  
  10.     --RemoteEvent for communicating
  11.     local Event = Instance.new("RemoteEvent")
  12.     Event.Name = "UserInput_Event"
  13.  
  14.     --Fake event to make stuff like Mouse.KeyDown work
  15.     local function fakeEvent()
  16.         local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  17.         t.connect = t.Connect
  18.         return t
  19.     end
  20.  
  21.     --Creating fake input objects with fake variables
  22.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  23.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  24.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  25.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  26.     end}
  27.     --Merged 2 functions into one by checking amount of arguments
  28.     CAS.UnbindAction = CAS.BindAction
  29.  
  30.     --This function will trigger the events that have been :Connect()'ed
  31.     local function te(self,ev,...)
  32.         local t = m[ev]
  33.         if t and t._fakeEvent and t.Function then
  34.             t.Function(...)
  35.         end
  36.     end
  37.     m.TrigEvent = te
  38.     UIS.TrigEvent = te
  39.  
  40.     Event.OnServerEvent:Connect(function(plr,io)
  41.         if plr~=Player then return end
  42.         if io.isMouse then
  43.             m.Target = io.Target
  44.             m.Hit = io.Hit
  45.         else
  46.             local b = io.UserInputState == Enum.UserInputState.Begin
  47.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49.             end
  50.             for _,t in pairs(CAS.Actions) do
  51.                 for _,k in pairs(t.Keys) do
  52.                     if k==io.KeyCode then
  53.                         t.Function(t.Name,io.UserInputState,io)
  54.                     end
  55.                 end
  56.             end
  57.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59.         end
  60.     end)
  61.     Event.Parent = NLS([==[
  62.     local Player = game:GetService("Players").LocalPlayer
  63.     local Event = script:WaitForChild("UserInput_Event")
  64.  
  65.     local UIS = game:GetService("UserInputService")
  66.     local input = function(io,a)
  67.         if a then return end
  68.         --Since InputObject is a client-side instance, we create and pass table instead
  69.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  70.     end
  71.     UIS.InputBegan:Connect(input)
  72.     UIS.InputEnded:Connect(input)
  73.  
  74.     local Mouse = Player:GetMouse()
  75.     local h,t
  76.     --Give the server mouse data 30 times every second, but only if the values changed
  77.     --If player is not moving their mouse, client won't fire events
  78.     while wait(1/30) do
  79.         if h~=Mouse.Hit or t~=Mouse.Target then
  80.             h,t=Mouse.Hit,Mouse.Target
  81.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  82.         end
  83.     end]==],Player.Character)
  84.     Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  85. end
  86.  
  87. local Player = owner
  88. local Character = Player.Character
  89. local Humanoid = Character.Humanoid
  90. local LeftArm = Character["Left Arm"]
  91. local RightArm = Character["Right Arm"]
  92. local LeftLeg = Character["Left Leg"]
  93. local RightLeg = Character["Right Leg"]
  94. local Head = Character.Head
  95. local Torso = Character.Torso
  96. local Camera = game.Workspace.CurrentCamera
  97. local RootPart = Character.HumanoidRootPart
  98. local RootJoint = RootPart.RootJoint
  99. local attack = false
  100. local Anim = 'Idle'
  101. local Lighty = game:GetService"Lighting"
  102. local attacktype = 1
  103. local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  104. local velocity = RootPart.Velocity.y
  105. local sine = 0
  106. local change = 1
  107. local Create = LoadLibrary("RbxUtility").Create
  108.  
  109. warn("Credit goes to ExplosiveDaniel or Sammylad298 for the banisher gun")
  110.  
  111. local chara = Character
  112. local m = Create("Model"){
  113.     Parent = Character,
  114.     Name = "WeaponModel",
  115. }
  116. function chat(...)
  117.     local txxt = {...}
  118.     local ch = coroutine.wrap(function()
  119.         if chara:FindFirstChild("Chatt")~= nil then
  120.             Character:FindFirstChild("Chatt"):destroy()
  121.         end
  122.         local txt = Instance.new("BillboardGui", chara)
  123.         txt.Adornee = chara.Head
  124.         txt.Name = "Chatt"
  125.         txt.Size = UDim2.new(2, 0, 1.2, 0)
  126.         txt.StudsOffset = Vector3.new(-9, 7, 0)
  127.         local text = Instance.new("TextLabel", txt)
  128.         text.Size = UDim2.new(10, 0, 7, 0)
  129.         text.TextSize = 32
  130.         text.Font = Enum.Font.SciFi
  131.         text.TextScaled = false
  132.         text.BackgroundTransparency = 1
  133.         text.TextColor3 = Color3.new(6,5,0)
  134.         text.TextStrokeTransparency = 0
  135.         text.TextStrokeColor3 = Color3.new(66/255, 0/255, 127/255)
  136.         text.Text = ""
  137.         txxt = table.concat(txxt,"\t")
  138.         for i = 1, #txxt do
  139.             text.Text = txxt:sub(1,i)
  140.            
  141.         end
  142.         wait(2)
  143.         for trans = 0,1,00.1 do
  144.             text.TextTransparency = trans
  145.             text.TextStrokeTransparency = trans
  146.             wait()
  147.         end
  148.         wait()
  149.         txt:destroy()
  150.     end)
  151.    
  152.     ch(...)
  153. end
  154. Player.Chatted:connect(chat)
  155.  
  156. wait(0.2)
  157.  
  158. Player = owner
  159. PlayerGui = Player.PlayerGui
  160. Cam = workspace.CurrentCamera
  161. Backpack = Player.Backpack
  162. Character = Player.Character
  163. Humanoid = Character.Humanoid
  164. RootPart = Character["HumanoidRootPart"]
  165. Torso = Character["Torso"]
  166. Head = Character["Head"]
  167. RightArm = Character["Right Arm"]
  168. LeftArm = Character["Left Arm"]
  169. RightLeg = Character["Right Leg"]
  170. LeftLeg = Character["Left Leg"]
  171. RootJoint = RootPart["RootJoint"]
  172. Neck = Torso["Neck"]
  173. RightShoulder = Torso["Right Shoulder"]
  174. LeftShoulder = Torso["Left Shoulder"]
  175. RightHip = Torso["Right Hip"]
  176. LeftHip = Torso["Left Hip"]
  177. Character.Archivable = true
  178. Player:ClearCharacterAppearance()
  179.  
  180. IT = Instance.new
  181. CF = CFrame.new
  182. VT = Vector3.new
  183. RAD = math.rad
  184. C3 = Color3.new
  185. UD2 = UDim2.new
  186. BRICKC = BrickColor.new
  187. ANGLES = CFrame.Angles
  188. EULER = CFrame.fromEulerAnglesXYZ
  189. COS = math.cos
  190. ACOS = math.acos
  191. SIN = math.sin
  192. ASIN = math.asin
  193. ABS = math.abs
  194. MRANDOM = math.random
  195. FLOOR = math.floor
  196.  
  197. --//=================================\\
  198. --||          USEFUL VALUES
  199. --\\=================================//
  200.  
  201. Animation_Speed = 3
  202. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  203. local Speed = 30
  204. local SIZE = 1.4
  205. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  206. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  207. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  208. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  209. local DAMAGEMULTIPLIER = 5
  210. local ANIM = "Idle"
  211. local ATTACK = false
  212. local EQUIPPED = false
  213. local HOLD = false
  214. local COMBO = 1
  215. local Rooted = false
  216. local SINE = 0
  217. local KEYHOLD = false
  218. local CHANGE = 2 / Animation_Speed
  219. local WALKINGANIM = false
  220. local VALUE1 = false
  221. local VALUE2 = false
  222. local ROBLOXIDLEANIMATION = IT("Animation")
  223. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  224. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  225. local ATANIM = IT("Animation")
  226. ATANIM.Name = "Attack Animation"
  227. ATANIM.AnimationId = "http://www.roblox.com/asset/?id=74894663"
  228. --ROBLOXIDLEANIMATION.Parent = Humanoid
  229. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  230. WEAPONGUI.Name = "Weapon GUI"
  231. local Weapon = IT("Model")
  232. Weapon.Name = "Adds"
  233. local Effects = IT("Folder", Weapon)
  234. Effects.Name = "Effects"
  235. local ANIMATOR = Humanoid.Animator
  236. local ANIMATE = Character.Animate
  237. local UNANCHOR = true
  238. local CLOCKLOOP = 0
  239. local SONG = 1836012327
  240. local CLOCKTARGET = nil
  241. local CLOCKSPEED = 0
  242. script.Parent = WEAPONGUI
  243. local CLONE = Character:Clone()
  244. CLONE.Parent = nil
  245. Character.Archivable = false
  246. local sick = Instance.new("Sound",Torso)
  247. sick.Volume = 50
  248.  
  249. --//=================================\\
  250. --\\=================================//
  251.  
  252.  
  253. --//=================================\\
  254. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  255. --\\=================================//
  256.  
  257. ArtificialHB = Instance.new("BindableEvent", script)
  258. ArtificialHB.Name = "ArtificialHB"
  259.  
  260. script:WaitForChild("ArtificialHB")
  261.  
  262. frame = Frame_Speed
  263. tf = 0
  264. allowframeloss = false
  265. tossremainder = false
  266. lastframe = tick()
  267. script.ArtificialHB:Fire()
  268.  
  269. game:GetService("RunService").Heartbeat:connect(function(s, p)
  270.     tf = tf + s
  271.     if tf >= frame then
  272.         if allowframeloss then
  273.             script.ArtificialHB:Fire()
  274.             lastframe = tick()
  275.         else
  276.             for i = 1, math.floor(tf / frame) do
  277.                 script.ArtificialHB:Fire()
  278.             end
  279.         lastframe = tick()
  280.         end
  281.         if tossremainder then
  282.             tf = 0
  283.         else
  284.             tf = tf - frame * math.floor(tf / frame)
  285.         end
  286.     end
  287. end)
  288.  
  289. --//=================================\\
  290. --\\=================================//
  291.  
  292. --//=================================\\
  293. --||          SOME FUNCTIONS
  294. --\\=================================//
  295.  
  296. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  297.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  298. end
  299.  
  300. function PositiveAngle(NUMBER)
  301.     if NUMBER >= 0 then
  302.         NUMBER = 0
  303.     end
  304.     return NUMBER
  305. end
  306.  
  307. function NegativeAngle(NUMBER)
  308.     if NUMBER <= 0 then
  309.         NUMBER = 0
  310.     end
  311.     return NUMBER
  312. end
  313.  
  314. function Swait(NUMBER)
  315.     if NUMBER == 0 or NUMBER == nil then
  316.         ArtificialHB.Event:wait()
  317.     else
  318.         for i = 1, NUMBER do
  319.             ArtificialHB.Event:wait()
  320.         end
  321.     end
  322. end
  323.  
  324. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  325.     local NEWMESH = IT(MESH)
  326.     if MESH == "SpecialMesh" then
  327.         NEWMESH.MeshType = MESHTYPE
  328.         if MESHID ~= "nil" and MESHID ~= "" then
  329.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  330.         end
  331.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  332.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  333.         end
  334.     end
  335.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  336.     NEWMESH.Scale = SCALE
  337.     NEWMESH.Parent = PARENT
  338.     return NEWMESH
  339. end
  340.  
  341. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  342.     local NEWPART = IT("Part")
  343.     NEWPART.formFactor = FORMFACTOR
  344.     NEWPART.Reflectance = REFLECTANCE
  345.     NEWPART.Transparency = TRANSPARENCY
  346.     NEWPART.CanCollide = false
  347.     NEWPART.Locked = true
  348.     NEWPART.Anchored = true
  349.     if ANCHOR == false then
  350.         NEWPART.Anchored = false
  351.     end
  352.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  353.     NEWPART.Name = NAME
  354.     NEWPART.Size = SIZE
  355.     NEWPART.Position = Torso.Position
  356.     NEWPART.Material = MATERIAL
  357.     NEWPART:BreakJoints()
  358.     NEWPART.Parent = PARENT
  359.     return NEWPART
  360. end
  361.  
  362.     local function weldBetween(a, b)
  363.         local weldd = Instance.new("ManualWeld")
  364.         weldd.Part0 = a
  365.         weldd.Part1 = b
  366.         weldd.C0 = CFrame.new()
  367.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  368.         weldd.Parent = a
  369.         return weldd
  370.     end
  371.  
  372.  
  373. function QuaternionFromCFrame(cf)
  374.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  375.     local trace = m00 + m11 + m22
  376.     if trace > 0 then
  377.         local s = math.sqrt(1 + trace)
  378.         local recip = 0.5 / s
  379.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  380.     else
  381.         local i = 0
  382.         if m11 > m00 then
  383.             i = 1
  384.         end
  385.         if m22 > (i == 0 and m00 or m11) then
  386.             i = 2
  387.         end
  388.         if i == 0 then
  389.             local s = math.sqrt(m00 - m11 - m22 + 1)
  390.             local recip = 0.5 / s
  391.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  392.         elseif i == 1 then
  393.             local s = math.sqrt(m11 - m22 - m00 + 1)
  394.             local recip = 0.5 / s
  395.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  396.         elseif i == 2 then
  397.             local s = math.sqrt(m22 - m00 - m11 + 1)
  398.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  399.         end
  400.     end
  401. end
  402.  
  403. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  404.     local xs, ys, zs = x + x, y + y, z + z
  405.     local wx, wy, wz = w * xs, w * ys, w * zs
  406.     local xx = x * xs
  407.     local xy = x * ys
  408.     local xz = x * zs
  409.     local yy = y * ys
  410.     local yz = y * zs
  411.     local zz = z * zs
  412.     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))
  413. end
  414.  
  415. function QuaternionSlerp(a, b, t)
  416.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  417.     local startInterp, finishInterp;
  418.     if cosTheta >= 0.0001 then
  419.         if (1 - cosTheta) > 0.0001 then
  420.             local theta = ACOS(cosTheta)
  421.             local invSinTheta = 1 / SIN(theta)
  422.             startInterp = SIN((1 - t) * theta) * invSinTheta
  423.             finishInterp = SIN(t * theta) * invSinTheta
  424.         else
  425.             startInterp = 1 - t
  426.             finishInterp = t
  427.         end
  428.     else
  429.         if (1 + cosTheta) > 0.0001 then
  430.             local theta = ACOS(-cosTheta)
  431.             local invSinTheta = 1 / SIN(theta)
  432.             startInterp = SIN((t - 1) * theta) * invSinTheta
  433.             finishInterp = SIN(t * theta) * invSinTheta
  434.         else
  435.             startInterp = t - 1
  436.             finishInterp = t
  437.         end
  438.     end
  439.     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
  440. end
  441.  
  442. function Clerp(a, b, t)
  443.     local qa = {QuaternionFromCFrame(a)}
  444.     local qb = {QuaternionFromCFrame(b)}
  445.     local ax, ay, az = a.x, a.y, a.z
  446.     local bx, by, bz = b.x, b.y, b.z
  447.     local _t = 1 - t
  448.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  449. end
  450.  
  451. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  452.     local frame = IT("Frame")
  453.     frame.BackgroundTransparency = TRANSPARENCY
  454.     frame.BorderSizePixel = BORDERSIZEPIXEL
  455.     frame.Position = POSITION
  456.     frame.Size = SIZE
  457.     frame.BackgroundColor3 = COLOR
  458.     frame.BorderColor3 = BORDERCOLOR
  459.     frame.Name = NAME
  460.     frame.Parent = PARENT
  461.     return frame
  462. end
  463.  
  464. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  465.     local label = IT("TextLabel")
  466.     label.BackgroundTransparency = 1
  467.     label.Size = UD2(1, 0, 1, 0)
  468.     label.Position = UD2(0, 0, 0, 0)
  469.     label.TextColor3 = TEXTCOLOR
  470.     label.TextStrokeColor3 = BRICKC"Earth green".Color
  471.     label.TextStrokeTransparency = STROKETRANSPARENCY
  472.     label.TextTransparency = TRANSPARENCY
  473.     label.FontSize = TEXTFONTSIZE
  474.     label.Font = TEXTFONT
  475.     label.BorderSizePixel = BORDERSIZEPIXEL
  476.     label.TextScaled = false
  477.     label.Text = TEXT
  478.     label.Name = NAME
  479.     label.Parent = PARENT
  480.     return label
  481. end
  482.  
  483. function NoOutlines(PART)
  484.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  485. end
  486.  
  487. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  488.     local NEWWELD = IT(TYPE)
  489.     NEWWELD.Part0 = PART0
  490.     NEWWELD.Part1 = PART1
  491.     NEWWELD.C0 = C0
  492.     NEWWELD.C1 = C1
  493.     NEWWELD.Parent = PARENT
  494.     return NEWWELD
  495. end
  496.  
  497. local S = IT("Sound")
  498. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  499.     local NEWSOUND = nil
  500.     coroutine.resume(coroutine.create(function()
  501.         NEWSOUND = S:Clone()
  502.         NEWSOUND.Parent = PARENT
  503.         NEWSOUND.Volume = VOLUME
  504.         NEWSOUND.Pitch = PITCH
  505.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  506.         NEWSOUND:play()
  507.         NEWSOUND.Name = "Audio"
  508.         if DOESLOOP == true then
  509.             NEWSOUND.Looped = true
  510.         else
  511.             repeat Swait() until NEWSOUND.Playing == false
  512.             NEWSOUND:remove()
  513.         end
  514.     end))
  515.     return NEWSOUND
  516. end
  517.  
  518. function CFrameFromTopBack(at, top, back)
  519.     local right = top:Cross(back)
  520.     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)
  521. end
  522.  
  523. --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})
  524. function WACKYEFFECT(Table)
  525.     local TYPE = (Table.EffectType or "Sphere")
  526.     local SIZE = (Table.Size or VT(1,1,1))
  527.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  528.     local TRANSPARENCY = (Table.Transparency or 0)
  529.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  530.     local CFRAME = (Table.CFrame or Torso.CFrame)
  531.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  532.     local ROTATION1 = (Table.RotationX or 0)
  533.     local ROTATION2 = (Table.RotationY or 0)
  534.     local ROTATION3 = (Table.RotationZ or 0)
  535.     local MATERIAL = (Table.Material or "Neon")
  536.     local COLOR = (Table.Color or C3(1,1,1))
  537.     local TIME = (Table.Time or 45)
  538.     local SOUNDID = (Table.SoundID or nil)
  539.     local SOUNDPITCH = (Table.SoundPitch or nil)
  540.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  541.     coroutine.resume(coroutine.create(function()
  542.         local PLAYSSOUND = false
  543.         local SOUND = nil
  544.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  545.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  546.             PLAYSSOUND = true
  547.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  548.         end
  549.         EFFECT.Color = COLOR
  550.         local MSH = nil
  551.         if TYPE == "Sphere" then
  552.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  553.         elseif TYPE == "Block" then
  554.             MSH = IT("BlockMesh",EFFECT)
  555.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  556.         elseif TYPE == "Box" then
  557.             MSH = IT("BlockMesh",EFFECT)
  558.             MSH.Scale = SIZE
  559.         elseif TYPE == "Wave" then
  560.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  561.         elseif TYPE == "Ring" then
  562.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  563.         elseif TYPE == "Slash" then
  564.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  565.         elseif TYPE == "Round Slash" then
  566.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  567.         elseif TYPE == "Swirl" then
  568.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  569.         elseif TYPE == "Skull" then
  570.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  571.         elseif TYPE == "Crystal" then
  572.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  573.         end
  574.         if MSH ~= nil then
  575.             local MOVESPEED = nil
  576.             if MOVEDIRECTION ~= nil then
  577.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  578.             end
  579.             local GROWTH = SIZE - ENDSIZE
  580.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  581.             if TYPE == "Block" then
  582.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  583.             else
  584.                 EFFECT.CFrame = CFRAME
  585.             end
  586.             for LOOP = 1, TIME do
  587.                 Swait()
  588.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  589.                 if TYPE == "Wave" then
  590.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  591.                 end
  592.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  593.                 if TYPE == "Block" then
  594.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  595.                 else
  596.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  597.                 end
  598.                 if MOVEDIRECTION ~= nil then
  599.                     local ORI = EFFECT.Orientation
  600.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  601.                     EFFECT.Orientation = ORI
  602.                 end
  603.             end
  604.             if PLAYSSOUND == false then
  605.                 EFFECT:remove()
  606.             else
  607.                 repeat Swait() until SOUND.Playing == false
  608.                 EFFECT:remove()
  609.             end
  610.         else
  611.             if PLAYSSOUND == false then
  612.                 EFFECT:remove()
  613.             else
  614.                 repeat Swait() until SOUND.Playing == false
  615.                 EFFECT:remove()
  616.             end
  617.         end
  618.     end))
  619. end
  620.  
  621. function Shatter(Part)
  622.     if Part.Transparency == 0 then
  623.         local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, Part.BrickColor, "OOF", VT(0,0,0))
  624.         Debris:AddItem(SOUNDPART,5)
  625.         CreateSound("84005018", SOUNDPART, 3, MRANDOM(8,12)/10, false)
  626.         local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
  627.         local SIZESET = SIZE/4
  628.         local XOffset = Part.Size.X*1.5/SIZESET
  629.         local YOffset = Part.Size.Y*1.5/SIZESET
  630.         local ZOffset = Part.Size.Z*1.5/SIZESET
  631.         for x = 1, math.ceil(XOffset) do
  632.             for y = 1, math.ceil(YOffset) do
  633.                 for z = 1, math.ceil(ZOffset) do
  634.                     local SHARD = CreatePart(3, Effects, "Neon", 0, 0, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
  635.                     SHARD.CanCollide = true
  636.                     SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-x/4),(Part.Size.Y/2-y/4),(Part.Size.Z/2-z/4))
  637.                     SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
  638.                     Debris:AddItem(SHARD,MRANDOM(10,25)/3)
  639.                 end
  640.             end
  641.         end
  642.     end
  643.     Part:remove()
  644. end
  645.  
  646. function MakeForm(PART,TYPE)
  647.     if TYPE == "Cyl" then
  648.         local MSH = IT("CylinderMesh",PART)
  649.     elseif TYPE == "Ball" then
  650.         local MSH = IT("SpecialMesh",PART)
  651.         MSH.MeshType = "Sphere"
  652.     elseif TYPE == "Wedge" then
  653.         local MSH = IT("SpecialMesh",PART)
  654.         MSH.MeshType = "Wedge"
  655.     end
  656. end
  657.  
  658. Debris = game:GetService("Debris")
  659.  
  660. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  661.     local DIRECTION = CF(StartPos,EndPos).lookVector
  662.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  663. end
  664.  
  665. function turnto(position)
  666.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  667. end
  668.  
  669. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  670.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  671. end
  672.  
  673. function PositiveAngle(NUMBER)
  674.     if NUMBER >= 0 then
  675.         NUMBER = 0
  676.     end
  677.     return NUMBER
  678. end
  679.  
  680. function NegativeAngle(NUMBER)
  681.     if NUMBER <= 0 then
  682.         NUMBER = 0
  683.     end
  684.     return NUMBER
  685. end
  686.  
  687. function Swait(NUMBER)
  688.     if NUMBER == 0 or NUMBER == nil then
  689.         ArtificialHB.Event:wait()
  690.     else
  691.         for i = 1, NUMBER do
  692.             ArtificialHB.Event:wait()
  693.         end
  694.     end
  695. end
  696.  
  697. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  698.     local NEWMESH = IT(MESH)
  699.     if MESH == "SpecialMesh" then
  700.         NEWMESH.MeshType = MESHTYPE
  701.         if MESHID ~= "nil" and MESHID ~= "" then
  702.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  703.         end
  704.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  705.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  706.         end
  707.     end
  708.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  709.     NEWMESH.Scale = SCALE
  710.     NEWMESH.Parent = PARENT
  711.     return NEWMESH
  712. end
  713.  
  714. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  715.     local NEWPART = IT("Part")
  716.     NEWPART.formFactor = FORMFACTOR
  717.     NEWPART.Reflectance = REFLECTANCE
  718.     NEWPART.Transparency = TRANSPARENCY
  719.     NEWPART.CanCollide = false
  720.     NEWPART.Locked = true
  721.     NEWPART.Anchored = true
  722.     if ANCHOR == false then
  723.         NEWPART.Anchored = false
  724.     end
  725.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  726.     NEWPART.Name = NAME
  727.     NEWPART.Size = SIZE
  728.     NEWPART.Position = Torso.Position
  729.     NEWPART.Material = MATERIAL
  730.     NEWPART:BreakJoints()
  731.     NEWPART.Parent = PARENT
  732.     return NEWPART
  733. end
  734.  
  735.     local function weldBetween(a, b)
  736.         local weldd = Instance.new("ManualWeld")
  737.         weldd.Part0 = a
  738.         weldd.Part1 = b
  739.         weldd.C0 = CFrame.new()
  740.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  741.         weldd.Parent = a
  742.         return weldd
  743.     end
  744.  
  745.  
  746. function QuaternionFromCFrame(cf)
  747.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  748.     local trace = m00 + m11 + m22
  749.     if trace > 0 then
  750.         local s = math.sqrt(1 + trace)
  751.         local recip = 0.5 / s
  752.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  753.     else
  754.         local i = 0
  755.         if m11 > m00 then
  756.             i = 1
  757.         end
  758.         if m22 > (i == 0 and m00 or m11) then
  759.             i = 2
  760.         end
  761.         if i == 0 then
  762.             local s = math.sqrt(m00 - m11 - m22 + 1)
  763.             local recip = 0.5 / s
  764.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  765.         elseif i == 1 then
  766.             local s = math.sqrt(m11 - m22 - m00 + 1)
  767.             local recip = 0.5 / s
  768.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  769.         elseif i == 2 then
  770.             local s = math.sqrt(m22 - m00 - m11 + 1)
  771.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  772.         end
  773.     end
  774. end
  775.  
  776. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  777.     local xs, ys, zs = x + x, y + y, z + z
  778.     local wx, wy, wz = w * xs, w * ys, w * zs
  779.     local xx = x * xs
  780.     local xy = x * ys
  781.     local xz = x * zs
  782.     local yy = y * ys
  783.     local yz = y * zs
  784.     local zz = z * zs
  785.     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))
  786. end
  787.  
  788. function QuaternionSlerp(a, b, t)
  789.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  790.     local startInterp, finishInterp;
  791.     if cosTheta >= 0.0001 then
  792.         if (1 - cosTheta) > 0.0001 then
  793.             local theta = ACOS(cosTheta)
  794.             local invSinTheta = 1 / SIN(theta)
  795.             startInterp = SIN((1 - t) * theta) * invSinTheta
  796.             finishInterp = SIN(t * theta) * invSinTheta
  797.         else
  798.             startInterp = 1 - t
  799.             finishInterp = t
  800.         end
  801.     else
  802.         if (1 + cosTheta) > 0.0001 then
  803.             local theta = ACOS(-cosTheta)
  804.             local invSinTheta = 1 / SIN(theta)
  805.             startInterp = SIN((t - 1) * theta) * invSinTheta
  806.             finishInterp = SIN(t * theta) * invSinTheta
  807.         else
  808.             startInterp = t - 1
  809.             finishInterp = t
  810.         end
  811.     end
  812.     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
  813. end
  814.  
  815. function Clerp(a, b, t)
  816.     local qa = {QuaternionFromCFrame(a)}
  817.     local qb = {QuaternionFromCFrame(b)}
  818.     local ax, ay, az = a.x, a.y, a.z
  819.     local bx, by, bz = b.x, b.y, b.z
  820.     local _t = 1 - t
  821.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  822. end
  823.  
  824. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  825.     local frame = IT("Frame")
  826.     frame.BackgroundTransparency = TRANSPARENCY
  827.     frame.BorderSizePixel = BORDERSIZEPIXEL
  828.     frame.Position = POSITION
  829.     frame.Size = SIZE
  830.     frame.BackgroundColor3 = COLOR
  831.     frame.BorderColor3 = BORDERCOLOR
  832.     frame.Name = NAME
  833.     frame.Parent = PARENT
  834.     return frame
  835. end
  836.  
  837. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  838.     local label = IT("TextLabel")
  839.     label.BackgroundTransparency = 1
  840.     label.Size = UD2(1, 0, 1, 0)
  841.     label.Position = UD2(0, 0, 0, 0)
  842.     label.TextColor3 = TEXTCOLOR
  843.     label.TextStrokeTransparency = STROKETRANSPARENCY
  844.     label.TextTransparency = TRANSPARENCY
  845.     label.FontSize = TEXTFONTSIZE
  846.     label.Font = TEXTFONT
  847.     label.BorderSizePixel = BORDERSIZEPIXEL
  848.     label.TextStrokeColor3 = C3(1,1,1)
  849.     label.TextScaled = false
  850.     label.Text = TEXT
  851.     label.Name = NAME
  852.     label.Parent = PARENT
  853.     return label
  854. end
  855.  
  856. function NoOutlines(PART)
  857.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  858. end
  859.  
  860. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  861.     local NEWWELD = IT(TYPE)
  862.     NEWWELD.Part0 = PART0
  863.     NEWWELD.Part1 = PART1
  864.     NEWWELD.C0 = C0
  865.     NEWWELD.C1 = C1
  866.     NEWWELD.Parent = PARENT
  867.     return NEWWELD
  868. end
  869.  
  870. local S = IT("Sound")
  871. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  872.     local NEWSOUND = nil
  873.     coroutine.resume(coroutine.create(function()
  874.         NEWSOUND = S:Clone()
  875.         NEWSOUND.Parent = PARENT
  876.         NEWSOUND.Volume = VOLUME
  877.         NEWSOUND.Pitch = PITCH
  878.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  879.         NEWSOUND:play()
  880.         if DOESLOOP == true then
  881.             NEWSOUND.Looped = true
  882.         else
  883.             repeat wait(1) until NEWSOUND.Playing == false
  884.             NEWSOUND:remove()
  885.         end
  886.     end))
  887.     return NEWSOUND
  888. end
  889.  
  890. function CFrameFromTopBack(at, top, back)
  891.     local right = top:Cross(back)
  892.     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)
  893. end
  894.  
  895. --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(5,6,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  896. function WACKYEFFECT(Table)
  897.     local TYPE = (Table.EffectType or "Sphere")
  898.     local SIZE = (Table.Size or VT(1,1,1))
  899.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  900.     local TRANSPARENCY = (Table.Transparency or 0)
  901.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  902.     local CFRAME = (Table.CFrame or Torso.CFrame)
  903.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  904.     local ROTATION1 = (Table.RotationX or 0)
  905.     local ROTATION2 = (Table.RotationY or 0)
  906.     local ROTATION3 = (Table.RotationZ or 0)
  907.     local MATERIAL = (Table.Material or "Neon")
  908.     local COLOR = (Table.Color or C3(5,6,0))
  909.     local TIME = (Table.Time or 45)
  910.     local SOUNDID = (Table.SoundID or nil)
  911.     local SOUNDPITCH = (Table.SoundPitch or nil)
  912.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  913.     coroutine.resume(coroutine.create(function()
  914.         local PLAYSSOUND = false
  915.         local SOUND = nil
  916.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(0,0,0), true)
  917.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  918.             PLAYSSOUND = true
  919.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  920.         end
  921.         EFFECT.Color = COLOR
  922.         local MSH = nil
  923.         if TYPE == "Sphere" then
  924.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  925.         elseif TYPE == "Block" then
  926.             MSH = IT("BlockMesh",EFFECT)
  927.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  928.         elseif TYPE == "Wave" then
  929.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  930.         elseif TYPE == "Ring" then
  931.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  932.         elseif TYPE == "Slash" then
  933.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  934.         elseif TYPE == "Round Slash" then
  935.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  936.         elseif TYPE == "Swirl" then
  937.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  938.         elseif TYPE == "Skull" then
  939.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  940.         elseif TYPE == "Crystal" then
  941.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  942.         end
  943.         if MSH ~= nil then
  944.             local MOVESPEED = nil
  945.             if MOVEDIRECTION ~= nil then
  946.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  947.             end
  948.             local GROWTH = SIZE - ENDSIZE
  949.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  950.             if TYPE == "Block" then
  951.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  952.             else
  953.                 EFFECT.CFrame = CFRAME
  954.             end
  955.             for LOOP = 1, TIME+1 do
  956.                 Swait()
  957.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  958.                 if TYPE == "Wave" then
  959.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  960.                 end
  961.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  962.                 if TYPE == "Block" then
  963.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  964.                 else
  965.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  966.                 end
  967.                 if MOVEDIRECTION ~= nil then
  968.                     local ORI = EFFECT.Orientation
  969.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  970.                     EFFECT.Orientation = ORI
  971.                 end
  972.             end
  973.             if PLAYSSOUND == false then
  974.                 EFFECT:remove()
  975.             else
  976.                 repeat Swait() until SOUND.Playing == false
  977.                 EFFECT:remove()
  978.             end
  979.         else
  980.             if PLAYSSOUND == false then
  981.                 EFFECT:remove()
  982.             else
  983.                 repeat Swait() until SOUND.Playing == false
  984.                 EFFECT:remove()
  985.             end
  986.         end
  987.     end))
  988. end
  989.  
  990. function MakeForm(PART,TYPE)
  991.     if TYPE == "Cyl" then
  992.         local MSH = IT("CylinderMesh",PART)
  993.     elseif TYPE == "Ball" then
  994.         local MSH = IT("SpecialMesh",PART)
  995.         MSH.MeshType = "Sphere"
  996.     elseif TYPE == "Wedge" then
  997.         local MSH = IT("SpecialMesh",PART)
  998.         MSH.MeshType = "Wedge"
  999.     end
  1000. end
  1001.  
  1002. Debris = game:GetService("Debris")
  1003.  
  1004. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1005.     local DIRECTION = CF(StartPos,EndPos).lookVector
  1006.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1007. end
  1008.  
  1009. function turnto(position)
  1010.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1011. end
  1012. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1013.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1014. end
  1015.  
  1016. function PositiveAngle(NUMBER)
  1017.     if NUMBER >= 0 then
  1018.         NUMBER = 0
  1019.     end
  1020.     return NUMBER
  1021. end
  1022.  
  1023. function NegativeAngle(NUMBER)
  1024.     if NUMBER <= 0 then
  1025.         NUMBER = 0
  1026.     end
  1027.     return NUMBER
  1028. end
  1029.  
  1030. function Swait(NUMBER)
  1031.     if NUMBER == 0 or NUMBER == nil then
  1032.         ArtificialHB.Event:wait()
  1033.     else
  1034.         for i = 1, NUMBER do
  1035.             ArtificialHB.Event:wait()
  1036.         end
  1037.     end
  1038. end
  1039.  
  1040. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1041.     local NEWMESH = IT(MESH)
  1042.     if MESH == "SpecialMesh" then
  1043.         NEWMESH.MeshType = MESHTYPE
  1044.         if MESHID ~= "nil" and MESHID ~= "" then
  1045.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1046.         end
  1047.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1048.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1049.         end
  1050.     end
  1051.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1052.     NEWMESH.Scale = SCALE
  1053.     NEWMESH.Parent = PARENT
  1054.     return NEWMESH
  1055. end
  1056.  
  1057. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1058.     local NEWPART = IT("Part")
  1059.     NEWPART.formFactor = FORMFACTOR
  1060.     NEWPART.Reflectance = REFLECTANCE
  1061.     NEWPART.Transparency = TRANSPARENCY
  1062.     NEWPART.CanCollide = false
  1063.     NEWPART.Locked = true
  1064.     NEWPART.Anchored = true
  1065.     if ANCHOR == false then
  1066.         NEWPART.Anchored = false
  1067.     end
  1068.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1069.     NEWPART.Name = NAME
  1070.     NEWPART.Size = SIZE
  1071.     NEWPART.Position = Torso.Position
  1072.     NEWPART.Material = MATERIAL
  1073.     NEWPART:BreakJoints()
  1074.     NEWPART.Parent = PARENT
  1075.     return NEWPART
  1076. end
  1077.  
  1078.     local function weldBetween(a, b)
  1079.         local weldd = Instance.new("ManualWeld")
  1080.         weldd.Part0 = a
  1081.         weldd.Part1 = b
  1082.         weldd.C0 = CFrame.new()
  1083.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  1084.         weldd.Parent = a
  1085.         return weldd
  1086.     end
  1087.  
  1088.  
  1089. function QuaternionFromCFrame(cf)
  1090.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1091.     local trace = m00 + m11 + m22
  1092.     if trace > 0 then
  1093.         local s = math.sqrt(1 + trace)
  1094.         local recip = 0.5 / s
  1095.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1096.     else
  1097.         local i = 0
  1098.         if m11 > m00 then
  1099.             i = 1
  1100.         end
  1101.         if m22 > (i == 0 and m00 or m11) then
  1102.             i = 2
  1103.         end
  1104.         if i == 0 then
  1105.             local s = math.sqrt(m00 - m11 - m22 + 1)
  1106.             local recip = 0.5 / s
  1107.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1108.         elseif i == 1 then
  1109.             local s = math.sqrt(m11 - m22 - m00 + 1)
  1110.             local recip = 0.5 / s
  1111.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1112.         elseif i == 2 then
  1113.             local s = math.sqrt(m22 - m00 - m11 + 1)
  1114.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1115.         end
  1116.     end
  1117. end
  1118.  
  1119. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1120.     local xs, ys, zs = x + x, y + y, z + z
  1121.     local wx, wy, wz = w * xs, w * ys, w * zs
  1122.     local xx = x * xs
  1123.     local xy = x * ys
  1124.     local xz = x * zs
  1125.     local yy = y * ys
  1126.     local yz = y * zs
  1127.     local zz = z * zs
  1128.     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))
  1129. end
  1130.  
  1131. function QuaternionSlerp(a, b, t)
  1132.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1133.     local startInterp, finishInterp;
  1134.     if cosTheta >= 0.0001 then
  1135.         if (1 - cosTheta) > 0.0001 then
  1136.             local theta = ACOS(cosTheta)
  1137.             local invSinTheta = 1 / SIN(theta)
  1138.             startInterp = SIN((1 - t) * theta) * invSinTheta
  1139.             finishInterp = SIN(t * theta) * invSinTheta
  1140.         else
  1141.             startInterp = 1 - t
  1142.             finishInterp = t
  1143.         end
  1144.     else
  1145.         if (1 + cosTheta) > 0.0001 then
  1146.             local theta = ACOS(-cosTheta)
  1147.             local invSinTheta = 1 / SIN(theta)
  1148.             startInterp = SIN((t - 1) * theta) * invSinTheta
  1149.             finishInterp = SIN(t * theta) * invSinTheta
  1150.         else
  1151.             startInterp = t - 1
  1152.             finishInterp = t
  1153.         end
  1154.     end
  1155.     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
  1156. end
  1157.  
  1158. function Clerp(a, b, t)
  1159.     local qa = {QuaternionFromCFrame(a)}
  1160.     local qb = {QuaternionFromCFrame(b)}
  1161.     local ax, ay, az = a.x, a.y, a.z
  1162.     local bx, by, bz = b.x, b.y, b.z
  1163.     local _t = 1 - t
  1164.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1165. end
  1166.  
  1167. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1168.     local frame = IT("Frame")
  1169.     frame.BackgroundTransparency = TRANSPARENCY
  1170.     frame.BorderSizePixel = BORDERSIZEPIXEL
  1171.     frame.Position = POSITION
  1172.     frame.Size = SIZE
  1173.     frame.BackgroundColor3 = COLOR
  1174.     frame.BorderColor3 = BORDERCOLOR
  1175.     frame.Name = NAME
  1176.     frame.Parent = PARENT
  1177.     return frame
  1178. end
  1179.  
  1180. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1181.     local label = IT("TextLabel")
  1182.     label.BackgroundTransparency = 1
  1183.     label.Size = UD2(1, 0, 1, 0)
  1184.     label.Position = UD2(0, 0, 0, 0)
  1185.     label.TextColor3 = TEXTCOLOR
  1186.     label.TextStrokeTransparency = STROKETRANSPARENCY
  1187.     label.TextTransparency = TRANSPARENCY
  1188.     label.FontSize = TEXTFONTSIZE
  1189.     label.Font = TEXTFONT
  1190.     label.BorderSizePixel = BORDERSIZEPIXEL
  1191.     label.TextScaled = false
  1192.     label.Text = TEXT
  1193.     label.Name = NAME
  1194.     label.Parent = PARENT
  1195.     return label
  1196. end
  1197.  
  1198. function NoOutlines(PART)
  1199.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1200. end
  1201.  
  1202. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1203.     local NEWWELD = IT(TYPE)
  1204.     NEWWELD.Part0 = PART0
  1205.     NEWWELD.Part1 = PART1
  1206.     NEWWELD.C0 = C0
  1207.     NEWWELD.C1 = C1
  1208.     NEWWELD.Parent = PARENT
  1209.     return NEWWELD
  1210. end
  1211.  
  1212. local S = IT("Sound")
  1213. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1214.     local NEWSOUND = nil
  1215.     coroutine.resume(coroutine.create(function()
  1216.         NEWSOUND = S:Clone()
  1217.         NEWSOUND.Parent = PARENT
  1218.         NEWSOUND.Volume = VOLUME
  1219.         NEWSOUND.Pitch = PITCH
  1220.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1221.         NEWSOUND:play()
  1222.         if DOESLOOP == true then
  1223.             NEWSOUND.Looped = true
  1224.         else
  1225.             repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  1226.             NEWSOUND:remove()
  1227.         end
  1228.     end))
  1229.     return NEWSOUND
  1230. end
  1231.  
  1232. function CFrameFromTopBack(at, top, back)
  1233.     local right = top:Cross(back)
  1234.     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)
  1235. end
  1236.  
  1237. --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})
  1238. function WACKYEFFECT(Table)
  1239.     local TYPE = (Table.EffectType or "Sphere")
  1240.     local SIZE = (Table.Size or VT(1,1,1))
  1241.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1242.     local TRANSPARENCY = (Table.Transparency or 0)
  1243.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1244.     local CFRAME = (Table.CFrame or Torso.CFrame)
  1245.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  1246.     local ROTATION1 = (Table.RotationX or 0)
  1247.     local ROTATION2 = (Table.RotationY or 0)
  1248.     local ROTATION3 = (Table.RotationZ or 0)
  1249.     local MATERIAL = (Table.Material or "Neon")
  1250.     local COLOR = (Table.Color or C3(1,1,1))
  1251.     local TIME = (Table.Time or 45)
  1252.     local SOUNDID = (Table.SoundID or nil)
  1253.     local SOUNDPITCH = (Table.SoundPitch or nil)
  1254.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  1255.     coroutine.resume(coroutine.create(function()
  1256.         local PLAYSSOUND = false
  1257.         local SOUND = nil
  1258.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1259.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1260.             PLAYSSOUND = true
  1261.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1262.         end
  1263.         EFFECT.Color = COLOR
  1264.         local MSH = nil
  1265.         if TYPE == "Sphere" then
  1266.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1267.         elseif TYPE == "Block" then
  1268.             MSH = IT("BlockMesh",EFFECT)
  1269.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1270.         elseif TYPE == "Wave" then
  1271.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1272.         elseif TYPE == "Ring" then
  1273.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1274.         elseif TYPE == "Slash" then
  1275.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1276.         elseif TYPE == "Round Slash" then
  1277.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1278.         elseif TYPE == "Swirl" then
  1279.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1280.         elseif TYPE == "Skull" then
  1281.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1282.         elseif TYPE == "Crystal" then
  1283.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1284.         end
  1285.         if MSH ~= nil then
  1286.             local MOVESPEED = nil
  1287.             if MOVEDIRECTION ~= nil then
  1288.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1289.             end
  1290.             local GROWTH = SIZE - ENDSIZE
  1291.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1292.             if TYPE == "Block" then
  1293.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1294.             else
  1295.                 EFFECT.CFrame = CFRAME
  1296.             end
  1297.             for LOOP = 1, TIME+1 do
  1298.                 Swait()
  1299.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  1300.                 if TYPE == "Wave" then
  1301.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1302.                 end
  1303.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1304.                 if TYPE == "Block" then
  1305.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1306.                 else
  1307.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1308.                 end
  1309.                 if MOVEDIRECTION ~= nil then
  1310.                     local ORI = EFFECT.Orientation
  1311.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1312.                     EFFECT.Orientation = ORI
  1313.                 end
  1314.             end
  1315.             if PLAYSSOUND == false then
  1316.                 EFFECT:remove()
  1317.             else
  1318.                 SOUND.Stopped:Connect(function()
  1319.                     EFFECT:remove()
  1320.                 end)
  1321.             end
  1322.         else
  1323.             if PLAYSSOUND == false then
  1324.                 EFFECT:remove()
  1325.             else
  1326.                 repeat Swait() until SOUND.Playing == false
  1327.                 EFFECT:remove()
  1328.             end
  1329.         end
  1330.     end))
  1331. end
  1332.  
  1333. function MakeForm(PART,TYPE)
  1334.     if TYPE == "Cyl" then
  1335.         local MSH = IT("CylinderMesh",PART)
  1336.     elseif TYPE == "Ball" then
  1337.         local MSH = IT("SpecialMesh",PART)
  1338.         MSH.MeshType = "Sphere"
  1339.     elseif TYPE == "Wedge" then
  1340.         local MSH = IT("SpecialMesh",PART)
  1341.         MSH.MeshType = "Wedge"
  1342.     end
  1343. end
  1344.  
  1345. function SpawnTrail(FROM,TO,BIG)
  1346.     local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Bright yellow", "Trail", VT(0,0,0))
  1347.     MakeForm(TRAIL,"Cyl")
  1348.     local DIST = (FROM - TO).Magnitude
  1349.     if BIG == true then
  1350.         TRAIL.Size = VT(0.5,DIST,0.5)
  1351.     else
  1352.         TRAIL.Size = VT(0.25,DIST,0.25)
  1353.     end
  1354.     TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  1355.     coroutine.resume(coroutine.create(function()
  1356.         for i = 1, 5 do
  1357.             Swait()
  1358.             TRAIL.Transparency = TRAIL.Transparency + 0.1
  1359.         end
  1360.         TRAIL:remove()
  1361.     end))
  1362. end
  1363.  
  1364. Debris = game:GetService("Debris")
  1365.  
  1366. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1367.     local DIRECTION = CF(StartPos,EndPos).lookVector
  1368.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1369. end
  1370.  
  1371. function turnto(position)
  1372.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1373. end
  1374.  
  1375. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1376.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1377. end
  1378.  
  1379. function PositiveAngle(NUMBER)
  1380.     if NUMBER >= 0 then
  1381.         NUMBER = 0
  1382.     end
  1383.     return NUMBER
  1384. end
  1385.  
  1386. function NegativeAngle(NUMBER)
  1387.     if NUMBER <= 0 then
  1388.         NUMBER = 0
  1389.     end
  1390.     return NUMBER
  1391. end
  1392.  
  1393. function Swait(NUMBER)
  1394.     if NUMBER == 0 or NUMBER == nil then
  1395.         ArtificialHB.Event:wait()
  1396.     else
  1397.         for i = 1, NUMBER do
  1398.             ArtificialHB.Event:wait()
  1399.         end
  1400.     end
  1401. end
  1402.  
  1403. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1404.     local NEWMESH = IT(MESH)
  1405.     if MESH == "SpecialMesh" then
  1406.         NEWMESH.MeshType = MESHTYPE
  1407.         if MESHID ~= "nil" and MESHID ~= "" then
  1408.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1409.         end
  1410.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1411.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1412.         end
  1413.     end
  1414.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1415.     NEWMESH.Scale = SCALE
  1416.     NEWMESH.Parent = PARENT
  1417.     return NEWMESH
  1418. end
  1419.  
  1420. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1421.     local NEWPART = IT("Part")
  1422.     NEWPART.formFactor = FORMFACTOR
  1423.     NEWPART.Reflectance = REFLECTANCE
  1424.     NEWPART.Transparency = TRANSPARENCY
  1425.     NEWPART.CanCollide = false
  1426.     NEWPART.Locked = true
  1427.     NEWPART.Anchored = true
  1428.     if ANCHOR == false then
  1429.         NEWPART.Anchored = false
  1430.     end
  1431.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1432.     NEWPART.Name = NAME
  1433.     NEWPART.Size = SIZE
  1434.     NEWPART.Position = Torso.Position
  1435.     NEWPART.Material = MATERIAL
  1436.     NEWPART:BreakJoints()
  1437.     NEWPART.Parent = PARENT
  1438.     return NEWPART
  1439. end
  1440.  
  1441.     local function weldBetween(a, b)
  1442.         local weldd = Instance.new("ManualWeld")
  1443.         weldd.Part0 = a
  1444.         weldd.Part1 = b
  1445.         weldd.C0 = CFrame.new()
  1446.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  1447.         weldd.Parent = a
  1448.         return weldd
  1449.     end
  1450.  
  1451.  
  1452. function QuaternionFromCFrame(cf)
  1453.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1454.     local trace = m00 + m11 + m22
  1455.     if trace > 0 then
  1456.         local s = math.sqrt(1 + trace)
  1457.         local recip = 0.5 / s
  1458.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1459.     else
  1460.         local i = 0
  1461.         if m11 > m00 then
  1462.             i = 1
  1463.         end
  1464.         if m22 > (i == 0 and m00 or m11) then
  1465.             i = 2
  1466.         end
  1467.         if i == 0 then
  1468.             local s = math.sqrt(m00 - m11 - m22 + 1)
  1469.             local recip = 0.5 / s
  1470.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1471.         elseif i == 1 then
  1472.             local s = math.sqrt(m11 - m22 - m00 + 1)
  1473.             local recip = 0.5 / s
  1474.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1475.         elseif i == 2 then
  1476.             local s = math.sqrt(m22 - m00 - m11 + 1)
  1477.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1478.         end
  1479.     end
  1480. end
  1481.  
  1482. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1483.     local xs, ys, zs = x + x, y + y, z + z
  1484.     local wx, wy, wz = w * xs, w * ys, w * zs
  1485.     local xx = x * xs
  1486.     local xy = x * ys
  1487.     local xz = x * zs
  1488.     local yy = y * ys
  1489.     local yz = y * zs
  1490.     local zz = z * zs
  1491.     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))
  1492. end
  1493.  
  1494. function QuaternionSlerp(a, b, t)
  1495.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1496.     local startInterp, finishInterp;
  1497.     if cosTheta >= 0.0001 then
  1498.         if (1 - cosTheta) > 0.0001 then
  1499.             local theta = ACOS(cosTheta)
  1500.             local invSinTheta = 1 / SIN(theta)
  1501.             startInterp = SIN((1 - t) * theta) * invSinTheta
  1502.             finishInterp = SIN(t * theta) * invSinTheta
  1503.         else
  1504.             startInterp = 1 - t
  1505.             finishInterp = t
  1506.         end
  1507.     else
  1508.         if (1 + cosTheta) > 0.0001 then
  1509.             local theta = ACOS(-cosTheta)
  1510.             local invSinTheta = 1 / SIN(theta)
  1511.             startInterp = SIN((t - 1) * theta) * invSinTheta
  1512.             finishInterp = SIN(t * theta) * invSinTheta
  1513.         else
  1514.             startInterp = t - 1
  1515.             finishInterp = t
  1516.         end
  1517.     end
  1518.     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
  1519. end
  1520.  
  1521. function Clerp(a, b, t)
  1522.     local qa = {QuaternionFromCFrame(a)}
  1523.     local qb = {QuaternionFromCFrame(b)}
  1524.     local ax, ay, az = a.x, a.y, a.z
  1525.     local bx, by, bz = b.x, b.y, b.z
  1526.     local _t = 1 - t
  1527.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1528. end
  1529.  
  1530. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1531.     local frame = IT("Frame")
  1532.     frame.BackgroundTransparency = TRANSPARENCY
  1533.     frame.BorderSizePixel = BORDERSIZEPIXEL
  1534.     frame.Position = POSITION
  1535.     frame.Size = SIZE
  1536.     frame.BackgroundColor3 = COLOR
  1537.     frame.BorderColor3 = BORDERCOLOR
  1538.     frame.Name = NAME
  1539.     frame.Parent = PARENT
  1540.     return frame
  1541. end
  1542.  
  1543. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1544.     local label = IT("TextLabel")
  1545.     label.BackgroundTransparency = 1
  1546.     label.Size = UD2(1, 0, 1, 0)
  1547.     label.Position = UD2(0, 0, 0, 0)
  1548.     label.TextColor3 = TEXTCOLOR
  1549.     label.TextStrokeTransparency = STROKETRANSPARENCY
  1550.     label.TextTransparency = TRANSPARENCY
  1551.     label.FontSize = TEXTFONTSIZE
  1552.     label.Font = TEXTFONT
  1553.     label.BorderSizePixel = BORDERSIZEPIXEL
  1554.     label.TextScaled = false
  1555.     label.Text = TEXT
  1556.     label.Name = NAME
  1557.     label.Parent = PARENT
  1558.     return label
  1559. end
  1560.  
  1561. function NoOutlines(PART)
  1562.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1563. end
  1564.  
  1565. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1566.     local NEWWELD = IT(TYPE)
  1567.     NEWWELD.Part0 = PART0
  1568.     NEWWELD.Part1 = PART1
  1569.     NEWWELD.C0 = C0
  1570.     NEWWELD.C1 = C1
  1571.     NEWWELD.Parent = PARENT
  1572.     return NEWWELD
  1573. end
  1574.  
  1575. local S = IT("Sound")
  1576. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1577.     local NEWSOUND = nil
  1578.     coroutine.resume(coroutine.create(function()
  1579.         NEWSOUND = S:Clone()
  1580.         NEWSOUND.Parent = PARENT
  1581.         NEWSOUND.Volume = VOLUME
  1582.         NEWSOUND.Pitch = PITCH
  1583.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1584.         NEWSOUND:play()
  1585.         if DOESLOOP == true then
  1586.             NEWSOUND.Looped = true
  1587.         else
  1588.             repeat wait(1) until NEWSOUND.Playing == false
  1589.             NEWSOUND:remove()
  1590.         end
  1591.     end))
  1592.     return NEWSOUND
  1593. end
  1594.  
  1595. local EyeSizes={
  1596.     NumberSequenceKeypoint.new(0,2,0),
  1597.     NumberSequenceKeypoint.new(1,0,0)
  1598. }
  1599. local EyeTrans={
  1600.     NumberSequenceKeypoint.new(0,0.5,0),
  1601.     NumberSequenceKeypoint.new(1,1,0)
  1602. }
  1603. local PE=Instance.new("ParticleEmitter",nil)
  1604. PE.LightEmission=.8
  1605. PE.Color = ColorSequence.new(BRICKC("Crimson").Color,BRICKC("Really red").Color)
  1606. PE.Size=NumberSequence.new(EyeSizes)
  1607. PE.Transparency=NumberSequence.new(EyeTrans)
  1608. PE.Lifetime=NumberRange.new(0.35,1)
  1609. PE.Rotation=NumberRange.new(0,360)
  1610. PE.Rate=100
  1611. PE.VelocitySpread = 10000
  1612. PE.Acceleration = Vector3.new(0,85,0)
  1613. PE.Drag = 5
  1614. PE.Speed = NumberRange.new(0.1,5)
  1615. PE.Texture="http://www.roblox.com/asset/?id=1460745664"
  1616. PE.ZOffset = 0.5
  1617. PE.Name = "PE"
  1618. PE.Enabled = false
  1619.  
  1620. function Fire(art)
  1621.     local PARTICLES = PE:Clone()
  1622.     PARTICLES.Parent = art
  1623.     PARTICLES.Enabled = true
  1624.     return PARTICLES
  1625. end
  1626.  
  1627. function CFrameFromTopBack(at, top, back)
  1628.     local right = top:Cross(back)
  1629.     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)
  1630. end
  1631.  
  1632. --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})
  1633. function WACKYEFFECT(Table)
  1634.     local TYPE = (Table.EffectType or "Sphere")
  1635.     local SIZE = (Table.Size or VT(1,1,1))
  1636.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1637.     local TRANSPARENCY = (Table.Transparency or 0)
  1638.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1639.     local CFRAME = (Table.CFrame or Torso.CFrame)
  1640.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  1641.     local ROTATION1 = (Table.RotationX or 0)
  1642.     local ROTATION2 = (Table.RotationY or 0)
  1643.     local ROTATION3 = (Table.RotationZ or 0)
  1644.     local MATERIAL = (Table.Material or "Neon")
  1645.     local COLOR = (Table.Color or C3(1,1,1))
  1646.     local TIME = (Table.Time or 45)
  1647.     local SOUNDID = (Table.SoundID or nil)
  1648.     local SOUNDPITCH = (Table.SoundPitch or nil)
  1649.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  1650.     coroutine.resume(coroutine.create(function()
  1651.         local PLAYSSOUND = false
  1652.         local SOUND = nil
  1653.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Crimson"), "Effect", VT(1,1,1), true)
  1654.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1655.             PLAYSSOUND = true
  1656.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1657.         end
  1658.         EFFECT.Color = COLOR
  1659.         local MSH = nil
  1660.         if TYPE == "Sphere" then
  1661.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1662.         elseif TYPE == "Block" or TYPE == "Box" then
  1663.             MSH = IT("BlockMesh",EFFECT)
  1664.             MSH.Scale = SIZE
  1665.         elseif TYPE == "Wave" then
  1666.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1667.         elseif TYPE == "Ring" then
  1668.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1669.         elseif TYPE == "Slash" then
  1670.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1671.         elseif TYPE == "Round Slash" then
  1672.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1673.         elseif TYPE == "Swirl" then
  1674.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1675.         elseif TYPE == "Skull" then
  1676.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1677.         elseif TYPE == "Crystal" then
  1678.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1679.         end
  1680.         if MSH ~= nil then
  1681.             local MOVESPEED = nil
  1682.             if MOVEDIRECTION ~= nil then
  1683.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1684.             end
  1685.             local GROWTH = SIZE - ENDSIZE
  1686.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1687.             if TYPE == "Block" then
  1688.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1689.             else
  1690.                 EFFECT.CFrame = CFRAME
  1691.             end
  1692.             for LOOP = 1, TIME+1 do
  1693.                 Swait()
  1694.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  1695.                 if TYPE == "Wave" then
  1696.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1697.                 end
  1698.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1699.                 if TYPE == "Block" then
  1700.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1701.                 else
  1702.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1703.                 end
  1704.                 if MOVEDIRECTION ~= nil then
  1705.                     local ORI = EFFECT.Orientation
  1706.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1707.                     EFFECT.Orientation = ORI
  1708.                 end
  1709.             end
  1710.             if PLAYSSOUND == false then
  1711.                 EFFECT:remove()
  1712.             else
  1713.                 repeat wait(1) until SOUND.Playing == false
  1714.                 EFFECT:remove()
  1715.             end
  1716.         else
  1717.             if PLAYSSOUND == false then
  1718.                 EFFECT:remove()
  1719.             else
  1720.                 repeat Swait() until SOUND.Playing == false
  1721.                 EFFECT:remove()
  1722.             end
  1723.         end
  1724.     end))
  1725. end
  1726.  
  1727. function MakeForm(PART,TYPE)
  1728.     if TYPE == "Cyl" then
  1729.         local MSH = IT("CylinderMesh",PART)
  1730.     elseif TYPE == "Ball" then
  1731.         local MSH = IT("SpecialMesh",PART)
  1732.         MSH.MeshType = "Sphere"
  1733.     elseif TYPE == "Wedge" then
  1734.         local MSH = IT("SpecialMesh",PART)
  1735.         MSH.MeshType = "Wedge"
  1736.     end
  1737. end
  1738.  
  1739. Debris = game:GetService("Debris")
  1740.  
  1741. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1742.     local DIRECTION = CF(StartPos,EndPos).lookVector
  1743.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1744. end
  1745.  
  1746. local HATWELD = nil
  1747. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  1748.     PLAYMAINANIM = false
  1749.     if WhichPose == "Cast1" then
  1750.         for i=0, Time, 0.1 / Animation_Speed do
  1751.             Swait()
  1752.             if Magic == true then
  1753.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1754.             end
  1755.             if Gyro ~= nil and Gyro ~= false then
  1756.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1757.             end
  1758.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
  1759.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
  1760.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1761.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1762.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1763.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1764.         end
  1765.     elseif WhichPose == "Cast2" then
  1766.         for i=0, Time, 0.1 / Animation_Speed do
  1767.             Swait()
  1768.             if Magic == true then
  1769.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1770.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1771.             end
  1772.             if Gyro ~= nil and Gyro ~= false then
  1773.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1774.             end
  1775.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1776.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1777.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1778.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1779.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1780.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1781.         end
  1782.     elseif WhichPose == "RightArmUp" then
  1783.         for i=0, Time, 0.1 / Animation_Speed do
  1784.             Swait()
  1785.             if Magic == true then
  1786.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1787.             end
  1788.             if Gyro ~= nil and Gyro ~= false then
  1789.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1790.             end
  1791.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
  1792.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1793.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1794.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1795.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1796.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1797.         end
  1798.     elseif WhichPose == "Taunt" then
  1799.         for i=0, Time, 0.1 / Animation_Speed do
  1800.             Swait()
  1801.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1802.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1803.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1804.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1805.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1806.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1807.         end
  1808.         HATWELD.Part0 = RightArm
  1809.         HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
  1810.         CreateSound(221057812,Torso,10,1,false)
  1811.         for i=0, Time*2, 0.1 / Animation_Speed do
  1812.             Swait()
  1813.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1814.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1815.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1816.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1817.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1818.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1819.         end
  1820.         for i=0, Time, 0.1 / Animation_Speed do
  1821.             Swait()
  1822.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1823.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  1824.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1825.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1826.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1827.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1828.             HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
  1829.         end
  1830.         HATWELD.Part0 = Head
  1831.         HATWELD.C0 = CF(0,0.35,0)
  1832.     elseif WhichPose == "Prepare key" then
  1833.         for i=0, Time, 0.1 / Animation_Speed do
  1834.             Swait()
  1835.             if Gyro ~= nil and Gyro ~= false then
  1836.                 Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1837.             end
  1838.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
  1839.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
  1840.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1841.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1842.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1843.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1844.         end
  1845.     elseif WhichPose == "Turn key" then
  1846.         for i=0, Time, 0.1 / Animation_Speed do
  1847.             Swait()
  1848.             if Gyro ~= nil and Gyro ~= false then
  1849.                 Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1850.             end
  1851.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
  1852.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
  1853.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1854.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1855.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1856.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1857.         end
  1858.     end
  1859.     PLAYMAINANIM = true
  1860. end
  1861.  
  1862. --Lightning({Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
  1863. function Lightning(Table)
  1864.     local Color = Table.Color or C3(1,1,1)
  1865.     local StartPos = Table.Start or Torso.Position
  1866.     local EndPos = Table.End or Mouse.Hit.p
  1867.     local SegmentLength = Table.SegmentL or 2
  1868.     local Thickness = Table.Thickness or 0.1
  1869.     local Dissapear = Table.DoesFade or false
  1870.     local Parent = Table.Ignore or Character
  1871.     local MaxDist = Table.MaxDist or 400
  1872.     local Branches = Table.Branches or false
  1873.     local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  1874.     local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
  1875.     local LIGHTNINGMODEL = IT("Model",Effects)
  1876.     LIGHTNINGMODEL.Name = "Lightning"
  1877.     local LastBolt = nil
  1878.     for E = 1, DISTANCE do
  1879.         local ExtraSize = (DISTANCE-E)/15
  1880.         local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Crimson"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  1881.         PART.Color = Color
  1882.         MakeForm(PART,"Cyl")
  1883.         if LastBolt == nil then
  1884.             PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1885.         else
  1886.             PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1887.         end
  1888.         LastBolt = PART
  1889.         if Branches == true then
  1890.             local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  1891.             if CHOICE == 1 then
  1892.                 local LASTBRANCH = nil
  1893.                 for i = 1, MRANDOM(2,5) do
  1894.                     local ExtraSize2 = ((DISTANCE-E)/25)/i
  1895.                     local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Crimson"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  1896.                     PART.Color = Color
  1897.                     MakeForm(PART,"Cyl")
  1898.                     if LASTBRANCH == nil then
  1899.                         PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1900.                     else
  1901.                         PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1902.                     end
  1903.                     LASTBRANCH = PART
  1904.                 end
  1905.             end
  1906.         end
  1907.     end
  1908.     if Dissapear == true then
  1909.         coroutine.resume(coroutine.create(function()
  1910.             for i = 1, 10 do
  1911.                 Swait()
  1912.                 for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  1913.                     if c.ClassName == "Part" then
  1914.                         c.Transparency = i/10
  1915.                     end
  1916.                 end
  1917.             end
  1918.             LIGHTNINGMODEL:remove()
  1919.         end))
  1920.     elseif Dissapear == false then
  1921.         Debris:AddItem(LIGHTNINGMODEL,0.1)
  1922.     end
  1923.     return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  1924. end
  1925.  
  1926. --//=================================\\
  1927. --||         WEAPON CREATION
  1928. --\\=================================//
  1929. Humanoid.Parent = nil
  1930. RootPart.Size = RootPart.Size*SIZE
  1931. Torso.Size = Torso.Size*SIZE
  1932. RightArm.Size = RightArm.Size*SIZE
  1933. RightLeg.Size = RightLeg.Size*SIZE
  1934. LeftArm.Size = LeftArm.Size*SIZE
  1935. LeftLeg.Size = LeftLeg.Size*SIZE
  1936. RootJoint.C0 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
  1937. RootJoint.C1 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
  1938. Neck.C0 = NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1 * SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1939. Neck.C1 = CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180))
  1940. RightShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
  1941. LeftShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
  1942. RightHip.C0 = CF(1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1943. LeftHip.C0 = CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1944. RightHip.C1 = CF(0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1945. LeftHip.C1 = CF(-0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1946. Head.Size = Head.Size*SIZE
  1947. RootJoint.Parent = RootPart
  1948. Neck.Parent = Torso
  1949. RightShoulder.Parent = Torso
  1950. LeftShoulder.Parent = Torso
  1951. RightHip.Parent = Torso
  1952. LeftHip.Parent = Torso
  1953.  
  1954. Humanoid.DisplayDistanceType = "None"
  1955. local naeeym2 = IT("BillboardGui",Character)
  1956. naeeym2.AlwaysOnTop = true
  1957. naeeym2.Size = UDim2.new(5,35,2,15)
  1958. naeeym2.StudsOffset = Vector3.new(0,2,0)
  1959. naeeym2.MaxDistance = 75
  1960. naeeym2.Adornee = Character.Head
  1961. naeeym2.Name = "Name"
  1962. local tecks2 = IT("TextLabel",naeeym2)
  1963. tecks2.BackgroundTransparency = 1
  1964. tecks2.TextScaled = true
  1965. tecks2.BorderSizePixel = 0
  1966. tecks2.Text = "The mafia"
  1967. tecks2.Font = "SciFi"
  1968. tecks2.TextSize = 30
  1969. tecks2.TextStrokeTransparency = 0
  1970. tecks2.TextColor3 = C3(5,6,0)
  1971. tecks2.TextStrokeColor3 = C3(66/255, 0/255, 127/255)
  1972. tecks2.Size = UDim2.new(1,0,0.5,0)
  1973. tecks2.Parent = naeeym2
  1974. local top = Instance.new("Shirt")
  1975. top.ShirtTemplate = "rbxassetid://45695443"
  1976. top.Parent = Character
  1977. top.Name = "Cloth"
  1978. local bottom = Instance.new("Pants")
  1979. bottom.PantsTemplate = "rbxassetid://45696190"
  1980. bottom.Parent = Character
  1981. bottom.Name = "Cloth"
  1982. local PRT = CreatePart(3, Weapon, "Fabric", 0, 0, "Bright red", "Hat", VT(1,1,1),false)
  1983. PRT.Color = C3(0,0,0)
  1984. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.72*SIZE,0.1) * ANGLES(RAD(15), RAD(0), RAD(0)), CF(0, 0, 0))
  1985. CreateMesh("SpecialMesh", PRT, "FileMesh", "", "", VT(1,1,1)*SIZE, VT(0,0,0))
  1986. local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Bright red", "Detail", VT(1,1,1),false)
  1987. PRT.Color = C3(1,1,1)
  1988. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
  1989. CreateMesh("SpecialMesh", PRT, "FileMesh", "13520257", "", VT(1,1,1)*SIZE, VT(0,0,0))
  1990. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Bright red", "Detail", VT(1,1.2,0.2),false)
  1991. PRT.Color = C3(25/255, 156/255, 280/164)
  1992.  
  1993. MakeForm(PRT,"Ball")
  1994. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
  1995. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.4,0.5),false)
  1996. PRT.Color = C3(25/255, 156/255, 280/164)
  1997. MakeForm(PRT,"Ball")
  1998. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,-0.3,-.5*SIZE), CF(0, 0, 0))
  1999. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
  2000. PRT.Color = C3(25/255, 156/255, 280/164)
  2001. MakeForm(PRT,"Ball")
  2002. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0.25,0.25,-.5*SIZE), CF(0, 0, 0))
  2003. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
  2004. PRT.Color = C3(25/255, 156/255, 280/164)
  2005. MakeForm(PRT,"Ball")
  2006. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(-0.25,0.25,-.5*SIZE), CF(0, 0, 0))
  2007. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.4,0.4,0.3),false)
  2008. PRT.Color = C3(25/255, 156/255, 280/164)
  2009. MakeForm(PRT,"Ball")
  2010. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(-0.17,-0.25,-.5*SIZE) * ANGLES(RAD(-15), RAD(15), RAD(0)), CF(0, 0, 0))
  2011. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.4,0.4,0.3),false)
  2012. PRT.Color = C3(25/255, 156/255, 280/164)
  2013. MakeForm(PRT,"Ball")
  2014. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0.17,-0.25,-.5*SIZE) * ANGLES(RAD(-15), RAD(-15), RAD(0)), CF(0, 0, 0))
  2015. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(1.05,0.06,1.05)*SIZE,false)
  2016. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2017. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(0.5,0.1,0.5)*SIZE,false)
  2018. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
  2019. MakeForm(PRT,"Cyl")
  2020. local PRT = CreatePart(3, Weapon, "Neon", 0, 0, "Bright red", "Watch", VT(0.45,0.11,0.45)*SIZE,false)
  2021. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
  2022. MakeForm(PRT,"Cyl")
  2023. PRT.Color = C3(66/255, 0/255, 127/255)
  2024. local RING = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(0.055,0.15,0.055)*SIZE,false)
  2025. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RING, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
  2026. MakeForm(RING,"Cyl")
  2027. RING.Color = C3(5,6,0)
  2028. for i = 1, 12 do
  2029.     local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(0,0.15,0)*SIZE,false)
  2030.     PRT.Color = C3(5,6,0)
  2031.     local MSH = IT("BlockMesh",PRT)
  2032.     MSH.Scale = VT(0.6,1,1)
  2033.     CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD((360/12)*i), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.2*SIZE))
  2034. end
  2035. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(0,0.15,0.15)*SIZE,false)
  2036. PRT.Color = C3(5,6,0)
  2037. local MSH = IT("BlockMesh",PRT)
  2038. MSH.Scale = VT(0.4,1,1)
  2039. local WATCH1 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.075*SIZE))
  2040. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(0,0.15,0.15/1.5)*SIZE,false)
  2041. PRT.Color = C3(5,6,0)
  2042. local MSH = IT("BlockMesh",PRT)
  2043. MSH.Scale = VT(0.4,1,1)
  2044. local WATCH2 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -(0.075/1.5)*SIZE))
  2045. coroutine.resume(coroutine.create(function()
  2046.     while true do
  2047.         Swait()
  2048.         CLOCKLOOP = CLOCKLOOP - 1*CLOCKSPEED
  2049.         WATCH1.C0 = Clerp(WATCH1.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5), RAD(0)), 1 / Animation_Speed)
  2050.         WATCH2.C0 = Clerp(WATCH2.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5/2), RAD(0)), 1 / Animation_Speed)
  2051.         if CLOCKLOOP <= -150 then
  2052.             if VALUE1 == false then
  2053.                 CLOCKLOOP = 0
  2054.                 WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = RING.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(192,192,192), SoundID = 743521450, SoundPitch = 1.2, SoundVolume = 4})
  2055.                 local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
  2056.                 ApplyAoE(HITPOS,10,15,45,75,false)
  2057.                 WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(15,2,15), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(192,192,192), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2058.                 WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(12,3,12), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(192,192,192), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2059.                 if CLOCKTARGET ~= nil then
  2060.                     CLOCKTARGET.Health = CLOCKTARGET.Health - 20
  2061.                     if CLOCKTARGET.Torso ~= nil then
  2062.                         CLOCKTARGET.Torso.CFrame = CLOCKTARGET.Torso.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
  2063.                     end
  2064.                     if CLOCKTARGET.Health == 0 then
  2065.                         CLOCKTARGET = nil
  2066.                     end
  2067.                 end
  2068.             end
  2069.         end
  2070.     end
  2071. end))
  2072. warn("Promlg112 edit DO NOT STEAL IT")
  2073. for _, c in pairs(Weapon:GetChildren()) do
  2074.     if c.ClassName == "Part" then
  2075.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2076.     end
  2077. end
  2078.  
  2079. Neck.Name = "Weld"
  2080. RootJoint.Name = "Weld"
  2081. RightShoulder.Name = "Weld"
  2082. LeftShoulder.Name = "Weld"
  2083. RightHip.Name = "Weld"
  2084. LeftHip.Name = "Weld"
  2085.  
  2086. local TOBANISH = {}
  2087.  
  2088. local BODY = {}
  2089. for _, c in pairs(Character:GetDescendants()) do
  2090.     if c:IsA("BasePart") and c.Name ~= "Handle" then
  2091.         if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  2092.             c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2093.         end
  2094.         table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
  2095.     elseif c:IsA("JointInstance") then
  2096.         table.insert(BODY,{c,c.Parent,nil,nil,nil})
  2097.     end
  2098. end
  2099. for e = 1, #BODY do
  2100.     if BODY[e] ~= nil then
  2101.         local STUFF = BODY[e]
  2102.         local PART = STUFF[1]
  2103.         local PARENT = STUFF[2]
  2104.         local MATERIAL = STUFF[3]
  2105.         local COLOR = STUFF[4]
  2106.         local TRANSPARENCY = STUFF[5]
  2107.         if PART.ClassName == "Part" and PART ~= RootPart then
  2108.             PART.Material = MATERIAL
  2109.             PART.Color = COLOR
  2110.             PART.Transparency = TRANSPARENCY
  2111.         end
  2112.         PART.AncestryChanged:Connect(function()
  2113.             PART.Parent = PARENT
  2114.         end)
  2115.     end
  2116. end
  2117.  
  2118. function refit()
  2119.     Character.Parent = workspace
  2120.     for e = 1, #BODY do
  2121.         if BODY[e] ~= nil then
  2122.             local STUFF = BODY[e]
  2123.             local PART = STUFF[1]
  2124.             local PARENT = STUFF[2]
  2125.             local MATERIAL = STUFF[3]
  2126.             local COLOR = STUFF[4]
  2127.             local TRANSPARENCY = STUFF[5]
  2128.             if PART.ClassName == "Part" and PART ~= RootPart then
  2129.                 PART.Material = MATERIAL
  2130.                 PART.Color = COLOR
  2131.                 PART.Transparency = TRANSPARENCY
  2132.             end
  2133.             if PART.Parent ~= PARENT then
  2134.                 Humanoid:remove()
  2135.                 PART.Parent = PARENT
  2136.                 Humanoid = IT("Humanoid",Character)
  2137.             end
  2138.         end
  2139.     end
  2140. end
  2141. local SKILLTEXTCOLOR = C3(66/255, 0/255, 127/255)
  2142. local SKILLFONT = "Fantasy"
  2143. local SKILLTEXTSIZE = 7
  2144.  
  2145. Weapon.Parent = Character
  2146. Humanoid.Parent = Character
  2147.  
  2148. Humanoid.Died:connect(function()
  2149.     refit()
  2150. end)
  2151.  
  2152. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23-.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  2153. local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50+.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  2154. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  2155. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  2156. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  2157.  
  2158. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Magic Missiles", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 1")
  2159. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Times up", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 2")
  2160. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Chained Punch", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
  2161. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Warp Meteor", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 4")
  2162. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Pandora's Box", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 5")
  2163.  
  2164. local Particle = IT("ParticleEmitter",nil)
  2165. Particle.Enabled = false
  2166. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  2167. Particle.LightEmission = 0.5
  2168. Particle.Rate = 150
  2169. Particle.ZOffset = 0.2
  2170. Particle.Rotation = NumberRange.new(-180, 180)
  2171. Particle.RotSpeed = NumberRange.new(-180, 180)
  2172. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  2173. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  2174.  
  2175. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  2176. function ParticleEmitter(Table)
  2177.     local PRTCL = Particle:Clone()
  2178.     local Speed = Table.Speed or 5
  2179.     local Drag = Table.Drag or 0
  2180.     local Size1 = Table.Size1 or 1
  2181.     local Size2 = Table.Size2 or 5
  2182.     local Lifetime1 = Table.Lifetime1 or 1
  2183.     local Lifetime2 = Table.Lifetime2 or 1.5
  2184.     local Parent = Table.Parent or Torso
  2185.     local Emit = Table.Emit or 100
  2186.     local Offset = Table.Offset or 360
  2187.     local Acel = Table.Acel or VT(0,0,0)
  2188.     local Enabled = Table.Enabled or false
  2189.     PRTCL.Parent = Parent
  2190.     PRTCL.Size = NumberSequence.new(Size1,Size2)
  2191.     PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  2192.     PRTCL.Speed = NumberRange.new(Speed)
  2193.     PRTCL.VelocitySpread = Offset
  2194.     PRTCL.Drag = Drag
  2195.     PRTCL.Acceleration = Acel
  2196.     if Enabled == false then
  2197.         PRTCL:Emit(Emit)
  2198.         Debris:AddItem(PRTCL,Lifetime2)
  2199.     else
  2200.         PRTCL.Enabled = true
  2201.     end
  2202.     return PRTCL
  2203. end
  2204.  
  2205. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.6,0.2),false)
  2206. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  2207. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  2208. MakeForm(Part,"Wedge")
  2209. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  2210. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.3,0.2),false)
  2211. MakeForm(Part,"Wedge")
  2212. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  2213. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.3,0.3),false)
  2214. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2215. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.5,0.5),false)
  2216. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2217. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.4,0.4,0.4),false)
  2218. MakeForm(Part,"Cyl")
  2219. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2220. for i = 1, 8 do
  2221.     local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0,0.35,0.41),false)
  2222.     CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  2223. end
  2224. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.38,0.41,0.38),false)
  2225. MakeForm(Part,"Cyl")
  2226. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2227. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.37,0.5,0.37),false)
  2228. MakeForm(Part,"Ball")
  2229. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2230. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.7,0.4),false)
  2231. MakeForm(Part,"Wedge")
  2232. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  2233. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.4,0.2),false)
  2234. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2235. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.35,0.35,0.35),false)
  2236. MakeForm(Part,"Cyl")
  2237. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2238. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.5),false)
  2239. MakeForm(Part,"Cyl")
  2240. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2241. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.45),false)
  2242. MakeForm(Part,"Cyl")
  2243. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2244. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  2245. MakeForm(Part,"Wedge")
  2246. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  2247. local LASTPART = Handle
  2248. for i = 1, 10 do
  2249.     if LASTPART == Handle then
  2250.         local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.2,0),false)
  2251.         LASTPART = Part
  2252.         CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2253.     else
  2254.         local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.05,0),false)
  2255.         CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  2256.         LASTPART = Part
  2257.     end
  2258. end
  2259.  
  2260. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.15,2,0.15),false)
  2261. MakeForm(Barrel,"Cyl")
  2262. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2263. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.25,1,0.25),false)
  2264. MakeForm(Part,"Cyl")
  2265. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  2266. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0.1,0.2),false)
  2267. MakeForm(Part,"Wedge")
  2268. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  2269. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.125,0,0.125),false)
  2270. MakeForm(Hole,"Cyl")
  2271. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  2272. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0,0),false)
  2273. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  2274. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  2275. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Brown", "Eye", VT(0,0,0),false)
  2276. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  2277. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  2278. coroutine.resume(coroutine.create(function()
  2279.     while wait() do
  2280.         GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  2281.         GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  2282.     end
  2283. end))
  2284.  
  2285. 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)})
  2286. --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)})
  2287.  
  2288. for _, c in pairs(Weapon:GetDescendants()) do
  2289.     if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  2290.         c.Material = "Glass"
  2291.         c.Color = C3(0,0,0)
  2292.     elseif c.ClassName == "Part" and c.Name == "Eye" then
  2293.         c.Color = C3(1,0,0)
  2294.         c.Material = "Neon"
  2295.     end
  2296. end
  2297.  
  2298. Weapon.Parent = Character
  2299. for _, c in pairs(Weapon:GetChildren()) do
  2300.     if c.ClassName == "Part" then
  2301.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2302.     end
  2303. end
  2304.  
  2305. local SKILLTEXTCOLOR = C3(1,0,0)
  2306. local SKILLFONT = "Antique"
  2307. local SKILLTEXTSIZE = 7
  2308.  
  2309. Humanoid.Died:connect(function()
  2310.     ATTACK = true
  2311. end)
  2312.  
  2313. 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")
  2314. --[[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")
  2315. 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")
  2316. 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")
  2317. 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")
  2318. ]]
  2319. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  2320. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  2321. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  2322. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  2323. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  2324. ]]
  2325. function printbye(Name)
  2326.     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, "}
  2327.     warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  2328. end
  2329.  
  2330. workspace.ChildAdded:connect(function(instance)
  2331.     for BANISH = 1, #TOBANISH do
  2332.         if TOBANISH[BANISH] ~= nil then
  2333.             if instance.Name == TOBANISH[BANISH] then
  2334.                 coroutine.resume(coroutine.create(function()
  2335.                     printbye(instance.Name)
  2336.                     instance:ClearAllChildren()
  2337.                     Debris:AddItem(instance,0.0005)
  2338.                 end))
  2339.             end
  2340.         end
  2341.     end
  2342. end)
  2343.  
  2344. --//=================================\\
  2345. --||            DAMAGING
  2346. --\\=================================//
  2347. function killnearest(position,range,EFFECT)
  2348.     for i,v in ipairs(workspace:GetChildren()) do
  2349.     local body = v:GetChildren()
  2350.         for part = 1, #body do
  2351.             if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  2352.                 local SIZE = body[part].Size.Magnitude
  2353.                 if(body[part].Position - position).Magnitude < range + SIZE/2 then
  2354.                     if v.ClassName == "Model" then
  2355.                         if v:FindFirstChildOfClass("Humanoid") ~= nil then
  2356.                             if v:FindFirstChildOfClass("Humanoid").Health > 0 then
  2357.                                 v:BreakJoints()
  2358.                                 if EFFECT == "Glitch" then
  2359.                                     coroutine.resume(coroutine.create(function()
  2360.                                         local ORIGINPOS = body[part].CFrame
  2361.                                         local SIZE = body[part].Size
  2362.                                         for i = 1, 100 do
  2363.                                             Swait()
  2364.                                             local PART = body[part]
  2365.                                             PART.Anchored = true
  2366.                                             PART.Size = SIZE*MRANDOM(5,15)/10
  2367.                                             PART.CFrame = ORIGINPOS*CF(MRANDOM(-15,15)/15,MRANDOM(-15,15)/15,MRANDOM(-15,15)/15)
  2368.                                         end
  2369.                                         body[part]:remove()
  2370.                                     end))
  2371.                                 elseif EFFECT == "Shatter" then
  2372.                                     for _, c in pairs(v:GetChildren()) do
  2373.                                         if c.ClassName == "Part" or c.ClassName == "MeshPart" then
  2374.                                             Shatter(c)
  2375.                                         end
  2376.                                     end
  2377.                                 end
  2378.                             end
  2379.                         end
  2380.                     end
  2381.                 end
  2382.             end
  2383.         end
  2384.     end
  2385. end
  2386.  
  2387. function ApplyDamage(Humanoid,Damage,TorsoPart)
  2388.     local defence = Instance.new("BoolValue",Humanoid.Parent)
  2389.     defence.Name = ("HitBy"..Player.Name)
  2390.     game:GetService("Debris"):AddItem(defence, 0.001)
  2391.     Damage = Damage * DAMAGEMULTIPLIER
  2392.     if Humanoid.Health ~= 0 then
  2393.         local CritChance = MRANDOM(1,100)
  2394.         if Damage > Humanoid.Health then
  2395.             Damage = math.ceil(Humanoid.Health)
  2396.             if Damage == 0 then
  2397.                 Damage = 0.1
  2398.             end
  2399.         end
  2400.         Humanoid.Health = Humanoid.Health - Damage
  2401.     end
  2402. end
  2403.  
  2404. function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  2405.     local CHILDREN = workspace:GetDescendants()
  2406.     for index, CHILD in pairs(CHILDREN) do
  2407.         if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  2408.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2409.             if HUM then
  2410.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2411.                 if TORSO then
  2412.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2413.                         if INSTAKILL == false then
  2414.                             CHILD:BreakJoints()
  2415.                         else
  2416.                             local DMG = MRANDOM(MINDMG,MAXDMG)
  2417.                             ApplyDamage(HUM,DMG,TORSO)
  2418.                         end
  2419.                         if FLING > 0 then
  2420.                             for _, c in pairs(CHILD:GetChildren()) do
  2421.                                 if c:IsA("BasePart") then
  2422.                                     local bv = Instance.new("BodyVelocity")
  2423.                                     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2424.                                     bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  2425.                                     bv.Parent = c
  2426.                                     Debris:AddItem(bv,0.05)
  2427.                                 end
  2428.                             end
  2429.                         end
  2430.                     end
  2431.                 end
  2432.             end
  2433.         end
  2434.     end
  2435. end
  2436.  
  2437. function Banish(Foe)
  2438.     if Foe then
  2439.         coroutine.resume(coroutine.create(function()
  2440.             --if game.Players:FindFirstChild(Foe.Name) then
  2441.                 table.insert(TOBANISH,Foe.Name)
  2442.                 printbye(Foe.Name)
  2443.             --end
  2444.             Foe.Archivable = true
  2445.             local CLONE = Foe:Clone()
  2446.             Foe:Destroy()
  2447.             CLONE.Parent = Effects
  2448.             CLONE:BreakJoints()
  2449.             local MATERIALS = {"Glass","Neon"}
  2450.             for _, c in pairs(CLONE:GetDescendants()) do
  2451.                 if c:IsA("BasePart") then
  2452.                     if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  2453.                         CreateSound(340722848, c, 10, 1, false)
  2454.                     end
  2455.                     c.Anchored = true
  2456.                     c.Transparency = c.Transparency + 0.2
  2457.                     c.Material = MATERIALS[MRANDOM(1,2)]
  2458.                     c.Color = C3(1,0,0)
  2459.                     if c.ClassName == "MeshPart" then
  2460.                         c.TextureID = ""
  2461.                     end
  2462.                     if c:FindFirstChildOfClass("SpecialMesh") then
  2463.                         c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2464.                     end
  2465.                     if c:FindFirstChildOfClass("Decal") then
  2466.                         c:FindFirstChildOfClass("Decal"):remove()
  2467.                     end
  2468.                     c.Name = "Banished"
  2469.                     c.CanCollide = false
  2470.                 else
  2471.                     c:remove()
  2472.                 end
  2473.             end
  2474.             local A = false
  2475.             for i = 1, 35 do
  2476.                 if A == false then
  2477.                     A = true
  2478.                 elseif A == true then
  2479.                     A = false
  2480.                 end
  2481.                 for _, c in pairs(CLONE:GetDescendants()) do
  2482.                     if c:IsA("BasePart") then
  2483.                         c.Anchored = true
  2484.                         c.Material = MATERIALS[MRANDOM(1,2)]
  2485.                         c.Transparency = c.Transparency + 0.8/35
  2486.                         if A == false then
  2487.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  2488.                         elseif A == true then
  2489.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)                      
  2490.                         end
  2491.                     end
  2492.                 end
  2493.                 Swait()
  2494.             end
  2495.             CLONE:remove()
  2496.         end))
  2497.     end
  2498. end
  2499.  
  2500. function ApplyAoE(POSITION,RANGE,FLING,BURN)
  2501.     local CHILDREN = workspace:GetDescendants()
  2502.     for index, CHILD in pairs(CHILDREN) do
  2503.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  2504.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2505.             if HUM then
  2506.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2507.                 if TORSO then
  2508.                     if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
  2509.                         CHILD:BreakJoints()
  2510.                         if FLING ~= 0 then
  2511.                             for _, c in pairs(CHILD:GetChildren()) do
  2512.                                 if c:IsA("BasePart") and c.Transparency == 0 then
  2513.                                     if BURN == true then
  2514.                                         Fire(c)
  2515.                                     end
  2516.                                     local bv = Instance.new("BodyVelocity")
  2517.                                     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2518.                                     bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  2519.                                     bv.Parent = c
  2520.                                     Debris:AddItem(bv,0.05)
  2521.                                 end
  2522.                             end
  2523.                         end
  2524.                     end
  2525.                 end
  2526.             end
  2527.         end
  2528.     end
  2529. end
  2530.  
  2531. --//=================================\\
  2532. --||    ATTACK FUNCTIONS AND STUFF
  2533. --\\=================================//
  2534. function CyberSmash()
  2535.     ATTACK = true
  2536.     Rooted = false
  2537.     local GYRO = IT("BodyGyro",RootPart)
  2538.     GYRO.D = 100
  2539.     GYRO.P = 2000
  2540.     GYRO.MaxTorque = VT(0,4000000,0)
  2541.     GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2542.     local SMASH = CreatePart(3, Effects, "Neon", 0, 1, "Earth green", "Block", VT(25,25,25))
  2543.     SMASH.CanCollide = true
  2544.     SMASH.Color = C3(0,0,0)
  2545.     local EF = Instance.new("SelectionBox",SMASH)
  2546.     EF.Adornee = SMASH
  2547.     EF.Color = BrickColor.new("Earth green")
  2548.     EF.LineThickness = 0.2
  2549.     EF.Transparency = 1
  2550.     coroutine.resume(coroutine.create(function()
  2551.         for i = 1, 20 do
  2552.             Swait()
  2553.             SMASH.Transparency = SMASH.Transparency - 0.05
  2554.             EF.Transparency = SMASH.Transparency
  2555.         end
  2556.     end))
  2557.     repeat
  2558.         SMASH.CFrame = CF(Mouse.Hit.p)*CF(0,35,0)
  2559.         Swait()
  2560.         GYRO.cframe = CF(RootPart.Position,SMASH.Position)
  2561.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-15 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  2562.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  2563.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(130), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2564.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2565.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2566.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2567.     until HOLD == true and SMASH.Transparency < 0.99
  2568.     for i = 1, 25 do
  2569.         Swait()
  2570.         SMASH.CFrame = SMASH.CFrame*CF(0,15/25,0)
  2571.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  2572.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  2573.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(160), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2574.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2575.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2576.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2577.     end
  2578.     local TOCH = SMASH.Touched:Connect(function(hit)
  2579.         if hit.Anchored == false and hit.Parent ~= Head and hit.Parent ~= Character and hit.Parent ~= Effects then
  2580.             Shatter(hit)
  2581.         end
  2582.     end)
  2583.     local n0 = nil
  2584.     local HITFLOOR,HITPOS = Raycast(SMASH.Position, (CF(SMASH.Position, SMASH.Position + VT(0, -1, 0))).lookVector, 25000, Character)
  2585.     if HITFLOOR ~= nil then
  2586.         if HITFLOOR.Anchored == false and HITFLOOR.Parent ~= workspace then
  2587.             if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") or HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  2588.                 if HITFLOOR.Parent.ClassName == "Model" then
  2589.                     HITFLOOR.Parent:BreakJoints()
  2590.                 elseif HITFLOOR.Parent.Parent.ClassName == "Model" then
  2591.                     HITFLOOR.Parent.Parent:BreakJoints()
  2592.                 end
  2593.             end
  2594.             local POS = HITPOS
  2595.             n0,HITPOS = Raycast(POS, (CF(POS, POS + VT(0, -1, 0))).lookVector, 25000, HITFLOOR.Parent)
  2596.         end
  2597.     end
  2598.     killnearest(HITPOS,SMASH.Size.X/1.3,"Shatter")
  2599.     SMASH.CFrame = CF(HITPOS+VT(0,SMASH.Size.Y/2,0))
  2600.     WACKYEFFECT({Time = 25, EffectType = "Box", Size = VT(24,0,24), Size2 = VT(75,2,75), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 130972023, SoundPitch = 1, SoundVolume = 10})
  2601.     for i = 1, 25 do
  2602.         Swait()
  2603.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  2604.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  2605.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(30), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2606.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2607.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2608.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2609.     end
  2610.     coroutine.resume(coroutine.create(function()
  2611.         wait(0.2)
  2612.         TOCH:disconnect()
  2613.         wait(1.8)
  2614.         for i = 1, 100 do
  2615.             Swait()
  2616.             SMASH.Transparency = i/100
  2617.         end
  2618.         for i = 1, 10 do
  2619.             Swait()
  2620.             EF.Transparency = EF.Transparency + 0.1
  2621.         end
  2622.         SMASH:remove()
  2623.     end))
  2624.     GYRO:remove()
  2625.     ATTACK = false
  2626.     Rooted = false
  2627. end
  2628.  
  2629. function Inferno_Ring()
  2630.     ATTACK = true
  2631.     Rooted = false
  2632.     local GYRO = IT("BodyGyro",RootPart)
  2633.     GYRO.D = 750
  2634.     GYRO.P = 20000
  2635.     GYRO.MaxTorque = VT(0,40000000,0)
  2636.     local FIRE = IT("Model",Effects)
  2637.     FIRE.Name = "Fire"
  2638.     local MAIN = CreatePart(3, FIRE, "Neon", 0, 1, "Really red", "Center", VT(0,0,0))
  2639.     FIRE.PrimaryPart = MAIN
  2640.     local FIRES = {}
  2641.     for i = 1, 45 do
  2642.         local PRT = CreatePart(3, FIRE, "Neon", 0, 1, "Really red", "RingPart", VT(3,3,3))
  2643.         PRT.CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD((360/45)*i),RAD(0))*CF(0,0,20)
  2644.         local F = Fire(PRT)
  2645.         table.insert(FIRES,F)
  2646.     end
  2647.     repeat
  2648.         FIRE:SetPrimaryPartCFrame(CF(Mouse.Hit.p))
  2649.         Pose("Cast1",1.5,0.01,false,GYRO)
  2650.     until HOLD == true
  2651.     coroutine.resume(coroutine.create(function()
  2652.         for i = 1, 4 do
  2653.             ApplyAoE(MAIN.Position,21,-15,true)
  2654.             CreateSound(463598785,MAIN,3,1,false)
  2655.             for E = 1, #FIRES do
  2656.                 if FIRES[E] ~= nil then
  2657.                     FIRES[E].Acceleration = VT(0,300,0)
  2658.                     FIRES[E].Lifetime=NumberRange.new(0.35,1.5)
  2659.                 end
  2660.             end
  2661.             wait(0.3)
  2662.         end
  2663.         for E = 1, #FIRES do
  2664.             if FIRES[E] ~= nil then
  2665.                 FIRES[E].Enabled = false
  2666.             end
  2667.         end
  2668.         Debris:AddItem(FIRE,5)
  2669.     end))
  2670.     CreateSound(215395388,RightArm,3,2,false)
  2671.     Pose("RightArmUp",1.5,0.5,true)
  2672.     GYRO:remove()
  2673.     ATTACK = false
  2674.     Rooted = false
  2675. end
  2676.  
  2677. function Banisher_Bullet()
  2678.     ATTACK = true
  2679.     Rooted = false
  2680.     for i=0, 0.4, 0.1 / Animation_Speed do
  2681.         Swait()
  2682.         turnto(Mouse.Hit.p)
  2683.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2684.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1 * SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2685.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2686.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2687.         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)
  2688.         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)
  2689.     end
  2690.     repeat
  2691.         for i=0, 0.2, 0.1 / Animation_Speed do
  2692.             Swait()
  2693.             turnto(Mouse.Hit.p)
  2694.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2695.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2696.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2697.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2698.             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)
  2699.             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)
  2700.         end
  2701.         local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  2702.         SpawnTrail(Hole.Position,POS)
  2703.         if HIT ~= nil then
  2704.             if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  2705.                 Banish(HIT.Parent)
  2706.             end
  2707.         end
  2708.         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})
  2709.         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 = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2710.         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})
  2711.         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})
  2712.         for i=0, 0.3, 0.1 / Animation_Speed do
  2713.             Swait()
  2714.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2715.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  2716.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2717.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2718.             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)
  2719.             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)
  2720.         end
  2721.     until KEYHOLD == false
  2722.     ATTACK = false
  2723.     Rooted = false
  2724. end
  2725.  
  2726. function AttackTemplate()
  2727.     ATTACK = true
  2728.     Rooted = false
  2729.     for i=0, 1, 0.1 / Animation_Speed do
  2730.         Swait()
  2731.         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)
  2732.         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)
  2733.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2734.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2735.         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)
  2736.         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)
  2737.     end
  2738.     ATTACK = false
  2739.     Rooted = false
  2740. end
  2741. function MagicMissiles()
  2742.     ATTACK = true
  2743.     Rooted = false
  2744.     local SELECTING = true
  2745.     local SPOTS = {}
  2746.     coroutine.resume(coroutine.create(function()
  2747.         local LOOP = 0
  2748.         repeat
  2749.             LOOP = LOOP + 1
  2750.             Swait()
  2751.             if LOOP >= 15 then
  2752.                 LOOP = 0
  2753.                 for i = 1, #SPOTS do
  2754.                     if SPOTS[i] ~= nil then
  2755.                         WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(8,2,8), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(192,192,192), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2756.                         WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(6,3,6), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(192,192,192), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2757.                     end
  2758.                 end
  2759.             end
  2760.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  2761.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2762.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(115), RAD(45), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2763.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2764.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2765.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2766.         until SELECTING == false
  2767.         Rooted = false
  2768.         repeat
  2769.             LOOP = LOOP + 1
  2770.             Swait()
  2771.             if LOOP >= 15 then
  2772.                 LOOP = 0
  2773.                 for i = 1, #SPOTS do
  2774.                     if SPOTS[i] ~= nil then
  2775.                         WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(8,2,8), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2776.                         WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(6,3,6), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2777.                     end
  2778.                 end
  2779.             end
  2780.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  2781.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 4 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
  2782.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2783.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2784.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2785.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2786.         until ATTACK == false
  2787.     end))
  2788.     repeat
  2789.         repeat Swait() until HOLD == true
  2790.             local DIST = (RootPart.Position - Mouse.Hit.p).Magnitude
  2791.             if DIST > 9999 then
  2792.                 DIST = 9999
  2793.             end
  2794.             local RAY,RAYPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, DIST, workspace)
  2795.             local HITFLOOR,HITPOS,NORMAL = Raycast(RAYPOS+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 25*SIZE, Character)   
  2796.             if HITFLOOR ~= nil then
  2797.                 table.insert(SPOTS,CF(HITPOS,HITPOS+NORMAL) * ANGLES(RAD(90), RAD(0), RAD(0)))
  2798.                 WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(6,2,6), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.2,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = 90655239, SoundPitch = 1, SoundVolume = 6})
  2799.                 WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(4,3,4), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.2,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2800.             end
  2801.         repeat Swait() until HOLD == false
  2802.     until #SPOTS == 5
  2803.     SELECTING = false
  2804.     for i = 1, #SPOTS do
  2805.         if SPOTS[i] ~= nil then
  2806.             local POS = SPOTS[i]
  2807.             coroutine.resume(coroutine.create(function()
  2808.                 local MISSILE = IT("Model",Effects)
  2809.                 MISSILE.Name = "Missile"
  2810.                 local BASEPART = CreatePart(3, MISSILE, "Neon", 0, 1, "Bright red", "Part", VT(2,2,2))
  2811.                 MakeForm(BASEPART,"Cyl")
  2812.                 MISSILE.PrimaryPart = BASEPART
  2813.                 BASEPART.CFrame = POS*CF(0,-30*3,0)
  2814.                 local HEAD = CreatePart(3, MISSILE, "Neon", 0, 1, "Bright red", "Part", VT(2,4,2))
  2815.                 MakeForm(HEAD,"Ball")
  2816.                 HEAD.CFrame = BASEPART.CFrame*CF(0,1,0)
  2817.                 local TAIL = CreatePart(3, MISSILE, "Neon", 0, 1, "Bright red", "Part", VT(2.5,0.1,2.5))
  2818.                 MakeForm(TAIL,"Cyl")
  2819.                 TAIL.CFrame = BASEPART.CFrame*CF(0,-1,0)
  2820.                 for i = 1, 15 do
  2821.                     Swait()
  2822.                     for _, c in pairs(MISSILE:GetChildren()) do
  2823.                         if c.ClassName == "Part" then
  2824.                             c.Transparency = c.Transparency - 1/10
  2825.                         end
  2826.                     end
  2827.                 end
  2828.                 for i = 1, 15*1.5 do
  2829.                     Swait()
  2830.                     MISSILE:SetPrimaryPartCFrame(BASEPART.CFrame*CF(0,1.35*3,0))
  2831.                 end
  2832.                 ApplyAoE(BASEPART.CFrame.p,20,35,45,75,false)
  2833.                 WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(75,1,75), Transparency = 0.5, Transparency2 = 1, CFrame = BASEPART.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
  2834.                 WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(35,35,35), Transparency = 0, Transparency2 = 1, CFrame = BASEPART.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = 165970126, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 4})
  2835.                 WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(22,2,22), Transparency = 0, Transparency2 = 1, CFrame = POS * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2836.                 WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(20,3,20), Transparency = 0, Transparency2 = 1, CFrame = POS * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2837.                 MISSILE:remove()
  2838.             end))
  2839.         end
  2840.     end
  2841.     wait(0.6)
  2842.     ATTACK = false
  2843.     Rooted = false
  2844. end
  2845.  
  2846. function TimesUp()
  2847.     CLOCKTARGET = nil
  2848.     if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  2849.         local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  2850.         local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  2851.         if TORSO then
  2852.             ATTACK = true
  2853.             Rooted = false
  2854.             coroutine.resume(coroutine.create(function()
  2855.                 repeat
  2856.                     Swait()
  2857.                     RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  2858.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2859.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.5*SIZE, -0.2*SIZE) * ANGLES(RAD(75), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2860.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2861.                     RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2862.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2863.                 until ATTACK == false
  2864.             end))
  2865.             if Effects:FindFirstChild("NeonDoll") then
  2866.                 repeat Swait() until Effects:FindFirstChild("NeonDoll") == nil
  2867.             end
  2868.             wait(0.5)
  2869.             local FAKECHARACTER = IT("Model",Effects)
  2870.             FAKECHARACTER.Name = "NeonDoll"
  2871.             local TORS = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.3,0.3,0.15),false)
  2872.             CreateWeldOrSnapOrMotor("Weld", RING, RING, TORS, CF(0,0.6,0), CF(0,0,0))
  2873.             local LEG = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.15,0.3,0.15),false)
  2874.             CreateWeldOrSnapOrMotor("Weld", TORS, TORS, LEG, CF(0.15/2,-0.15,0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0,0.15,0))
  2875.             local LEG = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.15,0.3,0.15),false)
  2876.             CreateWeldOrSnapOrMotor("Weld", TORS, TORS, LEG, CF(-0.15/2,-0.15,0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0,0.15,0))
  2877.             local ARM = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.15,0.3,0.15),false)
  2878.             CreateWeldOrSnapOrMotor("Weld", TORS, TORS, ARM, CF(0.15,0.15/2,0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0,0.15,0))
  2879.             local ARM = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.15,0.3,0.15),false)
  2880.             CreateWeldOrSnapOrMotor("Weld", TORS, TORS, ARM, CF(-0.15,0.15/2,0) * ANGLES(RAD(0), RAD(0), RAD(-90)), CF(0,0.15,0))
  2881.             local HEAD = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.15,0.15,0.15),false)
  2882.             CreateWeldOrSnapOrMotor("Weld", TORS, TORS, HEAD, CF(0,0.225,0), CF(0,0,0))
  2883.             CreateSound(201858045, TORS, 5, 0.4, false)
  2884.             for i = 1, 50 do
  2885.                 Swait()
  2886.                 CLOCKSPEED = 2.5
  2887.                 for _, c in pairs(FAKECHARACTER:GetChildren()) do
  2888.                     if c.ClassName == "Part" then
  2889.                         c.Transparency = c.Transparency - 0.5/150
  2890.                     end
  2891.                 end
  2892.             end
  2893.             CLOCKTARGET = HUM
  2894.             coroutine.resume(coroutine.create(function()
  2895.                 repeat Swait() CLOCKSPEED = 2 until CLOCKTARGET == nil
  2896.                 for i = 1, 25 do
  2897.                     Swait()
  2898.                     for _, c in pairs(FAKECHARACTER:GetChildren()) do
  2899.                         if c.ClassName == "Part" then
  2900.                             c.Transparency = c.Transparency + 0.5/25
  2901.                         end
  2902.                     end
  2903.                 end
  2904.                 CLOCKSPEED = 2.5
  2905.                 FAKECHARACTER:remove()
  2906.             end))
  2907.             wait(0.5)
  2908.             ATTACK = false
  2909.             Rooted = false
  2910.         end
  2911.     end
  2912. end
  2913.  
  2914. function ChainPunch()
  2915.     ATTACK = true
  2916.     Rooted = false
  2917.     local GYRO = IT("BodyGyro",RootPart)
  2918.     GYRO.D = 25
  2919.     GYRO.P = 2000
  2920.     GYRO.MaxTorque = VT(0,40000,0)
  2921.     GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2922.     repeat
  2923.         Swait()
  2924.         GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2925.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  2926.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 4 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
  2927.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(90), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2928.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2929.         RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2930.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2931.     until HOLD == true
  2932.     local POS = Mouse.Hit.p
  2933.     local CHAINS = false
  2934.     local CHAINLINKS = {}
  2935.     local A = IT("Attachment",RightArm)
  2936.     A.Position = VT(1,-1,0)*SIZE
  2937.     A.Orientation = VT(-90, -89.982, 0)
  2938.     local B = IT("Attachment",RightArm)
  2939.     B.Position = VT(-1,-1,0)*SIZE
  2940.     B.Orientation = VT(-90, 89.988, 0)
  2941.     local C = IT("Attachment",RightArm)
  2942.     C.Position = VT(0.5,-1.3,0)*SIZE
  2943.     C.Orientation = VT(-90, -89.982, 0)
  2944.     local D = IT("Attachment",RightArm)
  2945.     D.Position = VT(-0.5,-1.3,0)*SIZE
  2946.     D.Orientation = VT(-90, 89.988, 0)
  2947.     local LIGHT = IT("Attachment",RightArm)
  2948.     LIGHT.Position = VT(0,-1,0)*SIZE
  2949.     local LIGHT2 = IT("PointLight",LIGHT)
  2950.     LIGHT2.Range = 7
  2951.     LIGHT2.Brightness = 5
  2952.     LIGHT2.Color = SKILLTEXTCOLOR
  2953.     for i = 1, 2 do
  2954.         local TWIST = -2
  2955.         local START = A
  2956.         local END = B
  2957.         if i == 1 then
  2958.             START = B
  2959.             END = A
  2960.         end
  2961.         local ChainLink = IT("Beam",Torso)
  2962.         ChainLink.Texture = "rbxassetid://73042633"
  2963.         ChainLink.Color = ColorSequence.new(SKILLTEXTCOLOR)
  2964.         ChainLink.TextureSpeed = 1
  2965.         ChainLink.Width0 = 1
  2966.         ChainLink.Width1 = 1
  2967.         ChainLink.TextureLength = 2.5
  2968.         ChainLink.Attachment0 = START
  2969.         ChainLink.Attachment1 = END
  2970.         ChainLink.CurveSize0 = TWIST
  2971.         ChainLink.CurveSize1 = TWIST
  2972.         --ChainLink.FaceCamera = true
  2973.         ChainLink.Segments = 45
  2974.         ChainLink.Transparency = NumberSequence.new(1)
  2975.         table.insert(CHAINLINKS,ChainLink)
  2976.     end
  2977.     for i = 1, 2 do
  2978.         local TWIST = -1
  2979.         local START = C
  2980.         local END = D
  2981.         if i == 1 then
  2982.             START = D
  2983.             END = C
  2984.         end
  2985.         local ChainLink = IT("Beam",Torso)
  2986.         ChainLink.Texture = "rbxassetid://73042633"
  2987.         ChainLink.Color = ColorSequence.new(SKILLTEXTCOLOR)
  2988.         ChainLink.TextureSpeed = 1
  2989.         ChainLink.Width0 = 1
  2990.         ChainLink.Width1 = 1
  2991.         ChainLink.TextureLength = 5
  2992.         ChainLink.Attachment0 = START
  2993.         ChainLink.Attachment1 = END
  2994.         ChainLink.CurveSize0 = TWIST
  2995.         ChainLink.CurveSize1 = TWIST
  2996.         --ChainLink.FaceCamera = true
  2997.         ChainLink.Segments = 25
  2998.         ChainLink.LightEmission = 0.5
  2999.         ChainLink.Transparency = NumberSequence.new(1)
  3000.         table.insert(CHAINLINKS,ChainLink)
  3001.     end
  3002.     coroutine.resume(coroutine.create(function()
  3003.         repeat
  3004.             Swait()
  3005.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  3006.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed)
  3007.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0.2*SIZE) * ANGLES(RAD(60), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3008.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3009.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3010.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3011.         until CHAINS == true
  3012.         repeat
  3013.             Swait()
  3014.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  3015.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 1 / Animation_Speed)
  3016.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, -0.2*SIZE) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3017.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3018.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3019.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3020.         until ATTACK == false
  3021.         for e = 1, 15 do
  3022.             Swait()
  3023.             for i = 1, #CHAINLINKS do
  3024.                 CHAINLINKS[i].Transparency = NumberSequence.new((e/15))
  3025.             end
  3026.         end
  3027.         A:remove()
  3028.         B:remove()
  3029.         C:remove()
  3030.         D:remove()
  3031.     end))
  3032.     CreateSound(233856115, RightArm, 5, 1.2, false)
  3033.     for e = 1, 15 do
  3034.         Swait()
  3035.         for i = 1, #CHAINLINKS do
  3036.             CHAINLINKS[i].Transparency = NumberSequence.new(1-(e/15))
  3037.         end
  3038.     end
  3039.     CHAINS = true
  3040.     Rooted = false
  3041.     wait(0.25)
  3042.     local FIST = CreatePart(3, Effects, "Neon", 0, 0.5, "Mid grey", "Part", VT(2,2,2))
  3043.     FIST.Color = C3(1, 215/255, 1)
  3044.     FIST.CFrame = CF(RightArm.CFrame*CF(0,-1.3*SIZE,0).p,POS) * ANGLES(RAD(90), RAD(0), RAD(0))
  3045.     local LIGHT3 = IT("PointLight",FIST)
  3046.     LIGHT3.Range = 7
  3047.     LIGHT3.Brightness = 5
  3048.     LIGHT3.Color = SKILLTEXTCOLOR
  3049.     CreateMesh("SpecialMesh", FIST, "FileMesh", "90718752", "", VT(10,10,10), VT(0,0,0))
  3050.     local FISTA = IT("Attachment",FIST)
  3051.     FISTA.Position = VT(0.062, 0.977, 0)
  3052.     local ChainLink = IT("Beam",Torso)
  3053.     ChainLink.Texture = "rbxassetid://73042633"
  3054.     ChainLink.Color = ColorSequence.new(SKILLTEXTCOLOR)
  3055.     ChainLink.TextureSpeed = 0
  3056.     ChainLink.Width0 = 3
  3057.     ChainLink.Width1 = 3
  3058.     ChainLink.TextureLength = 12
  3059.     ChainLink.Attachment0 = LIGHT
  3060.     ChainLink.Attachment1 = FISTA
  3061.     ChainLink.FaceCamera = true
  3062.     ChainLink.Segments = 45
  3063.     ChainLink.LightEmission = 0.5
  3064.     ChainLink.Transparency = NumberSequence.new(0.25)
  3065.     local FISTSOUND = CreateSound(288641686, FIST, 5, 1.2, false)
  3066.     for i = 1, 85 do
  3067.         Swait()
  3068.         FIST.CFrame = FIST.CFrame*CF(0,-2,0)
  3069.         ChainLink.TextureLength = 12+(i*2)
  3070.         ApplyAoE(FIST.Position,10,15,25,100,false)
  3071.         WACKYEFFECT({Time = 5, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(15,1,15), Transparency = 0.5, Transparency2 = 1, CFrame = FIST.CFrame*CF(0,-1,0) * ANGLES(RAD(0), RAD(i*15), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3072.         local HITFLOOR = Raycast(FIST.Position, (CF(FIST.Position, FIST.CFrame*CF(0,-1,0).p)).lookVector, 2.1, Character)
  3073.         if HITFLOOR ~= nil then
  3074.             HITFLOOR:BreakJoints()
  3075.             coroutine.resume(coroutine.create(function()
  3076.                 for i = 1, 15 do
  3077.                     Swait()
  3078.                     FISTSOUND.Volume = FISTSOUND.Volume - 0.15
  3079.                     ApplyAoE(FIST.Position,10+(i*2),5,15,5,false)
  3080.                     WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35), Transparency = 0.5, Transparency2 = 1, CFrame = FIST.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3081.                 end
  3082.             end))
  3083.             break
  3084.         end
  3085.     end
  3086.     coroutine.resume(coroutine.create(function()
  3087.         for i = 1, 50 do
  3088.             Swait()
  3089.             FIST.Transparency = FIST.Transparency + 0.5/50
  3090.             LIGHT3.Range = LIGHT3.Range - 7/50
  3091.         end
  3092.         FIST:remove()
  3093.     end))
  3094.     LIGHT:remove()
  3095.     GYRO:remove()
  3096.     ATTACK = false
  3097.     Rooted = false
  3098. end
  3099.  
  3100. function WarpMeteor()
  3101.     local DIST = (RootPart.Position - Mouse.Hit.p).Magnitude
  3102.     if DIST > 9999 then
  3103.         DIST = 9999
  3104.     end
  3105.     local RAY,RAYPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, DIST, workspace)
  3106.     local HITFLOOR,HITPOS,NORMAL = Raycast(RAYPOS+VT(0,45,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 75*SIZE, Character)
  3107.     if HITFLOOR then
  3108.         local POS = HITPOS 
  3109.         ATTACK = true
  3110.         Rooted = false
  3111.         local WARPED = false
  3112.         local SMASHED = false
  3113.         local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
  3114.         coroutine.resume(coroutine.create(function()
  3115.             repeat
  3116.                 Swait()
  3117.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3118.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3119.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(-55 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3120.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3121.                 RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3122.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3123.             until WARPED == true
  3124.             repeat
  3125.                 Swait()
  3126.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3127.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3128.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(-55 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3129.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3130.                 RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE + 0.06 * SIN(SINE / 24) - 0.1*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3131.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.1*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3132.             until SMASHED == true
  3133.             repeat
  3134.                 Swait()
  3135.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(90), RAD(0), RAD(0)), 1 / Animation_Speed)
  3136.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-40), RAD(0), RAD(0)), 1 / Animation_Speed)
  3137.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(170), RAD(-15), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3138.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(170), RAD(15), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3139.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
  3140.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  3141.             until ATTACK == false
  3142.         end))
  3143.         VALUE1 = true
  3144.         CreateSound(233856115, Torso, 5, 1.6, false)
  3145.         for i = 1, 25 do
  3146.             Swait()
  3147.             for _, c in pairs(Character:GetChildren()) do
  3148.                 if c.ClassName == "Part" then
  3149.                     c.Transparency = c.Transparency + 1/25
  3150.                 end
  3151.             end
  3152.             for _, c in pairs(Weapon:GetChildren()) do
  3153.                 if c.ClassName == "Part" then
  3154.                     c.Transparency = c.Transparency + 1/25
  3155.                 end
  3156.             end
  3157.         end
  3158.         UNANCHOR = false
  3159.         RootPart.Anchored = true
  3160.         RootPart.Velocity = VT(0,0,0)
  3161.         local ROOTPOS = RootPart.Position
  3162.         RootPart.CFrame = CF(POS+VT(0,300,0),VT(ROOTPOS.X,POS.Y+300,ROOTPOS.Z))
  3163.         WARPED = true
  3164.         for i = 1, 25 do
  3165.             Swait()
  3166.             for _, c in pairs(Character:GetChildren()) do
  3167.                 if c.ClassName == "Part" then
  3168.                     c.Transparency = c.Transparency - 1/25
  3169.                 end
  3170.             end
  3171.             for _, c in pairs(Weapon:GetChildren()) do
  3172.                 if c.ClassName == "Part" then
  3173.                     c.Transparency = c.Transparency - 1/25
  3174.                 end
  3175.             end
  3176.         end
  3177.         local SHELL = CreatePart(3, Effects, "Neon", 0, 1, "Mid grey", "Part", VT(0,0,0))
  3178.         SHELL.CFrame = RootPart.CFrame
  3179.         MakeForm(SHELL,"Ball")
  3180.         CreateSound(402981977, SHELL, 5, 1.6, false)
  3181.         for i = 1, 10 do
  3182.             Swait()
  3183.             SHELL.Transparency = SHELL.Transparency - 1/10
  3184.             SHELL.Size = SHELL.Size + VT(0.6,0.6,0.6)*1.8
  3185.         end
  3186.         for i = 1, math.ceil(75/2) do
  3187.             Swait()
  3188.             RootPart.CFrame = RootPart.CFrame*CF(0,-3.5*2,0)
  3189.             SHELL.CFrame = CF(RootPart.Position)
  3190.             WACKYEFFECT({Time = 5, EffectType = "Sphere", Size = SHELL.Size, Size2 = VT(5,3,5), Transparency = 0.5, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = SHELL.Position+VT(0,15,0), RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
  3191.         end
  3192.         RootPart.CFrame = CF(POS+VT(0,1,0),VT(ROOTPOS.X,HITPOS.Y+1,ROOTPOS.Z))
  3193.         SHELL.CFrame = CF(RootPart.Position)
  3194.         WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = SHELL.Size, Size2 = VT(35,35,35)*4, Transparency = 0, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = 165970126, SoundPitch = 0.75, SoundVolume = 6})
  3195.         WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(SHELL.Size.X,5,SHELL.Size.Z), Size2 = VT(45,3,45)*3.8, Transparency = 0, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
  3196.         WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(SHELL.Size.X,5,SHELL.Size.Z), Size2 = VT(45,3,45)*4, Transparency = 0, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
  3197.         for i = 1, 5 do
  3198.             WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35)*4, Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3199.         end
  3200.         SHELL:remove()
  3201.         ApplyAoE(RootPart.Position,75,35,75,175,false)
  3202.         SMASHED = true
  3203.         wait(1)
  3204.         VALUE1 = false
  3205.         UNANCHOR = true
  3206.         ATTACK = false
  3207.         Rooted = false
  3208.     end
  3209. end
  3210.  
  3211. function PandorasBox()
  3212.     local HITFLOOR,HITPOS = Raycast(RootPart.CFrame*CF(0,0,-6.5).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
  3213.     if HITFLOOR ~= nil then
  3214.         ATTACK = false
  3215.         Rooted = false
  3216.         local RINGSPIN = true
  3217.         local CONSTRUCTING = true
  3218.         local RING = CreatePart(3, Effects, "Neon", 0, 1, "Alder", "Ring", VT(0,0,0))
  3219.         RING.Color = C3(5,6,0)
  3220.         MakeForm(RING,"Cyl")
  3221.         RING.CFrame = CF(HITPOS)
  3222.         CreateSound(402981977, RING, 5, 1.2, false)
  3223.         coroutine.resume(coroutine.create(function()
  3224.             repeat
  3225.                 Swait()
  3226.                 RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  3227.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3228.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3229.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(115), RAD(45), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3230.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3231.                 RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3232.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3233.             until CONSTRUCTING == false
  3234.             repeat
  3235.                 Swait()
  3236.                 RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  3237.             until RINGSPIN == false
  3238.             for i = 1, 25 do
  3239.                 Swait()
  3240.                 RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  3241.                 RING.Size = RING.Size - VT(0.15,0,0.15)
  3242.                 --DECAL.Transparency = DECAL.Transparency + 1/25
  3243.                 RING.Transparency = RING.Transparency + 1/25
  3244.             end
  3245.             RING:remove()
  3246.         end))
  3247.         for i = 1, 15 do
  3248.             Swait()
  3249.             RING.Size = RING.Size + VT(0.75,0,0.75)
  3250.             RING.Transparency = RING.Transparency - 1/15
  3251.         end
  3252.         local BOXSPIN = true
  3253.         local PANDORASBOX = IT("Model",Effects)
  3254.         PANDORASBOX.Name = "Box of wonders"
  3255.         local BOX = IT("Model",PANDORASBOX)
  3256.         BOX.Name = "Body"
  3257.         local LID = IT("Model",PANDORASBOX)
  3258.         LID.Name = "Lid"
  3259.         --BUILDING THE BOX--
  3260.             local BASE = CreatePart(3, BOX, "Neon", 0, 0, "Alder", "Black", VT(2,1.8,2))
  3261.             BASE.Color = C3(0,0,0)
  3262.             PANDORASBOX.PrimaryPart = BASE
  3263.             BASE.CFrame = CF(HITPOS+VT(0,-8,0),VT(RootPart.Position.X,HITPOS.Y-8,RootPart.Position.Z))
  3264.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
  3265.             WOOD.CFrame = BASE.CFrame*CF(1,0,1)
  3266.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
  3267.             WOOD.CFrame = BASE.CFrame*CF(1,0,-1)
  3268.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
  3269.             WOOD.CFrame = BASE.CFrame*CF(-1,0,1)
  3270.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
  3271.             WOOD.CFrame = BASE.CFrame*CF(-1,0,-1)
  3272.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3273.             WOOD.CFrame = BASE.CFrame*CF(0,0.9,1)
  3274.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3275.             WOOD.CFrame = BASE.CFrame*CF(0,0.9,-1)
  3276.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3277.             WOOD.CFrame = BASE.CFrame*CF(1,0.9,0)
  3278.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3279.             WOOD.CFrame = BASE.CFrame*CF(-1,0.9,0)
  3280.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3281.             WOOD.CFrame = BASE.CFrame*CF(0,-0.9,1)
  3282.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3283.             WOOD.CFrame = BASE.CFrame*CF(0,-0.9,-1)
  3284.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3285.             WOOD.CFrame = BASE.CFrame*CF(1,-0.9,0)
  3286.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3287.             WOOD.CFrame = BASE.CFrame*CF(-1,-0.9,0)
  3288.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,1.9,0.1))
  3289.             WOOD.CFrame = BASE.CFrame*CF(0,0,1)
  3290.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,1.9,0.1))
  3291.             WOOD.CFrame = BASE.CFrame*CF(0,0,-1)
  3292.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(0.1,1.9,2.1))
  3293.             WOOD.CFrame = BASE.CFrame*CF(1,0,0)
  3294.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(0.1,1.9,2.1))
  3295.             WOOD.CFrame = BASE.CFrame*CF(-1,0,0)
  3296.             local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,0.1,2.1))
  3297.             WOOD.CFrame = BASE.CFrame*CF(0,-0.9,0)
  3298.             -------------
  3299.             local LIDPART = CreatePart(3, LID, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,0.1,2.1))
  3300.             LIDPART.CFrame = BASE.CFrame*CF(0,1,0)
  3301.             LID.PrimaryPart = LIDPART
  3302.             local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3303.             WOOD.CFrame = LIDPART.CFrame*CF(0,0,-1)
  3304.             local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3305.             WOOD.CFrame = LIDPART.CFrame*CF(0,0,1)
  3306.             local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3307.             WOOD.CFrame = LIDPART.CFrame*CF(1,0,0)
  3308.             local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3309.             WOOD.CFrame = LIDPART.CFrame*CF(-1,0,0)
  3310.             local DECAL = IT("Decal",LIDPART)
  3311.             DECAL.Face = "Top"
  3312.             DECAL.Texture = "http://www.roblox.com/asset/?id=1501226061"
  3313.             DECAL.Color3 = C3(5,6,0)
  3314.         --BUILDING THE BOX--
  3315.         coroutine.resume(coroutine.create(function()
  3316.             repeat
  3317.                 Swait()
  3318.                 PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * ANGLES(RAD(0), RAD(2.45), RAD(0)))
  3319.             until BOXSPIN == false
  3320.         end))
  3321.         for i = 1, 25 do
  3322.             Swait()
  3323.             PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * CF(0,1.5-(i/12.5),0))
  3324.         end
  3325.         wait(0.5)
  3326.         BOXSPIN = false
  3327.         CONSTRUCTING = false   
  3328.         coroutine.resume(coroutine.create(function()
  3329.             WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = LIDPART.Size, Size2 = VT(3,0,3)*4, Transparency = 0, Transparency2 = 1, CFrame = LIDPART.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 168586586, SoundPitch = 1.3, SoundVolume = 6})
  3330.             --[[for i = 1, 45 do
  3331.                 Swait()
  3332.                 LID:SetPrimaryPartCFrame(LIDPART.CFrame * CF(0,1.5-(i/12.5),0.5) * ANGLES(RAD(0.7), RAD(0), RAD(0)))
  3333.             end-
  3334.             LID:remove()]]--
  3335.             for _, c in pairs(LID:GetChildren()) do
  3336.                 if c.ClassName == "Part" then
  3337.                     c.Anchored = false
  3338.                     c.CanCollide = true
  3339.                     if c ~= LIDPART then
  3340.                         weldBetween(LIDPART,c)
  3341.                     end
  3342.                 end
  3343.             end
  3344.             LIDPART.Velocity = CF(LIDPART.Position,LIDPART.CFrame*CF(15,25,0).p).lookVector*65
  3345.             Debris:AddItem(LID,15)
  3346.             wait(0.5)
  3347.             local RANDOMEFFECT = MRANDOM(1,4)
  3348.             if RANDOMEFFECT == 1 then
  3349.                 for i = 1, 45 do
  3350.                     wait((2-(i/15))/15)
  3351.                     WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(0,MRANDOM(12,15),0) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,MRANDOM(1,5)), MoveToPos = BASE.Position, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.8, SoundVolume = 6})
  3352.                 end
  3353.                 wait(1)
  3354.                 WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(35,35,35)*12, Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = 165970126, SoundPitch = 0.75, SoundVolume = 6})
  3355.                 WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(45,3,45)*10, Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = 469345336, SoundPitch = 0.75, SoundVolume = 6})
  3356.                 WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(45,3,45)*9, Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
  3357.                 for i = 1, 5 do
  3358.                     WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35)*12, Transparency = 0.5, Transparency2 = 1, CFrame = BASE.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3359.                 end
  3360.                 ApplyAoE(BASE.Position,50,1,200,375,false)
  3361.                 ApplyAoE(BASE.Position,250,35,75,175,false)
  3362.             elseif RANDOMEFFECT == 2 then
  3363.                 local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "Alder", "Field", VT(0.3,0.3,0.3))
  3364.                 FIELD.CFrame = BASE.CFrame
  3365.                 MakeForm(FIELD,"Ball")
  3366.                 for i = 1, 50 do
  3367.                     Swait()
  3368.                     FIELD.Size = FIELD.Size + VT(0.01,0.01,0.01)
  3369.                     FIELD.CFrame = FIELD.CFrame * CF(0,0.75-(i/45),0)
  3370.                 end
  3371.                 wait(0.2)
  3372.                 local LOOP = CreateSound(1393698948, FIELD, 0, 1.2, true)
  3373.                 coroutine.resume(coroutine.create(function()
  3374.                     for i = 1, 75 do
  3375.                         Swait()
  3376.                         LOOP.Volume = LOOP.Volume + 10/75
  3377.                         LOOP.Parent = FIELD
  3378.                         local CHILDREN = workspace:GetDescendants()
  3379.                         for index, CHILD in pairs(CHILDREN) do
  3380.                             if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3381.                                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3382.                                 if HUM then
  3383.                                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3384.                                     if TORSO then
  3385.                                         if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
  3386.                                             HUM.Health = HUM.Health - 0.1
  3387.                                             TORSO.Velocity = VT(0,5,0)
  3388.                                             HUM.PlatformStand = true
  3389.                                             if TORSO.RotVelocity.Magnitude < 15 then
  3390.                                                 TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
  3391.                                             end
  3392.                                         end
  3393.                                     end
  3394.                                 end
  3395.                             end
  3396.                         end
  3397.                         FIELD.Size = FIELD.Size + VT(3,3,3)
  3398.                         FIELD.Transparency = FIELD.Transparency + 0.8/75
  3399.                     end
  3400.                     for i = 1, 500 do
  3401.                         Swait()
  3402.                         LOOP.Parent = FIELD
  3403.                         local CHILDREN = workspace:GetDescendants()
  3404.                         for index, CHILD in pairs(CHILDREN) do
  3405.                             if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3406.                                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3407.                                 if HUM then
  3408.                                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3409.                                     if TORSO then
  3410.                                         if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
  3411.                                             TORSO.Velocity = VT(0,5,0)
  3412.                                             HUM.Health = HUM.Health - 0.1
  3413.                                             HUM.PlatformStand = true
  3414.                                             if TORSO.RotVelocity.Magnitude < 15 then
  3415.                                                 TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
  3416.                                             end
  3417.                                         end
  3418.                                     end
  3419.                                 end
  3420.                             end
  3421.                         end
  3422.                     end
  3423.                     for i = 1, 25 do
  3424.                         Swait()
  3425.                         LOOP.Volume = LOOP.Volume + 10/25
  3426.                         LOOP.Parent = FIELD
  3427.                         local CHILDREN = workspace:GetDescendants()
  3428.                         for index, CHILD in pairs(CHILDREN) do
  3429.                             if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3430.                                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3431.                                 if HUM then
  3432.                                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3433.                                     if TORSO then
  3434.                                         if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/1.8 then
  3435.                                             TORSO.Velocity = VT(0,5,0)
  3436.                                             HUM.Health = HUM.Health - 0.1
  3437.                                             HUM.PlatformStand = false
  3438.                                             if TORSO.RotVelocity.Magnitude < 15 then
  3439.                                                 TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
  3440.                                             end
  3441.                                         end
  3442.                                     end
  3443.                                 end
  3444.                             end
  3445.                         end
  3446.                         FIELD.Size = FIELD.Size - VT(3,3,3)
  3447.                         FIELD.Transparency = FIELD.Transparency + 0.2/25
  3448.                     end
  3449.                     FIELD:remove()
  3450.                 end))
  3451.             elseif RANDOMEFFECT == 3 then
  3452.                 for i = 1, 10 do
  3453.                     wait(0.15)
  3454.                     WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(3,8,3), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(0,0.3,0), MoveToPos = BASE.Position+VT(0,6,0), RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 90655239, SoundPitch = 0.8, SoundVolume = 6})
  3455.                     coroutine.resume(coroutine.create(function()
  3456.                         local MINION = CLONE:Clone()
  3457.                         MINION.Parent = Effects
  3458.                         MINION.Name = "Shadow"
  3459.                         MINION.HumanoidRootPart.CFrame = BASE.CFrame*CF(0,5,0) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))
  3460.                         MINION.HumanoidRootPart.Velocity = CF(MINION.HumanoidRootPart.Position,MINION.HumanoidRootPart.CFrame*CF(0,8,-15).p).lookVector*MRANDOM(55,100)
  3461.                         for _, c in pairs(MINION:GetChildren()) do
  3462.                             if c.ClassName == "Part" then
  3463.                                 c.Material = "Neon"
  3464.                                 c.Color = C3(0,0,0)
  3465.                                 c.Transparency = 0.25
  3466.                                 if c.Name == "Head" then
  3467.                                     c:ClearAllChildren()
  3468.                                     local MSH = IT("BlockMesh",c)
  3469.                                     MSH.Scale = VT(0.5,1,1)
  3470.                                 end
  3471.                             end
  3472.                         end
  3473.                         local TORSO = MINION.Torso
  3474.                         local HUMAN = MINION.Humanoid
  3475.                         HUMAN.WalkSpeed = 100
  3476.                         HUMAN.MaxHealth = math.huge
  3477.                         HUMAN.Health = math.huge
  3478.                         HUMAN.DisplayDistanceType = "None"
  3479.                                                 HUMAN.Died:connect(function()
  3480.                             MINION:remove()
  3481.                             --CreateSound(SHOUTS[MRANDOM(1,3)], TORSO, 3, 0.5, false)
  3482.                         end)
  3483.                         wait(1)
  3484.                         local findNearestTorso = function(POS)
  3485.                             local list = game.Workspace:GetDescendants()
  3486.                             local torso = nil
  3487.                             local dist = 9999
  3488.                             local temp = nil
  3489.                             local human = nil
  3490.                             local temp2 = nil
  3491.                             for x = 1, #list do
  3492.                                 temp2 = list[x]
  3493.                                 if (temp2.className == "Model") and (temp2 ~= Character) and (temp2.Parent ~= Effects) then
  3494.                                     temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
  3495.                                     human = temp2:findFirstChildOfClass("Humanoid")
  3496.                                     if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
  3497.                                         if (temp.Position - POS).magnitude < dist then
  3498.                                             torso = temp
  3499.                                             dist = (temp.Position - POS).magnitude
  3500.                                         end
  3501.                                     end
  3502.                                 end
  3503.                             end
  3504.                             return torso, dist
  3505.                         end
  3506.                         for i = 1, 40 do
  3507.                             if HUMAN.Health == 0 then
  3508.                                 break
  3509.                             end
  3510.                             wait(0.3)
  3511.                             local target,dist= findNearestTorso(TORSO.Position)
  3512.                             if target then
  3513.                                 HUMAN:MoveTo(target.Position)
  3514.                                 if dist < 999 then
  3515.                                     CreateSound(348663022, TORSO, 10, 1, true)
  3516.                                     wait(0.5)
  3517.                                     --local ANIM = HUMAN:LoadAnimation(ATANIM)
  3518.                                     --ANIM:Play()
  3519.                                     --CreateSound(SHOUTS[MRANDOM(1,3)], TORSO, 1, 1, false)
  3520.                                     ApplyAoE(TORSO.Position,10,0,0,85,false)
  3521.                                     WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 201858087, SoundPitch = 0.8, SoundVolume = 10})
  3522.                                     for i = 1, 5 do
  3523.                                         WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(15,1,15), Transparency = 0.5, Transparency2 = 1, CFrame = TORSO.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-15,15)/7.5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3524.                                     end
  3525.                                     break
  3526.                                 end
  3527.                             end
  3528.                         end
  3529.                         MINION:remove()
  3530.                     end))
  3531.                 end
  3532.             elseif RANDOMEFFECT == 4 then
  3533.                 local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "Alder", "Field", VT(0.3,0.3,0.3))
  3534.                 FIELD.Color = C3(0,0,0)
  3535.                 FIELD.CFrame = BASE.CFrame
  3536.                 MakeForm(FIELD,"Ball")
  3537.                 FIELD.CanCollide = true
  3538.                 for i = 1, 50 do
  3539.                     Swait()
  3540.                     FIELD.Size = FIELD.Size + VT(0.01,0.01,0.01)
  3541.                     FIELD.CFrame = FIELD.CFrame * CF(0,0.75-(i/45),0)
  3542.                 end
  3543.                 wait(0.2)
  3544.                 local LOOP = CreateSound(487214658, FIELD, 0, 1, true)
  3545.                 coroutine.resume(coroutine.create(function()
  3546.                     local E = 0
  3547.                     for i = 1, 75 do
  3548.                         E = E + 1
  3549.                         Swait()
  3550.                         if E >= 35 then
  3551.                             E = 0
  3552.                             WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = FIELD.Size*30, Size2 = FIELD.Size, Transparency = 0.8, Transparency2 = 1, CFrame = FIELD.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = nil, SoundPitch = 1, SoundVolume = 6})
  3553.                         end
  3554.                         LOOP.Volume = LOOP.Volume + 10/75
  3555.                         LOOP.Parent = FIELD
  3556.                         local CHILDREN = workspace:GetDescendants()
  3557.                         for index, CHILD in pairs(CHILDREN) do
  3558.                             if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3559.                                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3560.                                 if HUM then
  3561.                                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3562.                                     if TORSO then
  3563.                                         if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X*30 then
  3564.                                             for _, c in pairs(CHILD:GetChildren()) do
  3565.                                                 if c:IsA("BasePart") then
  3566.                                                     local bv = Instance.new("BodyVelocity")
  3567.                                                     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  3568.                                                     bv.velocity = CF(FIELD.Position,c.Position).lookVector*-50
  3569.                                                     bv.Parent = c
  3570.                                                     Debris:AddItem(bv,0.05)
  3571.                                                 end
  3572.                                             end
  3573.                                             HUM.Health = HUM.Health - 0.3
  3574.                                         end
  3575.                                     end
  3576.                                 end
  3577.                             end
  3578.                         end
  3579.                         FIELD.Size = FIELD.Size + VT(0.3,0.3,0.3)/5
  3580.                     end
  3581.                     for i = 1, 180 do
  3582.                         E = E + 1
  3583.                         Swait()
  3584.                         if E >= 35 then
  3585.                             E = 0
  3586.                             WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = FIELD.Size*30, Size2 = FIELD.Size, Transparency = 0.8, Transparency2 = 1, CFrame = FIELD.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = nil, SoundPitch = 1, SoundVolume = 6})
  3587.                         end
  3588.                         LOOP.Parent = FIELD
  3589.                         local CHILDREN = workspace:GetDescendants()
  3590.                         for index, CHILD in pairs(CHILDREN) do
  3591.                             if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3592.                                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3593.                                 if HUM then
  3594.                                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3595.                                     if TORSO then
  3596.                                         if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X*30 then
  3597.                                             for _, c in pairs(CHILD:GetChildren()) do
  3598.                                                 if c:IsA("BasePart") then
  3599.                                                     local bv = Instance.new("BodyVelocity")
  3600.                                                     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  3601.                                                     bv.velocity = CF(FIELD.Position,c.Position).lookVector*-50
  3602.                                                     bv.Parent = c
  3603.                                                     Debris:AddItem(bv,0.05)
  3604.                                                 end
  3605.                                             end
  3606.                                             HUM.Health = HUM.Health - 0.3
  3607.                                         end
  3608.                                     end
  3609.                                 end
  3610.                             end
  3611.                         end
  3612.                     end
  3613.                     ApplyAoE(FIELD.Position,40,15,20,375,false)
  3614.                     WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = FIELD.Size, Size2 = VT(35,35,35), Transparency = 0, Transparency2 = 1, CFrame = FIELD.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = 231917744, SoundPitch = 1, SoundVolume = 6})
  3615.                     for i = 1, 5 do
  3616.                         WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35), Transparency = 0.5, Transparency2 = 1, CFrame = FIELD.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3617.                     end
  3618.                     FIELD:remove()
  3619.                 end))
  3620.             elseif RANDOMEFFECT == 5 then
  3621.             end
  3622.             wait(0.5)
  3623.             for i = 1, 25 do
  3624.                 Swait()
  3625.                 PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * CF(0,-0.3,0))
  3626.             end
  3627.             PANDORASBOX:remove()
  3628.             RINGSPIN = false
  3629.         end))
  3630.         ATTACK = false
  3631.         Rooted = false
  3632.     end
  3633. end
  3634.  
  3635. function Taunt()
  3636.     ATTACK = true
  3637.     local LAUGH = nil
  3638.     coroutine.resume(coroutine.create(function()
  3639.         repeat
  3640.             Swait()
  3641.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3642.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-45)), 1 / Animation_Speed)
  3643.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.15*SIZE, -0.5*SIZE) * ANGLES(RAD(170), RAD(-25), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3644.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3645.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3646.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3647.         until LAUGH ~= nil
  3648.         repeat
  3649.             Swait()
  3650.             LAUGH.Parent = Head
  3651.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0+(0.1*LAUGH.PlaybackLoudness/75) + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3652.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE+(0.1*LAUGH.PlaybackLoudness/75)) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-45)), 1 / Animation_Speed)
  3653.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.15*SIZE+(0.1*LAUGH.PlaybackLoudness/75), -0.5*SIZE) * ANGLES(RAD(170), RAD(-25), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3654.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE+(0.1*LAUGH.PlaybackLoudness/75), 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3655.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE-(0.1*LAUGH.PlaybackLoudness/75) + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3656.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE-(0.1*LAUGH.PlaybackLoudness/75) - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3657.         until LAUGH.Playing == false
  3658.     ATTACK = false
  3659.     end))
  3660.     wait(0.1)
  3661.     sick:Pause()
  3662.     LAUGH = CreateSound(137473066, Head, 10, 1, false)
  3663.     wait(1.5)
  3664.     sick:Resume()
  3665. end
  3666.  
  3667. --//=================================\\
  3668. --||      ASSIGN THINGS TO KEYS
  3669. --\\=================================//
  3670. function MouseDown(Mouse)
  3671.     HOLD = true
  3672.     if ATTACK == false then
  3673.     end
  3674. end
  3675.  
  3676. function MouseUp(Mouse)
  3677. HOLD = false
  3678. end
  3679.  
  3680. function KeyDown(Key)
  3681.     KEYHOLD = true
  3682.     if Key == "z" and ATTACK == false then
  3683.         MagicMissiles()
  3684.     end
  3685.  
  3686.     if Key == "b" and ATTACK == false then
  3687.         TimesUp()
  3688.     end
  3689.  
  3690.         if Key == "q" and ATTACK == false then
  3691.             CyberSmash()
  3692.         end
  3693.  
  3694.     if Key == "c" and ATTACK == false then
  3695.         ChainPunch()
  3696.     end
  3697.  
  3698.     if Key == "v" and ATTACK == false then
  3699.         WarpMeteor()
  3700.     end
  3701.  
  3702. if Key == "e" and ATTACK == false then
  3703.         Inferno_Ring()
  3704.     end
  3705.  
  3706.     if Key == "x" and ATTACK == false then
  3707.         PandorasBox()
  3708.     end
  3709.  
  3710.     KEYHOLD = true
  3711.     if Key == "f" and ATTACK == false then
  3712.         Banisher_Bullet()
  3713.     end
  3714.  
  3715.     if Key == "t" and ATTACK == false then
  3716.         Taunt()
  3717.     end
  3718. end
  3719.  
  3720. function KeyUp(Key)
  3721.     KEYHOLD = false
  3722. end
  3723.  
  3724.     Mouse.Button1Down:connect(function(NEWKEY)
  3725.         MouseDown(NEWKEY)
  3726.     end)
  3727.     Mouse.Button1Up:connect(function(NEWKEY)
  3728.         MouseUp(NEWKEY)
  3729.     end)
  3730.     Mouse.KeyDown:connect(function(NEWKEY)
  3731.         KeyDown(NEWKEY)
  3732.     end)
  3733.     Mouse.KeyUp:connect(function(NEWKEY)
  3734.         KeyUp(NEWKEY)
  3735.     end)
  3736.  
  3737. --//=================================\\
  3738. --\\=================================//
  3739.  
  3740.  
  3741. function unanchor()
  3742.     if UNANCHOR == true then
  3743.         RootPart.Anchored = false
  3744.     end
  3745.     g = Character:GetChildren()
  3746.     for i = 1, #g do
  3747.         if g[i].ClassName == "Part" and g[i] ~= RootPart then
  3748.             g[i].Anchored = false
  3749.         end
  3750.     end
  3751.     g = Weapon:GetChildren()
  3752.     for i = 1, #g do
  3753.         if g[i].ClassName == "Part" then
  3754.             g[i].Anchored = false
  3755.         end
  3756.     end
  3757. end
  3758.  
  3759.  
  3760. --//=================================\\
  3761. --||    WRAP THE WHOLE SCRIPT UP
  3762. --\\=================================//
  3763.  
  3764. Humanoid.Changed:connect(function(Jump)
  3765.     if Jump == "Jump" and (Disable_Jump == true) then
  3766.         Humanoid.Jump = false
  3767.     end
  3768. end)
  3769.  
  3770. local CONNECT = nil
  3771.  
  3772. while true do
  3773.     Swait()
  3774.            refit()
  3775.     script.Parent = WEAPONGUI
  3776.     for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  3777.         v:Stop();
  3778.     end
  3779.     ANIMATE.Parent = nil
  3780.     SINE = SINE + CHANGE*1.5
  3781.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  3782.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  3783.     local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
  3784.     local WALKSPEEDVALUE = 10 / (Humanoid.WalkSpeed / 16)
  3785.     if ANIM == "Walk" and TORSOVELOCITY > 1 then
  3786.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3787.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3788.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5*SIZE, 0.875*SIZE - 0.125 * SIN(SINE / WALKSPEEDVALUE)*SIZE - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0 +0.5+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(25+80 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3789.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5*SIZE, 0.875*SIZE + 0.125 * SIN(SINE / WALKSPEEDVALUE)*SIZE - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0 +0.5+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(-25+80 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3790.     elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  3791.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3792.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3793.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5*SIZE, 1*SIZE, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3794.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5*SIZE, 1*SIZE, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3795.     end
  3796.     if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  3797.         ANIM = "Jump"
  3798.         if ATTACK == false then
  3799.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3800.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
  3801.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3802.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3803.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
  3804.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
  3805.         end
  3806.     elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  3807.         ANIM = "Fall"
  3808.         if ATTACK == false then
  3809.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3810.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
  3811.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3812.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3813.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 1 / Animation_Speed)
  3814.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
  3815.         end
  3816.     elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  3817.         ANIM = "Idle"
  3818.         if ATTACK == false then
  3819.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3820.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3821.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(-55 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3822.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3823.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3824.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3825.         end
  3826.     elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  3827.         ANIM = "Walk"
  3828.         if ATTACK == false then
  3829.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, -0.1*SIZE) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
  3830.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(15 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 1/ Animation_Speed)
  3831.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(-55 + 2.5 * SIN(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3832.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(55 - 2.5 * SIN(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3833.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE , -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  3834.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  3835.         end
  3836.     end
  3837.     unanchor()
  3838.     Humanoid.MaxHealth = "inf"
  3839.     Humanoid.Health = "inf"
  3840.     if Rooted == false then
  3841.         Disable_Jump = false
  3842.         Humanoid.WalkSpeed = Speed
  3843.     elseif Rooted == true then
  3844.         Disable_Jump = true
  3845.         Humanoid.WalkSpeed = 0
  3846.     end
  3847.     for _, c in pairs(Character:GetChildren()) do
  3848.         if c.ClassName == "Part" and c.Name ~= "Detail" then
  3849.             c.Material = "Fabric"
  3850.             if c:FindFirstChildOfClass("ParticleEmitter") then
  3851.                 c:FindFirstChildOfClass("ParticleEmitter"):remove()
  3852.             end
  3853.             if c ~= Head then
  3854.                 c.Color = C3(1,1,1)
  3855.             else
  3856.                 c.Color = C3(1,1,1)
  3857.             end
  3858.             if c == Head then
  3859.                 if c:FindFirstChild("face") then
  3860.                     c.face:remove()
  3861.                 end
  3862.             end
  3863.         elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
  3864.             c:remove()
  3865.         elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
  3866.             c:remove()
  3867.         end
  3868.     end
  3869.     sick.SoundId = "rbxassetid://"..SONG
  3870.     sick.Looped = true
  3871.     sick.Pitch = 1
  3872.     sick.Volume = 5
  3873.     sick.Parent = Torso
  3874.     sick:Resume()
  3875.     --sick.Playing = false
  3876.     Humanoid.Name = "Corrupted Pandora = "..Player.Name
  3877. end
  3878.  
  3879. --//=================================\\
  3880. --\\=================================//
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886. --//====================================================\\--
  3887. --||                     END OF SCRIPT
  3888. --\\====================================================//--
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