Fix scuttle_it()'s "is a trade ship" sanity check

Only trade ships can be auto-scuttled.  orde() rejects scuttle orders
for other ships.  scuttle_it() double-checks, but gets the test wrong:
it rejects only when opt_TRADESHIPS is enabled.  Fix that.  While
there, make it oops on inadmissible ships.
This commit is contained in:
Markus Armbruster 2011-05-22 12:40:07 +02:00
parent 7457573a50
commit c4254764bf

View file

@ -53,12 +53,9 @@ scuttle_it(struct shpstr *sp)
sp->shp_x, sp->shp_y, sp->shp_uid);
return;
}
if (opt_TRADESHIPS) {
if (!(mchr[(int)sp->shp_type].m_flags & M_TRADE)) {
wu(0, sp->shp_own, "You can only autoscuttle trade ships!\n");
return;
}
}
if (CANT_HAPPEN(!opt_TRADESHIPS
|| !(mchr[sp->shp_type].m_flags & M_TRADE)))
return;
if (!scuttle_tradeship(sp, 0)) {
wu(0, sp->shp_own,
"%s doesn't pay here! Not scuttled.\n", prship(sp));