]> git.pond.sub.org Git - empserver/commitdiff
(mission_pln_equip, pln_equip): Fix the previous rev.
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 9 Jul 2005 13:32:54 +0000 (13:32 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 9 Jul 2005 13:32:54 +0000 (13:32 +0000)
src/lib/subs/mission.c
src/lib/subs/plnsub.c

index e14e2bcdbb2fe66d85d2a1b38f07f1d364beba2c..bd7af9f7bd20c84a25bab39dfcda72204ec82b67 100644 (file)
@@ -1323,13 +1323,14 @@ mission_pln_equip(struct plist *plp, struct ichrstr *ip, int flags,
        if (rval < 0 || (itype != I_NONE && needed <= 0)) {
            return -1;
        }
-       if (item[itype] < needed && (itype == I_SHELL))
-           item[itype] += supply_commod(plp->plane.pln_own,
-                                        plp->plane.pln_x, plp->plane.pln_y,
-                                        I_SHELL, needed);
-       if (item[itype] < needed) {
-           return -1;
-       } else {
+       if (itype != I_NONE) {
+           if (itype == I_SHELL && item[itype] < needed)
+               item[itype] += supply_commod(plp->plane.pln_own,
+                                            plp->plane.pln_x,
+                                            plp->plane.pln_y,
+                                            I_SHELL, needed);
+           if (item[itype] < needed)
+               return -1;
            item[itype] -= needed;
        }
        if (itype == I_SHELL && (mission == 's' || mission == 'p'))
index 50909fec4dfd3bbc2fa7ecb4f165d4342c02a78b..7476541e10c1175180c594082f0709dee4340584 100644 (file)
@@ -645,17 +645,19 @@ pln_equip(struct plist *plp, struct ichrstr *ip, int flags, s_char mission)
            pr("%s can't contribute to mission\n", prplane(pp));
            return -1;
        }
+       if (item != I_NONE) {
 #if 0
-       /* Supply is broken somewhere, so don't use it for now */
-       if (item[itype] < needed && itype == I_SHELL)
-           item[itype] += supply_commod(plp->plane.pln_own,
-                                        plp->plane.pln_x, plp->plane.pln_y,
-                                        I_SHELL, needed);
+           /* Supply is broken somewhere, so don't use it for now */
+           if (itype == I_SHELL && item[itype] < needed)
+               item[itype] += supply_commod(plp->plane.pln_own,
+                                            plp->plane.pln_x,
+                                            plp->plane.pln_y,
+                                            I_SHELL, needed);
 #endif
-       if (item[itype] < needed) {
-           pr("Not enough %s for %s\n", ichr[itype].i_name, prplane(pp));
-           return -1;
-       } else {
+           if (item[itype] < needed) {
+               pr("Not enough %s for %s\n", ichr[itype].i_name, prplane(pp));
+               return -1;
+           }
            item[itype] -= needed;
        }
        if (itype == I_SHELL && (mission == 's' || mission == 'p'))