]> git.pond.sub.org Git - empserver/blobdiff - src/lib/player/empdis.c
Update copyright notice
[empserver] / src / lib / player / empdis.c
index d8d3d687f500dee3fbe22009b3ef4e5f64bc8b75..e8df9a38b13d28462815fba450e0c06cc329a688 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2008, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *  Copyright (C) 1986-2009, Dave Pare, Jeff Bailey, Thomas Ruschak,
  *                           Ken Stevens, Steve McClure
  *
  *  This program is free software; you can redistribute it and/or modify
@@ -180,15 +180,13 @@ disable_coms(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) {
@@ -207,9 +205,14 @@ gamedown(void)
        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;
 }
 
@@ -279,7 +282,10 @@ may_play_now(struct natstr *natp, time_t now,
            return 0;
     }
 
-    if ((natp->nat_stat == STAT_ACTIVE || natp->nat_stat == STAT_SANCT)
+    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");
        return 0;