From 9da83c54c068534599b4008440e30fec1357d824 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 13 Jan 2013 10:06:50 +0100 Subject: [PATCH] Unify owner of units built by deities in foreign sectors Newly built ships and land units are given to the player, planes and nukes to the sector owner. Matters only for deities, because only deities can build in foreign sectors. Stupid all the same. This has always been inconsistent. Empire 1 gave ships and nukes to the player, and planes to the sector owner. Chainsaw 3 added land units, and gave them to the player. Empire 2 changed build to give nukes to the sector owner. Building doesn't work when the unit built is given to POGO, because giving a unit to POGO destroys it. When build gives to the sector owner, deities can't build in unowned sectors. When build gives to the player, POGO can't build at all. That's more limiting, so change build to always give to the sector owner. --- src/lib/commands/buil.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/commands/buil.c b/src/lib/commands/buil.c index 58bafa322..651448ed1 100644 --- a/src/lib/commands/buil.c +++ b/src/lib/commands/buil.c @@ -28,7 +28,7 @@ * * Known contributors to this file: * Steve McClure, 1998-2000 - * Markus Armbruster, 2004-2012 + * Markus Armbruster, 2004-2013 */ #include @@ -260,7 +260,7 @@ build_ship(struct sctstr *sp, int type, int tlev) ef_blank(EF_SHIP, nstr.cur, &ship); ship.shp_x = sp->sct_x; ship.shp_y = sp->sct_y; - ship.shp_own = player->cnum; + ship.shp_own = sp->sct_own; ship.shp_type = mp - mchr; ship.shp_effic = SHIP_MINEFF; if (opt_MOB_ACCESS) { @@ -273,7 +273,7 @@ build_ship(struct sctstr *sp, int type, int tlev) ship.shp_pstage = PLG_HEALTHY; ship.shp_ptime = 0; ship.shp_name[0] = 0; - ship.shp_orig_own = player->cnum; + ship.shp_orig_own = sp->sct_own; ship.shp_orig_x = sp->sct_x; ship.shp_orig_y = sp->sct_y; shp_set_tech(&ship, tlev); @@ -373,7 +373,7 @@ build_land(struct sctstr *sp, int type, int tlev) ef_blank(EF_LAND, nstr.cur, &land); land.lnd_x = sp->sct_x; land.lnd_y = sp->sct_y; - land.lnd_own = player->cnum; + land.lnd_own = sp->sct_own; land.lnd_type = lp - lchr; land.lnd_effic = LAND_MINEFF; if (opt_MOB_ACCESS) { -- 2.43.0