From 6ce25bdd4fe44be8fe60a0447fd9fc32c211290f Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sat, 12 May 2018 09:46:51 +0200 Subject: [PATCH] launch edit: Take satellite off carrier on launch Doesn't affect the stock game, because none of its satellites are light, let alone x-light. Signed-off-by: Markus Armbruster --- src/lib/commands/edit.c | 2 ++ src/lib/commands/laun.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/commands/edit.c b/src/lib/commands/edit.c index f843d2b86..516b90f61 100644 --- a/src/lib/commands/edit.c +++ b/src/lib/commands/edit.c @@ -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); diff --git a/src/lib/commands/laun.c b/src/lib/commands/laun.c index bf74b08ef..b7ca97416 100644 --- a/src/lib/commands/laun.c +++ b/src/lib/commands/laun.c @@ -30,7 +30,7 @@ * Dave Pare, 1986 * Ken Stevens, 1995 * Steve McClure, 1998-2000 - * Markus Armbruster, 2005-2015 + * Markus Armbruster, 2005-2018 */ #include @@ -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), -- 2.43.0