[Rewrite] Flight Control System (FCS)
Currently, all flight methods are uncontrolled by the gamemode itself, be it Gyropod, Wireless Gyropod, or E2/Starfall fuckery. In the rewrite, we will have gamemode-enforced speed and performance limits that can be buffed by modules. To make this easy and streamlined for new players to get off the ground, the following requirements should be met when creating this entity:
Requirements:
-
FCS Entity should be "plug-and-play", with the option for rebinding controls. No Wire should be needed to get this thing flying. -
FCS will need to bind to the main Pilot seat before being used. Can default to the only chair it finds if only one is on the ship. Recommend using halo.Add while the tool is out to display which seat is currently linked. -
Entity needs to check if the ship is parented before taking off. Optionally, it can possibly facilitate the parenting itself if someone can come up with a safe and streamlined way to do that. -
FCS needs to read from the attached Ship_Core's Buff table to find performance settings. This will allow for Acceleration/Turn Rate/etc buffing Modules. -
FCS should use one of the proven less-laggy movement methods. If movement method can allow for clipping inside of other geometry (i.e. SetPos drives), a collision-check HullTrace should be used to block movement in said direction, and possibly simulate collision physics if necessary/feasible.