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.
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));