daily pastebin goal
42%
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
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top