|
@@ -926,13 +926,13 @@ int32 CmdBuildShip(TileIndex tile, uint3
|
|
|
* @param p2 unused
|
|
|
*/
|
|
|
int32 CmdSellShip(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
|
|
{
|
|
|
Vehicle *v;
|
|
|
|
|
|
if (!IsVehicleIndex(p1)) return CMD_ERROR;
|
|
|
if (!IsValidVehicleID(p1)) return CMD_ERROR;
|
|
|
|
|
|
v = GetVehicle(p1);
|
|
|
|
|
|
if (v->type != VEH_Ship || !CheckOwnership(v->owner)) return CMD_ERROR;
|
|
|
|
|
|
SET_EXPENSES_TYPE(EXPENSES_NEW_VEHICLES);
|
|
@@ -961,13 +961,13 @@ int32 CmdSellShip(TileIndex tile, uint32
|
|
|
*/
|
|
|
int32 CmdStartStopShip(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
|
|
{
|
|
|
Vehicle *v;
|
|
|
uint16 callback;
|
|
|
|
|
|
if (!IsVehicleIndex(p1)) return CMD_ERROR;
|
|
|
if (!IsValidVehicleID(p1)) return CMD_ERROR;
|
|
|
|
|
|
v = GetVehicle(p1);
|
|
|
|
|
|
if (v->type != VEH_Ship || !CheckOwnership(v->owner)) return CMD_ERROR;
|
|
|
|
|
|
/* Check if this ship can be started/stopped. The callback will fail or
|
|
@@ -999,13 +999,13 @@ int32 CmdStartStopShip(TileIndex tile, u
|
|
|
*/
|
|
|
int32 CmdSendShipToDepot(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
|
|
{
|
|
|
Vehicle *v;
|
|
|
const Depot *dep;
|
|
|
|
|
|
if (!IsVehicleIndex(p1)) return CMD_ERROR;
|
|
|
if (!IsValidVehicleID(p1)) return CMD_ERROR;
|
|
|
|
|
|
v = GetVehicle(p1);
|
|
|
|
|
|
if (v->type != VEH_Ship || !CheckOwnership(v->owner)) return CMD_ERROR;
|
|
|
|
|
|
if (v->vehstatus & VS_CRASHED) return CMD_ERROR;
|
|
@@ -1053,13 +1053,13 @@ int32 CmdRefitShip(TileIndex tile, uint3
|
|
|
Vehicle *v;
|
|
|
int32 cost;
|
|
|
CargoID new_cid = GB(p2, 0, 8); //gets the cargo number
|
|
|
byte new_subtype = GB(p2, 8, 8);
|
|
|
uint16 capacity = CALLBACK_FAILED;
|
|
|
|
|
|
if (!IsVehicleIndex(p1)) return CMD_ERROR;
|
|
|
if (!IsValidVehicleID(p1)) return CMD_ERROR;
|
|
|
|
|
|
v = GetVehicle(p1);
|
|
|
|
|
|
if (v->type != VEH_Ship || !CheckOwnership(v->owner)) return CMD_ERROR;
|
|
|
|
|
|
if (!IsShipInDepotStopped(v)) {
|