drop and fly from carrier can fail to load last civ or mil

pln_equip() refuses to abandon its base sector.  Unfortunately, it
checks even when flying off carriers, and refuses to load the last
civilian or military depending on what happens to be in uninitialized
variable sect.

Broken in commit 91139692, v4.3.0.
This commit is contained in:
Markus Armbruster 2011-11-26 22:48:28 +01:00
parent 213501cabb
commit 90a263d5ef

View file

@ -720,7 +720,10 @@ pln_equip(struct plist *plp, struct ichrstr *ip, char mission)
plp->plane.pln_y, plp->plane.pln_y,
I_SHELL, needed); I_SHELL, needed);
#endif #endif
abandon_needed = !!would_abandon(&sect, itype, needed, NULL); if (pp->pln_ship >= 0 || pp->pln_land >= 0)
abandon_needed = 0;
else
abandon_needed = !!would_abandon(&sect, itype, needed, NULL);
if (item[itype] < needed + abandon_needed) { if (item[itype] < needed + abandon_needed) {
pr("Not enough %s for %s\n", ichr[itype].i_name, prplane(pp)); pr("Not enough %s for %s\n", ichr[itype].i_name, prplane(pp));
return -1; return -1;