SHARE
TWEET

Test

Basykung7845 Apr 25th, 2019 62 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  3. do
  4.     print("FE Compatibility code by Basykung7845")
  5.     script.Parent = Player.Character
  6.  
  7.     --RemoteEvent for communicating
  8.     local Event = Instance.new("RemoteEvent")
  9.     Event.Name = "UserInput_Event"
  10.  
  11.     --Fake event to make stuff like Mouse.KeyDown work
  12.     local function fakeEvent()
  13.         local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  14.         t.connect = t.Connect
  15.         return t
  16.     end
  17.  
  18.     --Creating fake input objects with fake variables
  19.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  20.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  21.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  22.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  23.     end}
  24.     --Merged 2 functions into one by checking amount of arguments
  25.     CAS.UnbindAction = CAS.BindAction
  26.  
  27.     --This function will trigger the events that have been :Connect()'ed
  28.     local function te(self,ev,...)
  29.         local t = m[ev]
  30.         if t and t._fakeEvent and t.Function then
  31.             t.Function(...)
  32.         end
  33.     end
  34.     m.TrigEvent = te
  35.     UIS.TrigEvent = te
  36.  
  37.     Event.OnServerEvent:Connect(function(plr,io)
  38.         if plr~=Player then return end
  39.         if io.isMouse then
  40.             m.Target = io.Target
  41.             m.Hit = io.Hit
  42.         else
  43.             local b = io.UserInputState == Enum.UserInputState.Begin
  44.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  45.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  46.             end
  47.             for _,t in pairs(CAS.Actions) do
  48.                 for _,k in pairs(t.Keys) do
  49.                     if k==io.KeyCode then
  50.                         t.Function(t.Name,io.UserInputState,io)
  51.                     end
  52.                 end
  53.             end
  54.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  55.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  56.         end
  57.     end)
  58.     Event.Parent = NLS([==[
  59.     local Player = game:GetService("Players").LocalPlayer
  60.     local Event = script:WaitForChild("UserInput_Event")
  61.  
  62.     local UIS = game:GetService("UserInputService")
  63.     local input = function(io,a)
  64.         if a then return end
  65.         --Since InputObject is a client-side instance, we create and pass table instead
  66.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  67.     end
  68.     UIS.InputBegan:Connect(input)
  69.     UIS.InputEnded:Connect(input)
  70.  
  71.     local Mouse = Player:GetMouse()
  72.     local h,t
  73.     --Give the server mouse data 30 times every second, but only if the values changed
  74.     --If player is not moving their mouse, client won't fire events
  75.     while wait(1/30) do
  76.         if h~=Mouse.Hit or t~=Mouse.Target then
  77.             h,t=Mouse.Hit,Mouse.Target
  78.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  79.         end
  80.     end]==],Player.Character)
  81.     Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  82. end
  83.  
  84. wait(0.2)
  85. Player = owner
  86. PlayerGui = Player.PlayerGui
  87. Cam = workspace.CurrentCamera
  88. Backpack = Player.Backpack
  89. Character = Player.Character
  90. Humanoid = Character.Humanoid
  91. RootPart = Character.HumanoidRootPart
  92. Torso = Character.Torso
  93. Head = Character.Head
  94. RightArm = Character["Right Arm"]
  95. LeftArm = Character["Left Arm"]
  96. RightLeg = Character["Right Leg"]
  97. LeftLeg = Character["Left Leg"]
  98. RootJoint = RootPart.RootJoint
  99. Neck = Torso.Neck
  100. RightShoulder = Torso["Right Shoulder"]
  101. LeftShoulder = Torso["Left Shoulder"]
  102. RightHip = Torso["Right Hip"]
  103. LeftHip = Torso["Left Hip"]
  104. local sick = Instance.new("Sound", Torso)
  105. sick.SoundId = "rbxassetid://142306659"
  106. sick.Looped = true
  107. sick.Pitch = 1
  108. sick.Volume = 3
  109. IT = Instance.new
  110. CF = CFrame.new
  111. VT = Vector3.new
  112. RAD = math.rad
  113. C3 = Color3.new
  114. UD2 = UDim2.new
  115. BRICKC = BrickColor.new
  116. ANGLES = CFrame.Angles
  117. EULER = CFrame.fromEulerAnglesXYZ
  118. COS = math.cos
  119. ACOS = math.acos
  120. SIN = math.sin
  121. ASIN = math.asin
  122. ABS = math.abs
  123. MRANDOM = math.random
  124. FLOOR = math.floor
  125. Animation_Speed = 3
  126. Frame_Speed = 0.016666666666666666
  127. local Speed = 16
  128. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  129. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  130. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  131. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  132. local DAMAGEMULTIPLIER = 1
  133. local ANIM = "Idle"
  134. local ATTACK = false
  135. local EQUIPPED = false
  136. local HOLD = false
  137. local COMBO = 1
  138. local Rooted = false
  139. local SINE = 0
  140. local KEYHOLD = false
  141. local CHANGE = 2 / Animation_Speed
  142. local WALKINGANIM = false
  143. local VALUE1 = false
  144. local VALUE2 = false
  145. local ROBLOXIDLEANIMATION = IT("Animation")
  146. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  147. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  148. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  149. WEAPONGUI.Name = "Weapon GUI"
  150. local Weapon = IT("Model")
  151. Weapon.Name = "Adds"
  152. local Effects = IT("Folder", Weapon)
  153. Effects.Name = "Effects"
  154. local ANIMATOR = Humanoid.Animator
  155. local ANIMATE = Character.Animate
  156. local UNANCHOR = true
  157. local RWINGS = {}
  158. local LWINGS = {}
  159. local EYE, PUPIL
  160. local BLINKLOOP = 0
  161. local FINISHEDINTRO = false
  162. local INTROING = false
  163. local INSTANT = false
  164. local EYES = {}
  165. ArtificialHB = Instance.new("BindableEvent", script)
  166. ArtificialHB.Name = "ArtificialHB"
  167. script:WaitForChild("ArtificialHB")
  168. frame = Frame_Speed
  169. tf = 0
  170. allowframeloss = false
  171. tossremainder = false
  172. lastframe = tick()
  173. script.ArtificialHB:Fire()
  174. game:GetService("RunService").Heartbeat:connect(function(s, p)
  175.     tf = tf + s
  176.     if tf >= frame then
  177.         if allowframeloss then
  178.             script.ArtificialHB:Fire()
  179.             lastframe = tick()
  180.         else
  181.             for i = 1, math.floor(tf / frame) do
  182.                 script.ArtificialHB:Fire()
  183.             end
  184.             lastframe = tick()
  185.         end
  186.         if tossremainder then
  187.             tf = 0
  188.         else
  189.             tf = tf - frame * math.floor(tf / frame)
  190.         end
  191.     end
  192. end)
  193. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  194.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  195. end
  196. function PositiveAngle(NUMBER)
  197.     if NUMBER >= 0 then
  198.         NUMBER = 0
  199.     end
  200.     return NUMBER
  201. end
  202. function NegativeAngle(NUMBER)
  203.     if NUMBER <= 0 then
  204.         NUMBER = 0
  205.     end
  206.     return NUMBER
  207. end
  208. function Swait(NUMBER)
  209.     if NUMBER == 0 or NUMBER == nil then
  210.         ArtificialHB.Event:wait()
  211.     else
  212.         for i = 1, NUMBER do
  213.             ArtificialHB.Event:wait()
  214.         end
  215.     end
  216. end
  217. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  218.     local NEWMESH = IT(MESH)
  219.     if MESH == "SpecialMesh" then
  220.         NEWMESH.MeshType = MESHTYPE
  221.         if MESHID ~= "nil" and MESHID ~= "" then
  222.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id=" .. MESHID
  223.         end
  224.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  225.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id=" .. TEXTUREID
  226.         end
  227.     end
  228.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  229.     NEWMESH.Scale = SCALE
  230.     NEWMESH.Parent = PARENT
  231.     return NEWMESH
  232. end
  233. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  234.     local NEWPART = IT("Part")
  235.     NEWPART.formFactor = FORMFACTOR
  236.     NEWPART.Reflectance = REFLECTANCE
  237.     NEWPART.Transparency = TRANSPARENCY
  238.     NEWPART.CanCollide = false
  239.     NEWPART.Locked = true
  240.     NEWPART.Anchored = true
  241.     if ANCHOR == false then
  242.         NEWPART.Anchored = false
  243.     end
  244.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  245.     NEWPART.Name = NAME
  246.     NEWPART.Size = SIZE
  247.     NEWPART.Position = Torso.Position
  248.     NEWPART.Material = MATERIAL
  249.     NEWPART:BreakJoints()
  250.     NEWPART.Parent = PARENT
  251.     return NEWPART
  252. end
  253. local weldBetween = function(a, b)
  254.     local weldd = Instance.new("ManualWeld")
  255.     weldd.Part0 = a
  256.     weldd.Part1 = b
  257.     weldd.C0 = CFrame.new()
  258.     weldd.C1 = b.CFrame:inverse() * a.CFrame
  259.     weldd.Parent = a
  260.     return weldd
  261. end
  262. function QuaternionFromCFrame(cf)
  263.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  264.     local trace = m00 + m11 + m22
  265.     if trace > 0 then
  266.         local s = math.sqrt(1 + trace)
  267.         local recip = 0.5 / s
  268.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  269.     else
  270.         local i = 0
  271.         if m00 < m11 then
  272.             i = 1
  273.         end
  274.         if m22 > (i == 0 and m00 or m11) then
  275.             i = 2
  276.         end
  277.         if i == 0 then
  278.             local s = math.sqrt(m00 - m11 - m22 + 1)
  279.             local recip = 0.5 / s
  280.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  281.         elseif i == 1 then
  282.             local s = math.sqrt(m11 - m22 - m00 + 1)
  283.             local recip = 0.5 / s
  284.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  285.         elseif i == 2 then
  286.             local s = math.sqrt(m22 - m00 - m11 + 1)
  287.             local recip = 0.5 / s
  288.             return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  289.         end
  290.     end
  291. end
  292. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  293.     local xs, ys, zs = x + x, y + y, z + z
  294.     local wx, wy, wz = w * xs, w * ys, w * zs
  295.     local xx = x * xs
  296.     local xy = x * ys
  297.     local xz = x * zs
  298.     local yy = y * ys
  299.     local yz = y * zs
  300.     local zz = z * zs
  301.     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))
  302. end
  303. function QuaternionSlerp(a, b, t)
  304.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  305.     local startInterp, finishInterp
  306.     if cosTheta >= 1.0E-4 then
  307.         if 1 - cosTheta > 1.0E-4 then
  308.             local theta = ACOS(cosTheta)
  309.             local invSinTheta = 1 / SIN(theta)
  310.             startInterp = SIN((1 - t) * theta) * invSinTheta
  311.             finishInterp = SIN(t * theta) * invSinTheta
  312.         else
  313.             startInterp = 1 - t
  314.             finishInterp = t
  315.         end
  316.     elseif 1 + cosTheta > 1.0E-4 then
  317.         local theta = ACOS(-cosTheta)
  318.         local invSinTheta = 1 / SIN(theta)
  319.         startInterp = SIN((t - 1) * theta) * invSinTheta
  320.         finishInterp = SIN(t * theta) * invSinTheta
  321.     else
  322.         startInterp = t - 1
  323.         finishInterp = t
  324.     end
  325.     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
  326. end
  327. function Clerp(a, b, t)
  328.     local qa = {
  329.         QuaternionFromCFrame(a)
  330.     }
  331.     local qb = {
  332.         QuaternionFromCFrame(b)
  333.     }
  334.     local ax, ay, az = a.x, a.y, a.z
  335.     local bx, by, bz = b.x, b.y, b.z
  336.     local _t = 1 - t
  337.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  338. end
  339. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  340.     local frame = IT("Frame")
  341.     frame.BackgroundTransparency = TRANSPARENCY
  342.     frame.BorderSizePixel = BORDERSIZEPIXEL
  343.     frame.Position = POSITION
  344.     frame.Size = SIZE
  345.     frame.BackgroundColor3 = COLOR
  346.     frame.BorderColor3 = BORDERCOLOR
  347.     frame.Name = NAME
  348.     frame.Parent = PARENT
  349.     return frame
  350. end
  351. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  352.     local label = IT("TextLabel")
  353.     label.BackgroundTransparency = 1
  354.     label.Size = UD2(1, 0, 1, 0)
  355.     label.Position = UD2(0, 0, 0, 0)
  356.     label.TextColor3 = TEXTCOLOR
  357.     label.TextStrokeTransparency = STROKETRANSPARENCY
  358.     label.TextTransparency = TRANSPARENCY
  359.     label.FontSize = TEXTFONTSIZE
  360.     label.Font = TEXTFONT
  361.     label.BorderSizePixel = BORDERSIZEPIXEL
  362.     label.TextScaled = false
  363.     label.Text = TEXT
  364.     label.Name = NAME
  365.     label.Parent = PARENT
  366.     return label
  367. end
  368. function NoOutlines(PART)
  369.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  370. end
  371. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  372.     local NEWWELD = IT(TYPE)
  373.     NEWWELD.Part0 = PART0
  374.     NEWWELD.Part1 = PART1
  375.     NEWWELD.C0 = C0
  376.     NEWWELD.C1 = C1
  377.     NEWWELD.Parent = PARENT
  378.     return NEWWELD
  379. end
  380. local S = IT("Sound")
  381. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  382.     local NEWSOUND
  383.     coroutine.resume(coroutine.create(function()
  384.         NEWSOUND = S:Clone()
  385.         NEWSOUND.Parent = PARENT
  386.         NEWSOUND.Volume = VOLUME
  387.         NEWSOUND.Pitch = PITCH
  388.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id=" .. ID
  389.         NEWSOUND:play()
  390.         if DOESLOOP == true then
  391.             NEWSOUND.Looped = true
  392.         else
  393.             repeat
  394.                 Swait()
  395.             until NEWSOUND.Playing == false
  396.             NEWSOUND:remove()
  397.         end
  398.     end))
  399.     return NEWSOUND
  400. end
  401. function CFrameFromTopBack(at, top, back)
  402.     local right = top:Cross(back)
  403.     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)
  404. end
  405. function WACKYEFFECT(Table)
  406.     local TYPE = Table.EffectType or "Sphere"
  407.     local SIZE = Table.Size or VT(1, 1, 1)
  408.     local ENDSIZE = Table.Size2 or VT(0, 0, 0)
  409.     local TRANSPARENCY = Table.Transparency or 0
  410.     local ENDTRANSPARENCY = Table.Transparency2 or 1
  411.     local CFRAME = Table.CFrame or Torso.CFrame
  412.     local MOVEDIRECTION = Table.MoveToPos or nil
  413.     local ROTATION1 = Table.RotationX or 0
  414.     local ROTATION2 = Table.RotationY or 0
  415.     local ROTATION3 = Table.RotationZ or 0
  416.     local MATERIAL = Table.Material or "Neon"
  417.     local COLOR = Table.Color or C3(1, 1, 1)
  418.     local TIME = Table.Time or 45
  419.     local SOUNDID = Table.SoundID or nil
  420.     local SOUNDPITCH = Table.SoundPitch or nil
  421.     local SOUNDVOLUME = Table.SoundVolume or nil
  422.     coroutine.resume(coroutine.create(function()
  423.         local PLAYSSOUND = false
  424.         local SOUND
  425.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1, 1, 1), true)
  426.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  427.             PLAYSSOUND = true
  428.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  429.         end
  430.         EFFECT.Color = COLOR
  431.         local MSH
  432.         if TYPE == "Sphere" then
  433.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0, 0, 0))
  434.         elseif TYPE == "Block" then
  435.             MSH = IT("BlockMesh", EFFECT)
  436.             MSH.Scale = VT(SIZE.X, SIZE.X, SIZE.X)
  437.         elseif TYPE == "Wave" then
  438.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0, 0, -SIZE.X / 8))
  439.         elseif TYPE == "Ring" then
  440.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X, SIZE.X, 0.1), VT(0, 0, 0))
  441.         elseif TYPE == "Slash" then
  442.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
  443.         elseif TYPE == "Round Slash" then
  444.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
  445.         elseif TYPE == "Swirl" then
  446.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0, 0, 0))
  447.         elseif TYPE == "Skull" then
  448.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0, 0, 0))
  449.         elseif TYPE == "Crystal" then
  450.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0, 0, 0))
  451.         end
  452.         if MSH ~= nil then
  453.             local MOVESPEED
  454.             if MOVEDIRECTION ~= nil then
  455.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude / TIME
  456.             end
  457.             local GROWTH = SIZE - ENDSIZE
  458.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  459.             if TYPE == "Block" then
  460.                 EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  461.             else
  462.                 EFFECT.CFrame = CFRAME
  463.             end
  464.             for LOOP = 1, TIME do
  465.                 Swait()
  466.                 MSH.Scale = MSH.Scale - GROWTH / TIME
  467.                 if TYPE == "Wave" then
  468.                     MSH.Offset = VT(0, 0, -MSH.Scale.X / 8)
  469.                 end
  470.                 EFFECT.Transparency = EFFECT.Transparency - TRANS / TIME
  471.                 if TYPE == "Block" then
  472.                     EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  473.                 else
  474.                     EFFECT.CFrame = EFFECT.CFrame * ANGLES(RAD(ROTATION1), RAD(ROTATION2), RAD(ROTATION3))
  475.                 end
  476.                 if MOVEDIRECTION ~= nil then
  477.                     local ORI = EFFECT.Orientation
  478.                     EFFECT.CFrame = CF(EFFECT.Position, MOVEDIRECTION) * CF(0, 0, -MOVESPEED)
  479.                     EFFECT.Orientation = ORI
  480.                 end
  481.             end
  482.             if PLAYSSOUND == false then
  483.                 EFFECT:remove()
  484.             else
  485.                 repeat
  486.                     Swait()
  487.                 until SOUND.Playing == false
  488.                 EFFECT:remove()
  489.             end
  490.         elseif PLAYSSOUND == false then
  491.             EFFECT:remove()
  492.         else
  493.             repeat
  494.                 Swait()
  495.             until SOUND.Playing == false
  496.             EFFECT:remove()
  497.         end
  498.     end))
  499. end
  500. function CreateDebreeRing(FLOOR, POSITION, SIZE, BLOCKSIZE, SWAIT)
  501.     if FLOOR ~= nil then
  502.         coroutine.resume(coroutine.create(function()
  503.             local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0, 0, 0))
  504.             PART.CFrame = CF(POSITION)
  505.             for i = 1, 45 do
  506.                 local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
  507.                 RingPiece.Material = FLOOR.Material
  508.                 RingPiece.Color = FLOOR.Color
  509.                 RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i * 8), RAD(0)) * CF(SIZE * 4, 0, 0) * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)))
  510.                 Debris:AddItem(RingPiece, SWAIT)
  511.             end
  512.             PART:remove()
  513.         end))
  514.     end
  515. end
  516. function CreateFlyingDebree(FLOOR, POSITION, AMOUNT, BLOCKSIZE, SWAIT, STRENGTH)
  517.     if FLOOR ~= nil then
  518.         for i = 1, AMOUNT do
  519.             do
  520.                 local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, 0, "Peal", "Debree", BLOCKSIZE, false)
  521.                 DEBREE.Material = FLOOR.Material
  522.                 DEBREE.Color = FLOOR.Color
  523.                 DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)))
  524.                 DEBREE.Velocity = VT(MRANDOM(-STRENGTH, STRENGTH), STRENGTH, MRANDOM(-STRENGTH, STRENGTH))
  525.                 coroutine.resume(coroutine.create(function()
  526.                     Swait(15)
  527.                     DEBREE.Parent = workspace
  528.                     DEBREE.CanCollide = true
  529.                     Debris:AddItem(DEBREE, SWAIT)
  530.                 end))
  531.             end
  532.         end
  533.     end
  534. end
  535. function MakeForm(PART, TYPE)
  536.     if TYPE == "Cyl" then
  537.         local MSH = IT("CylinderMesh", PART)
  538.     elseif TYPE == "Ball" then
  539.         local MSH = IT("SpecialMesh", PART)
  540.         MSH.MeshType = "Sphere"
  541.     elseif TYPE == "Wedge" then
  542.         local MSH = IT("SpecialMesh", PART)
  543.         MSH.MeshType = "Wedge"
  544.     end
  545. end
  546. function CheckTableForString(Table, String)
  547.     for i, v in pairs(Table) do
  548.         if string.find(string.lower(String), string.lower(v)) then
  549.             return true
  550.         end
  551.     end
  552.     return false
  553. end
  554. function CheckIntangible(Hit)
  555.     local ProjectileNames = {
  556.         "Water",
  557.         "Arrow",
  558.         "Projectile",
  559.         "Effect",
  560.         "Rail",
  561.         "Lightning",
  562.         "Bullet"
  563.     }
  564.     if Hit and Hit.Parent and (not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid") then
  565.         return true
  566.     end
  567.     return false
  568. end
  569. Debris = game:GetService("Debris")
  570. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  571.     local Ignore = type(Ignore) == "table" and Ignore or {Ignore}
  572.     local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Vec * Length), Ignore)
  573.     if RayHit and CheckIntangible(RayHit) then
  574.         if DelayIfHit then
  575.             wait()
  576.         end
  577.         RayHit, RayPos, RayNormal = CastZapRay(RayPos + Vec * 0.01, Vec, Length - (StartPos - RayPos).magnitude, Ignore, DelayIfHit)
  578.     end
  579.     return RayHit, RayPos, RayNormal
  580. end
  581. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  582.     local DIRECTION = CF(StartPos, EndPos).lookVector
  583.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  584. end
  585. function turnto(position)
  586.     RootPart.CFrame = CFrame.new(RootPart.CFrame.p, VT(position.X, RootPart.Position.Y, position.Z)) * CFrame.new(0, 0, 0)
  587. end
  588. BaseLightning = IT("Part")
  589. BaseLightning.Anchored = true
  590. BaseLightning.CanCollide = false
  591. BaseLightning.Material = "Neon"
  592. local LightningBolts = {}
  593. function Zap(Table)
  594.     local StartPos, TargetPos, Character, Color = Table.StartPosition, Table.TargetPosition, Table.Character, Table.Color
  595.     local Duration = Table.Duration or 2
  596.     local Offset = Table.Offset or 2
  597.     local Individualize = Table.Individualize or false
  598.     local MaxRange = Table.MaxRange or 200
  599.     local SegmentLength = Table.SegmentLength or 5
  600.     local Transparency = Table.Transparency or 0
  601.     local Ignore = Table.Ignore or {}
  602.     local SIZE = Table.SIZE or 0.3
  603.     if not (StartPos and TargetPos) or not Character then
  604.         return
  605.     end
  606.     local LightningModel = IT("Folder", Effects)
  607.     LightningModel.Name = "ZAPP"
  608.     for i, v in pairs({Character, LightningModel}) do
  609.         table.insert(Ignore, v)
  610.     end
  611.     local LastPos = StartPos
  612.     local Direction = CFrame.new(StartPos, TargetPos).lookVector
  613.     local RayHit, RayPos, RayNormal = CastZapRay(StartPos, Direction, MaxRange, Ignore, false)
  614.     local RayLength = (StartPos - RayPos).Magnitude
  615.     local Struck = false
  616.     local TotalSegments = math.ceil(RayLength / SegmentLength)
  617.     Direction = CFrame.new(StartPos, RayPos).lookVector
  618.     local LightningBolt = IT("Model", Effects)
  619.     LightningBolt.Name = "Lightning"
  620.     LastBolt = LightningBolt
  621.     Debris:AddItem(LightningBolt, Duration)
  622.     LightningBolt.Parent = LightningModel
  623.     for i = 1, TotalSegments do
  624.         if not Struck then
  625.             local Entropy = Vector3.new(math.random() * Offset * 2.5 - Offset, math.random() * Offset * 2.5 - Offset, math.random() * Offset * 2.5 - Offset)
  626.             local NewPos = StartPos + Direction * (RayLength * (i / TotalSegments)) + Entropy
  627.             local SegmentVec = NewPos - LastPos
  628.             local RayHit, RayPos, RayNormal = CastZapRay(LastPos, SegmentVec.Unit, SegmentVec.Magnitude, {Character, LightningModel}, false)
  629.             local RayVec = LastPos - RayPos
  630.             local LightningPart = BaseLightning:Clone()
  631.             LightningPart.BrickColor = BrickColor.new(Color)
  632.             LightningPart.Transparency = Transparency
  633.             LightningPart.Size = Vector3.new(SIZE, SIZE, RayVec.Magnitude)
  634.             LightningPart.CFrame = CFrame.new(LastPos, RayPos) * CFrame.new(0, 0, -(RayVec.Magnitude / 2))
  635.             local CylinderMesh = IT("CylinderMesh", LightningPart)
  636.             local OrigCF = LightningPart.CFrame
  637.             LightningPart.Size = Vector3.new(LightningPart.Size.X, LightningPart.Size.Z, LightningPart.Size.Y)
  638.             LightningPart.CFrame = OrigCF * CFrame.Angles(math.pi / 2, 0, 0)
  639.             LightningPart.Parent = LightningBolt
  640.             LastPos = NewPos
  641.         end
  642.     end
  643.     return {
  644.         RayHit = RayHit,
  645.         RayPos = RayPos,
  646.         RayNormal = RayNormal,
  647.         LightningModel = LightningModel
  648.     }
  649. end
  650. function Blink()
  651.     coroutine.resume(coroutine.create(function()
  652.         if EYE ~= nil and PUPIL ~= nil then
  653.             for i = 1, 5 do
  654.                 Swait()
  655.                 EYE.Mesh.Scale = EYE.Mesh.Scale - VT(0, 0.2, 0)
  656.                 PUPIL.Mesh.Scale = PUPIL.Mesh.Scale - VT(0, 0.2, 0)
  657.             end
  658.             for i = 1, 7 do
  659.                 Swait()
  660.                 EYE.Mesh.Scale = EYE.Mesh.Scale + VT(0, 0.2, 0)
  661.                 PUPIL.Mesh.Scale = PUPIL.Mesh.Scale + VT(0, 0.2, 0)
  662.             end
  663.             EYE.Mesh.Scale = VT(1, 1, 1)
  664.             PUPIL.Mesh.Scale = VT(1, 1, 1)
  665.         end
  666.     end))
  667. end
  668. local BODY = {}
  669. function Face()
  670.     local FACE = CreatePart(3, Weapon, "Fabric", 0, 0, "Dark stone grey", "Face", VT(1.01, 0.725, 1.01), false)
  671.     FACE.Color = C3(0, 0, 0)
  672.     Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  673.     CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0, 0.225, 0), CF(0, 0, 0))
  674.     EYE = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eyeball", VT(0.15, 0.3, 0.15), false)
  675.     MakeForm(EYE, "Ball")
  676.     CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0.15, 0.26, -0.55), CF(0, 0, 0))
  677.     PUPIL = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eyeball", VT(0.05, 0.2, 0.05), false)
  678.     PUPIL.Color = C3(0, 0, 0)
  679.     MakeForm(PUPIL, "Ball")
  680.     CreateWeldOrSnapOrMotor("Weld", Head, Head, PUPIL, CF(0.15, 0.26, -0.6), CF(0, 0, 0))
  681.     local LASTPART = Head
  682.     for i = 1, 30 do
  683.         local MATH = 1 - i / 40
  684.         if LASTPART == Head then
  685.             local Horn = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25 * MATH, 0.25, 0.25 * MATH), false)
  686.             CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.5, 0.35, -0.15) * ANGLES(RAD(-15), RAD(15), RAD(-15)), CF(0, 0, 0))
  687.             LASTPART = Horn
  688.             Horn.Color = C3((i * 2 - 2) / 255, (i * 2 - 2) / 255, (i * 2 - 2) / 255)
  689.         else
  690.             local Horn = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25 * MATH, 0.25, 0.25 * MATH), false)
  691.             CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y / 1.8, 0) * ANGLES(RAD(17), RAD(3), RAD(0)), CF(0, 0, 0))
  692.             LASTPART = Horn
  693.             Horn.Color = C3((i * 2 - 2) / 255, (i * 2 - 2) / 255, (i * 2 - 2) / 255)
  694.         end
  695.     end
  696.     local LASTPART = Head
  697.     for i = 1, 30 do
  698.         local MATH = 1 - i / 40
  699.         if LASTPART == Head then
  700.             local Horn = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25 * MATH, 0.25, 0.25 * MATH), false)
  701.             CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.5, 0.35, -0.15) * ANGLES(RAD(-15), RAD(-15), RAD(15)), CF(0, 0, 0))
  702.             LASTPART = Horn
  703.             Horn.Color = C3((i * 2 - 2) / 255, (i * 2 - 2) / 255, (i * 2 - 2) / 255)
  704.         else
  705.             local Horn = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25 * MATH, 0.25, 0.25 * MATH), false)
  706.             CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y / 1.8, 0) * ANGLES(RAD(17), RAD(-3), RAD(0)), CF(0, 0, 0))
  707.             LASTPART = Horn
  708.             Horn.Color = C3((i * 2 - 2) / 255, (i * 2 - 2) / 255, (i * 2 - 2) / 255)
  709.         end
  710.     end
  711.     BODY = {}
  712.     for _, c in pairs(Character:GetDescendants()) do
  713.         if c:IsA("BasePart") then
  714.             table.insert(BODY, {
  715.                 c,
  716.                 c.Parent,
  717.                 c.Material,
  718.                 c.Color
  719.             })
  720.         elseif c:IsA("JointInstance") then
  721.             table.insert(BODY, {
  722.                 c,
  723.                 c.Parent,
  724.                 nil,
  725.                 nil
  726.             })
  727.         end
  728.     end
  729. end
  730. function RightWing()
  731.     for i = 1, 2 do
  732.         local PART
  733.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
  734.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Wing, CF(0.8, 0.75 - 0.25 * i, 1) * ANGLES(RAD(0), RAD(-15 * i), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-30 * i)), CF(0, 0, 0))
  735.         table.insert(RWINGS, WingWeld)
  736.         PART = Wing
  737.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "LargeWing", VT(1, 1.7, 1), false)
  738.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.5, 0) * ANGLES(RAD(15), RAD(25), RAD(0)), CF(0, -0.8, 0))
  739.         PART = Wing
  740.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
  741.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.9, 0) * ANGLES(RAD(-8), RAD(0), RAD(0)), CF(0, 0, 0))
  742.         local Wing1 = CreatePart(3, Weapon, "Marble", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.2, 0.51), false)
  743.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0, 0, 0))
  744.         PART = Wing
  745.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.2, 0.5, 0.2), false)
  746.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.65, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), CF(0, 0, 0))
  747.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.8, 0.15, 0.15), false)
  748.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0.7, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  749.         local Wing1 = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Dark orange", "WingPart", VT(0.25, 0.2, 0.25), false)
  750.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, 0), CF(0, 0, 0))
  751.         PART = Wing
  752.         table.insert(RWINGS, WingWeld)
  753.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.4, 0.5, 0.4), false)
  754.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.65, 0) * ANGLES(RAD(-5), RAD(0), RAD(15)), CF(0, 0, 0))
  755.         local Wing1 = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Dark indigo", "WingPart", VT(0.45, 0.2, 0.45), false)
  756.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, 0), CF(0, 0, 0))
  757.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.15, 0.15), false)
  758.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0.8, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0, 0, 0))
  759.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.1, 0.1), false)
  760.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(1, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(-0.8, 0, 0))
  761.         PART = Wing
  762.         table.insert(RWINGS, WingWeld)
  763.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.2, 0.5, 0.2), false)
  764.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(-0.18, 0.25, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0, 0, 0))
  765.         PART = Wing
  766.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
  767.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.55, 0) * ANGLES(RAD(-15), RAD(15), RAD(15)), CF(0, 0, 0))
  768.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.3, 0.3), false)
  769.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0.8, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0, 0, 0))
  770.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark orange", "WingPart", VT(1, 0.2, 0.2), false)
  771.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(1, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(-0.8, 0.15, 0))
  772.         PART = Wing
  773.         table.insert(RWINGS, WingWeld)
  774.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "WingPart", VT(1, 1, 1), false)
  775.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0.4, 0.95, 0) * ANGLES(RAD(-5), RAD(0), RAD(15)), CF(0, 0, 0))
  776.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark orange", "WingPart", VT(0.3, 0.3, 0.3), false)
  777.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, -0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  778.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.7, 0.7, 0.7), false)
  779.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, -0.2) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
  780.         local Wing1 = CreatePart(3, Weapon, "Neon", 0, 0, "Burgundy", "WingPart", VT(0.45, 0.45, 0.45), false)
  781.         table.insert(EYES, Wing1)
  782.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, -0.35) * ANGLES(RAD(0), RAD(0), RAD(-35)), CF(0, 0, 0))
  783.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.1, 0.1), false)
  784.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0.8, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
  785.         PART = Wing
  786.         table.insert(RWINGS, WingWeld)
  787.     end
  788.     BODY = {}
  789.     for _, c in pairs(Character:GetDescendants()) do
  790.         if c:IsA("BasePart") then
  791.             table.insert(BODY, {
  792.                 c,
  793.                 c.Parent,
  794.                 c.Material,
  795.                 c.Color
  796.             })
  797.         elseif c:IsA("JointInstance") then
  798.             table.insert(BODY, {
  799.                 c,
  800.                 c.Parent,
  801.                 nil,
  802.                 nil
  803.             })
  804.         end
  805.     end
  806. end
  807. function LeftWing()
  808.     for i = 1, 2 do
  809.         local PART
  810.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
  811.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Wing, CF(-0.8, 0.75 - 0.25 * i, 1) * ANGLES(RAD(0), RAD(15 * i), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(30 * i)), CF(0, 0, 0))
  812.         table.insert(LWINGS, WingWeld)
  813.         PART = Wing
  814.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "LargeWing", VT(1, 1.7, 1), false)
  815.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.5, 0) * ANGLES(RAD(15), RAD(-25), RAD(0)), CF(0, -0.8, 0))
  816.         PART = Wing
  817.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
  818.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.9, 0) * ANGLES(RAD(-8), RAD(0), RAD(0)), CF(0, 0, 0))
  819.         local Wing1 = CreatePart(3, Weapon, "Marble", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.2, 0.51), false)
  820.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0, 0, 0))
  821.         PART = Wing
  822.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.2, 0.5, 0.2), false)
  823.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.65, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), CF(0, 0, 0))
  824.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.8, 0.15, 0.15), false)
  825.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-0.7, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  826.         local Wing1 = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Dark orange", "WingPart", VT(0.25, 0.2, 0.25), false)
  827.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, 0), CF(0, 0, 0))
  828.         PART = Wing
  829.         table.insert(LWINGS, WingWeld)
  830.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.4, 0.5, 0.4), false)
  831.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.65, 0) * ANGLES(RAD(-5), RAD(0), RAD(-15)), CF(0, 0, 0))
  832.         local Wing1 = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Dark indigo", "WingPart", VT(0.45, 0.2, 0.45), false)
  833.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, 0), CF(0, 0, 0))
  834.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.15, 0.15), false)
  835.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-0.8, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0, 0, 0))
  836.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.1, 0.1), false)
  837.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-1, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0.8, 0, 0))
  838.         PART = Wing
  839.         table.insert(LWINGS, WingWeld)
  840.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.2, 0.5, 0.2), false)
  841.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0.18, 0.25, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0, 0, 0))
  842.         PART = Wing
  843.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.5, 0.5, 0.5), false)
  844.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(0, 0.55, 0) * ANGLES(RAD(-15), RAD(-15), RAD(-15)), CF(0, 0, 0))
  845.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.3, 0.3), false)
  846.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-0.8, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0, 0, 0))
  847.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark orange", "WingPart", VT(1, 0.2, 0.2), false)
  848.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-1, 0.1, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0.8, 0.15, 0))
  849.         PART = Wing
  850.         table.insert(LWINGS, WingWeld)
  851.         local Wing = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "WingPart", VT(1, 1, 1), false)
  852.         local WingWeld = CreateWeldOrSnapOrMotor("Weld", PART, PART, Wing, CF(-0.4, 0.95, 0) * ANGLES(RAD(-5), RAD(0), RAD(-15)), CF(0, 0, 0))
  853.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark orange", "WingPart", VT(0.3, 0.3, 0.3), false)
  854.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, -0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  855.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(0.7, 0.7, 0.7), false)
  856.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, -0.2) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, 0, 0))
  857.         local Wing1 = CreatePart(3, Weapon, "Neon", 0, 0, "Burgundy", "WingPart", VT(0.45, 0.45, 0.45), false)
  858.         table.insert(EYES, Wing1)
  859.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(0, 0, -0.35) * ANGLES(RAD(0), RAD(0), RAD(35)), CF(0, 0, 0))
  860.         local Wing1 = CreatePart(3, Weapon, "Granite", 0, 0, "Dark stone grey", "WingPart", VT(1, 0.1, 0.1), false)
  861.         CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing1, CF(-0.8, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, 0, 0))
  862.         PART = Wing
  863.         table.insert(LWINGS, WingWeld)
  864.     end
  865.     BODY = {}
  866.     for _, c in pairs(Character:GetDescendants()) do
  867.         if c:IsA("BasePart") then
  868.             table.insert(BODY, {
  869.                 c,
  870.                 c.Parent,
  871.                 c.Material,
  872.                 c.Color
  873.             })
  874.         elseif c:IsA("JointInstance") then
  875.             table.insert(BODY, {
  876.                 c,
  877.                 c.Parent,
  878.                 nil,
  879.                 nil
  880.             })
  881.         end
  882.     end
  883. end
  884. for _, c in pairs(Weapon:GetChildren()) do
  885.     if c.ClassName == "Part" then
  886.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  887.     end
  888. end
  889. for _, c in pairs(Character:GetDescendants()) do
  890.     if c:IsA("BasePart") then
  891.         table.insert(BODY, {
  892.             c,
  893.             c.Parent,
  894.             c.Material,
  895.             c.Color
  896.         })
  897.     elseif c:IsA("JointInstance") then
  898.         table.insert(BODY, {
  899.             c,
  900.             c.Parent,
  901.             nil,
  902.             nil
  903.         })
  904.     end
  905. end
  906. for e = 1, #BODY do
  907.     if BODY[e] ~= nil then
  908.         do
  909.             local STUFF = BODY[e]
  910.             local PART = STUFF[1]
  911.             local PARENT = STUFF[2]
  912.             local MATERIAL = STUFF[3]
  913.             local COLOR = STUFF[4]
  914.             PART.AncestryChanged:Connect(function()
  915.                 if PART.ClassName == "Part" then
  916.                     PART.Material = MATERIAL
  917.                     PART.Color = COLOR
  918.                 end
  919.                 PART.Parent = PARENT
  920.             end)
  921.         end
  922.     end
  923. end
  924. function refit()
  925.     Weapon.Parent = Character
  926.     Character.Parent = workspace
  927.     for e = 1, #BODY do
  928.         if BODY[e] ~= nil then
  929.             local STUFF = BODY[e]
  930.             local PART = STUFF[1]
  931.             local PARENT = STUFF[2]
  932.             local MATERIAL = STUFF[3]
  933.             local COLOR = STUFF[4]
  934.             if PART.Parent ~= PARENT then
  935.                 Humanoid:remove()
  936.                 if PART.ClassName == "Part" then
  937.                     PART.Material = MATERIAL
  938.                     PART.Color = COLOR
  939.                 end
  940.                 PART.Parent = PARENT
  941.                 Humanoid = IT("Humanoid", Character)
  942.             end
  943.         end
  944.     end
  945. end
  946. local SKILLTEXTCOLOR = C3(0, 0, 0)
  947. local SKILLFONT = "SciFi"
  948. local SKILLTEXTSIZE = 7
  949. Weapon.Parent = Character
  950. Humanoid.Died:connect(function()
  951.     refit()
  952. end)
  953. local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.23, 0, 0.8, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 1 Frame")
  954. local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.5, 0, 0.8, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 2 Frame")
  955. local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.365, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 3 Frame")
  956. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Neck Snap", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 1")
  957. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Imperfect Command", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 2")
  958. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Fire At Will", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 3")
  959. function StatLabel(CFRAME, TEXT, COLOR)
  960.     local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  961.     STATPART.CFrame = CF(CFRAME.p, CFRAME.p + VT(MRANDOM(-5, 5), MRANDOM(0, 5), MRANDOM(-5, 5)))
  962.     local BODYGYRO = IT("BodyGyro", STATPART)
  963.     game:GetService("Debris"):AddItem(STATPART, 5)
  964.     local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  965.     BILLBOARDGUI.Adornee = STATPART
  966.     BILLBOARDGUI.Size = UD2(2.5, 0, 2.5, 0)
  967.     BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  968.     BILLBOARDGUI.AlwaysOnTop = false
  969.     local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  970.     TEXTLABEL.BackgroundTransparency = 1
  971.     TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  972.     TEXTLABEL.Text = TEXT
  973.     TEXTLABEL.Font = SKILLFONT
  974.     TEXTLABEL.FontSize = "Size42"
  975.     TEXTLABEL.TextColor3 = COLOR
  976.     TEXTLABEL.TextStrokeTransparency = 0
  977.     TEXTLABEL.TextScaled = true
  978.     TEXTLABEL.TextWrapped = true
  979.     coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  980.         for i = 1, 50 do
  981.             Swait()
  982.             STATPART.CFrame = STATPART.CFrame * CF(0, 0, -0.2)
  983.             TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + 0.02
  984.             TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  985.         end
  986.         THEPART.Parent = nil
  987.     end), STATPART, TEXTLABEL)
  988. end
  989. function Ragdoll(Character2, CharTorso, Headless, Velocity)
  990.     local svch = Character2
  991.     Character2:BreakJoints()
  992.     local hum = Character2:findFirstChild("Humanoid")
  993.     local q = Character2:GetChildren()
  994.     local CLONE = IT("Model", Effects)
  995.     for i = 1, #q do
  996.         if q[i].ClassName == "Accessory" and Headless == true then
  997.             q[i]:remove()
  998.         elseif q[i].ClassName ~= "Humanoid" and q[i].ClassName ~= "LocalScript" and q[i].ClassName ~= "Script" and q[i].ClassName ~= "Gear" then
  999.             q[i].Parent = CLONE
  1000.         elseif q[i].ClassName ~= "Humanoid" then
  1001.             q[i]:remove()
  1002.         end
  1003.     end
  1004.     local chrclone = CLONE
  1005.     local ch = chrclone:GetChildren()
  1006.     local i
  1007.     for i = 1, #ch do
  1008.         if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" or ch[i].ClassName == "Script" then
  1009.             ch[i]:remove()
  1010.         end
  1011.     end
  1012.     local function Scan(ch)
  1013.         local e
  1014.         for e = 1, #ch do
  1015.             Scan(ch[e]:GetChildren())
  1016.             if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
  1017.                 ch[e]:remove()
  1018.             end
  1019.         end
  1020.     end
  1021.     Character2:remove()
  1022.     local NEWHUM = IT("Humanoid")
  1023.     NEWHUM.Name = "Corpse"
  1024.     NEWHUM.Health = 0
  1025.     NEWHUM.MaxHealth = 0
  1026.     NEWHUM.PlatformStand = true
  1027.     NEWHUM.Parent = CLONE
  1028.     NEWHUM.DisplayDistanceType = "None"
  1029.     Scan(chrclone:GetChildren())
  1030.     local ch = Character2:GetChildren()
  1031.     local i
  1032.     for i = 1, #ch do
  1033.         if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
  1034.             ch[i]:remove()
  1035.         end
  1036.     end
  1037.     local ch = Character2:GetChildren()
  1038.     local i
  1039.     for i = 1, #ch do
  1040.         if ch[i].ClassName == "Part" or ch[i].ClassName == "Hat" or ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
  1041.             ch[i]:remove()
  1042.         end
  1043.     end
  1044.     Character2 = chrclone
  1045.     local Torso2 = Character2.Torso
  1046.     local movevector = Vector3.new()
  1047.     if Torso2 then
  1048.         movevector = CFrame.new(CharTorso.Position, Torso2.Position).lookVector
  1049.         local Head = Character2:FindFirstChild("Head")
  1050.         if Head then
  1051.             local Neck = Instance.new("Weld")
  1052.             Neck.Name = "Neck"
  1053.             Neck.Part0 = Torso2
  1054.             Neck.Part1 = Head
  1055.             Neck.C0 = CFrame.new(0, 1.5, 0)
  1056.             Neck.C1 = CFrame.new()
  1057.             Neck.Parent = Torso2
  1058.             if Headless == true then
  1059.                 Head.Transparency = 1
  1060.                 Head:ClearAllChildren()
  1061.             end
  1062.         end
  1063.         local Limb = Character2:FindFirstChild("Right Arm")
  1064.         if Limb then
  1065.             Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
  1066.             local Joint = Instance.new("Glue")
  1067.             Joint.Name = "RightShoulder"
  1068.             Joint.Part0 = Torso2
  1069.             Joint.Part1 = Limb
  1070.             Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  1071.             Joint.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  1072.             Joint.Parent = Torso2
  1073.             local B = Instance.new("Part")
  1074.             B.TopSurface = 0
  1075.             B.BottomSurface = 0
  1076.             B.formFactor = "Symmetric"
  1077.             B.Size = Vector3.new(1, 1, 1)
  1078.             B.Transparency = 1
  1079.             B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1080.             B.Parent = Character2
  1081.             local W = Instance.new("Weld")
  1082.             W.Part0 = Limb
  1083.             W.Part1 = B
  1084.             W.C0 = CFrame.new(0, -0.5, 0)
  1085.             W.Parent = Limb
  1086.         end
  1087.         local Limb = Character2:FindFirstChild("Left Arm")
  1088.         if Limb then
  1089.             Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
  1090.             local Joint = Instance.new("Glue")
  1091.             Joint.Name = "LeftShoulder"
  1092.             Joint.Part0 = Torso2
  1093.             Joint.Part1 = Limb
  1094.             Joint.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  1095.             Joint.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  1096.             Joint.Parent = Torso2
  1097.             local B = Instance.new("Part")
  1098.             B.TopSurface = 0
  1099.             B.BottomSurface = 0
  1100.             B.formFactor = "Symmetric"
  1101.             B.Size = Vector3.new(1, 1, 1)
  1102.             B.Transparency = 1
  1103.             B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1104.             B.Parent = Character2
  1105.             local W = Instance.new("Weld")
  1106.             W.Part0 = Limb
  1107.             W.Part1 = B
  1108.             W.C0 = CFrame.new(0, -0.5, 0)
  1109.             W.Parent = Limb
  1110.         end
  1111.         local Limb = Character2:FindFirstChild("Right Leg")
  1112.         if Limb then
  1113.             Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
  1114.             local Joint = Instance.new("Glue")
  1115.             Joint.Name = "RightHip"
  1116.             Joint.Part0 = Torso2
  1117.             Joint.Part1 = Limb
  1118.             Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  1119.             Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  1120.             Joint.Parent = Torso2
  1121.             local B = Instance.new("Part")
  1122.             B.TopSurface = 0
  1123.             B.BottomSurface = 0
  1124.             B.formFactor = "Symmetric"
  1125.             B.Size = Vector3.new(1, 1, 1)
  1126.             B.Transparency = 1
  1127.             B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1128.             B.Parent = Character2
  1129.             local W = Instance.new("Weld")
  1130.             W.Part0 = Limb
  1131.             W.Part1 = B
  1132.             W.C0 = CFrame.new(0, -0.5, 0)
  1133.             W.Parent = Limb
  1134.         end
  1135.         local Limb = Character2:FindFirstChild("Left Leg")
  1136.         if Limb then
  1137.             Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
  1138.             local Joint = Instance.new("Glue")
  1139.             Joint.Name = "LeftHip"
  1140.             Joint.Part0 = Torso2
  1141.             Joint.Part1 = Limb
  1142.             Joint.C0 = CFrame.new(-0.5, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  1143.             Joint.C1 = CFrame.new(0, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  1144.             Joint.Parent = Torso2
  1145.             local B = Instance.new("Part")
  1146.             B.TopSurface = 0
  1147.             B.BottomSurface = 0
  1148.             B.formFactor = "Symmetric"
  1149.             B.Size = Vector3.new(1, 1, 1)
  1150.             B.Transparency = 1
  1151.             B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1152.             B.Parent = Character2
  1153.             local W = Instance.new("Weld")
  1154.             W.Part0 = Limb
  1155.             W.Part1 = B
  1156.             W.C0 = CFrame.new(0, -0.5, 0)
  1157.             W.Parent = Limb
  1158.         end
  1159.         local Bar = Instance.new("Part")
  1160.         Bar.TopSurface = 0
  1161.         Bar.BottomSurface = 0
  1162.         Bar.formFactor = "Symmetric"
  1163.         Bar.Size = Vector3.new(1, 1, 1)
  1164.         Bar.Transparency = 1
  1165.         Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
  1166.         Bar.Parent = Character2
  1167.         local Weld = Instance.new("Weld")
  1168.         Weld.Part0 = Torso2
  1169.         Weld.Part1 = Bar
  1170.         Weld.C0 = CFrame.new(0, 0.5, 0)
  1171.         Weld.Parent = Torso2
  1172.     end
  1173.     Character2.Parent = Weapon
  1174.     if movevector ~= Vector3.new() then
  1175.         for i = 1, 10 do
  1176.             Torso2.Velocity = movevector * Velocity
  1177.         end
  1178.     end
  1179.     Character2.Name = "Corpse"
  1180.     return Character2, Torso2
  1181. end
  1182. function PuddleOfBlood(Position, MaxDrop, Model, MaxSize)
  1183.     local HITFLOOR, HITPOS, NORMAL = Raycast(Position, CF(Position, Position + VT(0, -1, 0)).lookVector, MaxDrop, Model)
  1184.     if HITFLOOR ~= nil and HITFLOOR.Parent ~= Weapon and HITFLOOR.Parent ~= Character then
  1185.         if HITFLOOR.Name == "BloodPuddle" then
  1186.             local DIST = (Position - HITFLOOR.Position).Magnitude
  1187.             if HITFLOOR.Size.Z <= 5 and MaxSize > HITFLOOR.Size.Z or HITFLOOR.Size.Z > 5 and MaxSize > HITFLOOR.Size.Z and DIST < HITFLOOR.Size.Z / 3 then
  1188.                 HITFLOOR.Size = HITFLOOR.Size + VT(0.1, 0, 0.1)
  1189.             end
  1190.         elseif HITFLOOR.Anchored == true then
  1191.             do
  1192.                 local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(2, 0, 2))
  1193.                 BLOOD.CFrame = CF(HITPOS, HITPOS + NORMAL) * ANGLES(RAD(90), RAD(0), RAD(0))
  1194.                 MakeForm(BLOOD, "Cyl")
  1195.                 coroutine.resume(coroutine.create(function()
  1196.                     Swait(75)
  1197.                     while true do
  1198.                         Swait()
  1199.                         BLOOD.Size = BLOOD.Size - VT(0.02, 0, 0.02)
  1200.                         if BLOOD.Size.Z < 0.051 then
  1201.                             BLOOD:remove()
  1202.                             break
  1203.                         end
  1204.                     end
  1205.                 end))
  1206.             end
  1207.         end
  1208.     end
  1209. end
  1210. function SprayBlood(POSITION, DIRECTION, BloodSize)
  1211.     local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(1, 1, 1), false)
  1212.     BLOOD.CFrame = CF(POSITION)
  1213.     MakeForm(BLOOD, "Ball")
  1214.     local bv = Instance.new("BodyVelocity", BLOOD)
  1215.     bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  1216.     bv.velocity = CF(POSITION, DIRECTION + VT(MRANDOM(-3, 3) / 30, MRANDOM(-3, 3) / 30, MRANDOM(-3, 3) / 30)).lookVector * 25
  1217.     bv.Name = "MOVE"
  1218.     Debris:AddItem(bv, 0.05)
  1219.     coroutine.resume(coroutine.create(function()
  1220.         local HASTOUCHEDGROUND = false
  1221.         local HIT = BLOOD.Touched:Connect(function(hit)
  1222.             if hit.Anchored == true then
  1223.                 HASTOUCHEDGROUND = true
  1224.                 PuddleOfBlood(BLOOD.Position + VT(0, 1, 0), 2, BLOOD, BloodSize)
  1225.             end
  1226.         end)
  1227.         wait(5)
  1228.         if HASTOUCHEDGROUND == false then
  1229.             BLOOD:remove()
  1230.         end
  1231.     end))
  1232. end
  1233. function ApplyDamage(Humanoid, Damage, TorsoPart)
  1234.     local defence = Instance.new("BoolValue", Humanoid.Parent)
  1235.     defence.Name = "HitBy" .. Player.Name
  1236.     game:GetService("Debris"):AddItem(defence, 0.001)
  1237.     Damage = Damage * DAMAGEMULTIPLIER
  1238.     if Humanoid.Health ~= 0 then
  1239.         local CritChance = MRANDOM(1, 100)
  1240.         if Damage > Humanoid.Health then
  1241.             Damage = math.ceil(Humanoid.Health)
  1242.             if Damage == 0 then
  1243.                 Damage = 0.1
  1244.             end
  1245.         end
  1246.         Humanoid.Health = Humanoid.Health - Damage
  1247.         StatLabel(TorsoPart.CFrame * CF(0, 0 + (TorsoPart.Size.z - 1), 0), Damage, C3(0, 0, 0))
  1248.     end
  1249. end
  1250. function ApplyAoE(POSITION, RANGE, MINDMG, MAXDMG, FLING, INSTAKILL)
  1251.     local CHILDREN = workspace:GetDescendants()
  1252.     for index, CHILD in pairs(CHILDREN) do
  1253.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  1254.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1255.             if HUM then
  1256.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1257.                 if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
  1258.                     if INSTAKILL == true then
  1259.                         Petrify(CHILD)
  1260.                     else
  1261.                         local DMG = MRANDOM(MINDMG, MAXDMG)
  1262.                         ApplyDamage(HUM, DMG, TORSO)
  1263.                     end
  1264.                     if FLING > 0 then
  1265.                         for _, c in pairs(CHILD:GetChildren()) do
  1266.                             if c:IsA("BasePart") then
  1267.                                 local bv = Instance.new("BodyVelocity")
  1268.                                 bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  1269.                                 bv.velocity = CF(POSITION, TORSO.Position).lookVector * FLING
  1270.                                 bv.Parent = c
  1271.                                 Debris:AddItem(bv, 0.05)
  1272.                             end
  1273.                         end
  1274.                     end
  1275.                 end
  1276.             end
  1277.         end
  1278.     end
  1279. end
  1280. function Petrify(Foe)
  1281.     local STONEMODEL = IT("Model", Effects)
  1282.     local CHILDREN = Foe:GetDescendants()
  1283.     for index, CHILD in pairs(CHILDREN) do
  1284.         if CHILD:IsA("BasePart") and CHILD.Parent.ClassName ~= "Folder" then
  1285.             CHILD.Parent = STONEMODEL
  1286.             CHILD.Material = "Slate"
  1287.             CHILD.Color = C3(0.5, 0.5, 0.5)
  1288.             if CHILD:FindFirstChildOfClass("SpecialMesh") then
  1289.                 local mesh = CHILD:FindFirstChildOfClass("SpecialMesh")
  1290.                 mesh.TextureId = ""
  1291.             end
  1292.             if CHILD:FindFirstChildOfClass("Decal") then
  1293.                 local mesh = CHILD:FindFirstChildOfClass("Decal")
  1294.                 mesh:remove()
  1295.             end
  1296.             if CHILD.ClassName == "MeshPart" then
  1297.                 CHILD.TextureID = ""
  1298.             end
  1299.             if CHILD.ClassName == "UnionOperation" then
  1300.                 CHILD.UsePartColor = true
  1301.             end
  1302.             CHILD.CanCollide = true
  1303.         end
  1304.     end
  1305.     Debris:AddItem(STONEMODEL, 5)
  1306. end
  1307. function Intro()
  1308.     coroutine.resume(coroutine.create(function()
  1309.         INTROING = true
  1310.         Rooted = true
  1311.         sick:Play()
  1312.         FINISHEDINTRO = true
  1313.         Head.Transparency = 1
  1314.         Torso.Transparency = 1
  1315.         LeftArm.Transparency = 1
  1316.         RightArm.Transparency = 1
  1317.         LeftLeg.Transparency = 1
  1318.         RightLeg.Transparency = 1
  1319.         repeat
  1320.             Swait()
  1321.         until sick.TimePosition > 3.2
  1322.         for i = 1, 5 do
  1323.             WACKYEFFECT({
  1324.                 EffectType = "Sphere",
  1325.                 Size = VT(3, 3, 3),
  1326.                 Size2 = VT(0, 5, 0),
  1327.                 Transparency = 0.5,
  1328.                 Transparency2 = 1,
  1329.                 CFrame = Torso.CFrame,
  1330.                 MoveToPos = Torso.CFrame * CF(15, -5 + i * 3, 1).p,
  1331.                 RotationX = MRANDOM(-5, 5),
  1332.                 RotationY = MRANDOM(-5, 5),
  1333.                 RotationZ = MRANDOM(-5, 5),
  1334.                 Material = "Neon",
  1335.                 Color = C3(1, 0, 0),
  1336.                 SoundID = nil,
  1337.                 SoundPitch = nil,
  1338.                 SoundVolume = nil
  1339.             })
  1340.         end
  1341.         RightWing()
  1342.         repeat
  1343.             Swait()
  1344.         until sick.TimePosition > 6.2
  1345.         for i = 1, 5 do
  1346.             WACKYEFFECT({
  1347.                 EffectType = "Sphere",
  1348.                 Size = VT(3, 3, 3),
  1349.                 Size2 = VT(0, 5, 0),
  1350.                 Transparency = 0.5,
  1351.                 Transparency2 = 1,
  1352.                 CFrame = Torso.CFrame,
  1353.                 MoveToPos = Torso.CFrame * CF(-15, -5 + i * 3, 1).p,
  1354.                 RotationX = MRANDOM(-5, 5),
  1355.                 RotationY = MRANDOM(-5, 5),
  1356.                 RotationZ = MRANDOM(-5, 5),
  1357.                 Material = "Neon",
  1358.                 Color = C3(1, 0, 0),
  1359.                 SoundID = nil,
  1360.                 SoundPitch = nil,
  1361.                 SoundVolume = nil
  1362.             })
  1363.         end
  1364.         LeftWing()
  1365.         repeat
  1366.             Swait()
  1367.         until sick.TimePosition > 16
  1368.         for i = 1, 6 do
  1369.             WACKYEFFECT({
  1370.                 EffectType = "Sphere",
  1371.                 Size = VT(1.5, 1.5, 1.5),
  1372.                 Size2 = VT(4, 4, 4) * i,
  1373.                 Transparency = 0,
  1374.                 Transparency2 = 1,
  1375.                 CFrame = Head.CFrame,
  1376.                 MoveToPos = nil,
  1377.                 RotationX = 0,
  1378.                 RotationY = 0,
  1379.                 RotationZ = 0,
  1380.                 Material = "Neon",
  1381.                 Color = C3(1, 0, 0),
  1382.                 SoundID = nil,
  1383.                 SoundPitch = nil,
  1384.                 SoundVolume = nil
  1385.             })
  1386.         end
  1387.         Head.Transparency = 0
  1388.         Face()
  1389.         wait(1)
  1390.         for i = 1, 100 do
  1391.             Swait()
  1392.             Torso.Transparency = 1 - i / 100
  1393.             LeftArm.Transparency = 1 - i / 100
  1394.             RightArm.Transparency = 1 - i / 100
  1395.             LeftLeg.Transparency = 1 - i / 100
  1396.             RightLeg.Transparency = 1 - i / 100
  1397.         end
  1398.         FINISHEDINTRO = true
  1399.         Rooted = false
  1400.     end))
  1401. end
  1402. function Neck_Snap()
  1403.     ATTACK = true
  1404.     Rooted = false
  1405.     local TARGET, HUM, WLD
  1406.     local HIT = RightArm.Touched:Connect(function(hit)
  1407.         if hit.Parent ~= nil and hit.Parent:FindFirstChildOfClass("Humanoid") then
  1408.             local H = hit.Parent:FindFirstChildOfClass("Humanoid")
  1409.             if H.Health > 0 then
  1410.                 local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
  1411.                 if TORSO then
  1412.                     HUM = H
  1413.                     TARGET = TORSO
  1414.                     H.PlatformStand = true
  1415.                     CreateSound("260411131", TORSO, 10, 1)
  1416.                     WLD = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, TORSO, CF(0, -1, -0.25) * ANGLES(RAD(-90), RAD(0), RAD(0)), CF(0, 0, 0))
  1417.                 end
  1418.             end
  1419.         end
  1420.     end)
  1421.     for i = 0, 1, 0.1 / Animation_Speed do
  1422.         Swait()
  1423.         if TARGET ~= nil then
  1424.             break
  1425.         end
  1426.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.5 / Animation_Speed)
  1427.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 0.5 / Animation_Speed)
  1428.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.45, -0.3) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1429.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1430.         if ANIM == "Idle" then
  1431.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1432.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1433.         elseif ANIM == "Walk" then
  1434.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1435.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1436.         elseif ANIM == "Jump" or ANIM == "Fall" then
  1437.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1438.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1439.         end
  1440.     end
  1441.     HIT:disconnect()
  1442.     if TARGET ~= nil then
  1443.         if TARGET.Name == "Torso" then
  1444.             for i = 0, 2, 0.1 / Animation_Speed do
  1445.                 Swait()
  1446.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1447.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1448.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(65), RAD(25), RAD(-45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1449.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(120), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1450.                 if ANIM == "Idle" then
  1451.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1452.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1453.                 elseif ANIM == "Walk" then
  1454.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1455.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1456.                 elseif ANIM == "Jump" or ANIM == "Fall" then
  1457.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1458.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1459.                 end
  1460.             end
  1461.             WLD:remove()
  1462.             local HEAD = TARGET.Parent:FindFirstChild("Head")
  1463.             if HEAD then
  1464.                 UNANCHOR = false
  1465.                 RootPart.Anchored = true
  1466.                 local HD = HEAD:Clone()
  1467.                 HD.Name = "FakeHead"
  1468.                 for i = 1, 7 do
  1469.                     SprayBlood(TARGET.CFrame * CF(0, TARGET.Size.Y / 2, 0).p, TARGET.CFrame * CF(MRANDOM(25, 55), MRANDOM(-25, 25), MRANDOM(25, 55)).p, 15)
  1470.                 end
  1471.                 local RAGDOLL, RAGTORSO = Ragdoll(TARGET.Parent, Torso, true, 0)
  1472.                 local RAGWELD = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RAGTORSO, CF(0, -1, -0.25) * ANGLES(RAD(-90), RAD(0), RAD(0)), CF(0, 0, 0))
  1473.                 HD.Parent = RAGDOLL
  1474.                 CreateSound("264486467", RAGTORSO, 10, 1)
  1475.                 local HEADWELD = CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, HD, CF(0, -1, -0.25) * ANGLES(RAD(-90), RAD(0), RAD(0)), CF(0, 0, 0))
  1476.                 for i = 0, 2, 0.1 / Animation_Speed do
  1477.                     Swait()
  1478.                     RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1479.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1480.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1481.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(150), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1482.                     if ANIM == "Idle" then
  1483.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1484.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1485.                     elseif ANIM == "Walk" then
  1486.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1487.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1488.                     elseif ANIM == "Jump" or ANIM == "Fall" then
  1489.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1490.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1491.                     end
  1492.                 end
  1493.                 HEADWELD:remove()
  1494.                 for i = 0, 0.5, 0.1 / Animation_Speed do
  1495.                     Swait()
  1496.                     RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1497.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1498.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-65)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1499.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1500.                     if ANIM == "Idle" then
  1501.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1502.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1503.                     elseif ANIM == "Walk" then
  1504.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1505.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1506.                     elseif ANIM == "Jump" or ANIM == "Fall" then
  1507.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1508.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1509.                     end
  1510.                 end
  1511.                 CreateSound("907333406", Torso, 10, 1)
  1512.                 for i = 0, 0.25, 0.1 / Animation_Speed do
  1513.                     Swait()
  1514.                     RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1515.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1516.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  1517.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1518.                     if ANIM == "Idle" then
  1519.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1520.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1521.                     elseif ANIM == "Walk" then
  1522.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1523.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1524.                     elseif ANIM == "Jump" or ANIM == "Fall" then
  1525.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1526.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1527.                     end
  1528.                 end
  1529.                 RAGWELD:remove()
  1530.                 local bv = Instance.new("BodyVelocity")
  1531.                 bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  1532.                 bv.velocity = CF(Torso.Position, RAGTORSO.Position).lookVector * 75
  1533.                 bv.Parent = RAGTORSO
  1534.                 Debris:AddItem(bv, 0.05)
  1535.                 Debris:AddItem(RAGDOLL, 5)
  1536.                 for i = 0, 0.15, 0.1 / Animation_Speed do
  1537.                     Swait()
  1538.                     RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1539.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1540.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1541.                     LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1542.                     if ANIM == "Idle" then
  1543.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1544.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1545.                     elseif ANIM == "Walk" then
  1546.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1547.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1548.                     elseif ANIM == "Jump" or ANIM == "Fall" then
  1549.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1550.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1551.                     end
  1552.                 end
  1553.                 UNANCHOR = true
  1554.                 RootPart.Anchored = false
  1555.             end
  1556.         else
  1557.             UNANCHOR = false
  1558.             RootPart.Anchored = true
  1559.             for i = 0, 0.5, 0.1 / Animation_Speed do
  1560.                 Swait()
  1561.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1562.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1563.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-65)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1564.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1565.                 if ANIM == "Idle" then
  1566.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1567.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1568.                 elseif ANIM == "Walk" then
  1569.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1570.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1571.                 elseif ANIM == "Jump" or ANIM == "Fall" then
  1572.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1573.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1574.                 end
  1575.             end
  1576.             for i = 0, 0.25, 0.1 / Animation_Speed do
  1577.                 Swait()
  1578.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1579.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1580.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  1581.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1582.                 if ANIM == "Idle" then
  1583.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1584.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1585.                 elseif ANIM == "Walk" then
  1586.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1587.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1588.                 elseif ANIM == "Jump" or ANIM == "Fall" then
  1589.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1590.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1591.                 end
  1592.             end
  1593.             WLD:remove()
  1594.             TARGET.Parent:BreakJoints()
  1595.             for _, c in pairs(TARGET.Parent:GetChildren()) do
  1596.                 if c:IsA("BasePart") then
  1597.                     local bv = Instance.new("BodyVelocity")
  1598.                     bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  1599.                     bv.velocity = CF(Torso.Position, c.Position).lookVector * 75
  1600.                     bv.Parent = c
  1601.                     Debris:AddItem(bv, 0.05)
  1602.                 end
  1603.             end
  1604.             for i = 0, 0.15, 0.1 / Animation_Speed do
  1605.                 Swait()
  1606.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1607.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1608.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1609.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1610.                 if ANIM == "Idle" then
  1611.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1612.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1613.                 elseif ANIM == "Walk" then
  1614.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1615.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1616.                 elseif ANIM == "Jump" or ANIM == "Fall" then
  1617.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1618.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1619.                 end
  1620.             end
  1621.             UNANCHOR = true
  1622.             RootPart.Anchored = false
  1623.         end
  1624.     end
  1625.     ATTACK = false
  1626.     Rooted = false
  1627. end
  1628. function Imperfect_Command()
  1629.     ATTACK = true
  1630.     Rooted = true
  1631.     if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  1632.         local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  1633.         local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  1634.         if TORSO then
  1635.             local GYRO = IT("BodyGyro", RootPart)
  1636.             GYRO.D = 750
  1637.             GYRO.P = 2000
  1638.             GYRO.MaxTorque = VT(0, 40000, 0)
  1639.             CreateSound("907330103", Torso, 10, 1)
  1640.             for i = 0, 1.6, 0.1 / Animation_Speed do
  1641.                 Swait()
  1642.                 WACKYEFFECT({
  1643.                     Time = 5,
  1644.                     EffectType = "Round Slash",
  1645.                     Size = VT(0, 0, 0),
  1646.                     Size2 = VT(0.01, 0, 0.01),
  1647.                     Transparency = 0.5,
  1648.                     Transparency2 = 1,
  1649.                     CFrame = CF(EYE.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  1650.                     MoveToPos = nil,
  1651.                     RotationX = MRANDOM(-50, 50) / 10,
  1652.                     RotationY = MRANDOM(-50, 50) / 10,
  1653.                     RotationZ = MRANDOM(-50, 50) / 10,
  1654.                     Material = "Neon",
  1655.                     Color = C3(1, 0, 0),
  1656.                     SoundID = nil,
  1657.                     SoundPitch = nil,
  1658.                     SoundVolume = nil
  1659.                 })
  1660.                 GYRO.cframe = CF(RootPart.Position, TORSO.Position)
  1661.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.2 / Animation_Speed)
  1662.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 0.2 / Animation_Speed)
  1663.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(120), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-45)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1664.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1665.                 if ANIM == "Idle" then
  1666.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1667.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1668.                 elseif ANIM == "Walk" then
  1669.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1670.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1671.                 elseif ANIM == "Jump" or ANIM == "Fall" then
  1672.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1673.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1674.                 end
  1675.             end
  1676.             GYRO:remove()
  1677.             for i = 1, 15 do
  1678.                 WACKYEFFECT({
  1679.                     Time = MRANDOM(15, 85),
  1680.                     EffectType = "Round Slash",
  1681.                     Size = VT(0, 0, 0),
  1682.                     Size2 = VT(0.3, 0, 0.3),
  1683.                     Transparency = 0.5,
  1684.                     Transparency2 = 1,
  1685.                     CFrame = CF(TORSO.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  1686.                     MoveToPos = nil,
  1687.                     RotationX = MRANDOM(-50, 50) / 10,
  1688.                     RotationY = MRANDOM(-50, 50) / 10,
  1689.                     RotationZ = MRANDOM(-50, 50) / 10,
  1690.                     Material = "Neon",
  1691.                     Color = C3(1, 0, 0),
  1692.                     SoundID = nil,
  1693.                     SoundPitch = nil,
  1694.                     SoundVolume = nil
  1695.                 })
  1696.             end
  1697.             local bv = Instance.new("BodyVelocity")
  1698.             bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  1699.             bv.velocity = CF(Torso.Position, TORSO.Position).lookVector * 5
  1700.             bv.Parent = TORSO
  1701.             Debris:AddItem(bv, 0.05)
  1702.             CreateSound("1222405264", TORSO, 10, 1)
  1703.             Petrify(HUM.Parent)
  1704.             for i = 0, 0.5, 0.1 / Animation_Speed do
  1705.                 Swait()
  1706.                 WACKYEFFECT({
  1707.                     Time = 5,
  1708.                     EffectType = "Round Slash",
  1709.                     Size = VT(0, 0, 0),
  1710.                     Size2 = VT(0.01, 0, 0.01),
  1711.                     Transparency = 0.5,
  1712.                     Transparency2 = 1,
  1713.                     CFrame = CF(EYE.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  1714.                     MoveToPos = nil,
  1715.                     RotationX = MRANDOM(-50, 50) / 10,
  1716.                     RotationY = MRANDOM(-50, 50) / 10,
  1717.                     RotationZ = MRANDOM(-50, 50) / 10,
  1718.                     Material = "Neon",
  1719.                     Color = C3(1, 0, 0),
  1720.                     SoundID = nil,
  1721.                     SoundPitch = nil,
  1722.                     SoundVolume = nil
  1723.                 })
  1724.                 GYRO.cframe = CF(RootPart.Position, TORSO.Position)
  1725.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 2 / Animation_Speed)
  1726.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 2 / Animation_Speed)
  1727.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 22), 0) * ANGLES(RAD(0), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  1728.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1729.                 if ANIM == "Idle" then
  1730.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1731.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1732.                 elseif ANIM == "Walk" then
  1733.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1734.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1735.                 elseif ANIM == "Jump" or ANIM == "Fall" then
  1736.                     RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1737.                     LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1738.                 end
  1739.             end
  1740.         end
  1741.     end
  1742.     ATTACK = false
  1743.     Rooted = false
  1744. end
  1745. function Fire_At_Will()
  1746.     ATTACK = true
  1747.     Rooted = false
  1748.     local GYRO = IT("BodyGyro", RootPart)
  1749.     GYRO.D = 750
  1750.     GYRO.P = 2000
  1751.     GYRO.MaxTorque = VT(0, 40000, 0)
  1752.     for i = 0, 0.2, 0.1 / Animation_Speed do
  1753.         Swait()
  1754.         GYRO.cframe = CF(RootPart.Position, Mouse.Hit.p)
  1755.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.5 / Animation_Speed)
  1756.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 0.5 / Animation_Speed)
  1757.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.48, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1758.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1759.         if ANIM == "Idle" then
  1760.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1761.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1762.         elseif ANIM == "Walk" then
  1763.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1764.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1765.         elseif ANIM == "Jump" or ANIM == "Fall" then
  1766.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1767.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1768.         end
  1769.     end
  1770.     local BOMB = CreatePart(3, Effects, "Neon", 0, 0, "Burgundy", "Sphere", VT(1, 1, 1), false)
  1771.     MakeForm(BOMB, "Ball")
  1772.     BOMB.Mesh.Scale = VT(0.5, 0.5, 0.5)
  1773.     local WELD = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BOMB, CF(0, -2, 0), CF(0, 0, 0))
  1774.     for i = 0, 1.5, 0.1 / Animation_Speed do
  1775.         Swait()
  1776.         if MRANDOM(1, 2) == 1 then
  1777.             for E = 1, #EYES do
  1778.                 if EYES[E] ~= nil then
  1779.                     local EY = EYES[E]
  1780.                     local LIGHTNING = Zap({
  1781.                         StartPosition = EY.Position,
  1782.                         TargetPosition = BOMB.Position,
  1783.                         Character = Character,
  1784.                         Color = "Burgundy",
  1785.                         Individual = false,
  1786.                         MaxRange = 7,
  1787.                         SegmentLength = 1,
  1788.                         Offset = 0.3,
  1789.                         SIZE = 0.05
  1790.                     })
  1791.                     Debris:AddItem(LIGHTNING.LightningModel, 0.05)
  1792.                 end
  1793.             end
  1794.         end
  1795.         BOMB.Mesh.Scale = BOMB.Mesh.Scale + VT(0.1, 0.1, 0.1)
  1796.         GYRO.cframe = CF(RootPart.Position, Mouse.Hit.p)
  1797.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.5 / Animation_Speed)
  1798.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 0.5 / Animation_Speed)
  1799.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.48, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1800.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1801.         if ANIM == "Idle" then
  1802.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1803.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1804.         elseif ANIM == "Walk" then
  1805.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1806.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1807.         elseif ANIM == "Jump" or ANIM == "Fall" then
  1808.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1809.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1810.         end
  1811.     end
  1812.     WACKYEFFECT({
  1813.         Time = 25,
  1814.         EffectType = "Ring",
  1815.         Size = VT(0, 0, 0),
  1816.         Size2 = VT(3.75, 3.75, 0),
  1817.         Transparency = 0.7,
  1818.         Transparency2 = 1,
  1819.         CFrame = RootPart.CFrame * CF(0, -0.25, -1.3),
  1820.         MoveToPos = nil,
  1821.         RotationX = 0,
  1822.         RotationY = 0,
  1823.         RotationZ = 0,
  1824.         Material = "Neon",
  1825.         Color = BOMB.Color,
  1826.         SoundID = nil,
  1827.         SoundPitch = nil,
  1828.         SoundVolume = nil
  1829.     })
  1830.     WACKYEFFECT({
  1831.         Time = 50,
  1832.         EffectType = "Ring",
  1833.         Size = VT(0, 0, 0),
  1834.         Size2 = VT(15, 15, 0),
  1835.         Transparency = 0.7,
  1836.         Transparency2 = 1,
  1837.         CFrame = RootPart.CFrame * CF(0, -0.25, -1.3),
  1838.         MoveToPos = nil,
  1839.         RotationX = 0,
  1840.         RotationY = 0,
  1841.         RotationZ = 0,
  1842.         Material = "Neon",
  1843.         Color = BOMB.Color,
  1844.         SoundID = nil,
  1845.         SoundPitch = nil,
  1846.         SoundVolume = nil
  1847.     })
  1848.     BOMB.Anchored = true
  1849.     WELD:remove()
  1850.     GYRO:remove()
  1851.     coroutine.resume(coroutine.create(function()
  1852.         BOMB.CFrame = CF(BOMB.Position, Mouse.Hit.p)
  1853.         for i = 1, 500 do
  1854.             Swait()
  1855.             BOMB.CFrame = BOMB.CFrame * CF(0, 0, -2)
  1856.             local HITFLOOR, HITPOS = Raycast(BOMB.Position, BOMB.CFrame.lookVector, 2.2, Character)
  1857.             if HITFLOOR ~= nil then
  1858.                 break
  1859.             end
  1860.         end
  1861.         ApplyAoE(BOMB.Position, 75, 0, 0, 0, true)
  1862.         for i = 1, 3 do
  1863.             WACKYEFFECT({
  1864.                 Time = 35,
  1865.                 EffectType = "Swirl",
  1866.                 Size = VT(0, 0, 0),
  1867.                 Size2 = VT(150, 225, 150) + VT(5, 15, 5) * i,
  1868.                 Transparency = 0,
  1869.                 Transparency2 = 1,
  1870.                 CFrame = BOMB.CFrame,
  1871.                 MoveToPos = nil,
  1872.                 RotationX = 0,
  1873.                 RotationY = 5 * i,
  1874.                 RotationZ = 0,
  1875.                 Material = "Neon",
  1876.                 Color = BOMB.Color,
  1877.                 SoundID = nil,
  1878.                 SoundPitch = nil,
  1879.                 SoundVolume = nil
  1880.             })
  1881.         end
  1882.         for i = 1, 5 do
  1883.             WACKYEFFECT({
  1884.                 Time = 75,
  1885.                 EffectType = "Sphere",
  1886.                 Size = BOMB.Mesh.Scale,
  1887.                 Size2 = VT(25, 25, 25) * i,
  1888.                 Transparency = 0.5,
  1889.                 Transparency2 = 1,
  1890.                 CFrame = BOMB.CFrame,
  1891.                 MoveToPos = nil,
  1892.                 RotationX = 0,
  1893.                 RotationY = 0,
  1894.                 RotationZ = 0,
  1895.                 Material = "Neon",
  1896.                 Color = BOMB.Color,
  1897.                 SoundID = 1222405264,
  1898.                 SoundPitch = 1,
  1899.                 SoundVolume = 10
  1900.             })
  1901.         end
  1902.         local HITFLOOR, HITPOS = Raycast(BOMB.Position, CF(BOMB.Position + VT(0, 1, 0), BOMB.Position - VT(0, 1, 0)).lookVector, 15, Character)
  1903.         if HITFLOOR then
  1904.             CreateDebreeRing(HITFLOOR, HITPOS, 15, VT(8, 8, 8), 5)
  1905.         end
  1906.         BOMB.Transparency = 1
  1907.         for i = 1, 35 do
  1908.             Swait()
  1909.             CreateFlyingDebree(BOMB, CF(BOMB.Position), 1, VT(0.5, 0.5, 0.5), 5, 150)
  1910.         end
  1911.         BOMB:remove()
  1912.     end))
  1913.     ATTACK = false
  1914.     Rooted = false
  1915. end
  1916. function Imperfect_Storm()
  1917.     ATTACK = true
  1918.     Rooted = false
  1919.     for i = 0, 1, 0.1 / Animation_Speed do
  1920.         Swait()
  1921.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1922.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1923.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1924.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1925.         if ANIM == "Idle" then
  1926.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1927.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1928.         elseif ANIM == "Walk" then
  1929.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1930.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1931.         elseif ANIM == "Jump" or ANIM == "Fall" then
  1932.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1933.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1934.         end
  1935.     end
  1936.     ATTACK = false
  1937.     Rooted = false
  1938. end
  1939. function MouseDown(Mouse)
  1940.     if ATTACK == false then
  1941.     end
  1942. end
  1943. function MouseUp(Mouse)
  1944.     HOLD = false
  1945. end
  1946. function KeyDown(Key)
  1947.     KEYHOLD = true
  1948.     if FINISHEDINTRO == true then
  1949.         if Key == "z" and ATTACK == false then
  1950.             Neck_Snap()
  1951.         end
  1952.         if Key == "b" and ATTACK == false then
  1953.             Imperfect_Command()
  1954.         end
  1955.         if Key == "c" and ATTACK == false then
  1956.             Fire_At_Will()
  1957.         end
  1958.         if Key ~= "v" or ATTACK == false then
  1959.         end
  1960.         if Key ~= "x" or ATTACK == false then
  1961.         end
  1962.     end
  1963. end
  1964. function KeyUp(Key)
  1965.     KEYHOLD = false
  1966. end
  1967. Mouse.Button1Down:connect(function(NEWKEY)
  1968.     MouseDown(NEWKEY)
  1969. end)
  1970. Mouse.Button1Up:connect(function(NEWKEY)
  1971.     MouseUp(NEWKEY)
  1972. end)
  1973. Mouse.KeyDown:connect(function(NEWKEY)
  1974.     KeyDown(NEWKEY)
  1975. end)
  1976. Mouse.KeyUp:connect(function(NEWKEY)
  1977.     KeyUp(NEWKEY)
  1978. end)
  1979. function unanchor()
  1980.     if UNANCHOR == true then
  1981.         RootPart.Anchored = false
  1982.     end
  1983.     local CHILDREN = Character:GetDescendants()
  1984.     for index, CHILD in pairs(CHILDREN) do
  1985.         if CHILD:IsA("BasePart") and CHILD ~= RootPart and CHILD.Parent ~= Effects and CHILD.Parent.Parent ~= Effects then
  1986.             CHILD.Anchored = false
  1987.         end
  1988.     end
  1989. end
  1990. Humanoid.Changed:connect(function(Jump)
  1991.     if Jump == "Jump" and Disable_Jump == true then
  1992.         Humanoid.Jump = false
  1993.     end
  1994. end)
  1995. while true do
  1996.     Swait()
  1997.     script.Parent = WEAPONGUI
  1998.     ANIMATE.Parent = nil
  1999.     if Humanoid then
  2000.         local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2001.         IDLEANIMATION:Play()
  2002.     end
  2003.     for RW = 1, #RWINGS do
  2004.         if RWINGS[RW] ~= nil then
  2005.             RWINGS[RW].C1 = Clerp(RWINGS[RW].C1, CF(-0.25 + 0.25 * COS(SINE / 22), 0, 0 + 0.15 * COS(SINE / 22)) * ANGLES(RAD(2.5 * SIN(SINE / 22)), RAD(0), RAD(0 + 5 * SIN(SINE / 22))), 1 / Animation_Speed)
  2006.         end
  2007.     end
  2008.     for LW = 1, #LWINGS do
  2009.         if LWINGS[LW] ~= nil then
  2010.             LWINGS[LW].C1 = Clerp(LWINGS[LW].C1, CF(0.25 - 0.25 * COS(SINE / 22), 0, 0 + 0.15 * COS(SINE / 22)) * ANGLES(RAD(2.5 * SIN(SINE / 22)), RAD(0), RAD(0 - 5 * SIN(SINE / 22))), 1 / Animation_Speed)
  2011.         end
  2012.     end
  2013.     SINE = SINE + CHANGE
  2014.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2015.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2016.     local HITFLOOR = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 4 + Humanoid.HipHeight, Character)
  2017.     local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  2018.     if FINISHEDINTRO == true then
  2019.         if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  2020.             ANIM = "Jump"
  2021.             if ATTACK == false then
  2022.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2023.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2024.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2025.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2026.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  2027.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  2028.             end
  2029.         elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  2030.             ANIM = "Fall"
  2031.             if ATTACK == false then
  2032.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2033.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2034.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2035.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2036.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  2037.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  2038.             end
  2039.         elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2040.             ANIM = "Idle"
  2041.             if ATTACK == false then
  2042.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 22)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2043.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15), RAD(0)), 0.15 / Animation_Speed)
  2044.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(0), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-90 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2045.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2046.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 22), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2047.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 22), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2048.             end
  2049.         elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2050.             ANIM = "Walk"
  2051.             if ATTACK == false then
  2052.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 22)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 22)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2053.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 22)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 22))), 1 / Animation_Speed)
  2054.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 22), 0) * ANGLES(RAD(-25), RAD(0 - 2.5 * SIN(SINE / 22)), RAD(15 + 7.5 * SIN(SINE / 22))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2055.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 22), 0) * ANGLES(RAD(-25), RAD(0 + 2.5 * SIN(SINE / 22)), RAD(-15 - 7.5 * SIN(SINE / 22))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2056.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 22)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2057.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 22)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 22)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2058.             end
  2059.         end
  2060.         if TORSOVELOCITY > 1 then
  2061.             Humanoid.HipHeight = 1
  2062.         else
  2063.             Humanoid.HipHeight = 0
  2064.         end
  2065.     elseif FINISHEDINTRO == false then
  2066.         Humanoid.HipHeight = 0
  2067.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2068.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2069.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2070.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2071.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2072.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2073.     end
  2074.     unanchor()
  2075.     Humanoid.MaxHealth = "inf"
  2076.     Humanoid.Health = "inf"
  2077.     if Rooted == false then
  2078.         Disable_Jump = false
  2079.         Humanoid.WalkSpeed = Speed
  2080.     elseif Rooted == true then
  2081.         Disable_Jump = true
  2082.         Humanoid.WalkSpeed = 0
  2083.     end
  2084.     sick.Parent = Torso
  2085.     sick.Playing = true
  2086.     sick.Volume = 3
  2087.     sick.Pitch = 1
  2088.     BLINKLOOP = BLINKLOOP + 1
  2089.     if BLINKLOOP >= 650 then
  2090.         BLINKLOOP = 0
  2091.         Blink()
  2092.     end
  2093.     if Character:FindFirstChildOfClass("Accessory") then
  2094.         Character:FindFirstChildOfClass("Accessory"):remove()
  2095.     end
  2096.     if Head:FindFirstChildOfClass("Sound") then
  2097.         Head:FindFirstChildOfClass("Sound"):remove()
  2098.     end
  2099.     if INTROING == false and FINISHEDINTRO == false then
  2100.         if INSTANT == false then
  2101.             Intro()
  2102.         else
  2103.             FINISHEDINTRO = true
  2104.             Face()
  2105.             RightWing()
  2106.             LeftWing()
  2107.         end
  2108.     end
  2109.     if Head:FindFirstChild("face") then
  2110.         Head.face:remove()
  2111.     end
  2112.     refit()
  2113.     Humanoid.PlatformStand = false
  2114. end
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
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top