(nat_status, STAT_UNUSED, STAT_VIS, STAT_ACTIVE): New.
(STAT_NEW, STAT_SANCT, STAT_GOD): Change into nat_status members.
(STAT_INUSE, STAT_NORM): Remove.
(natstr): Use new nat_status for nat_stat.
New value Old value
STAT_UNUSED 0
STAT_NEW STAT_INUSE | STAT_NEW
STAT_VIS STAT_INUSE
STAT_SANCT STAT_INUSE | STAT_SANCT
STAT_ACTIVE STAT_INUSE | STAT_NORM
STAT_GOD STAT_INUSE | STAT_NORM | STAT_GOD
Users changed.
#define MAXNOR 50 /* max # realms */
+/* Nation status */
+typedef enum {
+ /*
+ * Don't change order without checking inequality comparisons and
+ * array initializers!
+ */
+ STAT_UNUSED, /* not in use */
+ STAT_NEW, /* just initialized */
+ STAT_VIS, /* visitor */
+ STAT_SANCT, /* still in sanctuary */
+ STAT_ACTIVE, /* active (sanctuary broken) */
+ STAT_GOD /* deity powers */
+} nat_status;
+
enum { /* Priorities */
/* sector types are also priorities */
PRI_SMAINT = SCT_MAXDEF+1, /* ship maintenance */
short ef_type;
natid nat_cnum; /* our country number */
/* end of part matching struct genitem */
- s_char nat_stat; /* inuse, norm, god, abs */
+ nat_status nat_stat;
char nat_cnam[20]; /* country name */
char nat_pnam[20]; /* representative */
char nat_hostaddr[32]; /* host addr of last user */
char nat_spare[15];
};
- /* nation status types */
-#define STAT_INUSE bit(0) /* cnum in use */
-#define STAT_SANCT bit(1) /* country in sanctuary */
-#define STAT_NORM bit(2) /* normal country */
-#define STAT_GOD bit(3) /* deity powers */
-#define STAT_NEW bit(5) /* just initialized */
-
/* Update fields. */
#define WUPD_WANT bit(0)
/* nstat values */
-#define VIS STAT_INUSE
-#define NORM (STAT_INUSE|STAT_NORM)
-#define GOD (STAT_INUSE|STAT_GOD)
-#define SANCT (STAT_INUSE|STAT_SANCT)
+#define VIS bit(0)
+#define SANCT (bit(1) | VIS)
+#define NORM (bit(2) | VIS)
+#define GOD (bit(3) | NORM | VIS)
#define CAP bit(6)
#define MONEY bit(7)
break;
if (cn == as)
continue;
- if ((np->nat_stat & STAT_NORM) == 0 &&
- (np->nat_stat & STAT_SANCT) == 0)
+ if (np->nat_stat < STAT_SANCT)
continue;
if (opt_HIDDEN) {
if (!player->god && !getcontact(getnatp(player->cnum), cn))
struct lndstr land;
for (freecn = 0; NULL != (natp = getnatp(freecn)); freecn++) {
- if ((natp->nat_stat & STAT_INUSE) == 0)
+ if (natp->nat_stat == STAT_UNUSED)
break;
}
if (freecn < MAXNOC)
return RET_SYN;
switch (*p) {
case 'v':
- stat = STAT_INUSE;
+ stat = STAT_VIS;
break;
case 'n':
- stat = STAT_NEW | STAT_INUSE;
+ stat = STAT_NEW;
break;
case 'a':
- stat = STAT_NORM | STAT_INUSE;
+ stat = STAT_ACTIVE;
break;
case 'g':
- stat = STAT_GOD | STAT_NORM | STAT_INUSE;
+ stat = STAT_GOD;
break;
case 'd':
- stat = 0;
+ stat = STAT_UNUSED;
break;
default:
pr("Illegal status\n");
}
}
- if ((natp->nat_stat & (STAT_INUSE | STAT_NORM | STAT_GOD)) ==
- STAT_INUSE) {
+ if (natp->nat_stat == STAT_NEW || natp->nat_stat == STAT_VIS) {
*natp->nat_hostaddr = '\0';
*natp->nat_hostname = '\0';
*natp->nat_userid = '\0';
struct natstr *natp;
natp = getnatp(player->cnum);
- if ((natp->nat_stat & STAT_SANCT) == 0) {
+ if (natp->nat_stat != STAT_SANCT) {
pr("You aren't in sanctuary!\n");
return RET_SYN;
}
bsanct();
- natp->nat_stat &= ~STAT_SANCT;
- natp->nat_stat |= STAT_NORM;
+ natp->nat_stat = STAT_ACTIVE;
putnat(natp);
player->nstat |= NORM;
return RET_OK;
return RET_FAIL;
}
natp = getnatp(n);
- if (natp->nat_stat & STAT_GOD) {
+ if (natp->nat_stat == STAT_GOD) {
pr("You can only give to normal countries...\n");
return RET_FAIL;
}
buf)) == 0)
return RET_SYN;
us = getnatp(player->cnum);
- if (us->nat_stat == VIS) {
+ if (us->nat_stat == STAT_VIS) {
pr("Visitor countries can't change their country name or representative.\n");
return RET_FAIL;
}
case 'c':
charge = 0;
btucost = 0;
- if (!player->god && (us->nat_stat & STAT_NORM)) {
+ if (us->nat_stat == STAT_ACTIVE) {
if (opt_BLITZ == 0) {
if (us->nat_btu < 254) {
pr("You need 254 btus to change your country name!\n");
pr(" # last access %sstatus country name\n",
player->god ? "BTU " : "");
while (nxtitem(&ni, &nat)) {
- if ((nat.nat_stat & STAT_INUSE) == 0)
+ if (nat.nat_stat == STAT_UNUSED)
continue;
coun_list(&nat);
}
if (getplayer(cn)
&& (player->god
- || (natp->nat_stat & STAT_GOD)
+ || natp->nat_stat == STAT_GOD
|| cn == player->cnum || getrel(natp, player->cnum) == ALLIED))
pr(" Now logged on ");
else if (player->god) {
if (player->god)
pr(" %4d", natp->nat_btu);
- if (natp->nat_stat & STAT_GOD)
+ if (natp->nat_stat == STAT_GOD)
status = "DEITY";
- else if (natp->nat_stat & STAT_NEW)
+ else if (natp->nat_stat == STAT_NEW)
status = "New";
- else if (natp->nat_stat & STAT_SANCT)
+ else if (natp->nat_stat == STAT_SANCT)
status = "Sanctuary";
- else if (natp->nat_stat & STAT_NORM) {
+ else if (natp->nat_stat == STAT_ACTIVE) {
status = "Active";
if (!opt_HIDDEN || player->god) {
if (influx(natp))
natp = getnatp(who);
while (nxtitem(&ni, &nat)) {
- if (!(nat.nat_stat & STAT_INUSE))
+ if (nat.nat_stat == STAT_UNUSED)
continue;
if (player->cnum == (natid)ni.cur)
continue;
np->nat_yorg = newy;
break;
case 's':
- np->nat_stat = (s_char)errcheck(arg, 0, STAT_NEW);
+ np->nat_stat = (nat_status)errcheck(arg, STAT_UNUSED, STAT_GOD);
break;
case 'u':
arg = errcheck(arg, 0, m_m_p_d);
return RET_SYN;
}
- if (us->nat_stat & STAT_GOD) {
+ if (us->nat_stat == STAT_GOD) {
/* We are gods, we can flash anyone */
- } else if (us->nat_stat == VIS) {
+ } else if (us->nat_stat == STAT_VIS) {
/* We are a visitor. We can only flash the gods. :) */
- if (!(to->nat_stat & STAT_GOD)) {
+ if (to->nat_stat != STAT_GOD) {
pr("Visitors can only flash the gods.\n");
return RET_SYN;
}
} else {
/* Ok, we are a normal country, can we flash them? */
- if ((!(to->nat_stat & STAT_GOD)) &&
- (getrel(to, player->cnum) < FRIENDLY)) {
+ if (to->nat_stat != STAT_GOD && getrel(to, player->cnum) < FRIENDLY) {
pr("%s is not a deity or friendly with us.\n", to->nat_cnam);
return RET_SYN;
}
prdate();
pr("Nation status is %s", natstate(natp));
pr(" Bureaucratic Time Units: %d\n", natp->nat_btu);
- if (natp->nat_stat & STAT_INUSE) {
+ if (natp->nat_stat != STAT_UNUSED) {
getsect(natp->nat_xcap, natp->nat_ycap, §);
if (influx(natp))
pr("No capital (was at %s).\n",
}
num = n;
natp = getnatp(num);
- if ((natp->nat_stat & STAT_NEW) == 0) {
+ if (natp->nat_stat != STAT_NEW) {
pr("Country #%d (%s) isn't a new country!\n", num, cname(num));
return RET_SYN;
}
sect.sct_item[I_UW] = 75;
putsect(§);
natp->nat_btu = max_btus;
- natp->nat_stat &= ~STAT_NEW;
- natp->nat_stat |= STAT_SANCT;
+ natp->nat_stat = STAT_SANCT;
natp->nat_xcap = x;
natp->nat_ycap = y;
natp->nat_xorg = x;
/* It's a blitz, we see everything */
} else if (joe->god) {
/* This country is a god, so we see it */
- } else if (us->nat_stat == VIS) {
+ } else if (us->nat_stat == STAT_VIS) {
/* We are a visitor country, we can't see squat, except deities */
return 0;
} else if (joe->cnum != player->cnum) {
/* This isn't us. Can we see it? */
- if (natp->nat_stat == VIS) {
+ if (natp->nat_stat == STAT_VIS) {
/* Yes, we can see visitors are logged on */
} else if (getrel(natp, player->cnum) < ALLIED) {
/* This is a non-allied country, don't show it. */
continue;
}
natp2 = getnatp(pow.p_nation);
- if (natp2->nat_stat & STAT_GOD)
+ if (natp2->nat_stat == STAT_GOD)
continue;
if (use_targets && !targets[pow.p_nation])
continue;
for (i = 1; NULL != (natp = getnatp(i)); i++) {
pow = &powbuf[i];
pow->p_nation = i;
- if ((natp->nat_stat & STAT_INUSE) == 0 ||
- (natp->nat_stat & STAT_NORM) == 0) {
- pow->p_power = 0.;
- continue;
- }
- if (natp->nat_stat & STAT_GOD) {
+ if (natp->nat_stat != STAT_ACTIVE) {
pow->p_power = 0.;
continue;
}
target = cnumb(p);
if (target > 0 && target < MAXNOC && (natp = getnatp(target))) {
- if (natp->nat_stat & STAT_GOD) {
+ if (natp->nat_stat == STAT_GOD) {
pr("Country #%d is a deity country\n", target);
- } else if (!(natp->nat_stat & STAT_INUSE)) {
+ } else if (natp->nat_stat == STAT_UNUSED) {
pr("Country #%d is not in use\n", target);
- } else if (!(natp->nat_stat & STAT_NORM)) {
+ } else if (natp->nat_stat != STAT_ACTIVE) {
pr("Country #%d is not a normal country\n", target);
} else {
targets[target] = 1;
if (!snxtitem(&ni, EF_NATION, player->argp[3]))
return RET_SYN;
while (nxtitem(&ni, &nat)) {
-#if 0
- if ((nat.nat_stat & STAT_NORM) == 0) {
- pr("You may not reject/accept stuff from %s\nbecause they are not a normal country.\n", nat.nat_cnam);
- continue;
- }
-#endif
- if (nat.nat_stat & STAT_GOD) {
+ if (nat.nat_stat == STAT_GOD) {
pr("You may not reject/accept stuff from %s\nbecause they are a deity.\n", nat.nat_cnam);
continue;
}
break;
if (cn == as)
continue;
- if ((np->nat_stat & STAT_NORM) == 0 &&
- (np->nat_stat & STAT_SANCT) == 0)
+ if (np->nat_stat < STAT_SANCT)
continue;
if (opt_HIDDEN) {
if (!player->god && !getcontact(natp, cn))
natp = getnatp(player->cnum);
memset(&mystat, 0, sizeof(struct stats));
mystat.stat = natp->nat_stat;
- if (mystat.stat & STAT_NORM) {
+ if (mystat.stat >= STAT_ACTIVE) {
mystat.res = natp->nat_level[NAT_RLEV];
mystat.tech = natp->nat_level[NAT_TLEV];
mystat.edu = natp->nat_level[NAT_ELEV];
first = 1;
}
while (nxtitem(&ni, &nat)) {
- if (!(nat.nat_stat & STAT_INUSE))
+ if (nat.nat_stat == STAT_UNUSED)
continue;
if (opt_HIDDEN) {
if (!player->god && !getcontact(getnatp(player->cnum), ni.cur))
prxy(" %4d,%-4d\n", natp->nat_xcap, natp->nat_ycap, player->cnum);
return;
}
- switch (natp->nat_stat & (STAT_NORM | STAT_GOD | STAT_NEW | STAT_SANCT)) {
- case STAT_NORM:
+ if (natp->nat_stat == STAT_ACTIVE) {
pr(" %-3d %-14.14s ", cn, natp->nat_cnam);
printdiff(stat->stat, stat->tech, natp, NAT_TLEV);
printdiff(stat->stat, stat->res, natp, NAT_RLEV);
else
pr("Active\n");
}
- break;
- case STAT_SANCT:
- break;
- case STAT_NEW:
- case 0:
- break;
- case STAT_SANCT | STAT_NORM | STAT_GOD:
- case STAT_NORM | STAT_GOD:
- case STAT_GOD:
- break;
- default:
- pr("???? ???? ???? ????\n");
- break;
}
}
pr(" %7.2f ", ours);
return;
}
- if (ours && mystat & STAT_NORM && natp->nat_stat & STAT_NORM) {
+ if (ours && mystat >= STAT_ACTIVE && natp->nat_stat >= STAT_ACTIVE) {
theirs = natp->nat_level[what];
if ((shift = min((int)theirs, (int)ours) - 100) > 0) {
ours -= shift;
}
natp = getnatp(to);
- if (((natp->nat_stat & STAT_NORM) == 0) &&
- ((natp->nat_stat & STAT_SANCT) == 0)) {
+ if (natp->nat_stat < STAT_SANCT) {
pr("%s has no \"telegram priveleges\".\n", cname(to));
kk++;
continue;
return RET_FAIL;
}
- if (!player->god &&
- (natp->nat_stat & GOD) != GOD && player->cnum != to)
+ if (!player->god && natp->nat_stat != STAT_GOD
+ && player->cnum != to)
nreport(player->cnum, N_SENT_TEL, to, 1);
if (opt_HIDDEN) {
setcont(to, player->cnum, FOUND_TELE);
case EF_LOST:
return gp->own != 0 && (gp->own == player->cnum || player->god);
case EF_NATION:
- return ((struct natstr *)p)->nat_stat != 0
+ return ((struct natstr *)p)->nat_stat != STAT_UNUSED
&& (gp->own == player->cnum || player->god);
case EF_NEWS:
return ((struct nwsstr *)p)->nws_vrb != 0
char *
natstate(struct natstr *np)
{
- if ((np->nat_stat & STAT_INUSE) == 0)
- return "FREE";
- if (np->nat_stat & STAT_GOD)
- return "DEITY";
- if (np->nat_stat & STAT_SANCT)
- return "SANCTUARY";
- if ((np->nat_stat & STAT_NORM) == 0)
- return "VISITOR";
- return "ACTIVE";
+ static char *stnam[] = {
+ /* must match nat_status */
+ "FREE", "VISITOR", "VISITOR", "SANCTUARY", "ACTIVE", "DEITY"
+ };
+ return stnam[np->nat_stat];
}
/* This returns the relations that np has with them */
for (cn = 1; 0 != (natp = getnatp(cn)); cn++) {
/* Only countries which are normal. */
/* Should probably include sanctuaries ..... */
- if (((natp->nat_stat & NORM) == NORM) &&
- ((natp->nat_stat & GOD) != GOD)) {
+ if (natp->nat_stat == STAT_ACTIVE) {
totpop++;
if ((natp->nat_update & WUPD_WANT) == WUPD_WANT) {
totwant++;
veto = 0;
for (cn = 1; 0 != (natp = getnatp(cn)); cn++) {
- if (((natp->nat_stat & NORM) == NORM) &&
- ((natp->nat_stat & GOD) != GOD)) {
+ if (natp->nat_stat == STAT_ACTIVE) {
if (natp->nat_missed >= update_missed)
veto = cn;
}
struct castr nat_ca[] = {
{NSC_NATID, 0, 0, fldoff(natstr, nat_cnum), "cnum", EF_NATION},
- {NSC_CHAR, NSC_BITS, 0, fldoff(natstr, nat_stat), "stat", EF_BAD /* FIXME */},
+ {NSC_CHAR, NSC_SITYPE(nat_status), 0, fldoff(natstr, nat_stat), "stat",
+ EF_BAD /* FIXME */},
{NSC_STRINGY, 0, 20, fldoff(natstr, nat_cnam), "cname", EF_BAD},
{NSC_STRINGY, NSC_DEITY, 20, fldoff(natstr, nat_pnam), "passwd", EF_BAD},
{NSC_STRINGY, 0, 32, fldoff(natstr, nat_hostaddr), "ip", EF_BAD},
int
init_nats(void)
{
+ static int nstat[] = {
+ /* must match nat_status */
+ 0, VIS, VIS, SANCT, NORM, GOD
+ };
struct natstr *np;
if ((np = getnatp(player->cnum)) == 0)
return -1;
- player->nstat = np->nat_stat;
- player->god = np->nat_stat & STAT_GOD;
+ player->nstat = nstat[np->nat_stat];
+ player->god = np->nat_stat == STAT_GOD;
player->map = ef_ptr(EF_MAP, player->cnum);
player->bmap = ef_ptr(EF_BMAP, player->cnum);
if (opt_HIDDEN) {
np->nat_cnam, np->nat_xcap, np->nat_ycap);
return -1;
}
- if ((player->nstat & NORM) == NORM) {
+ if (np->nat_stat >= STAT_ACTIVE) {
if (influx(np))
player->nstat &= ~CAP;
else
else
np->nat_btu += delta;
}
- if (np->nat_stat == VIS)
+ if (np->nat_stat == STAT_VIS)
np->nat_btu = max_btus;
putnat(np);
return 0;
snxtitem_all(&ni, EF_NATION);
while (nxtitem(&ni, &nat)) {
- if (nat.nat_stat != (STAT_INUSE | STAT_SANCT))
+ if (nat.nat_stat != STAT_SANCT)
continue;
if (first) {
pr_id(player, C_DATA,
other = getplayer((natid)player->cnum);
if (other) {
natp = getnatp(player->cnum);
- if (natp->nat_stat != VIS) {
+ if (natp->nat_stat != STAT_VIS) {
pr_id(player, C_EXIT, "country in use by %s\n", praddr(other));
} else {
pr_id(player, C_EXIT, "country in use\n");
return RET_FAIL;
}
np = getnatp(player->cnum);
- if (np->nat_stat & STAT_GOD && !match_user(authfil, player)) {
+ if (np->nat_stat == STAT_GOD && !match_user(authfil, player)) {
logerror("NON-AUTHed Login attempted by %s", praddr(player));
pr_id(player, C_EXIT, "You're not a deity!\n");
return RET_FAIL;
int i;
for (i = 0; NULL != (np = getnatp(i)); i++) {
- if ((np->nat_stat & STAT_INUSE) &&
- (strcmp(np->nat_cnam, name) == 0)) {
+ if (np->nat_stat != STAT_UNUSED && !strcmp(np->nat_cnam, name)) {
*result = i;
return 0;
}
struct natstr *np;
np = getnatp((natid)cn);
- if (np->nat_stat == VIS)
+ if (np->nat_stat == STAT_VIS)
return 1;
if (strcmp(np->nat_pnam, pass) == 0)
return 1;
}
if (!gamehours(player->curup)) {
pr("Empire hours restriction in force\n");
- if ((natp->nat_stat & STAT_GOD) == 0)
+ if (natp->nat_stat != STAT_GOD)
return;
}
daychange(player->curup);
pr("Time exceeded today\n");
return;
}
- if (natp->nat_stat != VIS
+ if (natp->nat_stat != STAT_VIS
&& natp->nat_last_login
&& (strcmp(natp->nat_hostaddr, player->hostaddr)
|| strcmp(natp->nat_userid, player->userid))) {
putnat(natp);
return 0;
}
- player->visitor = (natp->nat_stat & (STAT_NORM | STAT_GOD)) == 0;
+ player->visitor = natp->nat_stat < STAT_SANCT;
if (player->dolcost != 0.0) {
if (player->dolcost > 100.0)
pr("That just cost you $%.2f\n", player->dolcost);
daychange(player->curup);
if (!gamehours(player->curup)) {
pr("Empire hours restriction in force\n");
- if ((natp->nat_stat & STAT_GOD) == 0) {
+ if (natp->nat_stat != STAT_GOD) {
putnat(natp);
return 0;
}
player->lasttime += minute * 60;
natp->nat_minused += minute;
}
- if ((player->nstat & STAT_NORM) && !player->god
- && natp->nat_minused > m_m_p_d) {
+ if (natp->nat_stat == STAT_ACTIVE && natp->nat_minused > m_m_p_d) {
pr("Max minutes per day limit exceeded.\n");
player->ncomstat = VIS;
}
if (!player->god && !getcontact(getnatp(player->cnum), n)) {
if ((np = getnatp(n)) == 0)
return -1;
- if ((np->nat_stat & STAT_GOD) == 0) {
+ if (np->nat_stat != STAT_GOD) {
if (byname) {
pr("No such country exists.\n");
n = -1;
np = getnatp(from);
if (update_pending)
return typed_wu(from, to, buf, TEL_UPDATE);
- else if (np->nat_stat & STAT_GOD)
+ else if (np->nat_stat == STAT_GOD)
return typed_wu(from, to, buf, TEL_BULLETIN);
else
return typed_wu(from, to, buf, TEL_NORM);
mailbox(box, to);
if (type != TEL_ANNOUNCE)
- if ((np = getnatp(to)) == 0 ||
- ((np->nat_stat & STAT_NORM) == 0 &&
- (np->nat_stat & STAT_SANCT) == 0)) {
+ if ((np = getnatp(to)) == 0 || np->nat_stat < STAT_SANCT)
return -1;
- }
#if !defined(_WIN32)
if ((fd = open(box, O_WRONLY | O_APPEND, 0)) < 0) {
#else
logerror("telegram 'write' to #%d failed to close.", to);
} else if (write_ok && type == TEL_ANNOUNCE) {
for (to = 0; NULL != (np = getnatp(to)); to++) {
- if (!(np->nat_stat & STAT_NORM) &&
- !(np->nat_stat & STAT_SANCT))
+ if (np->nat_stat < STAT_SANCT)
continue;
if (!player->god && (getrejects(from, np) & REJ_ANNO))
continue;
best_tech = 0.0;
best_res = 0.0;
for (i = 0; NULL != (np = getnatp(i)); i++) {
- if ((np->nat_stat & STAT_NORM) == 0)
- continue;
-
- if (np->nat_stat & STAT_GOD)
- continue;
-
- if (np->nat_stat == VIS)
+ if (np->nat_stat != STAT_ACTIVE)
continue;
if (best_tech < np->nat_level[NAT_TLEV])
best_tech /= 5;
best_res /= 5;
for (i = 0; NULL != (np = getnatp(i)); i++) {
- if ((np->nat_stat & STAT_INUSE) == 0)
+ if (np->nat_stat == STAT_UNUSED)
continue;
- if (np->nat_stat & STAT_GOD)
+ if (np->nat_stat == STAT_GOD)
continue;
- if (np->nat_stat == VIS)
+ if (np->nat_stat == STAT_VIS)
continue;
level = np->nat_level[NAT_TLEV];
if (level < best_tech && chance(0.2))
mil_dbl_pay = 0;
if ((np = getnatp(x)) == (struct natstr *)0)
continue;
- if (np->nat_stat & STAT_SANCT) {
+ if (np->nat_stat == STAT_SANCT) {
#ifdef DEBUG
logerror("Country %i is in sanctuary and did not update", x);
#endif
struct natstr *cnp;
for (n = 0; NULL != (np = getnatp(n)); n++) {
- if ((np->nat_stat & STAT_NORM) == 0)
+ if (np->nat_stat < STAT_ACTIVE)
continue;
/*
* hap_edu: the more education people have, the
memset(tech, 0, sizeof(tech));
}
for (n = 0; NULL != (np = getnatp(n)); n++) {
- if ((np->nat_stat & STAT_NORM) == 0)
+ if (np->nat_stat < STAT_ACTIVE)
continue;
tlev = levels[n][NAT_TLEV];
rlev = levels[n][NAT_RLEV];
for (i = 0; NULL != (np = getnatp(i)); i++) {
res[i] = tech[i] = 0.0;
- if ((np->nat_stat & STAT_INUSE) == 0)
+ if (np->nat_stat == STAT_UNUSED)
continue;
- if (np->nat_stat & STAT_GOD)
+ if (np->nat_stat == STAT_GOD)
continue;
- if (np->nat_stat == VIS)
+ if (np->nat_stat == STAT_VIS)
continue;
rnc = tnc = 0;
for (j = 0; NULL != (other = getnatp(j)); j++) {
if (j == i)
continue;
- if (other->nat_stat & STAT_GOD)
+ if (other->nat_stat == STAT_GOD)
continue;
- if (other->nat_stat == VIS)
+ if (other->nat_stat == STAT_VIS)
continue;
- if ((other->nat_stat & STAT_INUSE) == 0)
+ if (other->nat_stat == STAT_UNUSED)
continue;
if (opt_HIDDEN) {
if (!getcontact(np, j))
np = getnatp(sp->sct_own);
#ifdef DEBUG
- if (np->nat_stat & STAT_SANCT)
+ if (np->nat_stat == STAT_SANCT)
logerror("Prepare.c: country in sanctuary skipped production");
#endif /* DEBUG */
- if (!(np->nat_stat & STAT_SANCT)) {
+ if (np->nat_stat != STAT_SANCT) {
guerrilla(sp);
do_plague(sp, np, etu);
tax(sp, np, etu, &pops[sp->sct_own], &civ_tax, &uw_tax,
struct natstr *natp;
for (cn = 0; NULL != (natp = getnatp(cn)); cn++) {
- if ((natp->nat_stat & STAT_INUSE) &&
+ if ((natp->nat_stat != STAT_UNUSED) &&
(natp->nat_update & WUPD_WANT) == 0) {
natp->nat_missed++;
}
return;
}
tnat = getnatp(target);
- if ((tnat->nat_stat & STAT_INUSE) == 0) {
+ if (tnat->nat_stat == STAT_UNUSED) {
/* target nation has dissolved: che's retire. */
logerror("%d Che targeted at country %d retiring", che, target);
sp->sct_che = 0;
nat.ef_type = EF_NATION;
strcpy(nat.nat_cnam, "POGO");
strcpy(nat.nat_pnam, "peter");
- nat.nat_stat = STAT_INUSE | STAT_NORM | STAT_GOD;
+ nat.nat_stat = STAT_GOD;
nat.nat_btu = 255;
nat.nat_money = 123456789;
nat.nat_cnum = 0;