sect.sct_mobil = 0;
}
sect.sct_mines = 0;
+ map_set(player->cnum, sect.sct_x, sect.sct_y, dchr[SCT_BSPAN].d_mnem, 2);
+ writemap(player->cnum);
putsect(§);
pr("Bridge span built over %s\n",
xyas(sect.sct_x, sect.sct_y, player->cnum));
if (!opt_DEFENSE_INFRA)
sect.sct_defense = sect.sct_effic;
sect.sct_mines = 0;
+ map_set(player->cnum, sect.sct_x, sect.sct_y, dchr[SCT_BTOWER].d_mnem, 2);
+ writemap(player->cnum);
putsect(§);
pr("Bridge tower built in %s\n",
xyas(sect.sct_x, sect.sct_y, player->cnum));
double mobcost;
struct mchrstr *mcp;
int time_to_stop;
+ int changed;
sp->shp_mission = 0;
if (sp->shp_own == 0)
continue;
mines = sect.sct_mines;
+ changed = 0;
if ((mcp->m_flags & M_SWEEP) && mines > 0 && !player->owner) {
max = mcp->m_item[I_SHELL];
shells = sp->shp_item[I_SHELL];
if (chance(0.66)) {
mines--;
shells = min(max, shells + 1);
+ changed |= map_set(sp->shp_own, sp->shp_x, sp->shp_y,
+ 'X', 0);
}
}
+ if (sect.sct_mines != mines) {
+ wu(0, sp->shp_own,
+ "%s cleared %d mine%s in %s while retreating\n",
+ prship(sp), sect.sct_mines-mines, splur(sect.sct_mines-mines),
+ xyas(newx, newy, sp->shp_own));
+ }
sect.sct_mines = mines;
sect.sct_item[I_SHELL] = shells;
putsect(§);
+ if (changed)
+ writemap(sp->shp_own);
}
if (mines > 0 && !player->owner && chance(DMINE_HITCHANCE(mines))) {
wu(0, sp->shp_own,
m = MINE_DAMAGE();
shipdamage(sp, m);
mines--;
+ if (map_set(sp->shp_own, sp->shp_x, sp->shp_y, 'X', 0))
+ writemap(sp->shp_own);
sect.sct_mines = mines;
putsect(§);
if (sp->shp_effic < SHIP_MINEFF)