(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_terr2; /* territory 2 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_y;
|
||||
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
|
||||
99 values to choose from.
|
||||
.s1
|
||||
There are four independent territory fields. If the optional field
|
||||
argument is empty, field 0 is used.
|
||||
There are four independent territory fields terr, terr1, terr2, terr3
|
||||
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
|
||||
.EX territory #1 5 1
|
||||
.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
|
||||
.EX sect * ?terr1=6&terr2=12
|
||||
.s1
|
||||
|
|
|
@ -55,10 +55,10 @@ terr(void)
|
|||
|
||||
if (!snxtsct(&nstr, player->argp[1]))
|
||||
return RET_SYN;
|
||||
if (player->argp[3] && isdigit(*(player->argp[3]))) {
|
||||
if (player->argp[3]) {
|
||||
field = atoi(player->argp[3]);
|
||||
} else {
|
||||
field = 0;
|
||||
field = player->god ? -1 : 0;
|
||||
}
|
||||
while (nxtsct(&nstr, §)) {
|
||||
if (!player->owner)
|
||||
|
@ -87,6 +87,12 @@ terr(void)
|
|||
case 3:
|
||||
sect.sct_terr3 = terr_n;
|
||||
break;
|
||||
case -1:
|
||||
if (player->god) {
|
||||
sect.sct_dterr = terr_n;
|
||||
break;
|
||||
}
|
||||
/* fall through */
|
||||
default:
|
||||
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_terr2), "terr2", 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_YCOORD, 0, 0, fldoff(sctstr, sct_dist_y), "ydist", EF_BAD},
|
||||
{NSC_SHORT, 0, 0, fldoff(sctstr, sct_avail), "avail", EF_BAD},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue