]> git.pond.sub.org Git - empserver/commitdiff
Don't let deities fly foreign planes
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 13 Jun 2010 15:20:00 +0000 (17:20 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 11 Jul 2010 05:59:43 +0000 (07:59 +0200)
Much code assumes that only the plane's owner can fly it.
pln_airbase_ok() oopses since commit 446f1991.  Before, flying planes
from carriers failed with a bogus "not valid for" message, and flying
from sectors had output misdirected to the plane's owner.

It would be nice to let deities fly foreign planes, but the assumption
is not trivial to remove, so just satisfy it for now.

Historical note: it looks like deities used to be able to fly foreign
planes just fine until Chainsaw 3 added missions.  The launch command
has always rejected foreign planes, even for deities.

src/lib/subs/plnsub.c

index 00f2b37c72ac3f0c9144a0b19def8cfedb3dabbc..42b66634d7f6283c6963023c1f03ea7d28e706e7 100644 (file)
@@ -541,7 +541,12 @@ pln_sel(struct nstr_item *ni, struct emp_qelem *list, struct sctstr *ap,
 
     emp_initque(list);
     while (nxtitem(ni, &plane)) {
-       if (!player->owner)
+       /*
+        * It would be nice to let deities fly foreign planes, but
+        * much of the code assumes that only the plane's owner can
+        * fly it.
+        */
+       if (plane.pln_own != player->cnum)
            continue;
        if (plane.pln_mobil <= 0)
            continue;