Last Ditch Bail (#1055)

* restored emergency drop/passenger dump from galaxy when pilot bails

* extend bail protection during emergency drop

* another bail protect case covered
This commit is contained in:
Fate-JH 2023-03-29 10:12:01 -04:00 committed by GitHub
parent 53e3f9a08d
commit 41cc410fca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View file

@ -25,15 +25,16 @@ class CargoCarrierControl(vehicle: Vehicle)
/** /**
* If the vehicle becomes disabled, the safety and autonomy of the cargo should be prioritized. * If the vehicle becomes disabled, the safety and autonomy of the cargo should be prioritized.
* @param kickPassengers passengers need to be ejected "by force" * @param kickPassengers passengers need to be ejected "by force";
* actually controls bail protection and flavors a log message (further down the line)
*/ */
override def PrepareForDisabled(kickPassengers: Boolean) : Unit = { override def PrepareForDisabled(kickPassengers: Boolean) : Unit = {
super.PrepareForDisabled(kickPassengers)
//abandon all cargo //abandon all cargo
vehicle.CargoHolds.collect { vehicle.CargoHolds.collect {
case (index, hold : Cargo) if hold.isOccupied => case (index, hold : Cargo) if hold.isOccupied =>
val cargo = hold.occupant.get val cargo = hold.occupant.get
checkCargoDismount(cargo.GUID, index, iteration = 0, bailed = false) checkCargoDismount(cargo.GUID, index, iteration = 0, bailed = kickPassengers)
super.PrepareForDisabled(kickPassengers)
} }
} }

View file

@ -366,7 +366,7 @@ class VehicleControl(vehicle: Vehicle)
//escape being someone else's cargo //escape being someone else's cargo
vehicle.MountedIn match { vehicle.MountedIn match {
case Some(_) => case Some(_) =>
startCargoDismounting(bailed = false) startCargoDismounting(bailed = true)
case _ => ; case _ => ;
} }
if (!vehicle.isFlying || kickPassengers) { if (!vehicle.isFlying || kickPassengers) {