summaryrefslogtreecommitdiff
path: root/ship_cmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'ship_cmd.c')
-rw-r--r--ship_cmd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ship_cmd.c b/ship_cmd.c
index 4fceb3da3..94eeab5a6 100644
--- a/ship_cmd.c
+++ b/ship_cmd.c
@@ -995,7 +995,7 @@ int32 CmdStartStopShip(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
/** Send a ship to the depot.
* @param tile unused
* @param p1 vehicle ID to send to the depot
- * @param p2 unused
+ * @param p2 p2 if bit 0 is set, then the ship will only service at the depot. 0 Makes it stop inside
*/
int32 CmdSendShipToDepot(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
{
@@ -1032,7 +1032,8 @@ int32 CmdSendShipToDepot(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
if (flags & DC_EXEC) {
v->dest_tile = dep->xy;
v->current_order.type = OT_GOTO_DEPOT;
- v->current_order.flags = OF_NON_STOP | OF_HALT_IN_DEPOT;
+ v->current_order.flags = OF_NON_STOP;
+ if (!HASBIT(p2,0)) SETBIT(v->current_order.flags, OFB_HALT_IN_DEPOT);
v->current_order.dest.depot = dep->index;
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR);
}