(rea): Set parameters for read to [yes|no|<CNUM/CNAME>].
Add parameters for read in the command list and the info pages. Closes #1010010.
This commit is contained in:
parent
782474a6c3
commit
92ac36ec56
3 changed files with 24 additions and 13 deletions
|
@ -1,20 +1,28 @@
|
||||||
.TH Command READ
|
.TH Command READ
|
||||||
.NA read "Read your telegrams"
|
.NA read "Read your telegrams"
|
||||||
.LV Basic
|
.LV Basic
|
||||||
.SY "read"
|
.SY "read [yes|no|<CNUM/CNAME>]"
|
||||||
The read command is used to read the telegrams sent you
|
The read command is used to read the telegrams sent you
|
||||||
by other countries and by the game,
|
by other countries and by the game,
|
||||||
(e.g. when you make a sale or are attacked).
|
(e.g. when you make a sale or are attacked).
|
||||||
.sp
|
.sp
|
||||||
|
After reading all your telegrams you may delete them by
|
||||||
|
specifying \*Qyes\*U or not by specifying \*Qno\*U as an argument.
|
||||||
|
If an argument is not supplied then you will be prompted
|
||||||
|
to either answer \*Qyes\*U or \*Qno\*U to delete the telegrams.
|
||||||
|
If you supply or answer \*Qno\*U, the telegrams will remain
|
||||||
|
pending but you will not be reminded of them.
|
||||||
|
.sp
|
||||||
|
Deities can specify a <CNUM/CNAME> argument which
|
||||||
|
selects a country's telegrams to read.
|
||||||
|
If the <CNUM/CNAME> argument is supplied, the telegrams can not be deleted.
|
||||||
|
.sp
|
||||||
When telegrams arrive you are informed with:
|
When telegrams arrive you are informed with:
|
||||||
.NF
|
.NF
|
||||||
\*QYou have a new telegram waiting ...\*U if there is just one new one, or
|
\*QYou have a new telegram waiting ...\*U if there is just one new one, or
|
||||||
\*QYou have ten new telegrams waiting ...\*U if there are ten of them, or
|
\*QYou have ten new telegrams waiting ...\*U if there are ten of them, or
|
||||||
\*QYou have several new telegrams waiting ...\*U if there are very many.
|
\*QYou have several new telegrams waiting ...\*U if there are very many.
|
||||||
.FI
|
.FI
|
||||||
After reading all your telegrams you may discard them by answering \*Qyes\*U to
|
|
||||||
the question posed. If you answer \*Qno\*U the telegrams will remain
|
|
||||||
pending but you will not be reminded of them.
|
|
||||||
.s1
|
.s1
|
||||||
This command reads only
|
This command reads only
|
||||||
telegrams & bulletins, use the 'wire' command to read announcements.
|
telegrams & bulletins, use the 'wire' command to read announcements.
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include "tel.h"
|
#include "tel.h"
|
||||||
#include "commands.h"
|
#include "commands.h"
|
||||||
#include "optlist.h"
|
#include "optlist.h"
|
||||||
|
#include "match.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
@ -77,24 +78,29 @@ rea(void)
|
||||||
time_t delta;
|
time_t delta;
|
||||||
int first = 1;
|
int first = 1;
|
||||||
int readit;
|
int readit;
|
||||||
|
int may_delete = 1; /* may messages be deleted? */
|
||||||
|
|
||||||
memset(kind, 0, sizeof(kind));
|
memset(kind, 0, sizeof(kind));
|
||||||
now = time(NULL);
|
now = time(NULL);
|
||||||
|
|
||||||
if (*player->argp[0] == 'w') {
|
if (*player->argp[0] == 'w') {
|
||||||
sprintf(kind, "announcement");
|
strcpy(kind, "announcement");
|
||||||
if (player->argp[1] && isdigit(*player->argp[1])) {
|
if (player->argp[1] && isdigit(*player->argp[1])) {
|
||||||
delta = days(atoi(player->argp[1]));
|
delta = days(atoi(player->argp[1]));
|
||||||
then = now - delta;
|
then = now - delta;
|
||||||
|
may_delete = 0;
|
||||||
} else
|
} else
|
||||||
then = np->nat_annotim;
|
then = np->nat_annotim;
|
||||||
mbox = annfil;
|
mbox = annfil;
|
||||||
} else {
|
} else {
|
||||||
sprintf(kind, "telegram");
|
strcpy(kind, "telegram");
|
||||||
if (player->god && player->argp[1] != 0) {
|
if (player->god && player->argp[1] &&
|
||||||
|
(mineq(player->argp[1], "yes") == ME_MISMATCH) &&
|
||||||
|
(mineq(player->argp[1], "no") == ME_MISMATCH)) {
|
||||||
if ((n = natarg(player->argp[1], "")) < 0)
|
if ((n = natarg(player->argp[1], "")) < 0)
|
||||||
return RET_SYN;
|
return RET_SYN;
|
||||||
num = n;
|
num = n;
|
||||||
|
may_delete = 0;
|
||||||
}
|
}
|
||||||
mbox = mailbox(mbox_buf, num);
|
mbox = mailbox(mbox_buf, num);
|
||||||
clear_telegram_is_new(player->cnum);
|
clear_telegram_is_new(player->cnum);
|
||||||
|
@ -167,7 +173,7 @@ rea(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
p = NULL;
|
p = NULL;
|
||||||
if (teles > 0 && player->cnum == num) { /* } */
|
if (teles > 0 && player->cnum == num && may_delete) {
|
||||||
pr("\n");
|
pr("\n");
|
||||||
if (teles == 1) {
|
if (teles == 1) {
|
||||||
if (chance(0.25))
|
if (chance(0.25))
|
||||||
|
@ -180,9 +186,6 @@ rea(void)
|
||||||
else
|
else
|
||||||
p = "Can I throw away these old love letters? ";
|
p = "Can I throw away these old love letters? ";
|
||||||
}
|
}
|
||||||
if (player->god && *kind == 't')
|
|
||||||
p = getstarg(player->argp[2], p, buf);
|
|
||||||
else
|
|
||||||
p = getstarg(player->argp[1], p, buf);
|
p = getstarg(player->argp[1], p, buf);
|
||||||
if (p && *p == 'y') {
|
if (p && *p == 'y') {
|
||||||
if ((filelen = fsize(fileno(telfp))) > size) {
|
if ((filelen = fsize(fileno(telfp))) > size) {
|
||||||
|
|
|
@ -192,7 +192,7 @@ struct cmndstr player_coms[] = {
|
||||||
{"quit", 0, quit, 0, VIS},
|
{"quit", 0, quit, 0, VIS},
|
||||||
{"radar <SHIPS | SECTS>", 1, rada, 0, NORM + CAP},
|
{"radar <SHIPS | SECTS>", 1, rada, 0, NORM + CAP},
|
||||||
{"range <PLANES> <range>", 1, range, C_MOD, NORM + CAP},
|
{"range <PLANES> <range>", 1, range, C_MOD, NORM + CAP},
|
||||||
{"read", 0, rea, C_MOD, VIS},
|
{"read [yes|no|<CNUM/CNAME>]", 0, rea, C_MOD, VIS},
|
||||||
{"realm <number> [<SECTS>]", 0, real, C_MOD, NORM},
|
{"realm <number> [<SECTS>]", 0, real, C_MOD, NORM},
|
||||||
{"recon <spy-PLANES> <fighter-PLANES> <ap-SECT> <PATH|DESTINATION>", 3,
|
{"recon <spy-PLANES> <fighter-PLANES> <ap-SECT> <PATH|DESTINATION>", 3,
|
||||||
reco, C_MOD, NORM + MONEY + CAP},
|
reco, C_MOD, NORM + MONEY + CAP},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue