.TH Command EDIT
.NA edit "Change stats of country, ship, land unit, or plane"
.LV Expert
-.SY "edit <country|unit|ship|plane|nuke>"
-Once you specify what you want to edit, the server will tell you what
-to do. Hit return to get out of the prompter.
+.SY "edit <country|land|unit|ship|plane|nuke> [<KEY> <VALUE>]..."
+The \*Qedit\*U command allows deities to edit properties of a country,
+sector (confusingly called <land> here), land unit, ship, plane or
+nuke.
+.s1
+If you don't specify any <KEY> <VALUE> pair, \*Qedit\*U enters
+interactive mode. Editable properties are shown together with their
+keys and values. Enter a key character and a value to change a
+property. Hit return to finish the command.
+.s1
+You can also specify one or more <KEY> <VALUE> pairs as command
+arguments. In this case, \*Qedit\*U just sets the properties, and
+does not enter interactive mode.
.SA "setsector, setresource, give, Deity"
int num;
int arg;
int err;
+ int arg_index = 3;
coord x, y;
float farg;
natid nat;
pr_land(&land);
break;
}
- } else if (player->argp[4] != 0)
- (void)strcat(player->argp[3], player->argp[4]);
+ }
ptr = &buf[0];
*ptr = 0;
for (;;) {
- if ((err = getin(&thing, &ptr, &arg, buf)) != RET_OK) {
- if (err == END) {
- switch (ewhat) {
- case 'c':
- prnat(nat);
- break;
- case 'l':
- prsect(§);
- break;
- case 's':
- pr_ship(&ship);
- break;
- case 'u':
- pr_land(&land);
- break;
- case 'p':
- pr_plane(&plane);
- break;
- }
- break;
+ if (player->argp[arg_index] != 0) {
+ if (player->argp[arg_index+1] != 0) {
+ thing = player->argp[arg_index++];
+ ptr = player->argp[arg_index++];
+ arg = atoi(ptr);
} else
- return err;
+ return RET_SYN;
}
+ else if (arg_index == 3) {
+ if ((err = getin(&thing, &ptr, &arg, buf)) != RET_OK) {
+ if (err == END) {
+ switch (ewhat) {
+ case 'c':
+ prnat(nat);
+ break;
+ case 'l':
+ prsect(§);
+ break;
+ case 's':
+ pr_ship(&ship);
+ break;
+ case 'u':
+ pr_land(&land);
+ break;
+ case 'p':
+ pr_plane(&plane);
+ break;
+ }
+ break;
+ } else
+ return err;
+ }
+ } else
+ break;
switch (ewhat) {
case 'c':
farg = atof(ptr);
return RET_FAIL;
break;
case 'u':
- farg = atof(ptr);
if ((err = dounit(thing[0], arg, ptr, &land))
!= RET_OK)
return err;
{"drop <cargo-PLANES> <fighter-PLANES> <ap-SECT> <PATH|DESTINATION> <COMM>", 1, drop, C_MOD, NORM + MONEY + CAP},
{"dump <SECTS> [<fields>]", 0, dump, 0, NORM},
{"echo [<string>]", 0, echo, 0, NORM},
- {"edit <country|land|unit|ship|plane|nuke>", 0, edit, C_MOD, GOD},
+ {"edit <country|land|unit|ship|plane|nuke> [<KEY> <VALUE>]...", 0, edit, C_MOD, GOD},
{"enable", 0, enab, C_MOD, GOD},
{"enlist <SECTS> <NUM>", 2, enli, C_MOD, NORM + MONEY + CAP},
{"execute <INPUT FILE>", 0, execute, 0, VIS},