extern int getcommand(char *);
extern void init_player_commands(void);
extern void log_last_commands(void);
-extern int gamedown(void);
extern void update_timeused_login(time_t now);
extern void update_timeused(time_t now);
extern void enforce_minimum_session_time(void);
/*
* returns true if down
*/
-int
-gamedown(void)
+static int
+gamedown(int suppress_deity_message)
{
FILE *down_fp;
struct telstr tgm;
char buf[MAXTELSIZE + 1]; /* UTF-8 */
- if (player->god)
- return 0;
if ((down_fp = fopen(downfil, "rb")) == NULL)
return 0;
if (fread(&tgm, sizeof(tgm), 1, down_fp) != 1) {
return 1;
}
buf[tgm.tel_length] = 0;
+ fclose(down_fp);
+ if (player->god) {
+ if (!suppress_deity_message)
+ pr("The game is down\n");
+ return 0;
+ }
uprnf(buf);
pr("\nThe game is down\n");
- fclose(down_fp);
return 1;
}
return 0;
}
+ if (gamedown(suppress_deity_message))
+ return 0;
+
if ((natp->nat_stat != STAT_GOD && natp->nat_stat != STAT_VIS)
&& natp->nat_timeused > m_m_p_d * 60) {
pr("Max minutes per day limit exceeded.\n");
if (natp->nat_stat == STAT_ACTIVE && (player->nstat & CAP) == 0)
pr("You lost your capital... better designate one (see info capital)\n");
putnat(natp);
- if (gamedown() && !player->god) {
- pr("gamedown\n");
- return 0;
- }
return 1;
}