reject: Replace getrejects() by nat_accepts()
All callers of getrejects() also check whether the sender is a deity. Factor out the common code into nat_accepts(), and drop getrejects(). Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
parent
5983fa2f6c
commit
9d153f547c
8 changed files with 12 additions and 16 deletions
|
@ -181,7 +181,7 @@ extern char *relatename(struct natstr *np, natid other);
|
||||||
extern char *natstate(struct natstr *np);
|
extern char *natstate(struct natstr *np);
|
||||||
extern int getrel(struct natstr *np, natid them);
|
extern int getrel(struct natstr *np, natid them);
|
||||||
extern int relations_with(natid, natid);
|
extern int relations_with(natid, natid);
|
||||||
extern int getrejects(natid them, struct natstr *np);
|
extern int nat_accepts(struct natstr *, natid, int);
|
||||||
extern int in_contact(natid, natid);
|
extern int in_contact(natid, natid);
|
||||||
extern void putrel(struct natstr *np, natid them, int relate);
|
extern void putrel(struct natstr *np, natid them, int relate);
|
||||||
extern void agecontact(struct natstr *np);
|
extern void agecontact(struct natstr *np);
|
||||||
|
|
|
@ -80,11 +80,9 @@ static void
|
||||||
pr_accept(struct natstr *to, natid from)
|
pr_accept(struct natstr *to, natid from)
|
||||||
{
|
{
|
||||||
static char *yes_no[] = { "YES", " NO" };
|
static char *yes_no[] = { "YES", " NO" };
|
||||||
int rej = getrejects(from, to);
|
|
||||||
int from_deity = getnatp(from)->nat_stat == STAT_GOD;
|
|
||||||
|
|
||||||
pr(" %s %s %s",
|
pr(" %s %s %s",
|
||||||
yes_no[!from_deity && (rej & REJ_TELE)],
|
yes_no[!nat_accepts(to, from, REJ_TELE)],
|
||||||
yes_no[!from_deity && (rej & REJ_ANNO)],
|
yes_no[!nat_accepts(to, from, REJ_ANNO)],
|
||||||
yes_no[!from_deity && (rej & REJ_LOAN)]);
|
yes_no[!nat_accepts(to, from, REJ_LOAN)]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,7 +78,7 @@ do_loan(void)
|
||||||
return RET_FAIL;
|
return RET_FAIL;
|
||||||
}
|
}
|
||||||
natp = getnatp(recipient);
|
natp = getnatp(recipient);
|
||||||
if (!player->god && (getrejects(player->cnum, natp) & REJ_LOAN)) {
|
if (!nat_accepts(natp, player->cnum, REJ_LOAN)) {
|
||||||
pr("%s is rejecting your loans.\n", cname(recipient));
|
pr("%s is rejecting your loans.\n", cname(recipient));
|
||||||
return RET_SYN;
|
return RET_SYN;
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,8 +107,7 @@ rea(void)
|
||||||
if (res <= 0)
|
if (res <= 0)
|
||||||
break;
|
break;
|
||||||
if (*kind == 'a') {
|
if (*kind == 'a') {
|
||||||
if ((getnatp(tgm.tel_from)->nat_stat != STAT_GOD
|
if ((!nat_accepts(np, tgm.tel_from, REJ_ANNO))
|
||||||
&& (getrejects(tgm.tel_from, np) & REJ_ANNO))
|
|
||||||
|| tgm.tel_date < then) {
|
|| tgm.tel_date < then) {
|
||||||
res = tel_read_body(telfp, mbox, &tgm, NULL, NULL);
|
res = tel_read_body(telfp, mbox, &tgm, NULL, NULL);
|
||||||
if (res < 0)
|
if (res < 0)
|
||||||
|
|
|
@ -92,8 +92,7 @@ tele(void)
|
||||||
kk++;
|
kk++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!player->god
|
if (!nat_accepts(natp, player->cnum, REJ_TELE)) {
|
||||||
&& (getrejects(player->cnum, natp) & REJ_TELE)) {
|
|
||||||
pr("%s is rejecting your telegrams.\n", cname(to));
|
pr("%s is rejecting your telegrams.\n", cname(to));
|
||||||
return RET_SYN;
|
return RET_SYN;
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,9 +90,10 @@ relations_with(natid us, natid them)
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
getrejects(natid them, struct natstr *np)
|
nat_accepts(struct natstr *np, natid them, int what)
|
||||||
{
|
{
|
||||||
return np->nat_rejects[them];
|
return getnatp(them)->nat_stat == STAT_GOD
|
||||||
|
|| !(np->nat_rejects[them] & what);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -88,7 +88,7 @@ setrel(natid us, natid them, int rel)
|
||||||
pr("%s\n", addendum);
|
pr("%s\n", addendum);
|
||||||
mpr(us, "Diplomatic relations with %s %s to \"%s\".\n",
|
mpr(us, "Diplomatic relations with %s %s to \"%s\".\n",
|
||||||
cname(them), whichway, relates[rel]);
|
cname(them), whichway, relates[rel]);
|
||||||
if (mynp->nat_stat == STAT_GOD || !(getrejects(us, themnp) & REJ_TELE))
|
if (nat_accepts(themnp, us, REJ_TELE))
|
||||||
mpr(them,
|
mpr(them,
|
||||||
"Country %s has %s their relations with you to \"%s\"!\n",
|
"Country %s has %s their relations with you to \"%s\"!\n",
|
||||||
prnat(mynp), whichway, relates[rel]);
|
prnat(mynp), whichway, relates[rel]);
|
||||||
|
|
|
@ -153,8 +153,7 @@ typed_wu(natid from, natid to, char *message, int type)
|
||||||
for (to = 0; NULL != (np = getnatp(to)); to++) {
|
for (to = 0; NULL != (np = getnatp(to)); to++) {
|
||||||
if (np->nat_stat < STAT_SANCT)
|
if (np->nat_stat < STAT_SANCT)
|
||||||
continue;
|
continue;
|
||||||
if (getnatp(from)->nat_stat != STAT_GOD
|
if (!nat_accepts(np, from, REJ_ANNO))
|
||||||
&& (getrejects(from, np) & REJ_ANNO))
|
|
||||||
continue;
|
continue;
|
||||||
if (!np->nat_ann || !tel.tel_cont) {
|
if (!np->nat_ann || !tel.tel_cont) {
|
||||||
np->nat_ann++;
|
np->nat_ann++;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue