]> git.pond.sub.org Git - empserver/blobdiff - src/lib/commands/buil.c
Update copyright notice.
[empserver] / src / lib / commands / buil.c
index 2262d913eaca70965cf85f09c09e3bd12fcaa9d9..4f5e94cd01a4a2ba67d5918a0f6da0b4aafa8a46 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *  Copyright (C) 1986-2007, Dave Pare, Jeff Bailey, Thomas Ruschak,
  *                           Ken Stevens, Steve McClure
  *
  *  This program is free software; you can redistribute it and/or modify
 #include <config.h>
 
 #include <limits.h>
-#include <string.h>
-#include "misc.h"
-#include "player.h"
-#include "plague.h"
-#include "sect.h"
-#include "nat.h"
-#include "ship.h"
+#include "commands.h"
 #include "land.h"
+#include "lost.h"
+#include "map.h"
 #include "nuke.h"
+#include "optlist.h"
+#include "path.h"
+#include "plague.h"
 #include "plane.h"
-#include "xy.h"
-#include "nsc.h"
+#include "ship.h"
 #include "treaty.h"
-#include "file.h"
-#include "path.h"
-#include "optlist.h"
-#include "commands.h"
 
 static int build_nuke(struct sctstr *sp,
                      struct nchrstr *np, short *vec, int tlev);
@@ -109,7 +103,7 @@ buil(void)
        p = getstarg(player->argp[3], "Plane type? ", buf);
        if (p == 0 || *p == 0)
            return RET_SYN;
-       type = typematch(p, EF_PLANE);
+       type = ef_elt_byname(EF_PLANE_CHR, p);
        if (type >= 0) {
            pp = &plchr[type];
            rqtech = pp->pl_tech;
@@ -127,7 +121,7 @@ buil(void)
        p = getstarg(player->argp[3], "Ship type? ", buf);
        if (p == 0 || *p == 0)
            return RET_SYN;
-       type = typematch(p, EF_SHIP);
+       type = ef_elt_byname(EF_SHIP_CHR, p);
        if (type >= 0) {
            mp = &mchr[type];
            rqtech = mp->m_tech;
@@ -147,7 +141,7 @@ buil(void)
        p = getstarg(player->argp[3], "Land unit type? ", buf);
        if (p == 0 || *p == 0)
            return RET_SYN;
-       type = typematch(p, EF_LAND);
+       type = ef_elt_byname(EF_LAND_CHR, p);
        if (type >= 0) {
            lp = &lchr[type];
            rqtech = lp->l_tech;
@@ -188,7 +182,7 @@ buil(void)
        p = getstarg(player->argp[3], "Nuke type? ", buf);
        if (p == 0 || *p == 0)
            return RET_SYN;
-       type = typematch(p, EF_NUKE);
+       type = ef_elt_byname(EF_NUKE_CHR, p);
        if (type >= 0) {
            np = &nchr[type];
            rqtech = np->n_tech;
@@ -369,7 +363,7 @@ build_ship(struct sctstr *sp, struct mchrstr *mp, short *vec, int tlev)
     ship.shp_nland = 0;
     ship.shp_nxlight = 0;
     ship.shp_nchoppers = 0;
-    ship.shp_fleet = ' ';
+    ship.shp_fleet = 0;
     memset(ship.shp_item, 0, sizeof(ship.shp_item));
     ship.shp_pstage = PLG_HEALTHY;
     ship.shp_ptime = 0;
@@ -390,8 +384,8 @@ build_ship(struct sctstr *sp, struct mchrstr *mp, short *vec, int tlev)
 
     if (sp->sct_pstage == PLG_INFECT)
        ship.shp_pstage = PLG_EXPOSED;
-    makenotlost(EF_SHIP, ship.shp_own, ship.shp_uid, ship.shp_x,
-               ship.shp_y);
+    makenotlost(EF_SHIP, ship.shp_own, ship.shp_uid,
+               ship.shp_x, ship.shp_y);
     putship(ship.shp_uid, &ship);
     pr("%s", prship(&ship));
     pr(" built in sector %s\n", xyas(sp->sct_x, sp->sct_y, player->cnum));
@@ -490,7 +484,7 @@ build_land(struct sctstr *sp, struct lchrstr *lp, short *vec, int tlev)
        land.lnd_mobil = 0;
     }
     land.lnd_uid = nstr.cur;
-    land.lnd_army = ' ';
+    land.lnd_army = 0;
     land.lnd_flags = 0;
     land.lnd_ship = -1;
     land.lnd_land = -1;
@@ -516,8 +510,8 @@ build_land(struct sctstr *sp, struct lchrstr *lp, short *vec, int tlev)
     if (sp->sct_pstage == PLG_INFECT)
        land.lnd_pstage = PLG_EXPOSED;
     putland(nstr.cur, &land);
-    makenotlost(EF_LAND, land.lnd_own, land.lnd_uid, land.lnd_x,
-               land.lnd_y);
+    makenotlost(EF_LAND, land.lnd_own, land.lnd_uid,
+               land.lnd_x, land.lnd_y);
     pr("%s", prland(&land));
     pr(" built in sector %s\n", xyas(sp->sct_x, sp->sct_y, player->cnum));
     return 1;
@@ -615,8 +609,6 @@ build_bridge(struct sctstr *sp, short *vec)
     sect.sct_road = 0;
     sect.sct_rail = 0;
     sect.sct_defense = 0;
-    if (!opt_DEFENSE_INFRA)
-       sect.sct_defense = sect.sct_effic;
     if (opt_MOB_ACCESS) {
        time(&sect.sct_access);
        sect.sct_mobil = -(etu_per_update / sect_mob_neg_factor);
@@ -695,7 +687,7 @@ build_nuke(struct sctstr *sp, struct nchrstr *np, short *vec, int tlev)
     nuke.nuk_own = sp->sct_own;
     nuke.nuk_type = np - nchr;
     nuke.nuk_effic = 100;
-    nuke.nuk_stockpile = ' ';
+    nuke.nuk_stockpile = 0;
     nuke.nuk_ship = nuke.nuk_plane = nuke.nuk_land = -1;
     nuke.nuk_uid = nstr.cur;
     nuke.nuk_tech = tlev;
@@ -794,7 +786,7 @@ build_plane(struct sctstr *sp, struct plchrstr *pp, short *vec, int tlev)
     plane.pln_radius = 0;
     plane.pln_range = UCHAR_MAX; /* will be adjusted by pln_set_tech() */
     plane.pln_range_max = plane.pln_range;
-    plane.pln_wing = ' ';
+    plane.pln_wing = 0;
     plane.pln_ship = -1;
     plane.pln_land = -1;
     plane.pln_uid = nstr.cur;
@@ -807,8 +799,8 @@ build_plane(struct sctstr *sp, struct plchrstr *pp, short *vec, int tlev)
     vec[I_HCM] -= hcm;
     vec[I_MILIT] -= mil;
 
-    makenotlost(EF_PLANE, plane.pln_own, plane.pln_uid, plane.pln_x,
-               plane.pln_y);
+    makenotlost(EF_PLANE, plane.pln_own, plane.pln_uid,
+               plane.pln_x, plane.pln_y);
     putplane(plane.pln_uid, &plane);
     pr("%s built in sector %s\n", prplane(&plane),
        xyas(sp->sct_x, sp->sct_y, player->cnum));
@@ -915,8 +907,6 @@ build_tower(struct sctstr *sp, short *vec)
     } else {
        sect.sct_mobil = 0;
     }
-    if (!opt_DEFENSE_INFRA)
-       sect.sct_defense = sect.sct_effic;
     sect.sct_mines = 0;
     map_set(player->cnum, sect.sct_x, sect.sct_y, dchr[SCT_BTOWER].d_mnem, 2);
     writemap(player->cnum);