/* local.c -- dungeon functions which need local definition */ #include "funcs.h" /* This function should return TRUE_ if it's OK for people to play the * game, FALSE_ otherwise. If you have a working library, * you can define NONBUSINESS to disallow play Monday to Friday, 9-5 * (this is only checked at the start of the game, though). For more * complex control you will have to write your own version of this * function. */ #ifdef NONBUSINESS #ifdef BSD4_2 #include #else /* ! BSD4_2 */ #include #endif /* ! BSD4_2 */ #endif /* NONBUSINESS */ logical protected() { #ifndef NONBUSINESS return TRUE_; #else /* NONBUSINESS */ time_t t; struct tm *q; (void)time(&t); q = localtime(&t); /* Return TRUE_ if it's Sunday or Saturday or before 9 or after 5 */ if (q->tm_wday == 0 || q->tm_wday == 6) return TRUE_; else if (q->tm_hour < 9 || q->tm_hour >= 17) return TRUE_; else return FALSE_; #endif /* NONBUSINESS */ } #ifdef ALLOW_GDT /* This function should return TRUE_ if the user is allowed to invoke the * game debugging tool by typing "gdt". This isn't very useful without * the source code, and it's mainly for people trying to debug the game. * You can define WIZARDID to specify a user id on a UNIX system. On a * non AMOS, non unix system this function will have to be changed if * you want to use gdt. */ #ifndef WIZARDID #define WIZARDID (0) #endif logical wizard() { #ifdef __AMOS__ if (jobidx()->jobusr == 0x102) return TRUE_; #else #ifdef unix //if (getuid() == 0 || getuid() == WIZARDID) return TRUE_; #endif #endif return TRUE_; } #endif