(sctstr): New member sct_dterr.
(terr): Let the deity set it, and default the field argument to it. (sect_ca): New selector dterr.
This commit is contained in:
parent
602b2a07cb
commit
db1ac2edf4
4 changed files with 16 additions and 5 deletions
|
@ -55,6 +55,7 @@ struct sctstr {
|
||||||
unsigned char sct_terr1; /* territory 1 id # of sector */
|
unsigned char sct_terr1; /* territory 1 id # of sector */
|
||||||
unsigned char sct_terr2; /* territory 2 id # of sector */
|
unsigned char sct_terr2; /* territory 2 id # of sector */
|
||||||
unsigned char sct_terr3; /* territory 3 id # of sector */
|
unsigned char sct_terr3; /* territory 3 id # of sector */
|
||||||
|
unsigned char sct_dterr; /* deity's territory # */
|
||||||
coord sct_dist_x; /* Dist sector */
|
coord sct_dist_x; /* Dist sector */
|
||||||
coord sct_dist_y;
|
coord sct_dist_y;
|
||||||
short sct_avail; /* available workforce for "other things" */
|
short sct_avail; /* available workforce for "other things" */
|
||||||
|
|
|
@ -12,12 +12,15 @@ In this sense it is essentially an extended \*Qrealm\*U.
|
||||||
However, you are not limited to rectangular regions and you have
|
However, you are not limited to rectangular regions and you have
|
||||||
99 values to choose from.
|
99 values to choose from.
|
||||||
.s1
|
.s1
|
||||||
There are four independent territory fields. If the optional field
|
There are four independent territory fields terr, terr1, terr2, terr3
|
||||||
argument is empty, field 0 is used.
|
selected by field arguments 0, 1, 2, 3, respectively. Deities can use
|
||||||
|
an additional territory field dterr, selected by -1. If the optional
|
||||||
|
field argument is empty, terr is assumed for mortals and dterr for
|
||||||
|
deities.
|
||||||
.s1
|
.s1
|
||||||
.EX territory #1 5 1
|
.EX territory #1 5 1
|
||||||
.s1
|
.s1
|
||||||
Would set terr1 field to 5 for all sectors in realm 1.
|
Would set terr1 to 5 for all sectors in realm 1.
|
||||||
.s1
|
.s1
|
||||||
.EX sect * ?terr1=6&terr2=12
|
.EX sect * ?terr1=6&terr2=12
|
||||||
.s1
|
.s1
|
||||||
|
|
|
@ -55,10 +55,10 @@ terr(void)
|
||||||
|
|
||||||
if (!snxtsct(&nstr, player->argp[1]))
|
if (!snxtsct(&nstr, player->argp[1]))
|
||||||
return RET_SYN;
|
return RET_SYN;
|
||||||
if (player->argp[3] && isdigit(*(player->argp[3]))) {
|
if (player->argp[3]) {
|
||||||
field = atoi(player->argp[3]);
|
field = atoi(player->argp[3]);
|
||||||
} else {
|
} else {
|
||||||
field = 0;
|
field = player->god ? -1 : 0;
|
||||||
}
|
}
|
||||||
while (nxtsct(&nstr, §)) {
|
while (nxtsct(&nstr, §)) {
|
||||||
if (!player->owner)
|
if (!player->owner)
|
||||||
|
@ -87,6 +87,12 @@ terr(void)
|
||||||
case 3:
|
case 3:
|
||||||
sect.sct_terr3 = terr_n;
|
sect.sct_terr3 = terr_n;
|
||||||
break;
|
break;
|
||||||
|
case -1:
|
||||||
|
if (player->god) {
|
||||||
|
sect.sct_dterr = terr_n;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
/* fall through */
|
||||||
default:
|
default:
|
||||||
sect.sct_terr = terr_n;
|
sect.sct_terr = terr_n;
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,6 +131,7 @@ struct castr sect_ca[] = {
|
||||||
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_terr1), "terr1", EF_BAD},
|
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_terr1), "terr1", EF_BAD},
|
||||||
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_terr2), "terr2", EF_BAD},
|
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_terr2), "terr2", EF_BAD},
|
||||||
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_terr3), "terr3", EF_BAD},
|
{NSC_UCHAR, 0, 0, fldoff(sctstr, sct_terr3), "terr3", EF_BAD},
|
||||||
|
{NSC_UCHAR, NSC_DEITY, 0, fldoff(sctstr, sct_dterr), "dterr", EF_BAD},
|
||||||
{NSC_XCOORD, 0, 0, fldoff(sctstr, sct_dist_x), "xdist", EF_BAD},
|
{NSC_XCOORD, 0, 0, fldoff(sctstr, sct_dist_x), "xdist", EF_BAD},
|
||||||
{NSC_YCOORD, 0, 0, fldoff(sctstr, sct_dist_y), "ydist", EF_BAD},
|
{NSC_YCOORD, 0, 0, fldoff(sctstr, sct_dist_y), "ydist", EF_BAD},
|
||||||
{NSC_SHORT, 0, 0, fldoff(sctstr, sct_avail), "avail", EF_BAD},
|
{NSC_SHORT, 0, 0, fldoff(sctstr, sct_avail), "avail", EF_BAD},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue