dist = mapdist(sp->shp_x, sp->shp_y,
sp->shp_orig_x, sp->shp_orig_y);
/* Don't disclose distance to to pirates */
- if (sp->shp_own == sp->shp_orig_own) {
- if (interactive)
- pr("%s has gone %d sects\n", prship(sp), dist);
- else
- wu(0, sp->shp_own, "%s has gone %d sects\n",
- prship(sp), dist);
- }
+ if (sp->shp_own == sp->shp_orig_own)
+ mpr(sp->shp_own, "%s has gone %d sects\n", prship(sp), dist);
if (dist < trade_1_dist)
cash = 0;
else if (dist < trade_2_dist)
}
}
- if (!interactive && cash) {
+ if (!cash && (dist < 0 || sp->shp_own == sp->shp_orig_own)) {
+ if (interactive) {
+ pr("You won't get any money if you scuttle in %s!",
+ xyas(sp->shp_x, sp->shp_y, player->cnum));
+ sprintf(buf, "Are you sure you want to scuttle %s? ", prship(sp));
+ return confirm(buf);
+ } else
+ return 0;
+ }
+
+ if (interactive) {
+ player->dolcost -= cash;
+ } else {
natp = getnatp(sp->shp_own);
natp->nat_money += cash;
putnat(natp);
wu(0, sp->shp_own, "You just made $%d.\n", (int)cash);
- } else if (!cash && !interactive) {
- wu(0, sp->shp_own, "Unfortunately, you make $0 on this trade.\n");
- } else if (cash && interactive) {
- player->dolcost -= cash;
- } else if (interactive && (dist < 0 || sp->shp_own == sp->shp_orig_own)) {
- pr("You won't get any money if you scuttle in %s!",
- xyas(sp->shp_x, sp->shp_y, player->cnum));
- sprintf(buf, "Are you sure you want to scuttle %s? ", prship(sp));
- return confirm(buf);
}
if (ally_cash) {
sp->shp_x, sp->shp_y, sp->shp_uid);
return;
}
- if (sectp->sct_type != SCT_HARBR || sectp->sct_effic < 2) {
- wu(0, sp->shp_own,
- "%s is not in a harbor at least 2%% eff! Not scuttling.\n",
- prship(sp));
- 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 (!scuttle_tradeship(sp, 0)) {
+ wu(0, sp->shp_own,
+ "%s doesn't pay here! Not scuttled.\n", prship(sp));
+ return;
+ }
wu(0, sp->shp_own, "Scuttling %s in sector %s\n",
prship(sp), xyas(sp->shp_x, sp->shp_y, sp->shp_own));
- if (opt_TRADESHIPS) {
- scuttle_tradeship(sp, 0);
- }
scuttle_ship(sp);
}