Advertisement
Createok

Untitled

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