Here's code to support a new AICarrier class, which I think will be sufficiently different from a basic AIShip that it should have its own class.