Enable the new nuk_on_plane(), replacing the old one

Callers changed, as the new one isn't a drop-in replacements.
This commit is contained in:
Markus Armbruster 2008-09-06 19:22:56 -04:00
parent 64a53c90f0
commit 4086c25a15
6 changed files with 9 additions and 41 deletions

View file

@ -92,8 +92,6 @@ extern struct nchrstr nchr[N_MAXNUKE + 1];
/* src/lib/common/cargo.c */
extern void nuk_carrier_change(struct nukstr *, int, int, int);
#if 0 /* clashes with the one in src/lib/subs/nuke.c */
extern int nuk_on_plane(struct plnstr *);
#endif
#endif

View file

@ -521,7 +521,6 @@ extern char *prnuke(struct nukstr *);
extern void nuk_oninit(void *);
extern void nuk_postread(int, void *);
extern void nuk_prewrite(int, void *, void *);
extern int nuk_on_plane(struct nukstr *, int);
/* nxtitem.c */
extern int nxtitem(struct nstr_item *, void *);
/* nxtsct.c */

View file

@ -73,7 +73,7 @@ arm(void)
return RET_FAIL;
}
}
if (pl.pln_nuketype < 0) {
if (!getnuke(nuk_on_plane(&pl), &nuke)) {
sprintf(prompt, "Nuclear device for %s: ", prplane(&pl));
p = getstarg(player->argp[2], prompt, buf);
if (!p || !*p)
@ -83,11 +83,6 @@ arm(void)
nukno = atoi(p);
if (!getnuke(nukno, &nuke) || !player->owner)
return RET_FAIL;
} else {
if (nuk_on_plane(&nuke, pl.pln_uid) < 0) {
CANT_REACH();
continue;
}
}
ncp = &nchr[nuke.nuk_type];
if (pln_load(&pl) < ncp->n_weight) {
@ -143,7 +138,7 @@ disarm(void)
while (nxtitem(&ni, &pl)) {
if (!player->owner)
continue;
if (pl.pln_nuketype == -1)
if (!getnuke(nuk_on_plane(&pl), &nuke))
continue;
if (opt_MARKET) {
if (ontradingblock(EF_PLANE, &pl)) {
@ -152,10 +147,6 @@ disarm(void)
return RET_FAIL;
}
}
if (nuk_on_plane(&nuke, pl.pln_uid) < 0) {
CANT_REACH();
continue;
}
getsect(nuke.nuk_x, nuke.nuk_y, &sect);
if (!player->owner
&& getrel(getnatp(sect.sct_own), player->cnum) != ALLIED) {

View file

@ -379,7 +379,6 @@ lnd_next_on_unit(int uid)
return unit_cargo_next(EF_LAND, uid);
}
#if 0 /* clashes with the one in src/lib/subs/nuke.c */
/*
* If PP carries a nuke, return its uid, else -1.
*/
@ -388,4 +387,3 @@ nuk_on_plane(struct plnstr *pp)
{
return unit_cargo_first(EF_PLANE, pp->pln_uid, EF_NUKE);
}
#endif

View file

@ -94,21 +94,6 @@ nuk_prewrite(int n, void *old, void *new)
np->nuk_own = own;
}
int
nuk_on_plane(struct nukstr *np, int pluid)
{
struct nstr_item ni;
snxtitem_all(&ni, EF_NUKE);
while (nxtitem(&ni, np)) {
if (np->nuk_own == 0)
continue;
if (np->nuk_plane == pluid)
return np->nuk_uid;
}
return -1;
}
void
nuk_oninit(void *ptr)
{

View file

@ -1135,16 +1135,13 @@ pln_damage(struct plnstr *pp, coord x, coord y, char type, int *nukedamp,
int effective = 1;
int pinbomber = 0;
if (pp->pln_nuketype != -1) {
if (nuk_on_plane(&nuke, pp->pln_uid) >= 0) {
mpr(pp->pln_own, "Releasing RV's for %s detonation...\n",
pp->pln_flags & PLN_AIRBURST ? "airburst" : "groundburst");
pp->pln_nuketype = -1;
*nukedamp = detonate(&nuke, x, y,
pp->pln_flags & PLN_AIRBURST);
return 0;
}
CANT_REACH();
if (getnuke(nuk_on_plane(pp), &nuke)) {
mpr(pp->pln_own, "Releasing RV's for %s detonation...\n",
pp->pln_flags & PLN_AIRBURST ? "airburst" : "groundburst");
pp->pln_nuketype = -1;
*nukedamp = detonate(&nuke, x, y,
pp->pln_flags & PLN_AIRBURST);
return 0;
}
*nukedamp = 0;