Advertisement
voidman

Untitled

Dec 31st, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 45.77 KB | None | 0 0
  1. --]]
  2. --https://github.com/Mokiros/roblox-FE-compatibility
  3. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  4. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  5. local RealPlayer = Player
  6. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
  7.  
  8. local Player = game:GetService("Players").LocalPlayer
  9. local Character = Player.Character
  10. local Mouse = Player:GetMouse()
  11. local Camera = game:GetService("Workspace").CurrentCamera
  12. local Humanoid = Character:findFirstChild("Humanoid")
  13. local Torso = Character.Torso
  14. local PlayerGui = Player.PlayerGui
  15. local Torso = Character:findFirstChild("Torso")
  16. local Head = Character:findFirstChild("Head")
  17. local RootPart = Character:findFirstChild("HumanoidRootPart")
  18. local Root = RootPart.RootJoint
  19. local Sides = {"Left","Right"}
  20. local Arms = {Character["Left Arm"],Character["Right Arm"]}
  21. local Legs = {Character["Left Leg"],Character["Right Leg"]}
  22.  
  23. local Bits = {}
  24. local Disposables = {}
  25. local Discs = {}
  26.  
  27. local DiscSpin = 0
  28. local Spread = 1.25
  29. local RateTop = 1
  30. local RateBot = 1
  31. local Distance = 0.5
  32. local ExtendTop = 1
  33. local ExtendBot = 1
  34. local CurrentFrame = 1
  35. local Lift = 0
  36. local Accel = 1
  37. local TurnAngle = 0
  38. local rofTop = 1
  39. local rofBot = 1
  40. local Flutter = 0
  41.  
  42. local Front = false
  43. local Back = false
  44. local Left = false
  45. local Right = false
  46. local AddSub = false
  47. local ChargeHeld = false
  48. local BoostHeld = false
  49. local BeamHeld = false
  50. local AbsDefHeld = false
  51. local ExtendGrowthTop = false
  52. local ExtendGrowthBot = false
  53. local UpdateAnim = true
  54.  
  55.  
  56. local CurrentAnimation = "Idle"
  57. local LastAnimation = "Idle"
  58. local MobilityType = "Float"
  59. local ColorGlobe = "White"
  60. local ColorBlades = "Black"
  61. local xmove,zmove
  62.  
  63. local LastBeam = tick()
  64.  
  65. if Torso then
  66. for _,v in pairs(Torso:children()) do
  67. if v:IsA("BodyGyro") or v:IsA("BodyVelocity") then
  68. v:Destroy();
  69. end
  70. end
  71. end
  72.  
  73. local Energy = {}
  74. local TotalEnergy = 1000
  75. local CurrentEnergy = 1000
  76.  
  77. pcall(function()
  78. PlayerGui.EnergyMeter:Destroy()
  79. end)
  80. if Player.Name == "modFrost" then
  81. ColorGlobe = "Bright orange"
  82. end
  83.  
  84. local FlapSound = Instance.new("Sound", Torso)
  85. FlapSound.Name = "Flap"
  86. FlapSound.SoundId = "http://www.roblox.com/asset/?id=257002377"
  87. FlapSound.Volume = 1
  88.  
  89. local EnergyMeter = Instance.new("ScreenGui", PlayerGui)
  90. EnergyMeter.Name = "EnergyMeter"
  91. local Bar = Instance.new("Frame", EnergyMeter)
  92. Bar.Size = UDim2.new(0,200,0,10)
  93. Bar.Position = UDim2.new(1,-205,1,-15)
  94. Bar.BorderSizePixel = 0
  95. Bar.BackgroundColor = BrickColor.new("Really black")
  96. Bar.BackgroundTransparency = 0.5
  97. local Text = Instance.new("TextLabel", Bar)
  98. Text.Text = "Energy"
  99. Text.TextColor = BrickColor.new("White")
  100. Text.BackgroundTransparency = 1
  101. Text.Size = UDim2.new(1,0,1,0)
  102. Text.Position = UDim2.new(0,0,-1,-10)
  103. Text.TextXAlignment = "Left"
  104. Text.FontSize = "Size12"
  105. local EnergyFill = Instance.new("Frame", Bar)
  106. EnergyFill.Size = UDim2.new(0,0,1,-5)
  107. EnergyFill.Position = UDim2.new(0,2.5,0,2.5)
  108. EnergyFill.BorderSizePixel = 0
  109. EnergyFill.BackgroundColor = BrickColor.new(ColorGlobe)
  110. EnergyFill.BackgroundTransparency = 0.25
  111.  
  112. local ChargeMeter = Instance.new("ScreenGui", PlayerGui)
  113. ChargeMeter.Name = "EnergyMeter"
  114. local ChargeBar = Instance.new("Frame", ChargeMeter)
  115. ChargeBar.Size = UDim2.new(0,200,0,10)
  116. ChargeBar.Position = UDim2.new(0.5,-102.5,0.8,-5)
  117. ChargeBar.BorderSizePixel = 0
  118. ChargeBar.BackgroundColor = BrickColor.new("Really black")
  119. ChargeBar.BackgroundTransparency = 0.5
  120. local ChargeFill = Instance.new("Frame", ChargeBar)
  121. ChargeFill.Size = UDim2.new(0,0,1,-5)
  122. ChargeFill.Position = UDim2.new(0,2.5,0,2.5)
  123. ChargeFill.BorderSizePixel = 0
  124. ChargeFill.BackgroundColor = BrickColor.new("Bright blue")
  125. ChargeFill.BackgroundTransparency = 0.25
  126. ChargeBar.Visible = false
  127.  
  128. local function _Part(Parent,canc,anc,tr,ref,mat,color,size, meshtype, scale)
  129. local part = Instance.new("Part", Parent)
  130. part.Transparency = tr
  131. part.Anchored = anc
  132. part.TopSurface = 10
  133. part.BottomSurface = 10
  134. part.LeftSurface = 10
  135. part.RightSurface = 10
  136. part.FrontSurface = 10
  137. part.BackSurface = 10
  138. part.Locked = true
  139. part.formFactor = 3
  140. part.Reflectance = ref
  141. part.Material = mat
  142. part.CanCollide = canc
  143. part.Size = Vector3.new(size[1],size[2],size[3])
  144. part.BrickColor = BrickColor.new(color)
  145. local mesh
  146. if meshtype == "BlockMesh" then
  147. mesh = Instance.new("BlockMesh", part)
  148. elseif meshtype == "CylinderMesh" then
  149. mesh = Instance.new("CylinderMesh", part)
  150. else
  151. mesh = Instance.new("SpecialMesh", part)
  152. mesh.MeshType = meshtype
  153. end
  154. mesh.Name = "Mesh"
  155. mesh.Scale = Vector3.new(scale[1],scale[2],scale[3])
  156. return part
  157. end
  158.  
  159. local function _Weld(Parent, p0, c1, c0)
  160. local weld = Instance.new("Motor", Parent)
  161. weld.Part1 = Parent
  162. weld.Part0 = p0
  163. weld.C1 = c1
  164. weld.C0 = c0
  165. weld.Name = "Weld"
  166. return weld
  167. end
  168.  
  169. local Main = Character:findFirstChild("Main") or Instance.new("Model", Character)
  170. Main.Name = "Main"
  171. Main:ClearAllChildren()
  172.  
  173. pcall(function() Character["Head"]["face"]:Destroy() end)
  174.  
  175. for _,Hat in pairs(Character:GetChildren()) do
  176. if Hat:IsA("Accoutrement") then
  177. Hat:Destroy()
  178. end
  179. end
  180.  
  181. for _,Part in pairs(Character:GetChildren()) do
  182. if Part:IsA("BasePart") then
  183. Part.Transparency = 1
  184. end
  185. end
  186.  
  187. local function GenF(Part, Cframe, Color)
  188. local A = _Part(Main,false,false,0,0,"SmoothPlastic",Color,{0.05,0.5,0.05},"BlockMesh",{1,1,0.5})
  189. _Weld(A, Part, CFrame.new(), Cframe)
  190. local B = _Part(Main,false,false,0,0,"SmoothPlastic",Color,{0.2,0.2,0.3},"BlockMesh",{1,0.5,1})
  191. _Weld(B, A, CFrame.new(), CFrame.new(0,-0.2,0.2))
  192. local C = _Part(Main,false,false,0,0,"SmoothPlastic",Color,{0.2,0.2,0.2},"BlockMesh",{1,0.5,1})
  193. _Weld(C, A, CFrame.new(), CFrame.new(0,-0.025,0.15))
  194. end
  195.  
  196. local Down = _Part(Main,false,false,1,1,"SmoothPlastic","Black",{1,1,1},"Brick",{1,1,1})
  197. _Weld(Down, Torso, CFrame.Angles(math.rad(90),0,0), CFrame.new())
  198.  
  199. local AnchorPart = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  200. _Weld(AnchorPart, Character["Right Arm"], CFrame.new(0,1.5,0), CFrame.new())
  201.  
  202. local AnchorPart2 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  203. _Weld(AnchorPart2, Character["Left Arm"], CFrame.new(0,1.5,0), CFrame.new())
  204.  
  205. local AnchorPart3 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  206. _Weld(AnchorPart3, Character["Right Leg"], CFrame.new(0,1.5,0), CFrame.new())
  207.  
  208. local AnchorPart4 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.8,0.8,0.8},"Sphere",{1,1,1})
  209. _Weld(AnchorPart4, Character["Left Leg"], CFrame.new(0,1.5,0), CFrame.new())
  210.  
  211. --Back
  212.  
  213. local AnchorPart5 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.6,0.6,0.6},"Sphere",{1,1,1})
  214. _Weld(AnchorPart5, Character.Torso, CFrame.new(0.75,-0.5,-1), CFrame.new())
  215.  
  216. local AnchorPart6 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.6,0.6,0.6},"Sphere",{1,1,1})
  217. _Weld(AnchorPart6, Character.Torso, CFrame.new(-0.75,-0.5,-1), CFrame.new())
  218.  
  219. local AnchorPart7 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.4,0.4,0.4},"Sphere",{1,1,1})
  220. _Weld(AnchorPart7, Character.Torso, CFrame.new(0.5,0.25,-0.8), CFrame.new())
  221.  
  222. local AnchorPart8 = _Part(Main,false,false,0.1,0,"Neon",ColorGlobe,{0.4,0.4,0.4},"Sphere",{1,1,1})
  223. _Weld(AnchorPart8, Character.Torso, CFrame.new(-0.5,0.25,-0.8), CFrame.new())
  224.  
  225. local WingLeft = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  226. local WingLeftMain = _Weld(WingLeft, AnchorPart5, CFrame.new(), CFrame.new())
  227. local WingLeftP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  228. _Weld(WingLeftP1, WingLeft, CFrame.new(0,-2,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  229. local WingLeftD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8*2,0.45*2})
  230. WingLeftD.Mesh.MeshId = "rbxassetid://9756362"
  231. _Weld(WingLeftD, WingLeft, CFrame.new(0,1,-0.25) * CFrame.Angles(math.rad(-15),0,0), CFrame.new())
  232. table.insert(Bits, {Side = true; Weld = WingLeftMain; Series = 0;Type = "Wing"})
  233.  
  234. local WingRight = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  235. local WingRightMain = _Weld(WingRight, AnchorPart6, CFrame.new(), CFrame.new())
  236. local WingRightP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,2,1},"Wedge",{1,1,1})
  237. _Weld(WingRightP1, WingRight, CFrame.new(0,-2,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  238. local WingRightD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8*2,0.45*2})
  239. WingRightD.Mesh.MeshId = "rbxassetid://9756362"
  240. _Weld(WingRightD, WingRight, CFrame.new(0,1,-0.25) * CFrame.Angles(math.rad(-15),0,0), CFrame.new())
  241. table.insert(Bits, {Side = false; Weld = WingRightMain; Series = 0;Type = "Wing"})
  242.  
  243. local WingLeftLower = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  244. local WingLeftLowerMain = _Weld(WingLeftLower, AnchorPart7, CFrame.new(), CFrame.new())
  245. local WingLeftLowerP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  246. _Weld(WingLeftLowerP1, WingLeftLower, CFrame.new(0,-1.5,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  247. local WingLeftLowerD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,2.8,0.45})
  248. WingLeftLowerD.Mesh.MeshId = "rbxassetid://9756362"
  249. _Weld(WingLeftLowerD, WingLeftLower, CFrame.new(0,0.75,-0.15) * CFrame.Angles(math.rad(-10),0,0), CFrame.new())
  250. table.insert(Bits, {Side = true; Weld = WingLeftLowerMain; Series = 0;Type = "WingLow"})
  251.  
  252. local WingRightLower = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  253. local WingRightLowerMain = _Weld(WingRightLower, AnchorPart8, CFrame.new(), CFrame.new())
  254. local WingRightLowerP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1.5,0.5},"Wedge",{1,1,1})
  255. _Weld(WingRightLowerP1, WingRightLower, CFrame.new(0,-1.5,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  256. local WingRightLowerD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,2.8,0.45})
  257. WingRightLowerD.Mesh.MeshId = "rbxassetid://9756362"
  258. _Weld(WingRightLowerD, WingRightLower, CFrame.new(0,0.75,-0.15) * CFrame.Angles(math.rad(-10),0,0), CFrame.new())
  259. table.insert(Bits, {Side = false; Weld = WingRightLowerMain; Series = 0;Type = "WingLow"})
  260.  
  261. for i = 1, 6, 1 do
  262. local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  263. local Main = _Weld(TriP1, AnchorPart, CFrame.new(), CFrame.new())
  264. local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  265. _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  266. local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  267. DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  268. _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  269. table.insert(Bits, {Side = false; Weld = Main; Series = i;Type = "Top"})
  270. end
  271.  
  272. for i = 1, 6, 1 do
  273. local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  274. local Main = _Weld(TriP1, AnchorPart2, CFrame.new(), CFrame.new())
  275. local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  276. _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  277. local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  278. DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  279. _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  280. table.insert(Bits, {Side = true; Weld = Main; Series = i;Type = "Top"})
  281. end
  282.  
  283. for i = 1, 6, 1 do
  284. local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  285. local Main = _Weld(TriP1, AnchorPart3, CFrame.new(), CFrame.new())
  286. local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  287. _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  288. local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  289. DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  290. _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  291. table.insert(Bits, {Side = false; Weld = Main; Series = i;Type = "Bot"})
  292. end
  293.  
  294. for i = 1, 6, 1 do
  295. local TriP1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  296. local Main = _Weld(TriP1, AnchorPart4, CFrame.new(), CFrame.new())
  297. local TriP2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.2,1,0.5},"Wedge",{1,1,1})
  298. _Weld(TriP2, TriP1, CFrame.new(0,-1,0) * CFrame.Angles(math.rad(180),0,0), CFrame.new())
  299. local DiamondB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.25,1.8,0.45})
  300. DiamondB.Mesh.MeshId = "rbxassetid://9756362"
  301. _Weld(DiamondB, TriP1, CFrame.new(0,0.5,-0.125) * CFrame.Angles(math.rad(-15),0,0),CFrame.new())
  302. table.insert(Bits, {Side = true; Weld = Main; Series = i;Type = "Bot"})
  303. end
  304.  
  305. --[[local WingAnchor = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  306. _Weld(WingAnchor, Character.Torso, CFrame.new(0.5,-0.5,-1), CFrame.new())
  307. local LengthWing1 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  308. _Weld(LengthWing1, WingAnchor, CFrame.new(0.5,-0.55,0.35) * CFrame.Angles(math.rad(290),math.rad(45),0), CFrame.new())
  309. local WingAnchor2 = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  310. _Weld(WingAnchor2, LengthWing1, CFrame.new(0,-0.75,0), CFrame.new())
  311. local LengthWing2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  312. _Weld(LengthWing2, WingAnchor2, CFrame.new(0,-0.6,0) * CFrame.Angles(math.rad(350),0,0), CFrame.new())
  313. local WingAnchor3 = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  314. _Weld(WingAnchor3, LengthWing2, CFrame.new(0,-0.75,0), CFrame.new())
  315. local LengthWing3 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  316. _Weld(LengthWing3, WingAnchor3, CFrame.new(0,-0.6,0) * CFrame.Angles(math.rad(-10),0,0), CFrame.new())
  317. local WingAnchor4 = _Part(Main,false,false,1,0,"SmoothPlastic",ColorBlades,{1,1,1},"BlockMesh",{1,1,1})
  318. _Weld(WingAnchor4, LengthWing3, CFrame.new(0,-0.75,0), CFrame.new())
  319. local LengthWing4 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{0.3,1.5,0.3},"BlockMesh",{1,1,1})
  320. _Weld(LengthWing4, WingAnchor4, CFrame.new(0,-0.6,0) * CFrame.Angles(math.rad(-15),0,0), CFrame.new())
  321. ]]-- Scrapped for now...
  322.  
  323. --[[Body]]--
  324.  
  325. local BHead = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"Head",{1.25,1.25,1.25})
  326. _Weld(BHead,Head,CFrame.new(),CFrame.new())
  327. local BHelm = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1,1,1})
  328. BHelm.Mesh.MeshId = "rbxassetid://17438747"
  329. _Weld(BHelm,BHead,CFrame.new(0,-0.2,0),CFrame.new())
  330. local BHelm2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.95,0.97,0.95})
  331. BHelm2.Mesh.MeshId = "rbxassetid://17438747"
  332. _Weld(BHelm2,BHelm,CFrame.new(0,0,-0.02),CFrame.new())
  333. local EyeL = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.25,0.075,0.075})
  334. _Weld(EyeL,Head,CFrame.new(0.2,0.25,0.55)*CFrame.Angles(0,math.rad(40),0),CFrame.new())
  335. local EyeR = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.25,0.075,0.075})
  336. _Weld(EyeR,Head,CFrame.new(-0.2,0.25,0.55)*CFrame.Angles(0,math.rad(-40),0),CFrame.new())
  337. local Mouth = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.25,0.075,0.075})
  338. _Weld(Mouth,Head,CFrame.new(0,0.45,0.53),CFrame.new())
  339. local BTorso = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{1,0.4,1})
  340. BTorso.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  341. _Weld(BTorso,Torso,CFrame.new(0,-0.45,0),CFrame.new())
  342. local BTorso2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.85,0.6,0.85})
  343. BTorso2.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  344. _Weld(BTorso2,BTorso,CFrame.new(0,0.8,0),CFrame.new())
  345. local BTorsoCore = _Part(Main,false,false,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{0.5,0.5,0.5})
  346. _Weld(BTorsoCore, Torso, CFrame.new(0,-0.5,0.4),CFrame.new())
  347. local BTorsoCoreDisc = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.525,0.525,0.2})
  348. BTorsoCoreDisc.Mesh.MeshId = "rbxassetid://3270017"
  349. _Weld(BTorsoCoreDisc, BTorsoCore, CFrame.new(0,0,0.1),CFrame.new())
  350. local BNeck = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"Head",{0.8,1,0.8})
  351. _Weld(BNeck,Head,CFrame.new(0,0.8,0),CFrame.new())
  352.  
  353. for i=1,3 do
  354. local BTorsoAb = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.2,0.075,0.2})
  355. BTorsoAb.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  356. _Weld(BTorsoAb, Torso, CFrame.new(-0.5,-0.3 + 0.3*i,0.35)*CFrame.Angles(0,0,math.rad(15)),CFrame.new())
  357. end
  358. for i=1,3 do
  359. local BTorsoAb = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.2,0.075,0.2})
  360. BTorsoAb.Mesh.MeshId = "rbxasset://fonts\\torso.mesh"
  361. _Weld(BTorsoAb, Torso, CFrame.new(0.5,-0.3 + 0.3*i,0.35)*CFrame.Angles(0,0,math.rad(-15)),CFrame.new())
  362. end
  363.  
  364. local function Arm(bool)
  365. local Limb, Offset
  366. if bool then
  367. Limb = Character["Left Arm"]
  368. Offset = 0.52
  369. else
  370. Limb = Character["Right Arm"]
  371. Offset = -0.52
  372. end
  373.  
  374. local ShldrL = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{1,0.35,1})
  375. ShldrL.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  376. _Weld(ShldrL,Limb,CFrame.new(0,-0.6,0),CFrame.new())
  377. local ShldrL2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.85,0.5,0.85})
  378. ShldrL2.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  379. _Weld(ShldrL2,Limb,CFrame.new(0,0.2,0),CFrame.new())
  380. local ShldrL3 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.75,0.2,0.75})
  381. ShldrL3.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  382. _Weld(ShldrL3,Limb,CFrame.new(0,0.85,0),CFrame.new())
  383. local ShldrL4 = _Part(Main,false,false,0,0,"SmoothPlastic","Really black",{1,1,1},"FileMesh",{0.5,0.05,0.5})
  384. ShldrL4.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  385. _Weld(ShldrL4,ShldrL3,CFrame.new(0,0.16,0),CFrame.new())
  386. --X Pat--
  387. local ShldrLD = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.1,0.03,1.35})
  388. ShldrLD.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  389. _Weld(ShldrLD,Limb,CFrame.new(0,0,0),CFrame.Angles(math.rad(45),0,0))
  390. local ShldrLD2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.1,0.03,1.35})
  391. ShldrLD2.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  392. _Weld(ShldrLD2,Limb,CFrame.new(0,0,0),CFrame.Angles(math.rad(-45),0,0))
  393. local ShldrLDB = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.35,0.03,1.1})
  394. ShldrLDB.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  395. _Weld(ShldrLDB,Limb,CFrame.new(0,0,0),CFrame.Angles(0,0,math.rad(45)))
  396. local ShldrLD2B = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{1.35,0.03,1.1})
  397. ShldrLD2B.Mesh.MeshId = "rbxasset://fonts\\rightarm.mesh"
  398. _Weld(ShldrLD2B,Limb,CFrame.new(0,0,0),CFrame.Angles(0,0,math.rad(-45)))
  399.  
  400. local Disc = _Part(Main,false,false,0,0,"SmoothPlastic",ColorGlobe,{1,1,1},"FileMesh",{0.55,0.55,0.55})
  401. Disc.Mesh.MeshId = "rbxassetid://47260990"
  402. _Weld(Disc, ShldrL, CFrame.new(0,0,Offset),CFrame.Angles(0,math.rad(90),0))
  403. --3270017
  404. local DiscC = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.55,0.55,0.1})
  405. DiscC.Mesh.MeshId = "rbxassetid://3270017"
  406. _Weld(DiscC, Disc, CFrame.new(),CFrame.new())
  407.  
  408. table.insert(Discs, Disc)
  409. end
  410.  
  411. local function Leg(bool)
  412. local Limb, Offset
  413. if bool then
  414. Limb = Character["Left Leg"]
  415. Offset = 0.5
  416. else
  417. Limb = Character["Right Leg"]
  418. Offset = -0.5
  419. end
  420. local LegL = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.95,0.35,0.95})
  421. LegL.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  422. _Weld(LegL,Limb,CFrame.new(0,-0.7,0),CFrame.new())
  423. local LegL2 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.85,0.5,0.85})
  424. LegL2.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  425. _Weld(LegL2,Limb,CFrame.new(0,0.15,0),CFrame.new())
  426. local LegL3 = _Part(Main,false,false,0,0,"SmoothPlastic",ColorBlades,{1,1,1},"FileMesh",{0.75,0.2,0.75})
  427. LegL3.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  428. _Weld(LegL3,Limb,CFrame.new(0,0.85,0),CFrame.new())
  429. local LegL4 = _Part(Main,false,false,0,0,"SmoothPlastic","Really black",{1,1,1},"FileMesh",{0.5,0.05,0.5})
  430. LegL4.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  431. _Weld(LegL4,LegL3,CFrame.new(0,0.16,0),CFrame.new())
  432. local LegL5 = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.9,0.2,0.9})
  433. LegL5.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  434. _Weld(LegL5,LegL2,CFrame.new(0,0,0),CFrame.new())
  435.  
  436. local MiniRocket = _Part(Main,false,false,0,0,"SmoothPlastic","Medium stone grey",{1,1,1},"FileMesh",{0.2,0.2,0.2})
  437. MiniRocket.Mesh.MeshId = "rbxasset://fonts\\leftleg.mesh"
  438. _Weld(MiniRocket,LegL5,CFrame.new(Offset,0,0),CFrame.new())
  439. local MiniRocket2 = _Part(Main,false,false,0,0,"SmoothPlastic","Really black",{1,1,1},"BlockMesh",{0.125,0.1,0.125})
  440. _Weld(MiniRocket2,LegL5,CFrame.new(Offset,0.16,0),CFrame.new())
  441. end
  442.  
  443. Arm(true)
  444. Arm(false)
  445. Leg(true)
  446. Leg(false)
  447.  
  448. --Spin Disc 22768172
  449. --[[Done]]--
  450.  
  451. local Welds = {
  452. ArmW = {
  453. Left = Instance.new("Weld",Character);
  454. Right = Instance.new("Weld",Main);
  455. };
  456. LegW = {
  457. Left = Instance.new("Weld",Main);
  458. Right = Instance.new("Weld",Main);
  459. };
  460. HeadW = {
  461. Middle = Instance.new("Weld",Main);
  462. };
  463. }
  464. local RWelds = {
  465. ArmW = {
  466. Left = Torso["Left Shoulder"];
  467. Right = Torso["Right Shoulder"];
  468. };
  469. LegW = {
  470. Left = Torso["Left Hip"];
  471. Right = Torso["Right Hip"];
  472. };
  473. HeadW = {
  474. Middle = Torso["Neck"];
  475. };
  476. }
  477.  
  478. local LA,RA = Welds.ArmW.Left,Welds.ArmW.Right
  479. local LL,LR = Welds.LegW.Left,Welds.LegW.Right
  480. local HD = Welds.HeadW.Middle
  481. local LAD = CFrame.new(-1.5,0.5,0)
  482. local RAD = CFrame.new(1.5,0.5,0)
  483. local HDD = CFrame.new(0,-1.5,0)
  484. local LLD = CFrame.new(0.5,2,0)
  485. local RLD = CFrame.new(-0.5,2,0)
  486. local RootD = CFrame.Angles(-1.57,0,-3.15)
  487. 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
  488. 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
  489. Welds.LegW.Left.C1,Welds.LegW.Left.Part0 = LLD,Torso
  490. Welds.LegW.Right.C1,Welds.LegW.Right.Part0 = RLD,Torso
  491. Welds.HeadW.Middle.C1,Welds.HeadW.Middle.Part0 = HDD,Torso
  492.  
  493. local CurrentLeftArm = LAD
  494. local CurrentRightArm = RAD
  495. local CurrentLeftLeg = LLD
  496. local CurrentRightLeg = RLD
  497.  
  498. local function lerp(a, b, c)
  499. return a+(b-a)*c
  500. end
  501.  
  502. local function AnimLerp(c1, c2, al)
  503. local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
  504. local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
  505. for i,v in pairs(com1) do
  506. com1[i] = lerp(v,com2[i],al)
  507. end
  508. return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
  509. end
  510.  
  511. local _Arm = function(side,tf)
  512. local Arm = nil
  513. local Weld = nil
  514. local RWeld = nil
  515. for _,S in pairs(Sides) do
  516. if side:lower() == S:lower() then
  517. for _,A in pairs(Arms) do
  518. if A.Name:lower():find(side:lower()) then
  519. Arm = A
  520. Weld = Welds.ArmW[S]
  521. RWeld = RWelds.ArmW[S]
  522. end
  523. end
  524. end
  525. end
  526. if Arm and Weld and RWeld then
  527. if tf then
  528. Weld.Part1 = Arm
  529. RWeld.Part1 = nil
  530. elseif not tf then
  531. Weld.Part1 = nil
  532. RWeld.Part1 = Arm
  533. else
  534. print("Error")
  535. end
  536. end
  537. end
  538.  
  539. local _Leg = function(side,tf)
  540. local Leg = nil
  541. local Weld = nil
  542. local RWeld = nil
  543. for _,S in pairs(Sides) do
  544. if side:lower() == S:lower() then
  545. for _,A in pairs(Legs) do
  546. if A.Name:lower():find(side:lower()) then
  547. Leg = A
  548. Weld = Welds.LegW[S]
  549. RWeld = RWelds.LegW[S]
  550. end
  551. end
  552. end
  553. end
  554. if Leg and Weld and RWeld then
  555. if tf then
  556. Weld.Part1 = Leg
  557. RWeld.Part1 = nil
  558. elseif not tf then
  559. Weld.Part1 = nil
  560. RWeld.Part1 = Leg
  561. else
  562. print("Error")
  563. end
  564. end
  565. end
  566.  
  567. local _Head = function(tf)
  568. local Head = nil
  569. local Weld = nil
  570. local RWeld = nil
  571. Head = Character["Head"]
  572. Weld = Welds.HeadW.Middle
  573. RWeld = RWelds.HeadW.Middle
  574. if Head and Weld and RWeld then
  575. if tf then
  576. Weld.Part1 = Head
  577. RWeld.Part1 = nil
  578. elseif not tf then
  579. Weld.Part1 = nil
  580. RWeld.Part1 = Head
  581. else
  582. print("Error")
  583. end
  584. end
  585. end
  586.  
  587. pcall(function()
  588. Character.Animate.Disabled = true
  589. end)
  590. if Humanoid then
  591. Humanoid.PlatformStand = true
  592. end
  593. pcall(function()
  594. Torso.Velocity = Variables.Momentum
  595. end)
  596.  
  597. local Rotate = Instance.new("BodyGyro",Torso)
  598. Rotate.P = 10^6
  599. Rotate.maxTorque = Vector3.new(Rotate.P,Rotate.P,Rotate.P)
  600. Rotate.cframe = Torso.CFrame
  601.  
  602. local Move = Instance.new("BodyPosition",Torso)
  603. Move.maxForce = Vector3.new(1,1,1)*(10^6)
  604. Move.position = Torso.CFrame.p
  605.  
  606. local function LaserBeam()
  607. UpdateAnim = false
  608. CurrentAnimation = "DisableHandAnim"
  609. rofTop = 6
  610. for i=0,1,0.1 do
  611. RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(75),0,math.rad(-20)), i)
  612. LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(75),0,math.rad(20)), i)
  613. wait()
  614. end
  615.  
  616. ChargeBar.Visible = true;
  617.  
  618. local Charge = 0
  619. local Downt = _Part(Main,false,true,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{1,1,1})
  620. local Effect = Instance.new("ParticleEmitter", Downt)
  621. Effect.Texture = "rbxassetid://283631720"
  622. Effect.VelocitySpread = 0
  623. Effect.Acceleration = Vector3.new(0,0,0)
  624. Effect.Color = ColorSequence.new(Downt.BrickColor.Color,Downt.BrickColor.Color)
  625. Effect.Speed = NumberRange.new(0)
  626. Effect.Lifetime = NumberRange.new(1,1)
  627. Effect.Rate = 60
  628. Effect.Transparency = NumberSequence.new(0.5,0.8)
  629. Effect.Rotation = NumberRange.new(1,2)
  630.  
  631. while BeamHeld do
  632. Charge = Charge + 1
  633. CurrentEnergy = CurrentEnergy - 1.5
  634. Downt.Mesh.Scale = Downt.Mesh.Scale + Vector3.new(0.02,0.02,0.02)
  635. Downt.CFrame = RootPart.CFrame + (RootPart.CFrame.lookVector * 4)
  636. Effect.Size = NumberSequence.new(Downt.Mesh.Scale.X)
  637. ChargeFill.Size = UDim2.new(Charge/100,-5,1,-5)
  638. wait()
  639. if Charge >= 100 or CurrentEnergy <= 0 then
  640. CurrentEnergy = CurrentEnergy <= 0 and 0 or CurrentEnergy
  641. break
  642. end
  643. end
  644.  
  645. Downt.Anchored = false
  646. Downt.Size = Downt.Mesh.Scale
  647. Downt.Mesh.Scale = Vector3.new(1,1,1)
  648.  
  649. local Velocity = Instance.new("BodyVelocity", Downt)
  650. Velocity.maxForce = Vector3.new(1e7,1e7,1e7)
  651. Velocity.P = 1e7
  652. Velocity.Velocity = (Mouse.Hit.p - Downt.CFrame.p)
  653. --[[
  654. --CurrentEnergy = CurrentEnergy <= 0 and 0 or CurrentEnergy - (1.5*Charge)
  655. local Face = Torso.CFrame.lookVector
  656. local Ray = Ray.new(Downt.CFrame.p, (Mouse.Hit.p - Downt.CFrame.p).unit*750)
  657. local Object,Pos = game:GetService("Workspace"):findPartOnRay(Ray, Character)
  658. local Distance = (Pos - Downt.CFrame.p).magnitude
  659. local DrawRay = _Part(Main,false,true,0,0,"Neon",ColorGlobe,{1,1,1},"Cylinder",{Distance,Downt.Mesh.Scale.X,Downt.Mesh.Scale.X})
  660. DrawRay.CFrame = CFrame.new(Pos, Downt.CFrame.p) * CFrame.new(0,0,-Distance/2) * CFrame.Angles(0,math.rad(270),0)
  661.  
  662. local ExplodePart = _Part(Main,false,true,0,0,"Neon",ColorGlobe,{1,1,1},"Sphere",{1,1,1})
  663. ExplodePart.CFrame = CFrame.new(Pos.X,Pos.Y,Pos.Z)
  664.  
  665. local Ignore = {}
  666.  
  667. ExplodePart.Touched:connect(function(Object)
  668. if Object.Parent and Object.Parent:IsA("Model") then
  669. local Model = Object.Parent
  670. if Model:findFirstChild("Humanoid") and not Ignore[Model.Name] and Model.Name ~= Character.Name then
  671. Ignore[Model.Name] = true;
  672. local Humanoid = Model:findFirstChild("Humanoid")
  673. Humanoid:TakeDamage(0.75*Charge)
  674. end
  675. end
  676. end)
  677.  
  678. for i=0,1,0.1 do
  679. wait()
  680. DrawRay.Transparency = i
  681. Downt.Transparency = i
  682. ExplodePart.Size = ExplodePart.Size + Vector3.new(0.04*Charge,0.04*Charge,0.04*Charge)
  683. ExplodePart.CFrame = CFrame.new(Pos.X,Pos.Y,Pos.Z)
  684. ExplodePart.Transparency = i
  685. end
  686. Effect:Destroy()
  687. game:GetService("Debris"):AddItem(DrawRay, 1)
  688. game:GetService("Debris"):AddItem(ExplodePart, 1)]]
  689. game:GetService("Debris"):AddItem(Downt, 10)
  690. UpdateAnim = true
  691. ChargeBar.Visible = false
  692. LastBeam = tick()
  693. end
  694.  
  695. local function AbsoluteDefence()
  696. UpdateAnim = false
  697.  
  698. while AbsDefHeld do
  699.  
  700. wait()
  701. end
  702.  
  703.  
  704. UpdateAnim = true
  705. end
  706.  
  707. local function ThrowBlades()
  708. --[[local Thrown = {}
  709. for i,Bit in pairs(Bits) do
  710. if Bit.Type == "Top" then
  711. table.insert(Thrown, {Side = Bit.Side; Weld = Bit.Weld; Series = Bit.Series; Type = Bit.Type})
  712. table.remove(Bits, i)
  713. end
  714. end
  715. ]]-- *Construction*
  716. end
  717.  
  718. Mouse.KeyDown:connect(function(Key)
  719. if Key == "w" then
  720. Front = true
  721. end
  722. if Key == "a" then
  723. Left = true
  724. end
  725. if Key == "s" then
  726. Back = true
  727. end
  728. if Key == "q" then
  729. BoostHeld = not BoostHeld
  730. if BoostHeld then
  731. Accel = 3
  732. else
  733. Accel = 1
  734. end
  735. end
  736. if Key == "d" then
  737. Right = true
  738. end
  739. if Key:byte() == 50 then
  740. if MobilityType == "Float" then
  741. MobilityType = "Fly"
  742. elseif MobilityType == "Fly" then
  743. MobilityType = "Ground"
  744. elseif MobilityType == "Ground" then
  745. MobilityType = "Float"
  746. end
  747. end
  748. if Key == "h" then
  749. if CurrentEnergy <= 0 then
  750. return
  751. end
  752. AbsDefHeld = true
  753. AbsoluteDefence()
  754. end
  755. if Key == "f" then
  756. if CurrentEnergy <= 0 or tick()-LastBeam <= 1 then
  757. return
  758. end
  759. BeamHeld = true
  760. LaserBeam()
  761. end
  762. if Key == "q" then
  763. ThrowBlades()
  764. end
  765. while BoostHeld do
  766. wait()
  767. CurrentEnergy = CurrentEnergy <= 0 and 0 or CurrentEnergy - 0.5
  768. if CurrentEnergy <= 0 then
  769. break
  770. end
  771. end
  772. if Key == "g" then
  773. ChargeHeld = true
  774. UpdateAnim = false
  775. CurrentAnimation = "DisableHandAnim"
  776. rofTop = 15
  777. for i=0,1,0.1 do
  778. wait()
  779. AnchorPart.Weld.C1 = AnimLerp(AnchorPart.Weld.C1, CFrame.new(0,3,0), i)
  780. AnchorPart2.Weld.C1 = AnimLerp(AnchorPart2.Weld.C1, CFrame.new(0,3,0), i)
  781. RA.C0 = AnimLerp(RA.C0, RAD * CFrame.Angles(math.rad(160),0,math.rad(10)), i)
  782. LA.C0 = AnimLerp(LA.C0, LAD * CFrame.Angles(math.rad(160),0,math.rad(-10)), i)
  783. end
  784.  
  785. while ChargeHeld do
  786. wait()
  787. local NRG = _Part(Main,false,true,0,0,"SmoothPlastic",ColorGlobe,{0.2,0.2,0.2},"Sphere",{1,1,1})
  788. NRG.CFrame = AnchorPart.CFrame * CFrame.new(math.random(-2.5,2.5),math.random(-2.5,2.5),math.random(-2.5,2.5))
  789. local NRGB = _Part(Main,false,true,0,0,"SmoothPlastic",ColorGlobe,{0.2,0.2,0.2},"Sphere",{1,1,1})
  790. NRGB.CFrame = AnchorPart2.CFrame * CFrame.new(math.random(-2.5,2.5),math.random(-2.5,2.5),math.random(-2.5,2.5))
  791. table.insert(Energy, NRG)
  792. table.insert(Energy, NRGB)
  793. for i,nrg in pairs(Energy) do
  794. nrg.Transparency = nrg.Transparency + 0.05
  795. nrg.Mesh.Scale = nrg.Mesh.Scale + Vector3.new(0.1,0.1,0.1)
  796. nrg.CFrame = CFrame.new(nrg.CFrame.p, AnchorPart.CFrame.p) * CFrame.Angles(0,0,-math.pi/2)
  797. if nrg.Transparency >= 1 then
  798. table.remove(Energy, i)
  799. nrg:Destroy()
  800. end
  801. end
  802. CurrentEnergy = CurrentEnergy >= TotalEnergy and TotalEnergy or CurrentEnergy + 10
  803. end
  804.  
  805. for i=0,1,0.1 do
  806. wait()
  807. AnchorPart.Weld.C1 = AnimLerp(AnchorPart.Weld.C1, CFrame.new(0,1.5,0), i)
  808. AnchorPart2.Weld.C1 = AnimLerp(AnchorPart2.Weld.C1, CFrame.new(0,1.5,0), i)
  809. for x,nrg in pairs(Energy) do
  810. nrg.Transparency = nrg.Transparency + 0.15
  811. nrg.Mesh.Scale = nrg.Mesh.Scale + Vector3.new(0.2,0.2,0.2)
  812. nrg.CFrame = CFrame.new(nrg.CFrame.p, AnchorPart.CFrame.p) * CFrame.Angles(0,0,-math.pi/2)
  813. if nrg.Transparency >= 1 then
  814. table.remove(Energy, x)
  815. nrg:Destroy()
  816. end
  817. end
  818. end
  819. UpdateAnim = true
  820. end
  821. end)
  822.  
  823. Mouse.KeyUp:connect(function(Key)
  824. if Key == "w" then
  825. Front = false
  826. end
  827. if Key == "a" then
  828. Left = false
  829. end
  830. if Key == "s" then
  831. Back = false
  832. end
  833. if Key == "d" then
  834. Right = false
  835. end
  836. if Key == "f" then
  837. BeamHeld = false
  838. end
  839. if Key == "h" then
  840. AbsDefHeld = false
  841. end
  842. if Key == "g" then
  843. ChargeHeld = false
  844. end
  845. if Key == "0" then
  846. BoostHeld = false
  847. end
  848. end)
  849.  
  850. _Arm("Left", true)
  851. _Arm("Right", true)
  852. _Leg("Left", true)
  853. _Leg("Right", true)
  854. _Head(true)
  855.  
  856. game:GetService("RunService").Stepped:connect(function()
  857. EnergyFill.Size = UDim2.new(CurrentEnergy/TotalEnergy,-5,1,-5)
  858. RateTop = RateTop + rofTop
  859. if RateTop >= 360 then
  860. RateTop = 1
  861. end
  862.  
  863. RateBot = RateBot + rofBot
  864. if RateBot >= 360 then
  865. RateBot = 1
  866. end
  867.  
  868.  
  869. if AddSub == false then
  870. CurrentFrame = CurrentFrame + 0.01
  871. if CurrentFrame >= 1 then
  872. AddSub = true
  873. end
  874. elseif AddSub == true then
  875. CurrentFrame = CurrentFrame - 0.01
  876. if CurrentFrame <= 0 then
  877. AddSub = false
  878. end
  879. end
  880.  
  881. DiscSpin = DiscSpin + 0.1
  882. for _,Disc in pairs(Discs) do
  883. Disc.Weld.C0 = CFrame.Angles(0,math.rad(90),DiscSpin)
  884. end
  885.  
  886. if ExtendGrowthTop == false and CurrentAnimation == "Idle" then
  887. ExtendTop = ExtendTop + 1/2
  888. if ExtendTop >= 25 then
  889. ExtendGrowthTop = true
  890. end
  891. elseif ExtendGrowthTop == true and CurrentAnimation == "Idle" then
  892. ExtendTop = ExtendTop - 1/2
  893. if ExtendTop <= -10 then
  894. ExtendGrowthTop = false
  895. end
  896. elseif CurrentAnimation == "Forward" or CurrentAnimation == "Backward" or CurrentAnimation == "SwivelRight" or CurrentAnimation == "SwivelLeft" then
  897. ExtendTop = ExtendTop >= 40 and 40 or ExtendTop + 2
  898. elseif CurrentAnimation == "DisableHandAnim" then
  899. ExtendTop = ExtendTop >= 50 and 50 or ExtendTop + 2
  900. end
  901.  
  902. if ExtendGrowthBot == false and (CurrentAnimation == "Idle" or CurrentAnimation == "DisableHandAnim") then
  903. ExtendBot = ExtendBot + 1/2
  904. if ExtendBot >= 25 then
  905. ExtendGrowthBot = true
  906. end
  907. elseif ExtendGrowthBot == true and (CurrentAnimation == "Idle" or CurrentAnimation == "DisableHandAnim") then
  908. ExtendBot = ExtendBot - 1/2
  909. if ExtendBot <= -10 then
  910. ExtendGrowthBot = false
  911. end
  912. elseif CurrentAnimation == "Forward" or CurrentAnimation == "Backward" or CurrentAnimation == "SwivelRight" or CurrentAnimation == "SwivelLeft" then
  913. ExtendBot = ExtendBot >= 40 and 40 or ExtendBot + 2
  914. end
  915.  
  916. if Front and not Back then
  917. xmove = 3
  918. if UpdateAnim then
  919. CurrentAnimation = "Forward"
  920. end
  921. elseif Back and not Front then
  922. xmove = -3
  923. if UpdateAnim then
  924. CurrentAnimation = "Backward"
  925. end
  926. else
  927. xmove = 0
  928. if UpdateAnim then
  929. CurrentAnimation = "Idle"
  930. end
  931. end
  932.  
  933. if Left and not Right then
  934. if xmove == 0 and UpdateAnim then
  935. CurrentAnimation = "SwivelLeft"
  936. end
  937. ymove = 3
  938. elseif Right and not Left then
  939. if xmove == 0 and UpdateAnim then
  940. CurrentAnimation = "SwivelRight"
  941. end
  942. ymove = -3
  943. else
  944. ymove = 0
  945. if xmove == 0 and UpdateAnim then
  946. CurrentAnimation = "Idle"
  947. end
  948. end
  949.  
  950. if LastAnimation ~= CurrentAnimation then
  951. CurrentFrame = 0
  952. AddSub = false
  953. end
  954.  
  955. for _,Info in pairs(Bits) do
  956. local Side = Info.Side
  957. local Series = Info.Series
  958. local Weld = Info.Weld
  959. local Type = Info.Type
  960. local Extend = 1
  961. local MyRate = 1
  962.  
  963. if Type == "Top" then
  964. Extend = ExtendTop
  965. MyRate = RateTop + 30
  966. elseif Type == "Bot" then
  967. Extend = ExtendBot
  968. MyRate = RateBot
  969. else
  970.  
  971. end
  972.  
  973. if CurrentAnimation == "Idle" or CurrentAnimation == "DisableHandAnim" then
  974. if Type == "Wing" or Type == "WingLow" then
  975. if Type == "WingLow" then
  976. 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)
  977. else
  978. 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)
  979. end
  980. else
  981. 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)
  982. end
  983. elseif CurrentAnimation == "Forward" or CurrentAnimation == "Backward" then
  984. if Type == "Wing" or Type == "WingLow" then
  985. if Type == "WingLow" then
  986. 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)
  987. else
  988. 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)
  989. end
  990. else
  991. 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)
  992. end
  993. elseif CurrentAnimation == "SwivelLeft" then
  994. if Type == "Wing" or Type == "WingLow" then
  995. if Type == "WingLow" then
  996. 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)
  997. else
  998. 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)
  999. end
  1000. else
  1001. 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)
  1002. end
  1003. elseif CurrentAnimation == "SwivelRight" then
  1004. if Type == "Wing" or Type == "WingLow" then
  1005. if Type == "WingLow" then
  1006. 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)
  1007. else
  1008. 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)
  1009. end
  1010. else
  1011. 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)
  1012. end
  1013. else
  1014. 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)
  1015. end
  1016. end
  1017.  
  1018. TurnAngle = TurnAngle + ymove
  1019.  
  1020. Rotate.cframe = CFrame.new()*CFrame.Angles(0,math.rad(TurnAngle),0)
  1021.  
  1022. local Ray = Ray.new(Torso.CFrame.p,Down.CFrame.lookVector*15)
  1023. local Part,Pos = game:GetService("Workspace"):findPartOnRay(Ray,Character)
  1024. local Distance = (Pos - Torso.CFrame.p).magnitude
  1025. local Face = Torso.CFrame.lookVector
  1026.  
  1027. if Part and Pos then
  1028. local sides = Enum.NormalId:GetEnumItems();
  1029. local default = Vector3.new(0,1,0)
  1030. for i,v in pairs(sides) do
  1031. sides[i] = Vector3.FromNormalId(v)
  1032. end
  1033. if Part:IsA("Part") then
  1034. if Part.Shape.Name == "Ball" then
  1035. sides = {}
  1036. default = Part.CFrame:vectorToObjectSpace(Pos-Part.Position).unit
  1037. elseif Part.Shape.Name == "Cylinder" then
  1038. sides = {Vector3.new(1,0,0),Vector3.new(-1,0,0)}
  1039. default = (Part.CFrame:vectorToObjectSpace(Pos-Part.Position)*Vector3.new(0,1,1)).unit
  1040. end
  1041. elseif Part:IsA("WedgePart") then
  1042. sides = {Vector3.new(1,0,0),Vector3.new(-1,0,0),Vector3.new(0,-1,0),Vector3.new(0,0,-1)}
  1043. default = Vector3.new(0,1,-Part.Size.Y/Part.Size.Z).unit
  1044. end
  1045. local obs,siz,sidevector = Part.CFrame:pointToObjectSpace(Pos),Part.Size/2
  1046. for i,v in pairs(sides) do
  1047. if (obs*v/(siz*v+Vector3.new(1,1,1)*1e-7)):isClose(v,.01) then
  1048. sidevector = v
  1049. break
  1050. end
  1051. end
  1052. if not sidevector then sidevector = default end
  1053. if sidevector then
  1054. local cf = CFrame.new(Pos,Pos+Part.CFrame:vectorToWorldSpace(sidevector)) * CFrame.Angles(-math.pi/2,0,0)
  1055. Move.position = Vector3.new(cf.X,cf.Y + 6 + Lift,cf.Z) + Vector3.new(Face.X,0,Face.Z)*Accel*xmove
  1056. Move.maxForce = Vector3.new(1e7,1e7,1e7)
  1057. end
  1058. else
  1059. Move.maxForce = Vector3.new(1e7,0,1e7)
  1060. Move.position = Vector3.new(Torso.CFrame.X,Torso.CFrame.Y,Torso.CFrame.Z) + Vector3.new(Face.X,0,Face.Z)*Accel*xmove
  1061. end
  1062.  
  1063. CurrentLeftArm = LA.C0
  1064. CurrentRightArm = RA.C0
  1065. CurrentRightLeg = LR.C1
  1066. CurrentLeftLeg = LL.C1
  1067.  
  1068. if math.floor(Lift+0.5) == 3 then
  1069. --FlapSound:Play()
  1070. end
  1071.  
  1072. if CurrentAnimation == "Idle" then
  1073. rofTop = 1
  1074. rofBot = 1
  1075. RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(0),0,math.rad(25 + Lift*2)), CurrentFrame)
  1076. LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(0),0,math.rad(-25 - Lift*2)), CurrentFrame)
  1077. LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(0,0,math.rad(-7.5 + Lift)), CurrentFrame)
  1078. LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(0,0,math.rad(7.5 - Lift)), CurrentFrame)
  1079. elseif CurrentAnimation == "Forward" then
  1080. rofTop = 6
  1081. rofBot = 6
  1082. RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(-15),0,math.rad(30)), CurrentFrame)
  1083. LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(-15),0,math.rad(-30)), CurrentFrame)
  1084. LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(15),0,math.rad(-7.5)), CurrentFrame)
  1085. LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(15),0,math.rad(7.5)), CurrentFrame)
  1086. elseif CurrentAnimation == "Backward" then
  1087. rotTop = -6
  1088. rofBot = -6
  1089. RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(15),0,math.rad(20)), CurrentFrame)
  1090. LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(15),0,math.rad(-20)), CurrentFrame)
  1091. LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(-15),0,math.rad(-7.5)), CurrentFrame)
  1092. LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(-15),0,math.rad(7.5)), CurrentFrame)
  1093. elseif CurrentAnimation == "SwivelLeft" then
  1094. rofTop = 3
  1095. rofBot = 3
  1096. RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(15),0,math.rad(25)), CurrentFrame)
  1097. LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(-15),0,math.rad(-25)), CurrentFrame)
  1098. LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(-10),0,math.rad(-7.5)), CurrentFrame)
  1099. LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(10),0,math.rad(7.5)), CurrentFrame)
  1100. elseif CurrentAnimation == "SwivelRight" then
  1101. rofTop = -3
  1102. rofBot = -3
  1103. RA.C0 = AnimLerp(CurrentRightArm, RAD * CFrame.Angles(math.rad(-15),0,math.rad(25)), CurrentFrame)
  1104. LA.C0 = AnimLerp(CurrentLeftArm, LAD * CFrame.Angles(math.rad(15),0,math.rad(-25)), CurrentFrame)
  1105. LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(math.rad(10),0,math.rad(-7.5)), CurrentFrame)
  1106. LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(math.rad(-10),0,math.rad(7.5)), CurrentFrame)
  1107. elseif CurrentAnimation == "DisableHandAnim" then
  1108. rofBot = 1
  1109. LR.C1 = AnimLerp(CurrentRightLeg, RLD * CFrame.Angles(0,0,math.rad(-7.5)), CurrentFrame)
  1110. LL.C1 = AnimLerp(CurrentLeftLeg, LLD * CFrame.Angles(0,0,math.rad(7.5)), CurrentFrame)
  1111. end
  1112.  
  1113. LastAnimation = CurrentAnimation
  1114. end)
  1115.  
  1116. while true do
  1117. for i = 0,10,0.1 do
  1118. Lift = Lift + (math.sin(math.pi*2/10*i)*0.1)
  1119. wait(0.02)
  1120. end
  1121. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement