daily pastebin goal
27%
SHARE
TWEET

noob

jeremiahw2366 May 17th, 2018 107 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. local Player = game:GetService("Players").LocalPlayer
  3. local Character = Player.Character
  4. local Mouse = Player:GetMouse()
  5. local Camera = game:GetService("Workspace").CurrentCamera
  6. local Humanoid = Character:findFirstChild("Humanoid")
  7. local Torso = Character.Torso
  8. local PlayerGui = Player.PlayerGui
  9. local Torso = Character:findFirstChild("Torso")
  10. local Head = Character:findFirstChild("Head")
  11. local RootPart = Character:findFirstChild("HumanoidRootPart")
  12. local Root = RootPart.RootJoint
  13. local Sides = {"Left","Right"}
  14. local Arms = {Character["Left Arm"],Character["Right Arm"]}
  15. local Legs = {Character["Left Leg"],Character["Right Leg"]}
  16.  
  17. local Bits = {}
  18. local Disposables = {}
  19. local Discs = {}
  20.  
  21. local DiscSpin = 0
  22. local Spread = 1.25
  23. local RateTop = 1
  24. local RateBot = 1
  25. local Distance = 0.5
  26. local ExtendTop = 1
  27. local ExtendBot = 1
  28. local CurrentFrame = 1
  29. local Lift = 0
  30. local Accel = 1
  31. local TurnAngle = 0
  32. local rofTop = 1
  33. local rofBot = 1
  34. local Flutter = 0
  35.  
  36. local Front = false
  37. local Back = false
  38. local Left = false
  39. local Right = false
  40. local AddSub = false
  41. local ChargeHeld = false
  42. local BoostHeld = false
  43. local BeamHeld = false
  44. local AbsDefHeld = false
  45. local ExtendGrowthTop = false
  46. local ExtendGrowthBot = false
  47. local UpdateAnim = true
  48.  
  49.  
  50. local CurrentAnimation = "Idle"
  51. local LastAnimation = "Idle"
  52. local MobilityType = "Float"
  53. local ColorGlobe = "White"
  54. local ColorBlades = "Black"
  55. local xmove,zmove
  56.  
  57. local LastBeam = tick()
  58.  
  59. if Torso then
  60.     for _,v in pairs(Torso:children()) do
  61.         if v:IsA("BodyGyro") or v:IsA("BodyVelocity") then
  62.             v:Destroy();
  63.         end
  64.     end
  65. end
  66.  
  67. local Energy = {}
  68. local TotalEnergy = 1000
  69. local CurrentEnergy = 1000
  70.  
  71. pcall(function()
  72.     PlayerGui.EnergyMeter:Destroy()
  73. end)
  74. if Player.Name == "modFrost" then
  75.     ColorGlobe = "Bright orange"
  76. end
  77.  
  78. local FlapSound = Instance.new("Sound", Torso)
  79. FlapSound.Name = "Flap"
  80. FlapSound.SoundId = "http://www.roblox.com/asset/?id=257002377"
  81. FlapSound.Volume = 1
  82.  
  83. local EnergyMeter = Instance.new("ScreenGui", PlayerGui)
  84. EnergyMeter.Name = "EnergyMeter"
  85. local Bar = Instance.new("Frame", EnergyMeter)
  86. Bar.Size = UDim2.new(0,200,0,10)
  87. Bar.Position = UDim2.new(1,-205,1,-15)
  88. Bar.BorderSizePixel = 0
  89. Bar.BackgroundColor = BrickColor.new("Really black")
  90. Bar.BackgroundTransparency = 0.5
  91. local Text = Instance.new("TextLabel", Bar)
  92. Text.Text = "Energy"
  93. Text.TextColor = BrickColor.new("White")
  94. Text.BackgroundTransparency = 1
  95. Text.Size = UDim2.new(1,0,1,0)
  96. Text.Position = UDim2.new(0,0,-1,-10)
  97. Text.TextXAlignment = "Left"
  98. Text.FontSize = "Size12"
  99. local EnergyFill = Instance.new("Frame", Bar)
  100. EnergyFill.Size = UDim2.new(0,0,1,-5)
  101. EnergyFill.Position = UDim2.new(0,2.5,0,2.5)
  102. EnergyFill.BorderSizePixel = 0
  103. EnergyFill.BackgroundColor = BrickColor.new(ColorGlobe)
  104. EnergyFill.BackgroundTransparency = 0.25
  105.  
  106. local ChargeMeter = Instance.new("ScreenGui", PlayerGui)
  107. ChargeMeter.Name = "EnergyMeter"
  108. local ChargeBar = Instance.new("Frame", ChargeMeter)
  109. ChargeBar.Size = UDim2.new(0,200,0,10)
  110. ChargeBar.Position = UDim2.new(0.5,-102.5,0.8,-5)
  111. ChargeBar.BorderSizePixel = 0
  112. ChargeBar.BackgroundColor = BrickColor.new("Really black")
  113. ChargeBar.BackgroundTransparency = 0.5
  114. local ChargeFill = Instance.new("Frame", ChargeBar)
  115. ChargeFill.Size = UDim2.new(0,0,1,-5)
  116. ChargeFill.Position = UDim2.new(0,2.5,0,2.5)
  117. ChargeFill.BorderSizePixel = 0
  118. ChargeFill.BackgroundColor = BrickColor.new("Bright blue")
  119. ChargeFill.BackgroundTransparency = 0.25
  120. ChargeBar.Visible = false
  121.  
  122. local function _Part(Parent,canc,anc,tr,ref,mat,color,size, meshtype, scale)
  123.     local part = Instance.new("Part", Parent)
  124.     part.Transparency = tr
  125.     part.Anchored = anc
  126.     part.TopSurface = 10
  127.     part.BottomSurface = 10
  128.     part.LeftSurface = 10
  129.     part.RightSurface = 10
  130.     part.FrontSurface = 10
  131.     part.BackSurface = 10
  132.     part.Locked = true
  133.     part.formFactor = 3
  134.     part.Reflectance = ref
  135.     part.Material = mat
  136.     part.CanCollide = canc
  137.     part.Size = Vector3.new(size[1],size[2],size[3])
  138.     part.BrickColor = BrickColor.new(color)
  139.     local mesh
  140.     if meshtype == "BlockMesh" then
  141.         mesh = Instance.new("BlockMesh", part)
  142.     elseif meshtype == "CylinderMesh" then
  143.         mesh = Instance.new("CylinderMesh", part)
  144.     else
  145.         mesh = Instance.new("SpecialMesh", part)
  146.         mesh.MeshType = meshtype
  147.     end
  148.     mesh.Name = "Mesh"
  149.     mesh.Scale = Vector3.new(scale[1],scale[2],scale[3])
  150.     return part
  151. end
  152.  
  153. local function _Weld(Parent, p0, c1, c0)
  154.     local weld = Instance.new("Motor", Parent)
  155.     weld.Part1 = Parent
  156.     weld.Part0 = p0
  157.     weld.C1 = c1
  158.     weld.C0 = c0
  159.     weld.Name = "Weld"
  160.     return weld
  161. end
  162.  
  163. local Main = Character:findFirstChild("Main") or Instance.new("Model", Character)
  164. Main.Name = "Main"
  165. Main:ClearAllChildren()
  166.  
  167. pcall(function() Character["Head"]["face"]:Destroy() end)
  168.  
  169. for _,Hat in pairs(Character:GetChildren()) do
  170.     if Hat:IsA("Accoutrement") then
  171.         Hat:Destroy()
  172.     end
  173. end
  174.  
  175. for _,Part in pairs(Character:GetChildren()) do
  176.     if Part:IsA("BasePart") then
  177.         Part.Transparency = 1
  178.     end
  179. end
  180.  
  181. local function GenF(Part, Cframe, Color)
  182.     local A = _Part(Main,false,false,0,0,"SmoothPlastic",Color,{0.05,0.5,0.05},"BlockMesh",{1,1,0.5})
  183.     _Weld(A, Part, CFrame.new(), Cframe)
  184.     local B = _Part(Main,false,false,0,0,"SmoothPlastic",Color,{0.2,0.2,0.3},"BlockMesh",{1,0.5,1})
  185.     _Weld(B, A, CFrame.new(), CFrame.new(0,-0.2,0.2))
  186.     local C = _Part(Main,false,false,0,0,"SmoothPlastic",Color,{0.2,0.2,0.2},"BlockMesh",{1,0.5,1})
  187.     _Weld(C, A, CFrame.new(), CFrame.new(0,-0.025,0.15))
  188. end
  189.  
  190. local Down = _Part(Main,false,false,1,1,"SmoothPlastic","Black",{1,1,1},"Brick",{1,1,1})
  191. _Weld(Down, Torso, CFrame.Angles(math.rad(90),0,0), CFrame.new())
  192.  
  193. local AnchorPart = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  194. _Weld(AnchorPart, Character["Right Arm"], CFrame.new(0,1.5,0), CFrame.new())
  195.  
  196. local AnchorPart2 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  197. _Weld(AnchorPart2, Character["Left Arm"], CFrame.new(0,1.5,0), CFrame.new())
  198.  
  199. local AnchorPart3 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  200. _Weld(AnchorPart3, Character["Right Leg"], CFrame.new(0,1.5,0), CFrame.new())
  201.  
  202. local AnchorPart4 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  203. _Weld(AnchorPart4, Character["Left Leg"], CFrame.new(0,1.5,0), CFrame.new())
  204.  
  205. --Back
  206.  
  207. local AnchorPart5 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.6,0.6,0.6},"Sphere",{1,1,1})
  208. _Weld(AnchorPart5, Character.Torso, CFrame.new(0.75,-0.5,-1), CFrame.new())
  209.  
  210. local AnchorPart6 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.6,0.6,0.6},"Sphere",{1,1,1})
  211. _Weld(AnchorPart6, Character.Torso, CFrame.new(-0.75,-0.5,-1), CFrame.new())
  212.  
  213. local AnchorPart7 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.4,0.4,0.4},"Sphere",{1,1,1})
  214. _Weld(AnchorPart7, Character.Torso, CFrame.new(0.5,0.25,-0.8), CFrame.new())
  215.  
  216. local AnchorPart8 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.4,0.4,0.4},"Sphere",{1,1,1})
  217. _Weld(AnchorPart8, Character.Torso, CFrame.new(-0.5,0.25,-0.8), CFrame.new())
  218.  
  219. local WingLeft = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  220. local WingLeftMain = _Weld(WingLeft, AnchorPart5, CFrame.new(), CFrame.new())
  221. local WingLeftP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  222. _Weld(WingLeftP1, WingLeft, CFrame.new(0,-2,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  223. local WingLeftD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8*2,0.45*2})
  224. WingLeftD.Mesh.MeshId = "rbxassetid://9756362"
  225. _Weld(WingLeftD, WingLeft, CFrame.new(0,1,-0.25) * CFrame.Angles(math.rad(-15),0,0), CFrame.new())
  226. table.insert(Bits, {Side = true; Weld = WingLeftMain; Series = 0;Type = "Wing"})
  227.  
  228. local WingRight = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  229. local WingRightMain = _Weld(WingRight, AnchorPart6, CFrame.new(), CFrame.new())
  230. local WingRightP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  231. _Weld(WingRightP1, WingRight, CFrame.new(0,-2,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  232. local WingRightD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8*2,0.45*2})
  233. WingRightD.Mesh.MeshId = "rbxassetid://9756362"
  234. _Weld(WingRightD, WingRight, CFrame.new(0,1,-0.25) * CFrame.Angles(math.rad(-15),0,0), CFrame.new())
  235. table.insert(Bits, {Side = false; Weld = WingRightMain; Series = 0;Type = "Wing"})
  236.  
  237. local WingLeftLower = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  238. local WingLeftLowerMain = _Weld(WingLeftLower, AnchorPart7, CFrame.new(), CFrame.new())
  239. local WingLeftLowerP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  240. _Weld(WingLeftLowerP1, WingLeftLower, CFrame.new(0,-1.5,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  241. local WingLeftLowerD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,2.8,0.45})
  242. WingLeftLowerD.Mesh.MeshId = "rbxassetid://9756362"
  243. _Weld(WingLeftLowerD, WingLeftLower, CFrame.new(0,0.75,-0.15) * CFrame.Angles(math.rad(-10),0,0), CFrame.new())
  244. table.insert(Bits, {Side = true; Weld = WingLeftLowerMain; Series = 0;Type = "WingLow"})
  245.  
  246. local WingRightLower = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  247. local WingRightLowerMain = _Weld(WingRightLower, AnchorPart8, CFrame.new(), CFrame.new())
  248. local WingRightLowerP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  249. _Weld(WingRightLowerP1, WingRightLower, CFrame.new(0,-1.5,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  250. local WingRightLowerD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,2.8,0.45})
  251. WingRightLowerD.Mesh.MeshId = "rbxassetid://9756362"
  252. _Weld(WingRightLowerD, WingRightLower, CFrame.new(0,0.75,-0.15) * CFrame.Angles(math.rad(-10),0,0), CFrame.new())
  253. table.insert(Bits, {Side = false; Weld = WingRightLowerMain; Series = 0;Type = "WingLow"})
  254.  
  255. for i = 1, 6, 1 do
  256.     local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  257.     local Main = _Weld(TriP1, AnchorPart, CFrame.new(), CFrame.new())
  258.     local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  259.     _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  260.     local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  261.     DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  262.     _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  263.     table.insert(Bits, {Side = false; Weld = Main; Series = i;Type = "Top"})
  264. end
  265.  
  266. for i = 1, 6, 1 do
  267.     local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  268.     local Main = _Weld(TriP1, AnchorPart2, CFrame.new(), CFrame.new())
  269.     local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  270.     _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  271.     local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  272.     DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  273.     _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  274.     table.insert(Bits, {Side = true; Weld = Main; Series = i;Type = "Top"})
  275. end
  276.  
  277. for i = 1, 6, 1 do
  278.     local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  279.     local Main = _Weld(TriP1, AnchorPart3, CFrame.new(), CFrame.new())
  280.     local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  281.     _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  282.     local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  283.     DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  284.     _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  285.     table.insert(Bits, {Side = false; Weld = Main; Series = i;Type = "Bot"})
  286. end
  287.  
  288. for i = 1, 6, 1 do
  289.     local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  290.     local Main = _Weld(TriP1, AnchorPart4, CFrame.new(), CFrame.new())
  291.     local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  292.     _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  293.     local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  294.     DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  295.     _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  296.     table.insert(Bits, {Side = true; Weld = Main; Series = i;Type = "Bot"})
  297. end
  298.  
  299. --[[local WingAnchor = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  300. _Weld(WingAnchor, Character.Torso, CFrame.new(0.5,-0.5,-1), CFrame.new())
  301. local LengthWing1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  302. _Weld(LengthWing1, WingAnchor, CFrame.new(0.5,-0.55,0.35) * CFrame.Angles(math.rad(290),math.rad(45),0), CFrame.new())
  303. local WingAnchor2 = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  304. _Weld(WingAnchor2, LengthWing1, CFrame.new(0,-0.75,0), CFrame.new())
  305. local LengthWing2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  306. _Weld(LengthWing2, WingAnchor2, CFrame.new(0,-0.6,0) * CFrame.Angles(math.rad(350),0,0), CFrame.new())
  307. local WingAnchor3 = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  308. _Weld(WingAnchor3, LengthWing2, CFrame.new(0,-0.75,0), CFrame.new())
  309. local LengthWing3 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  310. _Weld(LengthWing3, WingAnchor3, CFrame.new(0,-0.6,0) * CFrame.Angles(math.rad(-10),0,0), CFrame.new())
  311. local WingAnchor4 = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  312. _Weld(WingAnchor4, LengthWing3, CFrame.new(0,-0.75,0), CFrame.new())
  313. local LengthWing4 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  314. _Weld(LengthWing4, WingAnchor4, CFrame.new(0,-0.6,0) * CFrame.Angles(math.rad(-15),0,0), CFrame.new())
  315. ]]-- Scrapped for now...
  316.  
  317. --[[Body]]--
  318.  
  319. local BHead = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"Head",{1.25,1.25,1.25})
  320. _Weld(BHead,Head,CFrame.new(),CFrame.new())
  321. local BHelm = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1,1,1})
  322. BHelm.Mesh.MeshId = "rbxassetid://17438747"
  323. _Weld(BHelm,BHead,CFrame.new(0,-0.2,0),CFrame.new())
  324. local BHelm2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.95,0.97,0.95})
  325. BHelm2.Mesh.MeshId = "rbxassetid://17438747"
  326. _Weld(BHelm2,BHelm,CFrame.new(0,0,-0.02),CFrame.new())
  327. local EyeL = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.25,0.075,0.075})
  328. _Weld(EyeL,Head,CFrame.new(0.2,0.25,0.55)*CFrame.Angles(0,math.rad(40),0),CFrame.new())
  329. local EyeR = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.25,0.075,0.075})
  330. _Weld(EyeR,Head,CFrame.new(-0.2,0.25,0.55)*CFrame.Angles(0,math.rad(-40),0),CFrame.new())
  331. local Mouth = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.25,0.075,0.075})
  332. _Weld(Mouth,Head,CFrame.new(0,0.45,0.53),CFrame.new())
  333. local BTorso = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{1,0.4,1})
  334. BTorso.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  335. _Weld(BTorso,Torso,CFrame.new(0,-0.45,0),CFrame.new())
  336. local BTorso2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.85,0.6,0.85})
  337. BTorso2.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  338. _Weld(BTorso2,BTorso,CFrame.new(0,0.8,0),CFrame.new())
  339. local BTorsoCore = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.5,0.5,0.5})
  340. _Weld(BTorsoCore, Torso, CFrame.new(0,-0.5,0.4),CFrame.new())
  341. local BTorsoCoreDisc = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.525,0.525,0.2})
  342. BTorsoCoreDisc.Mesh.MeshId = "rbxassetid://3270017"
  343. _Weld(BTorsoCoreDisc, BTorsoCore, CFrame.new(0,0,0.1),CFrame.new())
  344. local BNeck = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"Head",{0.8,1,0.8})
  345. _Weld(BNeck,Head,CFrame.new(0,0.8,0),CFrame.new())
  346.  
  347. for i=1,3 do
  348.     local BTorsoAb = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.2,0.075,0.2})
  349.     BTorsoAb.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  350.     _Weld(BTorsoAb, Torso, CFrame.new(-0.5,-0.3 + 0.3*i,0.35)*CFrame.Angles(0,0,math.rad(15)),CFrame.new())
  351. end
  352. for i=1,3 do
  353.     local BTorsoAb = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.2,0.075,0.2})
  354.     BTorsoAb.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  355.     _Weld(BTorsoAb, Torso, CFrame.new(0.5,-0.3 + 0.3*i,0.35)*CFrame.Angles(0,0,math.rad(-15)),CFrame.new())
  356. end
  357.  
  358. local function Arm(bool)
  359.     local Limb, Offset
  360.     if bool then
  361.         Limb = Character["Left Arm"]
  362.         Offset = 0.52
  363.     else
  364.         Limb = Character["Right Arm"]
  365.         Offset = -0.52
  366.     end
  367.  
  368.     local ShldrL = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{1,0.35,1})
  369.     ShldrL.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  370.     _Weld(ShldrL,Limb,CFrame.new(0,-0.6,0),CFrame.new())
  371.     local ShldrL2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.85,0.5,0.85})
  372.     ShldrL2.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  373.     _Weld(ShldrL2,Limb,CFrame.new(0,0.2,0),CFrame.new())
  374.     local ShldrL3 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.75,0.2,0.75})
  375.     ShldrL3.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  376.     _Weld(ShldrL3,Limb,CFrame.new(0,0.85,0),CFrame.new())
  377.     local ShldrL4 = _Part(Main,false,false,0,0,"SmoothPlastic","Really black",{1,1,1},"FileMesh",{0.5,0.05,0.5})
  378.     ShldrL4.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  379.     _Weld(ShldrL4,ShldrL3,CFrame.new(0,0.16,0),CFrame.new())
  380.     --X Pat--
  381.     local ShldrLD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.1,0.03,1.35})
  382.     ShldrLD.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  383.     _Weld(ShldrLD,Limb,CFrame.new(0,0,0),CFrame.Angles(math.rad(45),0,0))
  384.     local ShldrLD2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.1,0.03,1.35})
  385.     ShldrLD2.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  386.     _Weld(ShldrLD2,Limb,CFrame.new(0,0,0),CFrame.Angles(math.rad(-45),0,0))
  387.     local ShldrLDB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.35,0.03,1.1})
  388.     ShldrLDB.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  389.     _Weld(ShldrLDB,Limb,CFrame.new(0,0,0),CFrame.Angles(0,0,math.rad(45)))
  390.     local ShldrLD2B = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.35,0.03,1.1})
  391.     ShldrLD2B.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  392.     _Weld(ShldrLD2B,Limb,CFrame.new(0,0,0),CFrame.Angles(0,0,math.rad(-45)))
  393.  
  394.     local Disc = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.55,0.55,0.55})
  395.     Disc.Mesh.MeshId = "rbxassetid://47260990"
  396.     _Weld(Disc, ShldrL, CFrame.new(0,0,Offset),CFrame.Angles(0,math.rad(90),0))
  397.     --3270017
  398.     local DiscC = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.55,0.55,0.1})
  399.     DiscC.Mesh.MeshId = "rbxassetid://3270017"
  400.     _Weld(DiscC, Disc, CFrame.new(),CFrame.new())
  401.  
  402.     table.insert(Discs, Disc)
  403. end
  404.  
  405. local function Leg(bool)
  406.     local Limb, Offset
  407.     if bool then
  408.         Limb = Character["Left Leg"]
  409.         Offset = 0.5
  410.     else
  411.         Limb = Character["Right Leg"]
  412.         Offset = -0.5
  413.     end
  414.     local LegL = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.95,0.35,0.95})
  415.     LegL.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  416.     _Weld(LegL,Limb,CFrame.new(0,-0.7,0),CFrame.new())
  417.     local LegL2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.85,0.5,0.85})
  418.     LegL2.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  419.     _Weld(LegL2,Limb,CFrame.new(0,0.15,0),CFrame.new())
  420.     local LegL3 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.75,0.2,0.75})
  421.     LegL3.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  422.     _Weld(LegL3,Limb,CFrame.new(0,0.85,0),CFrame.new())
  423.     local LegL4 = _Part(Main,false,false,0,0,"SmoothPlastic","Really black",{1,1,1},"FileMesh",{0.5,0.05,0.5})
  424.     LegL4.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  425.     _Weld(LegL4,LegL3,CFrame.new(0,0.16,0),CFrame.new())
  426.     local LegL5 = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.9,0.2,0.9})
  427.     LegL5.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  428.     _Weld(LegL5,LegL2,CFrame.new(0,0,0),CFrame.new())
  429.  
  430.     local MiniRocket = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.2,0.2,0.2})
  431.     MiniRocket.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  432.     _Weld(MiniRocket,LegL5,CFrame.new(Offset,0,0),CFrame.new())
  433.     local MiniRocket2 = _Part(Main,false,false,0,0,"SmoothPlastic","Really black",{1,1,1},"BlockMesh",{0.125,0.1,0.125})
  434.     _Weld(MiniRocket2,LegL5,CFrame.new(Offset,0.16,0),CFrame.new())
  435. end
  436.  
  437. Arm(true)
  438. Arm(false)
  439. Leg(true)
  440. Leg(false)
  441.  
  442. --Spin Disc 22768172
  443. --[[Done]]--
  444.  
  445. local Welds = {
  446.     ArmW = {
  447.         Left = Instance.new("Weld",Character);
  448.         Right = Instance.new("Weld",Main);
  449.     };
  450.     LegW = {
  451.         Left = Instance.new("Weld",Main);
  452.         Right = Instance.new("Weld",Main);
  453.     };
  454.     HeadW = {
  455.         Middle = Instance.new("Weld",Main);
  456.     };
  457. }
  458. local RWelds = {
  459.     ArmW = {
  460.         Left = Torso["Left Shoulder"];
  461.         Right = Torso["Right Shoulder"];
  462.     };
  463.     LegW = {
  464.         Left = Torso["Left Hip"];
  465.         Right = Torso["Right Hip"];
  466.     };
  467.     HeadW = {
  468.         Middle = Torso["Neck"];
  469.     };
  470. }
  471.  
  472. local LA,RA = Welds.ArmW.Left,Welds.ArmW.Right
  473. local LL,LR = Welds.LegW.Left,Welds.LegW.Right
  474. local HD = Welds.HeadW.Middle
  475. local LAD = CFrame.new(-1.5,0.5,0)
  476. local RAD = CFrame.new(1.5,0.5,0)
  477. local HDD = CFrame.new(0,-1.5,0)
  478. local LLD = CFrame.new(0.5,2,0)
  479. local RLD = CFrame.new(-0.5,2,0)
  480. local RootD = CFrame.Angles(-1.57,0,-3.15)
  481. Welds.ArmW.Left.C1,Welds.ArmW.Left.C0,Welds.ArmW.Left.Part0 = CFrame.new(0, 0.5, 0),CFrame.new(-1.5, 0.5, 0),Torso
  482. Welds.ArmW.Right.C1,Welds.ArmW.Right.C0,Welds.ArmW.Right.Part0 = CFrame.new(0, 0.5, 0),CFrame.new(1.5, 0.5, 0),Torso
  483. Welds.LegW.Left.C1,Welds.LegW.Left.Part0 = LLD,Torso
  484. Welds.LegW.Right.C1,Welds.LegW.Right.Part0 = RLD,Torso
  485. Welds.HeadW.Middle.C1,Welds.HeadW.Middle.Part0 = HDD,Torso
  486.  
  487. local CurrentLeftArm = LAD
  488. local CurrentRightArm = RAD
  489. local CurrentLeftLeg = LLD
  490. local CurrentRightLeg = RLD
  491.  
  492. local function lerp(a, b, c)
  493.     return a+(b-a)*c
  494. end
  495.  
  496. local function AnimLerp(c1, c2, al)
  497.     local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
  498.     local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
  499.     for i,v in pairs(com1) do
  500.         com1[i] = lerp(v,com2[i],al)
  501.     end
  502.     return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
  503. end
  504.  
  505. local _Arm = function(side,tf)
  506.     local Arm = nil
  507.     local Weld = nil
  508.     local RWeld = nil
  509.     for _,S in pairs(Sides) do
  510.         if side:lower() == S:lower() then
  511.             for _,A in pairs(Arms) do
  512.                 if A.Name:lower():find(side:lower()) then
  513.                     Arm = A
  514.                     Weld = Welds.ArmW[S]
  515.                     RWeld = RWelds.ArmW[S]
  516.                 end
  517.             end
  518.         end
  519.     end
  520.     if Arm and Weld and RWeld then
  521.         if tf then
  522.             Weld.Part1 = Arm
  523.             RWeld.Part1 = nil
  524.         elseif not tf then
  525.             Weld.Part1 = nil
  526.             RWeld.Part1 = Arm
  527.         else
  528.             print("Error")
  529.         end
  530.     end
  531. end
  532.  
  533. local _Leg = function(side,tf)
  534.     local Leg = nil
  535.     local Weld = nil
  536.     local RWeld = nil
  537.     for _,S in pairs(Sides) do
  538.         if side:lower() == S:lower() then
  539.             for _,A in pairs(Legs) do
  540.                 if A.Name:lower():find(side:lower()) then
  541.                     Leg = A
  542.                     Weld = Welds.LegW[S]
  543.                     RWeld = RWelds.LegW[S]
  544.                 end
  545.             end
  546.         end
  547.     end
  548.     if Leg and Weld and RWeld then
  549.         if tf then
  550.             Weld.Part1 = Leg
  551.             RWeld.Part1 = nil
  552.         elseif not tf then
  553.             Weld.Part1 = nil
  554.             RWeld.Part1 = Leg
  555.         else
  556.             print("Error")
  557.         end
  558.     end
  559. end
  560.  
  561. local _Head = function(tf)
  562.     local Head = nil
  563.     local Weld = nil
  564.     local RWeld = nil
  565.     Head = Character["Head"]
  566.     Weld = Welds.HeadW.Middle
  567.     RWeld = RWelds.HeadW.Middle
  568.     if Head and Weld and RWeld then
  569.         if tf then
  570.             Weld.Part1 = Head
  571.             RWeld.Part1 = nil
  572.         elseif not tf then
  573.             Weld.Part1 = nil
  574.             RWeld.Part1 = Head
  575.         else
  576.             print("Error")
  577.         end
  578.     end
  579. end
  580.  
  581. pcall(function()
  582.     Character.Animate.Disabled = true
  583. end)
  584. if Humanoid then
  585.     Humanoid.PlatformStand = true
  586. end
  587. pcall(function()
  588.     Torso.Velocity = Variables.Momentum
  589. end)
  590.  
  591. local Rotate = Instance.new("BodyGyro",Torso)
  592. Rotate.P = 10^6
  593. Rotate.maxTorque = Vector3.new(Rotate.P,Rotate.P,Rotate.P)
  594. Rotate.cframe = Torso.CFrame
  595.  
  596. local Move = Instance.new("BodyPosition",Torso)
  597. Move.maxForce = Vector3.new(1,1,1)*(10^6)
  598. Move.position = Torso.CFrame.p
  599.  
  600. local function LaserBeam()
  601.     UpdateAnim = false
  602.     CurrentAnimation = "DisableHandAnim"
  603.     rofTop = 6
  604.     for i=0,1,0.1 do
  605.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(75),0,math.rad(-20)), i)
  606.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(75),0,math.rad(20)), i)
  607.         wait()
  608.     end
  609.  
  610.     ChargeBar.Visible = true;
  611.  
  612.     local Charge = 0
  613.     local Downt = _Part(Main,false,true,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{1,1,1})
  614.     local Effect = Instance.new("ParticleEmitter", Downt)
  615.     Effect.Texture = "rbxassetid://283631720"
  616.     Effect.VelocitySpread = 0
  617.     Effect.Acceleration = Vector3.new(0,0,0)
  618.     Effect.Color = ColorSequence.new(Downt.BrickColor.Color,Downt.BrickColor.Color)
  619.     Effect.Speed = NumberRange.new(0)
  620.     Effect.Lifetime = NumberRange.new(1,1)
  621.     Effect.Rate = 60
  622.     Effect.Transparency = NumberSequence.new(0.5,0.8)
  623.     Effect.Rotation = NumberRange.new(1,2)
  624.  
  625.     while BeamHeld do
  626.         Charge = Charge + 1
  627.         CurrentEnergy = CurrentEnergy - 1.5
  628.         Downt.Mesh.Scale = Downt.Mesh.Scale + Vector3.new(0.02,0.02,0.02)
  629.         Downt.CFrame = RootPart.CFrame + (RootPart.CFrame.lookVector * 4)
  630.         Effect.Size = NumberSequence.new(Downt.Mesh.Scale.X)
  631.         ChargeFill.Size = UDim2.new(Charge/100,-5,1,-5)
  632.         wait()
  633.         if Charge >= 100 or CurrentEnergy <= 0 then
  634.             CurrentEnergy = CurrentEnergy <= 0 and 0 or CurrentEnergy
  635.             break
  636.         end
  637.     end
  638.  
  639.     Downt.Anchored = false
  640.     Downt.Size = Downt.Mesh.Scale
  641.     Downt.Mesh.Scale = Vector3.new(1,1,1)
  642.  
  643.     local Velocity = Instance.new("BodyVelocity", Downt)
  644.     Velocity.maxForce = Vector3.new(1e7,1e7,1e7)
  645.     Velocity.P = 1e7
  646.     Velocity.Velocity = (Mouse.Hit.p - Downt.CFrame.p)
  647. --[[
  648.     --CurrentEnergy = CurrentEnergy <= 0 and 0 or CurrentEnergy - (1.5*Charge)
  649.     local Face = Torso.CFrame.lookVector
  650.     local Ray = Ray.new(Downt.CFrame.p, (Mouse.Hit.p - Downt.CFrame.p).unit*750)
  651.     local Object,Pos = game:GetService("Workspace"):findPartOnRay(Ray, Character)
  652.     local Distance = (Pos - Downt.CFrame.p).magnitude
  653.     local DrawRay = _Part(Main,false,true,0,0,"Neon",ColorGlobe,{1,1,1},"Cylinder",{Distance,Downt.Mesh.Scale.X,Downt.Mesh.Scale.X})
  654.     DrawRay.CFrame = CFrame.new(Pos, Downt.CFrame.p) * CFrame.new(0,0,-Distance/2) * CFrame.Angles(0,math.rad(270),0)
  655.  
  656.     local ExplodePart = _Part(Main,false,true,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{1,1,1})
  657.     ExplodePart.CFrame = CFrame.new(Pos.X,Pos.Y,Pos.Z)
  658.  
  659.     local Ignore = {}
  660.  
  661.     ExplodePart.Touched:connect(function(Object)
  662.         if Object.Parent and Object.Parent:IsA("Model") then
  663.             local Model = Object.Parent
  664.             if Model:findFirstChild("Humanoid") and not Ignore[Model.Name] and Model.Name ~= Character.Name then
  665.                 Ignore[Model.Name] = true;
  666.                 local Humanoid = Model:findFirstChild("Humanoid")
  667.                 Humanoid:TakeDamage(0.75*Charge)
  668.             end
  669.         end
  670.     end)
  671.  
  672.     for i=0,1,0.1 do
  673.         wait()
  674.         DrawRay.Transparency = i
  675.         Downt.Transparency = i
  676.         ExplodePart.Size = ExplodePart.Size + Vector3.new(0.04*Charge,0.04*Charge,0.04*Charge)
  677.         ExplodePart.CFrame = CFrame.new(Pos.X,Pos.Y,Pos.Z)
  678.         ExplodePart.Transparency = i
  679.     end
  680.     Effect:Destroy()
  681.     game:GetService("Debris"):AddItem(DrawRay, 1)
  682.     game:GetService("Debris"):AddItem(ExplodePart, 1)]]
  683.     game:GetService("Debris"):AddItem(Downt, 10)
  684.     UpdateAnim = true
  685.     ChargeBar.Visible = false
  686.     LastBeam = tick()
  687. end
  688.  
  689. local function AbsoluteDefence()
  690.     UpdateAnim = false
  691.  
  692.     while AbsDefHeld do
  693.  
  694.         wait()
  695.     end
  696.  
  697.  
  698.     UpdateAnim = true
  699. end
  700.  
  701. local function ThrowBlades()
  702.     --[[local Thrown = {}
  703.     for i,Bit in pairs(Bits) do
  704.         if Bit.Type == "Top" then
  705.             table.insert(Thrown, {Side = Bit.Side; Weld = Bit.Weld; Series = Bit.Series; Type = Bit.Type})
  706.             table.remove(Bits, i)
  707.         end
  708.     end
  709.     ]]-- *Construction*
  710. end
  711.  
  712. Mouse.KeyDown:connect(function(Key)
  713.     if Key == "w" then
  714.         Front = true
  715.     end
  716.     if Key == "a" then
  717.         Left = true
  718.     end
  719.     if Key == "s" then
  720.         Back = true
  721.     end
  722.     if Key == "q" then
  723.         BoostHeld = not BoostHeld
  724.         if BoostHeld then
  725.             Accel = 3
  726.         else
  727.             Accel = 1
  728.         end
  729.     end
  730.     if Key == "d" then
  731.         Right = true
  732.     end
  733.     if Key:byte() == 50 then
  734.         if MobilityType == "Float" then
  735.             MobilityType = "Fly"
  736.         elseif MobilityType == "Fly" then
  737.             MobilityType = "Ground"
  738.         elseif MobilityType == "Ground" then
  739.             MobilityType = "Float"
  740.         end
  741.     end
  742.     if Key == "h" then
  743.         if CurrentEnergy <= 0 then
  744.             return
  745.         end
  746.         AbsDefHeld = true
  747.         AbsoluteDefence()
  748.     end
  749.     if Key == "f" then
  750.         if CurrentEnergy <= 0 or tick()-LastBeam <= 1 then
  751.             return
  752.         end
  753.         BeamHeld = true
  754.         LaserBeam()
  755.     end
  756.     if Key == "q" then
  757.         ThrowBlades()
  758.     end
  759.     while BoostHeld do
  760.         wait()
  761.         CurrentEnergy = CurrentEnergy <= 0 and 0 or CurrentEnergy - 0.5
  762.         if CurrentEnergy <= 0 then
  763.             break
  764.         end
  765.     end
  766.     if Key == "g" then
  767.         ChargeHeld = true
  768.         UpdateAnim = false
  769.         CurrentAnimation = "DisableHandAnim"
  770.         rofTop = 15
  771.         for i=0,1,0.1 do
  772.             wait()
  773.             AnchorPart.Weld.C1 = AnimLerp(AnchorPart.Weld.C1, CFrame.new(0,3,0), i)
  774.             AnchorPart2.Weld.C1 = AnimLerp(AnchorPart2.Weld.C1, CFrame.new(0,3,0), i)
  775.             RA.C0 = AnimLerp(RA.C0, RAD * CFrame.Angles(math.rad(160),0,math.rad(10)), i)
  776.             LA.C0 = AnimLerp(LA.C0, LAD * CFrame.Angles(math.rad(160),0,math.rad(-10)), i)
  777.         end
  778.  
  779.         while ChargeHeld do
  780.             wait()
  781.             local NRG = _Part(Main,false,true,0,0,"SmoothPlastic",ColorGlobe,{0.2,0.2,0.2},"Sphere",{1,1,1})
  782.             NRG.CFrame = AnchorPart.CFrame * CFrame.new(math.random(-2.5,2.5),math.random(-2.5,2.5),math.random(-2.5,2.5))
  783.             local NRGB = _Part(Main,false,true,0,0,"SmoothPlastic",ColorGlobe,{0.2,0.2,0.2},"Sphere",{1,1,1})
  784.             NRGB.CFrame = AnchorPart2.CFrame * CFrame.new(math.random(-2.5,2.5),math.random(-2.5,2.5),math.random(-2.5,2.5))
  785.             table.insert(Energy, NRG)
  786.             table.insert(Energy, NRGB)
  787.             for i,nrg in pairs(Energy) do
  788.                 nrg.Transparency = nrg.Transparency + 0.05
  789.                 nrg.Mesh.Scale = nrg.Mesh.Scale + Vector3.new(0.1,0.1,0.1)
  790.                 nrg.CFrame = CFrame.new(nrg.CFrame.p, AnchorPart.CFrame.p) * CFrame.Angles(0,0,-math.pi/2)
  791.                 if nrg.Transparency >= 1 then
  792.                     table.remove(Energy, i)
  793.                     nrg:Destroy()
  794.                 end
  795.             end
  796.             CurrentEnergy = CurrentEnergy >= TotalEnergy and TotalEnergy or CurrentEnergy + 10
  797.         end
  798.  
  799.         for i=0,1,0.1 do
  800.             wait()
  801.             AnchorPart.Weld.C1 = AnimLerp(AnchorPart.Weld.C1, CFrame.new(0,1.5,0), i)
  802.             AnchorPart2.Weld.C1 = AnimLerp(AnchorPart2.Weld.C1, CFrame.new(0,1.5,0), i)
  803.             for x,nrg in pairs(Energy) do
  804.                 nrg.Transparency = nrg.Transparency + 0.15
  805.                 nrg.Mesh.Scale = nrg.Mesh.Scale + Vector3.new(0.2,0.2,0.2)
  806.                 nrg.CFrame = CFrame.new(nrg.CFrame.p, AnchorPart.CFrame.p) * CFrame.Angles(0,0,-math.pi/2)
  807.                 if nrg.Transparency >= 1 then
  808.                     table.remove(Energy, x)
  809.                     nrg:Destroy()
  810.                 end
  811.             end
  812.         end
  813.         UpdateAnim = true
  814.     end
  815. end)
  816.  
  817. Mouse.KeyUp:connect(function(Key)
  818.     if Key == "w" then
  819.         Front = false
  820.     end
  821.     if Key == "a" then
  822.         Left = false
  823.     end
  824.     if Key == "s" then
  825.         Back = false
  826.     end
  827.     if Key == "d" then
  828.         Right = false
  829.     end
  830.     if Key == "f" then
  831.         BeamHeld = false
  832.     end
  833.     if Key == "h" then
  834.         AbsDefHeld = false
  835.     end
  836.     if Key == "g" then
  837.         ChargeHeld = false
  838.     end
  839.     if Key == "0" then
  840.         BoostHeld = false
  841.     end
  842. end)
  843.  
  844. _Arm("Left", true)
  845. _Arm("Right", true)
  846. _Leg("Left", true)
  847. _Leg("Right", true)
  848. _Head(true)
  849.  
  850. game:GetService("RunService").Stepped:connect(function()
  851.     EnergyFill.Size = UDim2.new(CurrentEnergy/TotalEnergy,-5,1,-5)
  852.     RateTop = RateTop + rofTop
  853.     if RateTop >= 360 then
  854.         RateTop = 1
  855.     end
  856.  
  857.     RateBot = RateBot + rofBot
  858.     if RateBot >= 360 then
  859.         RateBot = 1
  860.     end
  861.  
  862.  
  863.     if AddSub == false then
  864.         CurrentFrame = CurrentFrame + 0.01
  865.         if CurrentFrame >= 1 then
  866.             AddSub = true
  867.         end
  868.     elseif AddSub == true then
  869.         CurrentFrame = CurrentFrame - 0.01
  870.         if CurrentFrame <= 0 then
  871.             AddSub = false
  872.         end
  873.     end
  874.  
  875.     DiscSpin = DiscSpin + 0.1
  876.     for _,Disc in pairs(Discs) do
  877.         Disc.Weld.C0 = CFrame.Angles(0,math.rad(90),DiscSpin)
  878.     end
  879.  
  880.     if ExtendGrowthTop == false and CurrentAnimation == "Idle" then
  881.         ExtendTop = ExtendTop + 1/2
  882.         if ExtendTop >= 25 then
  883.             ExtendGrowthTop = true
  884.         end
  885.     elseif ExtendGrowthTop == true and CurrentAnimation == "Idle" then
  886.         ExtendTop = ExtendTop - 1/2
  887.         if ExtendTop <= -10 then
  888.             ExtendGrowthTop = false
  889.         end
  890.     elseif CurrentAnimation == "Forward" or CurrentAnimation == "Backward" or CurrentAnimation == "SwivelRight" or CurrentAnimation == "SwivelLeft" then
  891.         ExtendTop = ExtendTop >= 40 and 40 or ExtendTop + 2
  892.     elseif CurrentAnimation == "DisableHandAnim" then
  893.         ExtendTop = ExtendTop >= 50 and 50 or ExtendTop + 2
  894.     end
  895.  
  896.     if ExtendGrowthBot == false and (CurrentAnimation == "Idle" or CurrentAnimation == "DisableHandAnim") then
  897.         ExtendBot = ExtendBot + 1/2
  898.         if ExtendBot >= 25 then
  899.             ExtendGrowthBot = true
  900.         end
  901.     elseif ExtendGrowthBot == true and (CurrentAnimation == "Idle" or CurrentAnimation == "DisableHandAnim") then
  902.         ExtendBot = ExtendBot - 1/2
  903.         if ExtendBot <= -10 then
  904.             ExtendGrowthBot = false
  905.         end
  906.     elseif CurrentAnimation == "Forward" or CurrentAnimation == "Backward" or CurrentAnimation == "SwivelRight" or CurrentAnimation == "SwivelLeft" then
  907.         ExtendBot = ExtendBot >= 40 and 40 or ExtendBot + 2
  908.     end
  909.  
  910.     if Front and not Back then
  911.         xmove = 3
  912.         if UpdateAnim then
  913.             CurrentAnimation = "Forward"
  914.         end
  915.     elseif Back and not Front then
  916.         xmove = -3
  917.         if UpdateAnim then
  918.             CurrentAnimation = "Backward"
  919.         end
  920.     else
  921.         xmove = 0
  922.         if UpdateAnim then
  923.             CurrentAnimation = "Idle"
  924.         end
  925.     end
  926.  
  927.     if Left and not Right then
  928.         if xmove == 0 and UpdateAnim then
  929.             CurrentAnimation = "SwivelLeft"
  930.         end
  931.         ymove = 3
  932.     elseif Right and not Left then
  933.         if xmove == 0 and UpdateAnim then
  934.             CurrentAnimation = "SwivelRight"
  935.         end
  936.         ymove = -3
  937.     else
  938.         ymove = 0
  939.         if xmove == 0 and UpdateAnim then
  940.             CurrentAnimation = "Idle"
  941.         end
  942.     end
  943.  
  944.     if LastAnimation ~= CurrentAnimation then
  945.         CurrentFrame = 0
  946.         AddSub = false
  947.     end
  948.  
  949.     for _,Info in pairs(Bits) do
  950.         local Side = Info.Side
  951.         local Series = Info.Series
  952.         local Weld = Info.Weld
  953.         local Type = Info.Type
  954.         local Extend = 1
  955.         local MyRate = 1
  956.  
  957.         if Type == "Top" then
  958.             Extend = ExtendTop
  959.             MyRate = RateTop + 30
  960.         elseif Type == "Bot" then
  961.             Extend = ExtendBot
  962.             MyRate = RateBot
  963.         else
  964.  
  965.         end
  966.  
  967.         if CurrentAnimation == "Idle" or CurrentAnimation == "DisableHandAnim" then
  968.             if Type == "Wing" or Type == "WingLow" then
  969.                 if Type == "WingLow" then
  970.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(Side == true and -0.5 or 0.5,1.65,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 30 + Lift*2 or -30 - Lift*2)),0), CurrentFrame)
  971.                 else
  972.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(0,1.8,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 30 + Lift*2 or -30 - Lift*2)),0), CurrentFrame)
  973.                 end
  974.             else
  975.                 Weld.C1 = CFrame.new(0,0,Spread) * CFrame.Angles(math.rad(-Extend),math.rad(60*Series + (Side == true and -MyRate or MyRate)),0) * CFrame.new(0,Distance,0)
  976.             end
  977.         elseif CurrentAnimation == "Forward" or CurrentAnimation == "Backward" then
  978.             if Type == "Wing" or Type == "WingLow" then
  979.                 if Type == "WingLow" then
  980.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(Side == true and -0.5 or 0.5,1.65,0.5) * CFrame.Angles(math.rad(65 + Lift*10),math.rad((Side == true and 30 + Lift*2 or -30 - Lift*2)),0), CurrentFrame)
  981.                 else
  982.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(0,1.8,0.5) * CFrame.Angles(math.rad(65 + Lift*10),math.rad((Side == true and 30 + Lift*2 or -30 - Lift*2)),0), CurrentFrame)
  983.                 end
  984.             else
  985.                 Weld.C1 = CFrame.new(0,0,Spread) * CFrame.Angles(math.rad(-Extend),math.rad(60*Series + (Side == true and -MyRate or MyRate)),0) * CFrame.new(0,Distance,0)
  986.             end
  987.         elseif CurrentAnimation == "SwivelLeft" then
  988.             if Type == "Wing" or Type == "WingLow" then
  989.                 if Type == "WingLow" then
  990.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(Side == true and -0.5 or 0.5,1.65,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 50 or -10)),0), CurrentFrame)
  991.                 else
  992.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(0,1.8,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 50 or -10)),0), CurrentFrame)
  993.                 end
  994.             else
  995.                 Weld.C1 = CFrame.new(0,0,Spread) * CFrame.Angles(math.rad(-Extend),math.rad(60*Series + (Side == true and -MyRate or MyRate)),0) * CFrame.new(0,Distance,0)
  996.             end
  997.         elseif CurrentAnimation == "SwivelRight" then
  998.             if Type == "Wing" or Type == "WingLow" then
  999.                 if Type == "WingLow" then
  1000.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(Side == true and -0.5 or 0.5,1.65,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 10 or -50)),0), CurrentFrame)
  1001.                 else
  1002.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(0,1.8,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 10 or -50)),0), CurrentFrame)
  1003.                 end
  1004.             else
  1005.                 Weld.C1 = CFrame.new(0,0,Spread) * CFrame.Angles(math.rad(-Extend),math.rad(60*Series + (Side == true and -MyRate or MyRate)),0) * CFrame.new(0,Distance,0)
  1006.             end
  1007.         else
  1008.             Weld.C1 = CFrame.new(0,0,Spread) * CFrame.Angles(math.rad(-Extend),math.rad(60*Series + (Side == true and -MyRate or MyRate)),0) * CFrame.new(0,Distance,0)
  1009.         end
  1010.     end
  1011.  
  1012.     TurnAngle = TurnAngle + ymove
  1013.  
  1014.     Rotate.cframe = CFrame.new()*CFrame.Angles(0,math.rad(TurnAngle),0)
  1015.  
  1016.     local Ray = Ray.new(Torso.CFrame.p,Down.CFrame.lookVector*15)
  1017.     local Part,Pos = game:GetService("Workspace"):findPartOnRay(Ray,Character)
  1018.     local Distance = (Pos - Torso.CFrame.p).magnitude
  1019.     local Face = Torso.CFrame.lookVector
  1020.  
  1021.     if Part and Pos then
  1022.         local sides = Enum.NormalId:GetEnumItems();
  1023.         local default = Vector3.new(0,1,0)
  1024.         for i,v in pairs(sides) do
  1025.             sides[i] = Vector3.FromNormalId(v)
  1026.         end
  1027.         if Part:IsA("Part") then
  1028.             if Part.Shape.Name == "Ball" then
  1029.                 sides = {}
  1030.                 default = Part.CFrame:vectorToObjectSpace(Pos-Part.Position).unit
  1031.             elseif Part.Shape.Name == "Cylinder" then
  1032.                 sides = {Vector3.new(1,0,0),Vector3.new(-1,0,0)}
  1033.                 default = (Part.CFrame:vectorToObjectSpace(Pos-Part.Position)*Vector3.new(0,1,1)).unit
  1034.             end
  1035.         elseif Part:IsA("WedgePart") then
  1036.             sides = {Vector3.new(1,0,0),Vector3.new(-1,0,0),Vector3.new(0,-1,0),Vector3.new(0,0,-1)}
  1037.             default = Vector3.new(0,1,-Part.Size.Y/Part.Size.Z).unit
  1038.         end
  1039.         local obs,siz,sidevector = Part.CFrame:pointToObjectSpace(Pos),Part.Size/2
  1040.         for i,v in pairs(sides) do
  1041.             if (obs*v/(siz*v+Vector3.new(1,1,1)*1e-7)):isClose(v,.01) then
  1042.                 sidevector = v
  1043.                 break
  1044.             end
  1045.         end
  1046.         if not sidevector then sidevector = default end
  1047.         if sidevector then
  1048.             local cf = CFrame.new(Pos,Pos+Part.CFrame:vectorToWorldSpace(sidevector)) * CFrame.Angles(-math.pi/2,0,0)
  1049.             Move.position = Vector3.new(cf.X,cf.Y + 6 + Lift,cf.Z) + Vector3.new(Face.X,0,Face.Z)*Accel*xmove
  1050.             Move.maxForce = Vector3.new(1e7,1e7,1e7)
  1051.         end
  1052.     else
  1053.         Move.maxForce = Vector3.new(1e7,0,1e7)
  1054.         Move.position = Vector3.new(Torso.CFrame.X,Torso.CFrame.Y,Torso.CFrame.Z) + Vector3.new(Face.X,0,Face.Z)*Accel*xmove
  1055.     end
  1056.  
  1057.     CurrentLeftArm = LA.C0
  1058.     CurrentRightArm = RA.C0
  1059.     CurrentRightLeg = LR.C1
  1060.     CurrentLeftLeg = LL.C1
  1061.  
  1062.     if math.floor(Lift+0.5) == 3 then
  1063.         --FlapSound:Play()
  1064.     end
  1065.  
  1066.     if CurrentAnimation == "Idle" then
  1067.         rofTop = 1
  1068.         rofBot = 1
  1069.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(0),0,math.rad(25 + Lift*2)), CurrentFrame)
  1070.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(0),0,math.rad(-25 - Lift*2)), CurrentFrame)
  1071.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(0,0,math.rad(-7.5 + Lift)), CurrentFrame)
  1072.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(0,0,math.rad(7.5 - Lift)), CurrentFrame)
  1073.     elseif CurrentAnimation == "Forward" then
  1074.         rofTop = 6
  1075.         rofBot = 6
  1076.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(-15),0,math.rad(30)), CurrentFrame)
  1077.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(-15),0,math.rad(-30)), CurrentFrame)
  1078.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(15),0,math.rad(-7.5)), CurrentFrame)
  1079.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(15),0,math.rad(7.5)), CurrentFrame)
  1080.     elseif CurrentAnimation == "Backward" then
  1081.         rotTop = -6
  1082.         rofBot = -6
  1083.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(15),0,math.rad(20)), CurrentFrame)
  1084.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(15),0,math.rad(-20)), CurrentFrame)
  1085.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(-15),0,math.rad(-7.5)), CurrentFrame)
  1086.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(-15),0,math.rad(7.5)), CurrentFrame)
  1087.     elseif CurrentAnimation == "SwivelLeft" then
  1088.         rofTop = 3
  1089.         rofBot = 3
  1090.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(15),0,math.rad(25)), CurrentFrame)
  1091.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(-15),0,math.rad(-25)), CurrentFrame)
  1092.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(-10),0,math.rad(-7.5)), CurrentFrame)
  1093.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(10),0,math.rad(7.5)), CurrentFrame)
  1094.     elseif CurrentAnimation == "SwivelRight" then
  1095.         rofTop = -3
  1096.         rofBot = -3
  1097.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(-15),0,math.rad(25)), CurrentFrame)
  1098.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(15),0,math.rad(-25)), CurrentFrame)
  1099.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(10),0,math.rad(-7.5)), CurrentFrame)
  1100.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(-10),0,math.rad(7.5)), CurrentFrame)
  1101.     elseif CurrentAnimation == "DisableHandAnim" then
  1102.         rofBot = 1
  1103.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(0,0,math.rad(-7.5)), CurrentFrame)
  1104.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(0,0,math.rad(7.5)), CurrentFrame)
  1105.     end
  1106.  
  1107.     LastAnimation = CurrentAnimation
  1108. end)
  1109.  
  1110. while true do
  1111.     for i = 0,10,0.1 do
  1112.         Lift = Lift + (math.sin(math.pi*2/10*i)*0.1)
  1113.         wait(0.02)
  1114.     end
  1115. end
  1116. local Player = game:GetService("Players").LocalPlayer
  1117. local Character = Player.Character
  1118. local Mouse = Player:GetMouse()
  1119. local Camera = game:GetService("Workspace").CurrentCamera
  1120. local Humanoid = Character:findFirstChild("Humanoid")
  1121. local Torso = Character.Torso
  1122. local PlayerGui = Player.PlayerGui
  1123. local Torso = Character:findFirstChild("Torso")
  1124. local Head = Character:findFirstChild("Head")
  1125. local RootPart = Character:findFirstChild("HumanoidRootPart")
  1126. local Root = RootPart.RootJoint
  1127. local Sides = {"Left","Right"}
  1128. local Arms = {Character["Left Arm"],Character["Right Arm"]}
  1129. local Legs = {Character["Left Leg"],Character["Right Leg"]}
  1130.  
  1131. local Bits = {}
  1132. local Disposables = {}
  1133. local Discs = {}
  1134.  
  1135. local DiscSpin = 0
  1136. local Spread = 1.25
  1137. local RateTop = 1
  1138. local RateBot = 1
  1139. local Distance = 0.5
  1140. local ExtendTop = 1
  1141. local ExtendBot = 1
  1142. local CurrentFrame = 1
  1143. local Lift = 0
  1144. local Accel = 1
  1145. local TurnAngle = 0
  1146. local rofTop = 1
  1147. local rofBot = 1
  1148. local Flutter = 0
  1149.  
  1150. local Front = false
  1151. local Back = false
  1152. local Left = false
  1153. local Right = false
  1154. local AddSub = false
  1155. local ChargeHeld = false
  1156. local BoostHeld = false
  1157. local BeamHeld = false
  1158. local AbsDefHeld = false
  1159. local ExtendGrowthTop = false
  1160. local ExtendGrowthBot = false
  1161. local UpdateAnim = true
  1162.  
  1163.  
  1164. local CurrentAnimation = "Idle"
  1165. local LastAnimation = "Idle"
  1166. local MobilityType = "Float"
  1167. local ColorGlobe = "White"
  1168. local ColorBlades = "Black"
  1169. local xmove,zmove
  1170.  
  1171. local LastBeam = tick()
  1172.  
  1173. if Torso then
  1174.     for _,v in pairs(Torso:children()) do
  1175.         if v:IsA("BodyGyro") or v:IsA("BodyVelocity") then
  1176.             v:Destroy();
  1177.         end
  1178.     end
  1179. end
  1180.  
  1181. local Energy = {}
  1182. local TotalEnergy = 1000
  1183. local CurrentEnergy = 1000
  1184.  
  1185. pcall(function()
  1186.     PlayerGui.EnergyMeter:Destroy()
  1187. end)
  1188. if Player.Name == "modFrost" then
  1189.     ColorGlobe = "Bright orange"
  1190. end
  1191.  
  1192. local FlapSound = Instance.new("Sound", Torso)
  1193. FlapSound.Name = "Flap"
  1194. FlapSound.SoundId = "http://www.roblox.com/asset/?id=257002377"
  1195. FlapSound.Volume = 1
  1196.  
  1197. local EnergyMeter = Instance.new("ScreenGui", PlayerGui)
  1198. EnergyMeter.Name = "EnergyMeter"
  1199. local Bar = Instance.new("Frame", EnergyMeter)
  1200. Bar.Size = UDim2.new(0,200,0,10)
  1201. Bar.Position = UDim2.new(1,-205,1,-15)
  1202. Bar.BorderSizePixel = 0
  1203. Bar.BackgroundColor = BrickColor.new("Really black")
  1204. Bar.BackgroundTransparency = 0.5
  1205. local Text = Instance.new("TextLabel", Bar)
  1206. Text.Text = "Energy"
  1207. Text.TextColor = BrickColor.new("White")
  1208. Text.BackgroundTransparency = 1
  1209. Text.Size = UDim2.new(1,0,1,0)
  1210. Text.Position = UDim2.new(0,0,-1,-10)
  1211. Text.TextXAlignment = "Left"
  1212. Text.FontSize = "Size12"
  1213. local EnergyFill = Instance.new("Frame", Bar)
  1214. EnergyFill.Size = UDim2.new(0,0,1,-5)
  1215. EnergyFill.Position = UDim2.new(0,2.5,0,2.5)
  1216. EnergyFill.BorderSizePixel = 0
  1217. EnergyFill.BackgroundColor = BrickColor.new(ColorGlobe)
  1218. EnergyFill.BackgroundTransparency = 0.25
  1219.  
  1220. local ChargeMeter = Instance.new("ScreenGui", PlayerGui)
  1221. ChargeMeter.Name = "EnergyMeter"
  1222. local ChargeBar = Instance.new("Frame", ChargeMeter)
  1223. ChargeBar.Size = UDim2.new(0,200,0,10)
  1224. ChargeBar.Position = UDim2.new(0.5,-102.5,0.8,-5)
  1225. ChargeBar.BorderSizePixel = 0
  1226. ChargeBar.BackgroundColor = BrickColor.new("Really black")
  1227. ChargeBar.BackgroundTransparency = 0.5
  1228. local ChargeFill = Instance.new("Frame", ChargeBar)
  1229. ChargeFill.Size = UDim2.new(0,0,1,-5)
  1230. ChargeFill.Position = UDim2.new(0,2.5,0,2.5)
  1231. ChargeFill.BorderSizePixel = 0
  1232. ChargeFill.BackgroundColor = BrickColor.new("Bright blue")
  1233. ChargeFill.BackgroundTransparency = 0.25
  1234. ChargeBar.Visible = false
  1235.  
  1236. local function _Part(Parent,canc,anc,tr,ref,mat,color,size, meshtype, scale)
  1237.     local part = Instance.new("Part", Parent)
  1238.     part.Transparency = tr
  1239.     part.Anchored = anc
  1240.     part.TopSurface = 10
  1241.     part.BottomSurface = 10
  1242.     part.LeftSurface = 10
  1243.     part.RightSurface = 10
  1244.     part.FrontSurface = 10
  1245.     part.BackSurface = 10
  1246.     part.Locked = true
  1247.     part.formFactor = 3
  1248.     part.Reflectance = ref
  1249.     part.Material = mat
  1250.     part.CanCollide = canc
  1251.     part.Size = Vector3.new(size[1],size[2],size[3])
  1252.     part.BrickColor = BrickColor.new(color)
  1253.     local mesh
  1254.     if meshtype == "BlockMesh" then
  1255.         mesh = Instance.new("BlockMesh", part)
  1256.     elseif meshtype == "CylinderMesh" then
  1257.         mesh = Instance.new("CylinderMesh", part)
  1258.     else
  1259.         mesh = Instance.new("SpecialMesh", part)
  1260.         mesh.MeshType = meshtype
  1261.     end
  1262.     mesh.Name = "Mesh"
  1263.     mesh.Scale = Vector3.new(scale[1],scale[2],scale[3])
  1264.     return part
  1265. end
  1266.  
  1267. local function _Weld(Parent, p0, c1, c0)
  1268.     local weld = Instance.new("Motor", Parent)
  1269.     weld.Part1 = Parent
  1270.     weld.Part0 = p0
  1271.     weld.C1 = c1
  1272.     weld.C0 = c0
  1273.     weld.Name = "Weld"
  1274.     return weld
  1275. end
  1276.  
  1277. local Main = Character:findFirstChild("Main") or Instance.new("Model", Character)
  1278. Main.Name = "Main"
  1279. Main:ClearAllChildren()
  1280.  
  1281. pcall(function() Character["Head"]["face"]:Destroy() end)
  1282.  
  1283. for _,Hat in pairs(Character:GetChildren()) do
  1284.     if Hat:IsA("Accoutrement") then
  1285.         Hat:Destroy()
  1286.     end
  1287. end
  1288.  
  1289. for _,Part in pairs(Character:GetChildren()) do
  1290.     if Part:IsA("BasePart") then
  1291.         Part.Transparency = 1
  1292.     end
  1293. end
  1294.  
  1295. local function GenF(Part, Cframe, Color)
  1296.     local A = _Part(Main,false,false,0,0,"SmoothPlastic",Color,{0.05,0.5,0.05},"BlockMesh",{1,1,0.5})
  1297.     _Weld(A, Part, CFrame.new(), Cframe)
  1298.     local B = _Part(Main,false,false,0,0,"SmoothPlastic",Color,{0.2,0.2,0.3},"BlockMesh",{1,0.5,1})
  1299.     _Weld(B, A, CFrame.new(), CFrame.new(0,-0.2,0.2))
  1300.     local C = _Part(Main,false,false,0,0,"SmoothPlastic",Color,{0.2,0.2,0.2},"BlockMesh",{1,0.5,1})
  1301.     _Weld(C, A, CFrame.new(), CFrame.new(0,-0.025,0.15))
  1302. end
  1303.  
  1304. local Down = _Part(Main,false,false,1,1,"SmoothPlastic","Black",{1,1,1},"Brick",{1,1,1})
  1305. _Weld(Down, Torso, CFrame.Angles(math.rad(90),0,0), CFrame.new())
  1306.  
  1307. local AnchorPart = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  1308. _Weld(AnchorPart, Character["Right Arm"], CFrame.new(0,1.5,0), CFrame.new())
  1309.  
  1310. local AnchorPart2 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  1311. _Weld(AnchorPart2, Character["Left Arm"], CFrame.new(0,1.5,0), CFrame.new())
  1312.  
  1313. local AnchorPart3 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  1314. _Weld(AnchorPart3, Character["Right Leg"], CFrame.new(0,1.5,0), CFrame.new())
  1315.  
  1316. local AnchorPart4 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  1317. _Weld(AnchorPart4, Character["Left Leg"], CFrame.new(0,1.5,0), CFrame.new())
  1318.  
  1319. --Back
  1320.  
  1321. local AnchorPart5 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.6,0.6,0.6},"Sphere",{1,1,1})
  1322. _Weld(AnchorPart5, Character.Torso, CFrame.new(0.75,-0.5,-1), CFrame.new())
  1323.  
  1324. local AnchorPart6 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.6,0.6,0.6},"Sphere",{1,1,1})
  1325. _Weld(AnchorPart6, Character.Torso, CFrame.new(-0.75,-0.5,-1), CFrame.new())
  1326.  
  1327. local AnchorPart7 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.4,0.4,0.4},"Sphere",{1,1,1})
  1328. _Weld(AnchorPart7, Character.Torso, CFrame.new(0.5,0.25,-0.8), CFrame.new())
  1329.  
  1330. local AnchorPart8 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.4,0.4,0.4},"Sphere",{1,1,1})
  1331. _Weld(AnchorPart8, Character.Torso, CFrame.new(-0.5,0.25,-0.8), CFrame.new())
  1332.  
  1333. local WingLeft = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  1334. local WingLeftMain = _Weld(WingLeft, AnchorPart5, CFrame.new(), CFrame.new())
  1335. local WingLeftP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  1336. _Weld(WingLeftP1, WingLeft, CFrame.new(0,-2,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  1337. local WingLeftD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8*2,0.45*2})
  1338. WingLeftD.Mesh.MeshId = "rbxassetid://9756362"
  1339. _Weld(WingLeftD, WingLeft, CFrame.new(0,1,-0.25) * CFrame.Angles(math.rad(-15),0,0), CFrame.new())
  1340. table.insert(Bits, {Side = true; Weld = WingLeftMain; Series = 0;Type = "Wing"})
  1341.  
  1342. local WingRight = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  1343. local WingRightMain = _Weld(WingRight, AnchorPart6, CFrame.new(), CFrame.new())
  1344. local WingRightP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  1345. _Weld(WingRightP1, WingRight, CFrame.new(0,-2,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  1346. local WingRightD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8*2,0.45*2})
  1347. WingRightD.Mesh.MeshId = "rbxassetid://9756362"
  1348. _Weld(WingRightD, WingRight, CFrame.new(0,1,-0.25) * CFrame.Angles(math.rad(-15),0,0), CFrame.new())
  1349. table.insert(Bits, {Side = false; Weld = WingRightMain; Series = 0;Type = "Wing"})
  1350.  
  1351. local WingLeftLower = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  1352. local WingLeftLowerMain = _Weld(WingLeftLower, AnchorPart7, CFrame.new(), CFrame.new())
  1353. local WingLeftLowerP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  1354. _Weld(WingLeftLowerP1, WingLeftLower, CFrame.new(0,-1.5,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  1355. local WingLeftLowerD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,2.8,0.45})
  1356. WingLeftLowerD.Mesh.MeshId = "rbxassetid://9756362"
  1357. _Weld(WingLeftLowerD, WingLeftLower, CFrame.new(0,0.75,-0.15) * CFrame.Angles(math.rad(-10),0,0), CFrame.new())
  1358. table.insert(Bits, {Side = true; Weld = WingLeftLowerMain; Series = 0;Type = "WingLow"})
  1359.  
  1360. local WingRightLower = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  1361. local WingRightLowerMain = _Weld(WingRightLower, AnchorPart8, CFrame.new(), CFrame.new())
  1362. local WingRightLowerP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  1363. _Weld(WingRightLowerP1, WingRightLower, CFrame.new(0,-1.5,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  1364. local WingRightLowerD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,2.8,0.45})
  1365. WingRightLowerD.Mesh.MeshId = "rbxassetid://9756362"
  1366. _Weld(WingRightLowerD, WingRightLower, CFrame.new(0,0.75,-0.15) * CFrame.Angles(math.rad(-10),0,0), CFrame.new())
  1367. table.insert(Bits, {Side = false; Weld = WingRightLowerMain; Series = 0;Type = "WingLow"})
  1368.  
  1369. for i = 1, 6, 1 do
  1370.     local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  1371.     local Main = _Weld(TriP1, AnchorPart, CFrame.new(), CFrame.new())
  1372.     local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  1373.     _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  1374.     local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  1375.     DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  1376.     _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  1377.     table.insert(Bits, {Side = false; Weld = Main; Series = i;Type = "Top"})
  1378. end
  1379.  
  1380. for i = 1, 6, 1 do
  1381.     local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  1382.     local Main = _Weld(TriP1, AnchorPart2, CFrame.new(), CFrame.new())
  1383.     local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  1384.     _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  1385.     local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  1386.     DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  1387.     _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  1388.     table.insert(Bits, {Side = true; Weld = Main; Series = i;Type = "Top"})
  1389. end
  1390.  
  1391. for i = 1, 6, 1 do
  1392.     local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  1393.     local Main = _Weld(TriP1, AnchorPart3, CFrame.new(), CFrame.new())
  1394.     local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  1395.     _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  1396.     local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  1397.     DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  1398.     _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  1399.     table.insert(Bits, {Side = false; Weld = Main; Series = i;Type = "Bot"})
  1400. end
  1401.  
  1402. for i = 1, 6, 1 do
  1403.     local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  1404.     local Main = _Weld(TriP1, AnchorPart4, CFrame.new(), CFrame.new())
  1405.     local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  1406.     _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  1407.     local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  1408.     DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  1409.     _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  1410.     table.insert(Bits, {Side = true; Weld = Main; Series = i;Type = "Bot"})
  1411. end
  1412.  
  1413. --[[local WingAnchor = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  1414. _Weld(WingAnchor, Character.Torso, CFrame.new(0.5,-0.5,-1), CFrame.new())
  1415. local LengthWing1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  1416. _Weld(LengthWing1, WingAnchor, CFrame.new(0.5,-0.55,0.35) * CFrame.Angles(math.rad(290),math.rad(45),0), CFrame.new())
  1417. local WingAnchor2 = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  1418. _Weld(WingAnchor2, LengthWing1, CFrame.new(0,-0.75,0), CFrame.new())
  1419. local LengthWing2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  1420. _Weld(LengthWing2, WingAnchor2, CFrame.new(0,-0.6,0) * CFrame.Angles(math.rad(350),0,0), CFrame.new())
  1421. local WingAnchor3 = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  1422. _Weld(WingAnchor3, LengthWing2, CFrame.new(0,-0.75,0), CFrame.new())
  1423. local LengthWing3 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  1424. _Weld(LengthWing3, WingAnchor3, CFrame.new(0,-0.6,0) * CFrame.Angles(math.rad(-10),0,0), CFrame.new())
  1425. local WingAnchor4 = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  1426. _Weld(WingAnchor4, LengthWing3, CFrame.new(0,-0.75,0), CFrame.new())
  1427. local LengthWing4 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  1428. _Weld(LengthWing4, WingAnchor4, CFrame.new(0,-0.6,0) * CFrame.Angles(math.rad(-15),0,0), CFrame.new())
  1429. ]]-- Scrapped for now...
  1430.  
  1431. --[[Body]]--
  1432.  
  1433. local BHead = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"Head",{1.25,1.25,1.25})
  1434. _Weld(BHead,Head,CFrame.new(),CFrame.new())
  1435. local BHelm = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1,1,1})
  1436. BHelm.Mesh.MeshId = "rbxassetid://17438747"
  1437. _Weld(BHelm,BHead,CFrame.new(0,-0.2,0),CFrame.new())
  1438. local BHelm2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.95,0.97,0.95})
  1439. BHelm2.Mesh.MeshId = "rbxassetid://17438747"
  1440. _Weld(BHelm2,BHelm,CFrame.new(0,0,-0.02),CFrame.new())
  1441. local EyeL = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.25,0.075,0.075})
  1442. _Weld(EyeL,Head,CFrame.new(0.2,0.25,0.55)*CFrame.Angles(0,math.rad(40),0),CFrame.new())
  1443. local EyeR = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.25,0.075,0.075})
  1444. _Weld(EyeR,Head,CFrame.new(-0.2,0.25,0.55)*CFrame.Angles(0,math.rad(-40),0),CFrame.new())
  1445. local Mouth = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.25,0.075,0.075})
  1446. _Weld(Mouth,Head,CFrame.new(0,0.45,0.53),CFrame.new())
  1447. local BTorso = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{1,0.4,1})
  1448. BTorso.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  1449. _Weld(BTorso,Torso,CFrame.new(0,-0.45,0),CFrame.new())
  1450. local BTorso2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.85,0.6,0.85})
  1451. BTorso2.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  1452. _Weld(BTorso2,BTorso,CFrame.new(0,0.8,0),CFrame.new())
  1453. local BTorsoCore = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.5,0.5,0.5})
  1454. _Weld(BTorsoCore, Torso, CFrame.new(0,-0.5,0.4),CFrame.new())
  1455. local BTorsoCoreDisc = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.525,0.525,0.2})
  1456. BTorsoCoreDisc.Mesh.MeshId = "rbxassetid://3270017"
  1457. _Weld(BTorsoCoreDisc, BTorsoCore, CFrame.new(0,0,0.1),CFrame.new())
  1458. local BNeck = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"Head",{0.8,1,0.8})
  1459. _Weld(BNeck,Head,CFrame.new(0,0.8,0),CFrame.new())
  1460.  
  1461. for i=1,3 do
  1462.     local BTorsoAb = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.2,0.075,0.2})
  1463.     BTorsoAb.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  1464.     _Weld(BTorsoAb, Torso, CFrame.new(-0.5,-0.3 + 0.3*i,0.35)*CFrame.Angles(0,0,math.rad(15)),CFrame.new())
  1465. end
  1466. for i=1,3 do
  1467.     local BTorsoAb = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.2,0.075,0.2})
  1468.     BTorsoAb.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  1469.     _Weld(BTorsoAb, Torso, CFrame.new(0.5,-0.3 + 0.3*i,0.35)*CFrame.Angles(0,0,math.rad(-15)),CFrame.new())
  1470. end
  1471.  
  1472. local function Arm(bool)
  1473.     local Limb, Offset
  1474.     if bool then
  1475.         Limb = Character["Left Arm"]
  1476.         Offset = 0.52
  1477.     else
  1478.         Limb = Character["Right Arm"]
  1479.         Offset = -0.52
  1480.     end
  1481.  
  1482.     local ShldrL = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{1,0.35,1})
  1483.     ShldrL.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  1484.     _Weld(ShldrL,Limb,CFrame.new(0,-0.6,0),CFrame.new())
  1485.     local ShldrL2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.85,0.5,0.85})
  1486.     ShldrL2.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  1487.     _Weld(ShldrL2,Limb,CFrame.new(0,0.2,0),CFrame.new())
  1488.     local ShldrL3 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.75,0.2,0.75})
  1489.     ShldrL3.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  1490.     _Weld(ShldrL3,Limb,CFrame.new(0,0.85,0),CFrame.new())
  1491.     local ShldrL4 = _Part(Main,false,false,0,0,"SmoothPlastic","Really black",{1,1,1},"FileMesh",{0.5,0.05,0.5})
  1492.     ShldrL4.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  1493.     _Weld(ShldrL4,ShldrL3,CFrame.new(0,0.16,0),CFrame.new())
  1494.     --X Pat--
  1495.     local ShldrLD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.1,0.03,1.35})
  1496.     ShldrLD.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  1497.     _Weld(ShldrLD,Limb,CFrame.new(0,0,0),CFrame.Angles(math.rad(45),0,0))
  1498.     local ShldrLD2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.1,0.03,1.35})
  1499.     ShldrLD2.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  1500.     _Weld(ShldrLD2,Limb,CFrame.new(0,0,0),CFrame.Angles(math.rad(-45),0,0))
  1501.     local ShldrLDB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.35,0.03,1.1})
  1502.     ShldrLDB.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  1503.     _Weld(ShldrLDB,Limb,CFrame.new(0,0,0),CFrame.Angles(0,0,math.rad(45)))
  1504.     local ShldrLD2B = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.35,0.03,1.1})
  1505.     ShldrLD2B.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  1506.     _Weld(ShldrLD2B,Limb,CFrame.new(0,0,0),CFrame.Angles(0,0,math.rad(-45)))
  1507.  
  1508.     local Disc = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.55,0.55,0.55})
  1509.     Disc.Mesh.MeshId = "rbxassetid://47260990"
  1510.     _Weld(Disc, ShldrL, CFrame.new(0,0,Offset),CFrame.Angles(0,math.rad(90),0))
  1511.     --3270017
  1512.     local DiscC = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.55,0.55,0.1})
  1513.     DiscC.Mesh.MeshId = "rbxassetid://3270017"
  1514.     _Weld(DiscC, Disc, CFrame.new(),CFrame.new())
  1515.  
  1516.     table.insert(Discs, Disc)
  1517. end
  1518.  
  1519. local function Leg(bool)
  1520.     local Limb, Offset
  1521.     if bool then
  1522.         Limb = Character["Left Leg"]
  1523.         Offset = 0.5
  1524.     else
  1525.         Limb = Character["Right Leg"]
  1526.         Offset = -0.5
  1527.     end
  1528.     local LegL = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.95,0.35,0.95})
  1529.     LegL.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  1530.     _Weld(LegL,Limb,CFrame.new(0,-0.7,0),CFrame.new())
  1531.     local LegL2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.85,0.5,0.85})
  1532.     LegL2.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  1533.     _Weld(LegL2,Limb,CFrame.new(0,0.15,0),CFrame.new())
  1534.     local LegL3 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.75,0.2,0.75})
  1535.     LegL3.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  1536.     _Weld(LegL3,Limb,CFrame.new(0,0.85,0),CFrame.new())
  1537.     local LegL4 = _Part(Main,false,false,0,0,"SmoothPlastic","Really black",{1,1,1},"FileMesh",{0.5,0.05,0.5})
  1538.     LegL4.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  1539.     _Weld(LegL4,LegL3,CFrame.new(0,0.16,0),CFrame.new())
  1540.     local LegL5 = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.9,0.2,0.9})
  1541.     LegL5.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  1542.     _Weld(LegL5,LegL2,CFrame.new(0,0,0),CFrame.new())
  1543.  
  1544.     local MiniRocket = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.2,0.2,0.2})
  1545.     MiniRocket.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  1546.     _Weld(MiniRocket,LegL5,CFrame.new(Offset,0,0),CFrame.new())
  1547.     local MiniRocket2 = _Part(Main,false,false,0,0,"SmoothPlastic","Really black",{1,1,1},"BlockMesh",{0.125,0.1,0.125})
  1548.     _Weld(MiniRocket2,LegL5,CFrame.new(Offset,0.16,0),CFrame.new())
  1549. end
  1550.  
  1551. Arm(true)
  1552. Arm(false)
  1553. Leg(true)
  1554. Leg(false)
  1555.  
  1556. --Spin Disc 22768172
  1557. --[[Done]]--
  1558.  
  1559. local Welds = {
  1560.     ArmW = {
  1561.         Left = Instance.new("Weld",Character);
  1562.         Right = Instance.new("Weld",Main);
  1563.     };
  1564.     LegW = {
  1565.         Left = Instance.new("Weld",Main);
  1566.         Right = Instance.new("Weld",Main);
  1567.     };
  1568.     HeadW = {
  1569.         Middle = Instance.new("Weld",Main);
  1570.     };
  1571. }
  1572. local RWelds = {
  1573.     ArmW = {
  1574.         Left = Torso["Left Shoulder"];
  1575.         Right = Torso["Right Shoulder"];
  1576.     };
  1577.     LegW = {
  1578.         Left = Torso["Left Hip"];
  1579.         Right = Torso["Right Hip"];
  1580.     };
  1581.     HeadW = {
  1582.         Middle = Torso["Neck"];
  1583.     };
  1584. }
  1585.  
  1586. local LA,RA = Welds.ArmW.Left,Welds.ArmW.Right
  1587. local LL,LR = Welds.LegW.Left,Welds.LegW.Right
  1588. local HD = Welds.HeadW.Middle
  1589. local LAD = CFrame.new(-1.5,0.5,0)
  1590. local RAD = CFrame.new(1.5,0.5,0)
  1591. local HDD = CFrame.new(0,-1.5,0)
  1592. local LLD = CFrame.new(0.5,2,0)
  1593. local RLD = CFrame.new(-0.5,2,0)
  1594. local RootD = CFrame.Angles(-1.57,0,-3.15)
  1595. Welds.ArmW.Left.C1,Welds.ArmW.Left.C0,Welds.ArmW.Left.Part0 = CFrame.new(0, 0.5, 0),CFrame.new(-1.5, 0.5, 0),Torso
  1596. Welds.ArmW.Right.C1,Welds.ArmW.Right.C0,Welds.ArmW.Right.Part0 = CFrame.new(0, 0.5, 0),CFrame.new(1.5, 0.5, 0),Torso
  1597. Welds.LegW.Left.C1,Welds.LegW.Left.Part0 = LLD,Torso
  1598. Welds.LegW.Right.C1,Welds.LegW.Right.Part0 = RLD,Torso
  1599. Welds.HeadW.Middle.C1,Welds.HeadW.Middle.Part0 = HDD,Torso
  1600.  
  1601. local CurrentLeftArm = LAD
  1602. local CurrentRightArm = RAD
  1603. local CurrentLeftLeg = LLD
  1604. local CurrentRightLeg = RLD
  1605.  
  1606. local function lerp(a, b, c)
  1607.     return a+(b-a)*c
  1608. end
  1609.  
  1610. local function AnimLerp(c1, c2, al)
  1611.     local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
  1612.     local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
  1613.     for i,v in pairs(com1) do
  1614.         com1[i] = lerp(v,com2[i],al)
  1615.     end
  1616.     return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
  1617. end
  1618.  
  1619. local _Arm = function(side,tf)
  1620.     local Arm = nil
  1621.     local Weld = nil
  1622.     local RWeld = nil
  1623.     for _,S in pairs(Sides) do
  1624.         if side:lower() == S:lower() then
  1625.             for _,A in pairs(Arms) do
  1626.                 if A.Name:lower():find(side:lower()) then
  1627.                     Arm = A
  1628.                     Weld = Welds.ArmW[S]
  1629.                     RWeld = RWelds.ArmW[S]
  1630.                 end
  1631.             end
  1632.         end
  1633.     end
  1634.     if Arm and Weld and RWeld then
  1635.         if tf then
  1636.             Weld.Part1 = Arm
  1637.             RWeld.Part1 = nil
  1638.         elseif not tf then
  1639.             Weld.Part1 = nil
  1640.             RWeld.Part1 = Arm
  1641.         else
  1642.             print("Error")
  1643.         end
  1644.     end
  1645. end
  1646.  
  1647. local _Leg = function(side,tf)
  1648.     local Leg = nil
  1649.     local Weld = nil
  1650.     local RWeld = nil
  1651.     for _,S in pairs(Sides) do
  1652.         if side:lower() == S:lower() then
  1653.             for _,A in pairs(Legs) do
  1654.                 if A.Name:lower():find(side:lower()) then
  1655.                     Leg = A
  1656.                     Weld = Welds.LegW[S]
  1657.                     RWeld = RWelds.LegW[S]
  1658.                 end
  1659.             end
  1660.         end
  1661.     end
  1662.     if Leg and Weld and RWeld then
  1663.         if tf then
  1664.             Weld.Part1 = Leg
  1665.             RWeld.Part1 = nil
  1666.         elseif not tf then
  1667.             Weld.Part1 = nil
  1668.             RWeld.Part1 = Leg
  1669.         else
  1670.             print("Error")
  1671.         end
  1672.     end
  1673. end
  1674.  
  1675. local _Head = function(tf)
  1676.     local Head = nil
  1677.     local Weld = nil
  1678.     local RWeld = nil
  1679.     Head = Character["Head"]
  1680.     Weld = Welds.HeadW.Middle
  1681.     RWeld = RWelds.HeadW.Middle
  1682.     if Head and Weld and RWeld then
  1683.         if tf then
  1684.             Weld.Part1 = Head
  1685.             RWeld.Part1 = nil
  1686.         elseif not tf then
  1687.             Weld.Part1 = nil
  1688.             RWeld.Part1 = Head
  1689.         else
  1690.             print("Error")
  1691.         end
  1692.     end
  1693. end
  1694.  
  1695. pcall(function()
  1696.     Character.Animate.Disabled = true
  1697. end)
  1698. if Humanoid then
  1699.     Humanoid.PlatformStand = true
  1700. end
  1701. pcall(function()
  1702.     Torso.Velocity = Variables.Momentum
  1703. end)
  1704.  
  1705. local Rotate = Instance.new("BodyGyro",Torso)
  1706. Rotate.P = 10^6
  1707. Rotate.maxTorque = Vector3.new(Rotate.P,Rotate.P,Rotate.P)
  1708. Rotate.cframe = Torso.CFrame
  1709.  
  1710. local Move = Instance.new("BodyPosition",Torso)
  1711. Move.maxForce = Vector3.new(1,1,1)*(10^6)
  1712. Move.position = Torso.CFrame.p
  1713.  
  1714. local function LaserBeam()
  1715.     UpdateAnim = false
  1716.     CurrentAnimation = "DisableHandAnim"
  1717.     rofTop = 6
  1718.     for i=0,1,0.1 do
  1719.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(75),0,math.rad(-20)), i)
  1720.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(75),0,math.rad(20)), i)
  1721.         wait()
  1722.     end
  1723.  
  1724.     ChargeBar.Visible = true;
  1725.  
  1726.     local Charge = 0
  1727.     local Downt = _Part(Main,false,true,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{1,1,1})
  1728.     local Effect = Instance.new("ParticleEmitter", Downt)
  1729.     Effect.Texture = "rbxassetid://283631720"
  1730.     Effect.VelocitySpread = 0
  1731.     Effect.Acceleration = Vector3.new(0,0,0)
  1732.     Effect.Color = ColorSequence.new(Downt.BrickColor.Color,Downt.BrickColor.Color)
  1733.     Effect.Speed = NumberRange.new(0)
  1734.     Effect.Lifetime = NumberRange.new(1,1)
  1735.     Effect.Rate = 60
  1736.     Effect.Transparency = NumberSequence.new(0.5,0.8)
  1737.     Effect.Rotation = NumberRange.new(1,2)
  1738.  
  1739.     while BeamHeld do
  1740.         Charge = Charge + 1
  1741.         CurrentEnergy = CurrentEnergy - 1.5
  1742.         Downt.Mesh.Scale = Downt.Mesh.Scale + Vector3.new(0.02,0.02,0.02)
  1743.         Downt.CFrame = RootPart.CFrame + (RootPart.CFrame.lookVector * 4)
  1744.         Effect.Size = NumberSequence.new(Downt.Mesh.Scale.X)
  1745.         ChargeFill.Size = UDim2.new(Charge/100,-5,1,-5)
  1746.         wait()
  1747.         if Charge >= 100 or CurrentEnergy <= 0 then
  1748.             CurrentEnergy = CurrentEnergy <= 0 and 0 or CurrentEnergy
  1749.             break
  1750.         end
  1751.     end
  1752.  
  1753.     Downt.Anchored = false
  1754.     Downt.Size = Downt.Mesh.Scale
  1755.     Downt.Mesh.Scale = Vector3.new(1,1,1)
  1756.  
  1757.     local Velocity = Instance.new("BodyVelocity", Downt)
  1758.     Velocity.maxForce = Vector3.new(1e7,1e7,1e7)
  1759.     Velocity.P = 1e7
  1760.     Velocity.Velocity = (Mouse.Hit.p - Downt.CFrame.p)
  1761. --[[
  1762.     --CurrentEnergy = CurrentEnergy <= 0 and 0 or CurrentEnergy - (1.5*Charge)
  1763.     local Face = Torso.CFrame.lookVector
  1764.     local Ray = Ray.new(Downt.CFrame.p, (Mouse.Hit.p - Downt.CFrame.p).unit*750)
  1765.     local Object,Pos = game:GetService("Workspace"):findPartOnRay(Ray, Character)
  1766.     local Distance = (Pos - Downt.CFrame.p).magnitude
  1767.     local DrawRay = _Part(Main,false,true,0,0,"Neon",ColorGlobe,{1,1,1},"Cylinder",{Distance,Downt.Mesh.Scale.X,Downt.Mesh.Scale.X})
  1768.     DrawRay.CFrame = CFrame.new(Pos, Downt.CFrame.p) * CFrame.new(0,0,-Distance/2) * CFrame.Angles(0,math.rad(270),0)
  1769.  
  1770.     local ExplodePart = _Part(Main,false,true,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{1,1,1})
  1771.     ExplodePart.CFrame = CFrame.new(Pos.X,Pos.Y,Pos.Z)
  1772.  
  1773.     local Ignore = {}
  1774.  
  1775.     ExplodePart.Touched:connect(function(Object)
  1776.         if Object.Parent and Object.Parent:IsA("Model") then
  1777.             local Model = Object.Parent
  1778.             if Model:findFirstChild("Humanoid") and not Ignore[Model.Name] and Model.Name ~= Character.Name then
  1779.                 Ignore[Model.Name] = true;
  1780.                 local Humanoid = Model:findFirstChild("Humanoid")
  1781.                 Humanoid:TakeDamage(0.75*Charge)
  1782.             end
  1783.         end
  1784.     end)
  1785.  
  1786.     for i=0,1,0.1 do
  1787.         wait()
  1788.         DrawRay.Transparency = i
  1789.         Downt.Transparency = i
  1790.         ExplodePart.Size = ExplodePart.Size + Vector3.new(0.04*Charge,0.04*Charge,0.04*Charge)
  1791.         ExplodePart.CFrame = CFrame.new(Pos.X,Pos.Y,Pos.Z)
  1792.         ExplodePart.Transparency = i
  1793.     end
  1794.     Effect:Destroy()
  1795.     game:GetService("Debris"):AddItem(DrawRay, 1)
  1796.     game:GetService("Debris"):AddItem(ExplodePart, 1)]]
  1797.     game:GetService("Debris"):AddItem(Downt, 10)
  1798.     UpdateAnim = true
  1799.     ChargeBar.Visible = false
  1800.     LastBeam = tick()
  1801. end
  1802.  
  1803. local function AbsoluteDefence()
  1804.     UpdateAnim = false
  1805.  
  1806.     while AbsDefHeld do
  1807.  
  1808.         wait()
  1809.     end
  1810.  
  1811.  
  1812.     UpdateAnim = true
  1813. end
  1814.  
  1815. local function ThrowBlades()
  1816.     --[[local Thrown = {}
  1817.     for i,Bit in pairs(Bits) do
  1818.         if Bit.Type == "Top" then
  1819.             table.insert(Thrown, {Side = Bit.Side; Weld = Bit.Weld; Series = Bit.Series; Type = Bit.Type})
  1820.             table.remove(Bits, i)
  1821.         end
  1822.     end
  1823.     ]]-- *Construction*
  1824. end
  1825.  
  1826. Mouse.KeyDown:connect(function(Key)
  1827.     if Key == "w" then
  1828.         Front = true
  1829.     end
  1830.     if Key == "a" then
  1831.         Left = true
  1832.     end
  1833.     if Key == "s" then
  1834.         Back = true
  1835.     end
  1836.     if Key == "q" then
  1837.         BoostHeld = not BoostHeld
  1838.         if BoostHeld then
  1839.             Accel = 3
  1840.         else
  1841.             Accel = 1
  1842.         end
  1843.     end
  1844.     if Key == "d" then
  1845.         Right = true
  1846.     end
  1847.     if Key:byte() == 50 then
  1848.         if MobilityType == "Float" then
  1849.             MobilityType = "Fly"
  1850.         elseif MobilityType == "Fly" then
  1851.             MobilityType = "Ground"
  1852.         elseif MobilityType == "Ground" then
  1853.             MobilityType = "Float"
  1854.         end
  1855.     end
  1856.     if Key == "h" then
  1857.         if CurrentEnergy <= 0 then
  1858.             return
  1859.         end
  1860.         AbsDefHeld = true
  1861.         AbsoluteDefence()
  1862.     end
  1863.     if Key == "f" then
  1864.         if CurrentEnergy <= 0 or tick()-LastBeam <= 1 then
  1865.             return
  1866.         end
  1867.         BeamHeld = true
  1868.         LaserBeam()
  1869.     end
  1870.     if Key == "q" then
  1871.         ThrowBlades()
  1872.     end
  1873.     while BoostHeld do
  1874.         wait()
  1875.         CurrentEnergy = CurrentEnergy <= 0 and 0 or CurrentEnergy - 0.5
  1876.         if CurrentEnergy <= 0 then
  1877.             break
  1878.         end
  1879.     end
  1880.     if Key == "g" then
  1881.         ChargeHeld = true
  1882.         UpdateAnim = false
  1883.         CurrentAnimation = "DisableHandAnim"
  1884.         rofTop = 15
  1885.         for i=0,1,0.1 do
  1886.             wait()
  1887.             AnchorPart.Weld.C1 = AnimLerp(AnchorPart.Weld.C1, CFrame.new(0,3,0), i)
  1888.             AnchorPart2.Weld.C1 = AnimLerp(AnchorPart2.Weld.C1, CFrame.new(0,3,0), i)
  1889.             RA.C0 = AnimLerp(RA.C0, RAD * CFrame.Angles(math.rad(160),0,math.rad(10)), i)
  1890.             LA.C0 = AnimLerp(LA.C0, LAD * CFrame.Angles(math.rad(160),0,math.rad(-10)), i)
  1891.         end
  1892.  
  1893.         while ChargeHeld do
  1894.             wait()
  1895.             local NRG = _Part(Main,false,true,0,0,"SmoothPlastic",ColorGlobe,{0.2,0.2,0.2},"Sphere",{1,1,1})
  1896.             NRG.CFrame = AnchorPart.CFrame * CFrame.new(math.random(-2.5,2.5),math.random(-2.5,2.5),math.random(-2.5,2.5))
  1897.             local NRGB = _Part(Main,false,true,0,0,"SmoothPlastic",ColorGlobe,{0.2,0.2,0.2},"Sphere",{1,1,1})
  1898.             NRGB.CFrame = AnchorPart2.CFrame * CFrame.new(math.random(-2.5,2.5),math.random(-2.5,2.5),math.random(-2.5,2.5))
  1899.             table.insert(Energy, NRG)
  1900.             table.insert(Energy, NRGB)
  1901.             for i,nrg in pairs(Energy) do
  1902.                 nrg.Transparency = nrg.Transparency + 0.05
  1903.                 nrg.Mesh.Scale = nrg.Mesh.Scale + Vector3.new(0.1,0.1,0.1)
  1904.                 nrg.CFrame = CFrame.new(nrg.CFrame.p, AnchorPart.CFrame.p) * CFrame.Angles(0,0,-math.pi/2)
  1905.                 if nrg.Transparency >= 1 then
  1906.                     table.remove(Energy, i)
  1907.                     nrg:Destroy()
  1908.                 end
  1909.             end
  1910.             CurrentEnergy = CurrentEnergy >= TotalEnergy and TotalEnergy or CurrentEnergy + 10
  1911.         end
  1912.  
  1913.         for i=0,1,0.1 do
  1914.             wait()
  1915.             AnchorPart.Weld.C1 = AnimLerp(AnchorPart.Weld.C1, CFrame.new(0,1.5,0), i)
  1916.             AnchorPart2.Weld.C1 = AnimLerp(AnchorPart2.Weld.C1, CFrame.new(0,1.5,0), i)
  1917.             for x,nrg in pairs(Energy) do
  1918.                 nrg.Transparency = nrg.Transparency + 0.15
  1919.                 nrg.Mesh.Scale = nrg.Mesh.Scale + Vector3.new(0.2,0.2,0.2)
  1920.                 nrg.CFrame = CFrame.new(nrg.CFrame.p, AnchorPart.CFrame.p) * CFrame.Angles(0,0,-math.pi/2)
  1921.                 if nrg.Transparency >= 1 then
  1922.                     table.remove(Energy, x)
  1923.                     nrg:Destroy()
  1924.                 end
  1925.             end
  1926.         end
  1927.         UpdateAnim = true
  1928.     end
  1929. end)
  1930.  
  1931. Mouse.KeyUp:connect(function(Key)
  1932.     if Key == "w" then
  1933.         Front = false
  1934.     end
  1935.     if Key == "a" then
  1936.         Left = false
  1937.     end
  1938.     if Key == "s" then
  1939.         Back = false
  1940.     end
  1941.     if Key == "d" then
  1942.         Right = false
  1943.     end
  1944.     if Key == "f" then
  1945.         BeamHeld = false
  1946.     end
  1947.     if Key == "h" then
  1948.         AbsDefHeld = false
  1949.     end
  1950.     if Key == "g" then
  1951.         ChargeHeld = false
  1952.     end
  1953.     if Key == "0" then
  1954.         BoostHeld = false
  1955.     end
  1956. end)
  1957.  
  1958. _Arm("Left", true)
  1959. _Arm("Right", true)
  1960. _Leg("Left", true)
  1961. _Leg("Right", true)
  1962. _Head(true)
  1963.  
  1964. game:GetService("RunService").Stepped:connect(function()
  1965.     EnergyFill.Size = UDim2.new(CurrentEnergy/TotalEnergy,-5,1,-5)
  1966.     RateTop = RateTop + rofTop
  1967.     if RateTop >= 360 then
  1968.         RateTop = 1
  1969.     end
  1970.  
  1971.     RateBot = RateBot + rofBot
  1972.     if RateBot >= 360 then
  1973.         RateBot = 1
  1974.     end
  1975.  
  1976.  
  1977.     if AddSub == false then
  1978.         CurrentFrame = CurrentFrame + 0.01
  1979.         if CurrentFrame >= 1 then
  1980.             AddSub = true
  1981.         end
  1982.     elseif AddSub == true then
  1983.         CurrentFrame = CurrentFrame - 0.01
  1984.         if CurrentFrame <= 0 then
  1985.             AddSub = false
  1986.         end
  1987.     end
  1988.  
  1989.     DiscSpin = DiscSpin + 0.1
  1990.     for _,Disc in pairs(Discs) do
  1991.         Disc.Weld.C0 = CFrame.Angles(0,math.rad(90),DiscSpin)
  1992.     end
  1993.  
  1994.     if ExtendGrowthTop == false and CurrentAnimation == "Idle" then
  1995.         ExtendTop = ExtendTop + 1/2
  1996.         if ExtendTop >= 25 then
  1997.             ExtendGrowthTop = true
  1998.         end
  1999.     elseif ExtendGrowthTop == true and CurrentAnimation == "Idle" then
  2000.         ExtendTop = ExtendTop - 1/2
  2001.         if ExtendTop <= -10 then
  2002.             ExtendGrowthTop = false
  2003.         end
  2004.     elseif CurrentAnimation == "Forward" or CurrentAnimation == "Backward" or CurrentAnimation == "SwivelRight" or CurrentAnimation == "SwivelLeft" then
  2005.         ExtendTop = ExtendTop >= 40 and 40 or ExtendTop + 2
  2006.     elseif CurrentAnimation == "DisableHandAnim" then
  2007.         ExtendTop = ExtendTop >= 50 and 50 or ExtendTop + 2
  2008.     end
  2009.  
  2010.     if ExtendGrowthBot == false and (CurrentAnimation == "Idle" or CurrentAnimation == "DisableHandAnim") then
  2011.         ExtendBot = ExtendBot + 1/2
  2012.         if ExtendBot >= 25 then
  2013.             ExtendGrowthBot = true
  2014.         end
  2015.     elseif ExtendGrowthBot == true and (CurrentAnimation == "Idle" or CurrentAnimation == "DisableHandAnim") then
  2016.         ExtendBot = ExtendBot - 1/2
  2017.         if ExtendBot <= -10 then
  2018.             ExtendGrowthBot = false
  2019.         end
  2020.     elseif CurrentAnimation == "Forward" or CurrentAnimation == "Backward" or CurrentAnimation == "SwivelRight" or CurrentAnimation == "SwivelLeft" then
  2021.         ExtendBot = ExtendBot >= 40 and 40 or ExtendBot + 2
  2022.     end
  2023.  
  2024.     if Front and not Back then
  2025.         xmove = 3
  2026.         if UpdateAnim then
  2027.             CurrentAnimation = "Forward"
  2028.         end
  2029.     elseif Back and not Front then
  2030.         xmove = -3
  2031.         if UpdateAnim then
  2032.             CurrentAnimation = "Backward"
  2033.         end
  2034.     else
  2035.         xmove = 0
  2036.         if UpdateAnim then
  2037.             CurrentAnimation = "Idle"
  2038.         end
  2039.     end
  2040.  
  2041.     if Left and not Right then
  2042.         if xmove == 0 and UpdateAnim then
  2043.             CurrentAnimation = "SwivelLeft"
  2044.         end
  2045.         ymove = 3
  2046.     elseif Right and not Left then
  2047.         if xmove == 0 and UpdateAnim then
  2048.             CurrentAnimation = "SwivelRight"
  2049.         end
  2050.         ymove = -3
  2051.     else
  2052.         ymove = 0
  2053.         if xmove == 0 and UpdateAnim then
  2054.             CurrentAnimation = "Idle"
  2055.         end
  2056.     end
  2057.  
  2058.     if LastAnimation ~= CurrentAnimation then
  2059.         CurrentFrame = 0
  2060.         AddSub = false
  2061.     end
  2062.  
  2063.     for _,Info in pairs(Bits) do
  2064.         local Side = Info.Side
  2065.         local Series = Info.Series
  2066.         local Weld = Info.Weld
  2067.         local Type = Info.Type
  2068.         local Extend = 1
  2069.         local MyRate = 1
  2070.  
  2071.         if Type == "Top" then
  2072.             Extend = ExtendTop
  2073.             MyRate = RateTop + 30
  2074.         elseif Type == "Bot" then
  2075.             Extend = ExtendBot
  2076.             MyRate = RateBot
  2077.         else
  2078.  
  2079.         end
  2080.  
  2081.         if CurrentAnimation == "Idle" or CurrentAnimation == "DisableHandAnim" then
  2082.             if Type == "Wing" or Type == "WingLow" then
  2083.                 if Type == "WingLow" then
  2084.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(Side == true and -0.5 or 0.5,1.65,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 30 + Lift*2 or -30 - Lift*2)),0), CurrentFrame)
  2085.                 else
  2086.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(0,1.8,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 30 + Lift*2 or -30 - Lift*2)),0), CurrentFrame)
  2087.                 end
  2088.             else
  2089.                 Weld.C1 = CFrame.new(0,0,Spread) * CFrame.Angles(math.rad(-Extend),math.rad(60*Series + (Side == true and -MyRate or MyRate)),0) * CFrame.new(0,Distance,0)
  2090.             end
  2091.         elseif CurrentAnimation == "Forward" or CurrentAnimation == "Backward" then
  2092.             if Type == "Wing" or Type == "WingLow" then
  2093.                 if Type == "WingLow" then
  2094.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(Side == true and -0.5 or 0.5,1.65,0.5) * CFrame.Angles(math.rad(65 + Lift*10),math.rad((Side == true and 30 + Lift*2 or -30 - Lift*2)),0), CurrentFrame)
  2095.                 else
  2096.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(0,1.8,0.5) * CFrame.Angles(math.rad(65 + Lift*10),math.rad((Side == true and 30 + Lift*2 or -30 - Lift*2)),0), CurrentFrame)
  2097.                 end
  2098.             else
  2099.                 Weld.C1 = CFrame.new(0,0,Spread) * CFrame.Angles(math.rad(-Extend),math.rad(60*Series + (Side == true and -MyRate or MyRate)),0) * CFrame.new(0,Distance,0)
  2100.             end
  2101.         elseif CurrentAnimation == "SwivelLeft" then
  2102.             if Type == "Wing" or Type == "WingLow" then
  2103.                 if Type == "WingLow" then
  2104.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(Side == true and -0.5 or 0.5,1.65,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 50 or -10)),0), CurrentFrame)
  2105.                 else
  2106.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(0,1.8,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 50 or -10)),0), CurrentFrame)
  2107.                 end
  2108.             else
  2109.                 Weld.C1 = CFrame.new(0,0,Spread) * CFrame.Angles(math.rad(-Extend),math.rad(60*Series + (Side == true and -MyRate or MyRate)),0) * CFrame.new(0,Distance,0)
  2110.             end
  2111.         elseif CurrentAnimation == "SwivelRight" then
  2112.             if Type == "Wing" or Type == "WingLow" then
  2113.                 if Type == "WingLow" then
  2114.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(Side == true and -0.5 or 0.5,1.65,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 10 or -50)),0), CurrentFrame)
  2115.                 else
  2116.                     Weld.C1 = AnimLerp(Weld.C1, CFrame.new(0,1.8,0.5) * CFrame.Angles(math.rad(65 + Lift*3),math.rad((Side == true and 10 or -50)),0), CurrentFrame)
  2117.                 end
  2118.             else
  2119.                 Weld.C1 = CFrame.new(0,0,Spread) * CFrame.Angles(math.rad(-Extend),math.rad(60*Series + (Side == true and -MyRate or MyRate)),0) * CFrame.new(0,Distance,0)
  2120.             end
  2121.         else
  2122.             Weld.C1 = CFrame.new(0,0,Spread) * CFrame.Angles(math.rad(-Extend),math.rad(60*Series + (Side == true and -MyRate or MyRate)),0) * CFrame.new(0,Distance,0)
  2123.         end
  2124.     end
  2125.  
  2126.     TurnAngle = TurnAngle + ymove
  2127.  
  2128.     Rotate.cframe = CFrame.new()*CFrame.Angles(0,math.rad(TurnAngle),0)
  2129.  
  2130.     local Ray = Ray.new(Torso.CFrame.p,Down.CFrame.lookVector*15)
  2131.     local Part,Pos = game:GetService("Workspace"):findPartOnRay(Ray,Character)
  2132.     local Distance = (Pos - Torso.CFrame.p).magnitude
  2133.     local Face = Torso.CFrame.lookVector
  2134.  
  2135.     if Part and Pos then
  2136.         local sides = Enum.NormalId:GetEnumItems();
  2137.         local default = Vector3.new(0,1,0)
  2138.         for i,v in pairs(sides) do
  2139.             sides[i] = Vector3.FromNormalId(v)
  2140.         end
  2141.         if Part:IsA("Part") then
  2142.             if Part.Shape.Name == "Ball" then
  2143.                 sides = {}
  2144.                 default = Part.CFrame:vectorToObjectSpace(Pos-Part.Position).unit
  2145.             elseif Part.Shape.Name == "Cylinder" then
  2146.                 sides = {Vector3.new(1,0,0),Vector3.new(-1,0,0)}
  2147.                 default = (Part.CFrame:vectorToObjectSpace(Pos-Part.Position)*Vector3.new(0,1,1)).unit
  2148.             end
  2149.         elseif Part:IsA("WedgePart") then
  2150.             sides = {Vector3.new(1,0,0),Vector3.new(-1,0,0),Vector3.new(0,-1,0),Vector3.new(0,0,-1)}
  2151.             default = Vector3.new(0,1,-Part.Size.Y/Part.Size.Z).unit
  2152.         end
  2153.         local obs,siz,sidevector = Part.CFrame:pointToObjectSpace(Pos),Part.Size/2
  2154.         for i,v in pairs(sides) do
  2155.             if (obs*v/(siz*v+Vector3.new(1,1,1)*1e-7)):isClose(v,.01) then
  2156.                 sidevector = v
  2157.                 break
  2158.             end
  2159.         end
  2160.         if not sidevector then sidevector = default end
  2161.         if sidevector then
  2162.             local cf = CFrame.new(Pos,Pos+Part.CFrame:vectorToWorldSpace(sidevector)) * CFrame.Angles(-math.pi/2,0,0)
  2163.             Move.position = Vector3.new(cf.X,cf.Y + 6 + Lift,cf.Z) + Vector3.new(Face.X,0,Face.Z)*Accel*xmove
  2164.             Move.maxForce = Vector3.new(1e7,1e7,1e7)
  2165.         end
  2166.     else
  2167.         Move.maxForce = Vector3.new(1e7,0,1e7)
  2168.         Move.position = Vector3.new(Torso.CFrame.X,Torso.CFrame.Y,Torso.CFrame.Z) + Vector3.new(Face.X,0,Face.Z)*Accel*xmove
  2169.     end
  2170.  
  2171.     CurrentLeftArm = LA.C0
  2172.     CurrentRightArm = RA.C0
  2173.     CurrentRightLeg = LR.C1
  2174.     CurrentLeftLeg = LL.C1
  2175.  
  2176.     if math.floor(Lift+0.5) == 3 then
  2177.         --FlapSound:Play()
  2178.     end
  2179.  
  2180.     if CurrentAnimation == "Idle" then
  2181.         rofTop = 1
  2182.         rofBot = 1
  2183.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(0),0,math.rad(25 + Lift*2)), CurrentFrame)
  2184.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(0),0,math.rad(-25 - Lift*2)), CurrentFrame)
  2185.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(0,0,math.rad(-7.5 + Lift)), CurrentFrame)
  2186.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(0,0,math.rad(7.5 - Lift)), CurrentFrame)
  2187.     elseif CurrentAnimation == "Forward" then
  2188.         rofTop = 6
  2189.         rofBot = 6
  2190.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(-15),0,math.rad(30)), CurrentFrame)
  2191.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(-15),0,math.rad(-30)), CurrentFrame)
  2192.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(15),0,math.rad(-7.5)), CurrentFrame)
  2193.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(15),0,math.rad(7.5)), CurrentFrame)
  2194.     elseif CurrentAnimation == "Backward" then
  2195.         rotTop = -6
  2196.         rofBot = -6
  2197.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(15),0,math.rad(20)), CurrentFrame)
  2198.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(15),0,math.rad(-20)), CurrentFrame)
  2199.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(-15),0,math.rad(-7.5)), CurrentFrame)
  2200.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(-15),0,math.rad(7.5)), CurrentFrame)
  2201.     elseif CurrentAnimation == "SwivelLeft" then
  2202.         rofTop = 3
  2203.         rofBot = 3
  2204.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(15),0,math.rad(25)), CurrentFrame)
  2205.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(-15),0,math.rad(-25)), CurrentFrame)
  2206.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(-10),0,math.rad(-7.5)), CurrentFrame)
  2207.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(10),0,math.rad(7.5)), CurrentFrame)
  2208.     elseif CurrentAnimation == "SwivelRight" then
  2209.         rofTop = -3
  2210.         rofBot = -3
  2211.         RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(-15),0,math.rad(25)), CurrentFrame)
  2212.         LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(15),0,math.rad(-25)), CurrentFrame)
  2213.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(10),0,math.rad(-7.5)), CurrentFrame)
  2214.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(-10),0,math.rad(7.5)), CurrentFrame)
  2215.     elseif CurrentAnimation == "DisableHandAnim" then
  2216.         rofBot = 1
  2217.         LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(0,0,math.rad(-7.5)), CurrentFrame)
  2218.         LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(0,0,math.rad(7.5)), CurrentFrame)
  2219.     end
  2220.  
  2221.     LastAnimation = CurrentAnimation
  2222. end)
  2223.  
  2224. while true do
  2225.     for i = 0,10,0.1 do
  2226.         Lift = Lift + (math.sin(math.pi*2/10*i)*0.1)
  2227.         wait(0.02)
  2228.     end
  2229. end
RAW Paste Data
Top