This commit is contained in:
keni
2015-03-31 13:08:18 -04:00
9 changed files with 32 additions and 0 deletions

View File

@@ -2922,6 +2922,10 @@ SHELLERS
A list of users who are allowed to use the shell escape command (!). The
syntax is the same as WIZARDS.
.lp
EXPLORERS
A list of users who are allowed to use the explore mode. The
syntax is the same as WIZARDS.
.lp
MAXPLAYERS
Limit the maximum number of games that can be running at the same time.
.lp

View File

@@ -3494,6 +3494,10 @@ asterisk (*) allows anyone to start a game in wizard mode.
A list of users who are allowed to use the shell escape command (!).
The syntax is the same as WIZARDS.
%.lp
\item[\ib{EXPLORERS}]
A list of users who are allowed to use the explore mode.
The syntax is the same as WIZARDS.
%.lp
\item[\ib{MAXPLAYERS}]
Limit the maximum number of games taht can be running at the same time.
%.lp

View File

@@ -10,6 +10,7 @@ struct sysopt {
char *support; /* local support contact */
char *recover; /* how to run recover - may be overridden by win port */
char *wizards;
char *explorers;
char *shellers; /* like wizards, for ! command (-DSHELL) */
char *debugfiles; /* files to show debugplines in. '*' is all. */
int env_dbgfl; /* 1: debugfiles comes from getenv("DEBUGFILES")

View File

@@ -509,6 +509,14 @@ enter_explore_mode(VOID_ARGS)
} else if (discover) {
You("are already in explore mode.");
} else {
#ifdef SYSCF
if (!sysopt.explorers ||
!sysopt.explorers[0] ||
!check_user_string(sysopt.explorers)) {
You("cannot access explore mode.");
return 0;
}
#endif
pline(
"Beware! From explore mode there will be no return to normal game.");
if (paranoid_query(ParanoidQuit,

View File

@@ -2184,6 +2184,9 @@ int src;
} else if (src == SET_IN_SYS && match_varname(buf, "SHELLERS", 8)) {
if (sysopt.shellers) free(sysopt.shellers);
sysopt.shellers = dupstr(bufp);
} else if (src == SET_IN_SYS && match_varname(buf, "EXPLORERS", 7)) {
if (sysopt.explorers) free(sysopt.explorers);
sysopt.explorers = dupstr(bufp);
} else if (src == SET_IN_SYS && match_varname(buf, "DEBUGFILES", 5)) {
if (sysopt.debugfiles) free(sysopt.debugfiles);
/* if showdebug() has already been called (perhaps we've added

View File

@@ -437,6 +437,11 @@ struct obj *otmp;
"Only Amiga makes it possible.",
"CATS have all the answers.",
#endif
"This mail complies with the Yendorian Anti-Spam Act (YASA)",
"Please find enclosed a small token to represent your Owlbear",
"**FR33 P0T10N 0F FULL H34L1NG**",
"Please return to sender (Asmodeus)",
"Buy a potion of gain level for only $19.99! Guaranteed to be blessed!",
"Invitation: Visit the NetHack web site at http://www.nethack.org!"
};

View File

@@ -33,6 +33,7 @@ sys_early_init()
#endif
sysopt.env_dbgfl = 0; /* haven't checked getenv("DEBUGFILES") yet */
sysopt.shellers = NULL;
sysopt.explorers = NULL;
sysopt.maxplayers = 0; /* XXX eventually replace MAX_NR_OF_PLAYERS */
/* record file */

View File

@@ -14,6 +14,9 @@ WIZARDS=root games
# Uses the same syntax as the WIZARDS option above.
#SHELLERS=
# Users allowed to use #exploremode. Same syntax as WIZARDS above.
EXPLORERS=*
# Show debugging information originating from these source files.
# Use '*' for all, or list source files separated by spaces.
# Only available if game has been compiled with DEBUG.

View File

@@ -14,6 +14,9 @@ WIZARDS=*
# Uses the same syntax as the WIZARDS option above.
#SHELLERS=
# Users allowed to use #exploremode. Same syntax as WIZARDS above.
EXPLORERS=*
# Show debugging information originating from these source files.
# Use '*' for all, or list source files separated by spaces.
# Only available if game has been compiled with DEBUG.