]> git.pond.sub.org Git - empserver/blobdiff - src/lib/commands/drop.c
Integrate air defense missions into interception
[empserver] / src / lib / commands / drop.c
index 004bab6bf8aebf11fd12818c3d92bf321ad51310..247b4fbac301c4fcb5adffff314ca1bea7922f53 100644 (file)
@@ -26,7 +26,7 @@
  *  ---
  *
  *  drop.c: Air-drop commodities
- * 
+ *
  *  Known contributors to this file:
  *     Dave Pare, 1986
  */
@@ -42,7 +42,6 @@
 int
 drop(void)
 {
-    int mission_flags;
     coord tx, ty;
     coord ax, ay;
     int ap_to_target;
@@ -58,11 +57,8 @@ drop(void)
     char buf[1024];
 
     wantflags = 0;
-    if (!snxtitem(&ni_bomb, EF_PLANE, player->argp[1]))
+    if (get_planes(&ni_bomb, &ni_esc, player->argp[1], player->argp[2]) < 0)
        return RET_SYN;
-    if (!snxtitem(&ni_esc, EF_PLANE,
-                 getstarg(player->argp[2], "escort(s)? ", buf)))
-       pr("No escorts...\n");
     if (!get_assembly_point(player->argp[3], &ap_sect, buf))
        return RET_SYN;
     ax = ap_sect.sct_x;
@@ -100,7 +96,6 @@ drop(void)
     /*
      * select planes within range
      */
-    mission_flags = 0;
     pln_sel(&ni_bomb, &bomb_list, &ap_sect, ap_to_target,
            2, wantflags, P_M | P_O);
     if (QEMPTY(&bomb_list)) {
@@ -112,26 +107,20 @@ drop(void)
     /*
      * now arm and equip the bombers, transports, whatever.
      */
-    mission_flags |= P_X;      /* stealth (shhh) */
-    mission_flags |= P_H;      /* gets turned off if not all choppers */
-    mission_flags |= P_MINE;
-    mission_flags = pln_arm(&bomb_list, 2 * ap_to_target,
-                           wantflags & P_MINE ? 'm' : 'd',
-                           ip, 0, mission_flags);
+    pln_arm(&bomb_list, 2 * ap_to_target,
+           wantflags & P_MINE ? 'm' : 'd',
+           ip, 0);
     if (QEMPTY(&bomb_list)) {
        pr("No planes could be equipped for the mission.\n");
        return RET_FAIL;
     }
-    mission_flags = pln_arm(&esc_list, 2 * ap_to_target, 'd',
-                           ip, P_ESC | P_F, mission_flags);
-    ac_encounter(&bomb_list, &esc_list, ax, ay,
-                flightpath, mission_flags, 0);
+    pln_arm(&esc_list, 2 * ap_to_target, 'd', ip, P_ESC | P_F);
+    ac_encounter(&bomb_list, &esc_list, ax, ay, flightpath, 0);
     if (QEMPTY(&bomb_list)) {
        pr("No planes got through fighter defenses\n");
     } else {
-       getsect(tx, ty, &target);
        if (wantflags & P_MINE)
-           pln_mine(&bomb_list, &target);
+           pln_mine(&bomb_list, tx, ty);
        else
            pln_dropoff(&bomb_list, ip, tx, ty, -1);
     }