]> git.pond.sub.org Git - empserver/commitdiff
launch edit: Take satellite off carrier on launch
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 12 May 2018 07:46:51 +0000 (09:46 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Tue, 5 Jan 2021 09:41:05 +0000 (10:41 +0100)
Doesn't affect the stock game, because none of its satellites are
light, let alone x-light.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
src/lib/commands/edit.c
src/lib/commands/laun.c

index f843d2b8634e245ce92a4ca296a11e81ed294050..516b90f61bef303869dceb31facb244259a4f5db 100644 (file)
@@ -1186,6 +1186,8 @@ edit_plane(struct plnstr *plane, char *key, char *p)
        divine_flag_change((struct empobj *)plane, "Flags",
                           plane->pln_flags, arg, plane_flags);
        plane->pln_flags = arg;
+       if (pln_is_in_orbit(plane))
+           plane->pln_ship = plane->pln_land = -1;
        break;
     default:
        pr("huh? (%s)\n", key);
index bf74b08ef772b15d9aa960a703773108425aed4a..b7ca97416868520f0ae5870e47151fda73eb5bea 100644 (file)
@@ -30,7 +30,7 @@
  *     Dave Pare, 1986
  *     Ken Stevens, 1995
  *     Steve McClure, 1998-2000
- *     Markus Armbruster, 2005-2015
+ *     Markus Armbruster, 2005-2018
  */
 
 #include <config.h>
@@ -345,6 +345,7 @@ launch_sat(struct plnstr *pp)
     CANT_HAPPEN(pp->pln_flags & PLN_LAUNCHED);
     pp->pln_flags |= PLN_LAUNCHED;
     pp->pln_mobil = pp->pln_mobil > dist ? pp->pln_mobil - dist : 0;
+    pp->pln_ship = pp->pln_land = -1;
     putplane(pp->pln_uid, pp);
     pr("%s positioned over %s, will be ready for use in %d time units\n",
        prplane(pp), xyas(sx, sy, player->cnum),