wu(0, actor, "%s %s\n", prland(&llp->unit.land), s);
}
-void
-lnd_delete(struct ulist *llp)
-{
- putland(llp->unit.land.lnd_uid, &llp->unit.land);
- emp_remque(&llp->queue);
- free(llp);
-}
-
int
lnd_take_casualty(int combat_mode, struct ulist *llp, int cas)
/* attacking or assaulting or paratrooping? */
xyas(llp->unit.land.lnd_x, llp->unit.land.lnd_y,
llp->unit.land.lnd_own));
lnd_print(llp->unit.land.lnd_own, llp, buf);
- lnd_delete(llp);
+ lnd_put_one(llp);
/* Since we killed the unit, we killed all the mil on it */
return taken;
} else {
llp->unit.land.lnd_effic,
xyas(bx, by, llp->unit.land.lnd_own));
lnd_print(llp->unit.land.lnd_own, llp, buf);
- lnd_delete(llp);
+ lnd_put_one(llp);
}
} else { /* attacking from a sector */
sprintf(buf, "leaves the battlefield at %d%% efficiency",
llp->unit.land.lnd_mobil -= (int)llp->mobil;
llp->mobil = 0.0;
lnd_print(llp->unit.land.lnd_own, llp, buf);
- lnd_delete(llp);
+ lnd_put_one(llp);
}
}
if (nowhere_to_go) {
if (llp->unit.land.lnd_effic < LAND_MINEFF) {
lnd_print(llp->unit.land.lnd_own, llp,
"has nowhere to retreat, and dies!");
- lnd_delete(llp);
+ lnd_put_one(llp);
} else
lnd_print(llp->unit.land.lnd_own, llp,
"has nowhere to retreat and takes extra losses!");
}
}
+void
+lnd_put_one(struct ulist *llp)
+{
+ putland(llp->unit.land.lnd_uid, &llp->unit.land);
+ emp_remque(&llp->queue);
+ free(llp);
+}
+
/*
* Sweep landmines with engineers in LAND_LIST for ACTOR.
* If EXPLICIT is non-zero, this is for an explicit sweep command from
if (llp->mobil < -127)
llp->mobil = -127;
llp->unit.land.lnd_mobil = llp->mobil;
- lnd_delete(llp);
+ lnd_put_one(llp);
}
static int
prland(&llp->unit.land));
llp->unit.land.lnd_effic = 0;
putland(llp->unit.land.lnd_uid, &llp->unit.land);
- lnd_delete(llp);
+ lnd_put_one(llp);
}
}
}