Open
Description
Right now Ship
has too much knowledge and too many methods that are player-specific and should live in Player
. Two examples:
SetNavTarget
&SetCombatTarget
aren't required by NPCs; they're strictly UI functions. This is reinforced by the fact that these methods cause a sound to be playedAddMoney
and friends. NPC ships don't need money; they'll be equipped as necessary by ships. Indeed,Player
should probably be aMarketAgent
, butShip
should not.
Someone needs to go through and check and move things out of Ship
into Player
as appropriate. I think a good rule-of-thumb is that if it is a UI function in any way, then it belongs in Player
. Another test might be to simply remove it from Ship
and see if the code compiles.