/* ************************************************************************ * File: weather.c Part of CircleMUD * * Usage: functions handling time and the weather * * * * All rights reserved. See license.doc for complete information. * * * * Copyright (C) 1993, 94 by the Trustees of the Johns Hopkins University * * CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991. * ************************************************************************ */ #include "conf.h" #include "sysdep.h" #include "structs.h" #include "utils.h" #include "comm.h" #include "handler.h" #include "interpreter.h" #include "db.h" extern struct time_info_data time_info; void another_hour(int mode); void another_hour(int mode) { time_info.hours++; if (mode) { switch (time_info.hours) { case 5: weather_info.sunlight = SUN_RISE; send_to_outdoor("The sun rises in the east.\r\n"); break; case 6: weather_info.sunlight = SUN_LIGHT; send_to_outdoor("The day has begun.\r\n"); break; case 21: weather_info.sunlight = SUN_SET; send_to_outdoor("The sun slowly disappears in the west.\r\n"); break; case 22: weather_info.sunlight = SUN_DARK; send_to_outdoor("The night has begun.\r\n"); break; default: break; } } if (time_info.hours > 23) { /* Changed by HHS due to bug ??? */ time_info.hours -= 24; time_info.day++; if (time_info.day > 34) { time_info.day = 0; time_info.month++; if (time_info.month > 16) { time_info.month = 0; time_info.year++; } } } }