lnd_delete() can no longer print a message
Callers changed to print it themselves. But print the first "boards" message before plane takeover instead of after, in take_def().
This commit is contained in:
parent
2ae4799beb
commit
2c4826e420
4 changed files with 37 additions and 24 deletions
|
@ -181,7 +181,7 @@ extern double attack_val(int, struct lndstr *);
|
||||||
extern double defense_val(struct lndstr *);
|
extern double defense_val(struct lndstr *);
|
||||||
extern int lnd_reaction_range(struct lndstr *);
|
extern int lnd_reaction_range(struct lndstr *);
|
||||||
extern void lnd_print(struct ulist *, char *);
|
extern void lnd_print(struct ulist *, char *);
|
||||||
extern void lnd_delete(struct ulist *, char *);
|
extern void lnd_delete(struct ulist *);
|
||||||
extern int lnd_take_casualty(int, struct ulist *, int);
|
extern int lnd_take_casualty(int, struct ulist *, int);
|
||||||
extern void lnd_submil(struct lndstr *, int);
|
extern void lnd_submil(struct lndstr *, int);
|
||||||
extern void lnd_takemob(struct emp_qelem *, double);
|
extern void lnd_takemob(struct emp_qelem *, double);
|
||||||
|
|
|
@ -181,7 +181,7 @@ assa(void)
|
||||||
pr(" and was killed in the attempt.\n");
|
pr(" and was killed in the attempt.\n");
|
||||||
llp->unit.land.lnd_effic = 0;
|
llp->unit.land.lnd_effic = 0;
|
||||||
putland(llp->unit.land.lnd_uid, &llp->unit.land);
|
putland(llp->unit.land.lnd_uid, &llp->unit.land);
|
||||||
lnd_delete(llp, NULL);
|
lnd_delete(llp);
|
||||||
} else {
|
} else {
|
||||||
wu(0, def->own, "%s spy spotted in %s.\n",
|
wu(0, def->own, "%s spy spotted in %s.\n",
|
||||||
cname(player->cnum), xyas(def->x, def->y,
|
cname(player->cnum), xyas(def->x, def->y,
|
||||||
|
|
|
@ -1290,7 +1290,8 @@ get_ototal(int combat_mode, struct combat *off, struct emp_qelem *olist,
|
||||||
w = n;
|
w = n;
|
||||||
}
|
}
|
||||||
if (w < 0) {
|
if (w < 0) {
|
||||||
lnd_delete(llp, "is in a sector not owned by you");
|
lnd_print(llp, "is in a sector not owned by you");
|
||||||
|
lnd_delete(llp);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ototal += attack_val(combat_mode, &llp->unit.land) *
|
ototal += attack_val(combat_mode, &llp->unit.land) *
|
||||||
|
@ -1355,14 +1356,16 @@ get_oland(int combat_mode, struct ulist *llp)
|
||||||
if (lp->lnd_own != player->cnum) {
|
if (lp->lnd_own != player->cnum) {
|
||||||
sprintf(buf, "was destroyed and is no longer a part of the %s",
|
sprintf(buf, "was destroyed and is no longer a part of the %s",
|
||||||
att_mode[combat_mode]);
|
att_mode[combat_mode]);
|
||||||
lnd_delete(llp, buf);
|
lnd_print(llp, buf);
|
||||||
|
lnd_delete(llp);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (lp->lnd_x != llp->x || lp->lnd_y != llp->y) {
|
if (lp->lnd_x != llp->x || lp->lnd_y != llp->y) {
|
||||||
sprintf(buf,
|
sprintf(buf,
|
||||||
"left to fight another battle and is no longer a part of the %s",
|
"left to fight another battle and is no longer a part of the %s",
|
||||||
att_mode[combat_mode]);
|
att_mode[combat_mode]);
|
||||||
lnd_delete(llp, buf);
|
lnd_print(llp, buf);
|
||||||
|
lnd_delete(llp);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (lp->lnd_effic < llp->eff) {
|
if (lp->lnd_effic < llp->eff) {
|
||||||
|
@ -1385,12 +1388,14 @@ get_dland(struct combat *def, struct ulist *llp)
|
||||||
|
|
||||||
if (lp->lnd_effic < LAND_MINEFF) {
|
if (lp->lnd_effic < LAND_MINEFF) {
|
||||||
sprintf(buf, "was destroyed and is no longer a part of the defense");
|
sprintf(buf, "was destroyed and is no longer a part of the defense");
|
||||||
lnd_delete(llp, buf);
|
lnd_print(llp, buf);
|
||||||
|
lnd_delete(llp);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (lp->lnd_x != def->x || lp->lnd_y != def->y) {
|
if (lp->lnd_x != def->x || lp->lnd_y != def->y) {
|
||||||
lnd_delete(llp,
|
lnd_print(llp,
|
||||||
"left to go fight another battle and is no longer a part of the defense");
|
"left to go fight another battle and is no longer a part of the defense");
|
||||||
|
lnd_delete(llp);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1409,7 +1414,8 @@ kill_land(struct emp_qelem *list)
|
||||||
llp = (struct ulist *)qp;
|
llp = (struct ulist *)qp;
|
||||||
if (llp->unit.land.lnd_ship >= 0) {
|
if (llp->unit.land.lnd_ship >= 0) {
|
||||||
llp->unit.land.lnd_effic = 0;
|
llp->unit.land.lnd_effic = 0;
|
||||||
lnd_delete(llp, "cannot return to the ship, and dies!");
|
lnd_print(llp, "cannot return to the ship, and dies!");
|
||||||
|
lnd_delete(llp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2156,7 +2162,8 @@ send_reacting_units_home(struct emp_qelem *list)
|
||||||
xyas(llp->x, llp->y, llp->unit.land.lnd_own));
|
xyas(llp->x, llp->y, llp->unit.land.lnd_own));
|
||||||
llp->unit.land.lnd_x = llp->x;
|
llp->unit.land.lnd_x = llp->x;
|
||||||
llp->unit.land.lnd_y = llp->y;
|
llp->unit.land.lnd_y = llp->y;
|
||||||
lnd_delete(llp, buf);
|
lnd_print(llp, buf);
|
||||||
|
lnd_delete(llp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2229,12 +2236,14 @@ take_def(int combat_mode, struct emp_qelem *list, struct combat *off,
|
||||||
if (def->type == EF_SHIP) {
|
if (def->type == EF_SHIP) {
|
||||||
llp->unit.land.lnd_ship = def->shp_uid;
|
llp->unit.land.lnd_ship = def->shp_uid;
|
||||||
sprintf(buf, "boards %s", prcom(0, def));
|
sprintf(buf, "boards %s", prcom(0, def));
|
||||||
|
lnd_print(llp, buf);
|
||||||
delete_me = llp;
|
delete_me = llp;
|
||||||
} else {
|
} else {
|
||||||
llp->unit.land.lnd_ship = -1;
|
llp->unit.land.lnd_ship = -1;
|
||||||
sprintf(buf, "moves in to occupy %s",
|
sprintf(buf, "moves in to occupy %s",
|
||||||
xyas(def->x, def->y, player->cnum));
|
xyas(def->x, def->y, player->cnum));
|
||||||
lnd_delete(llp, buf);
|
lnd_print(llp, buf);
|
||||||
|
lnd_delete(llp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2256,7 +2265,7 @@ take_def(int combat_mode, struct emp_qelem *list, struct combat *off,
|
||||||
putland(land.lnd_uid, &land);
|
putland(land.lnd_uid, &land);
|
||||||
}
|
}
|
||||||
if (delete_me)
|
if (delete_me)
|
||||||
lnd_delete(delete_me, buf);
|
lnd_delete(delete_me);
|
||||||
att_get_combat(def, 0);
|
att_get_combat(def, 0);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -2315,7 +2324,8 @@ ask_move_in(struct combat *off, struct emp_qelem *olist,
|
||||||
sprintf(buf, "stays in %s",
|
sprintf(buf, "stays in %s",
|
||||||
xyas(llp->unit.land.lnd_x, llp->unit.land.lnd_y,
|
xyas(llp->unit.land.lnd_x, llp->unit.land.lnd_y,
|
||||||
player->cnum));
|
player->cnum));
|
||||||
lnd_delete(llp, buf);
|
lnd_print(llp, buf);
|
||||||
|
lnd_delete(llp);
|
||||||
}
|
}
|
||||||
if (QEMPTY(olist))
|
if (QEMPTY(olist))
|
||||||
return;
|
return;
|
||||||
|
@ -2328,7 +2338,8 @@ ask_move_in(struct combat *off, struct emp_qelem *olist,
|
||||||
sprintf(buf, "stays in %s",
|
sprintf(buf, "stays in %s",
|
||||||
xyas(llp->unit.land.lnd_x, llp->unit.land.lnd_y,
|
xyas(llp->unit.land.lnd_x, llp->unit.land.lnd_y,
|
||||||
player->cnum));
|
player->cnum));
|
||||||
lnd_delete(llp, buf);
|
lnd_print(llp, buf);
|
||||||
|
lnd_delete(llp);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,10 +145,8 @@ lnd_print(struct ulist *llp, char *s)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
lnd_delete(struct ulist *llp, char *s)
|
lnd_delete(struct ulist *llp)
|
||||||
{
|
{
|
||||||
if (s)
|
|
||||||
lnd_print(llp, s);
|
|
||||||
putland(llp->unit.land.lnd_uid, &llp->unit.land);
|
putland(llp->unit.land.lnd_uid, &llp->unit.land);
|
||||||
emp_remque((struct emp_qelem *)llp);
|
emp_remque((struct emp_qelem *)llp);
|
||||||
free(llp);
|
free(llp);
|
||||||
|
@ -192,7 +190,8 @@ lnd_take_casualty(int combat_mode, struct ulist *llp, int cas)
|
||||||
combat_mode ? att_mode[combat_mode] : "defending",
|
combat_mode ? att_mode[combat_mode] : "defending",
|
||||||
xyas(llp->unit.land.lnd_x, llp->unit.land.lnd_y,
|
xyas(llp->unit.land.lnd_x, llp->unit.land.lnd_y,
|
||||||
llp->unit.land.lnd_own));
|
llp->unit.land.lnd_own));
|
||||||
lnd_delete(llp, buf);
|
lnd_print(llp, buf);
|
||||||
|
lnd_delete(llp);
|
||||||
/* Since we killed the unit, we killed all the mil on it */
|
/* Since we killed the unit, we killed all the mil on it */
|
||||||
return taken;
|
return taken;
|
||||||
} else {
|
} else {
|
||||||
|
@ -268,7 +267,8 @@ lnd_take_casualty(int combat_mode, struct ulist *llp, int cas)
|
||||||
sprintf(buf, "retreats at %d%% efficiency to %s!",
|
sprintf(buf, "retreats at %d%% efficiency to %s!",
|
||||||
llp->unit.land.lnd_effic,
|
llp->unit.land.lnd_effic,
|
||||||
xyas(bx, by, llp->unit.land.lnd_own));
|
xyas(bx, by, llp->unit.land.lnd_own));
|
||||||
lnd_delete(llp, buf);
|
lnd_print(llp, buf);
|
||||||
|
lnd_delete(llp);
|
||||||
}
|
}
|
||||||
} else { /* attacking from a sector */
|
} else { /* attacking from a sector */
|
||||||
sprintf(buf, "leaves the battlefield at %d%% efficiency",
|
sprintf(buf, "leaves the battlefield at %d%% efficiency",
|
||||||
|
@ -278,7 +278,8 @@ lnd_take_casualty(int combat_mode, struct ulist *llp, int cas)
|
||||||
else
|
else
|
||||||
llp->unit.land.lnd_mobil -= (int)llp->mobil;
|
llp->unit.land.lnd_mobil -= (int)llp->mobil;
|
||||||
llp->mobil = 0.0;
|
llp->mobil = 0.0;
|
||||||
lnd_delete(llp, buf);
|
lnd_print(llp, buf);
|
||||||
|
lnd_delete(llp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (nowhere_to_go) {
|
if (nowhere_to_go) {
|
||||||
|
@ -286,9 +287,10 @@ lnd_take_casualty(int combat_mode, struct ulist *llp, int cas)
|
||||||
llp->unit.land.lnd_effic -= 10;
|
llp->unit.land.lnd_effic -= 10;
|
||||||
lnd_submil(&llp->unit.land,
|
lnd_submil(&llp->unit.land,
|
||||||
((struct lchrstr *)llp->chrp)->l_item[I_MILIT] / 10);
|
((struct lchrstr *)llp->chrp)->l_item[I_MILIT] / 10);
|
||||||
if (llp->unit.land.lnd_effic < LAND_MINEFF)
|
if (llp->unit.land.lnd_effic < LAND_MINEFF) {
|
||||||
lnd_delete(llp, "has nowhere to retreat, and dies!");
|
lnd_print(llp, "has nowhere to retreat, and dies!");
|
||||||
else
|
lnd_delete(llp);
|
||||||
|
} else
|
||||||
lnd_print(llp,
|
lnd_print(llp,
|
||||||
"has nowhere to retreat and takes extra losses!");
|
"has nowhere to retreat and takes extra losses!");
|
||||||
}
|
}
|
||||||
|
@ -1021,7 +1023,7 @@ lnd_mar_one_sector(struct emp_qelem *list, int dir, natid actor,
|
||||||
pr("%s was shot and killed.\n", prland(&llp->unit.land));
|
pr("%s was shot and killed.\n", prland(&llp->unit.land));
|
||||||
llp->unit.land.lnd_effic = 0;
|
llp->unit.land.lnd_effic = 0;
|
||||||
putland(llp->unit.land.lnd_uid, &llp->unit.land);
|
putland(llp->unit.land.lnd_uid, &llp->unit.land);
|
||||||
lnd_delete(llp, NULL);
|
lnd_delete(llp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue