I wanted a more 'normal' calendar of 12 months composed of 30 days. In utils.h #define SECS_PER_MUD_HOUR 124 #define SECS_PER_MUD_DAY (24*SECS_PER_MUD_HOUR) #define SECS_PER_MUD_MONTH (30*SECS_PER_MUD_DAY) #define SECS_PER_MUD_YEAR (12*SECS_PER_MUD_MONTH) In act.informative.c do_time /* 30 days in a month */ weekday = ((30 * time_info.month) + time_info.day + 1) % 7; In weather.c another_hour() if (time_info.hours > 23) { /* Changed by HHS due to bug ??? */ time_info.hours -= 24; time_info.day++; if (time_info.day > 29) { // originally 34 time_info.day = 0; time_info.month++; if (time_info.month > 11) { // originally 16 time_info.month = 0; time_info.year++; In weather.c weather_change() if ((time_info.month >= 6) && (time_info.month <= 11)) In db.c reset_time() if ((time_info.month >= 5) && (time_info.month <= 8)) By increasing the SECS_PER_MUD_HOUR to 124 it keeps the length of Mud year almost exactly the same(1071360 secs per year instead of 107100) so players don't grow senile quickly. But, I wanted that to only affect weather and time, and for the regen rates not to slow so.. In comm.c heartbeat() if (!(pulse % (SECS_PER_MUD_HOUR * PASSES_PER_SEC))) weather_and_time(1); if (!(pulse % (75 * PASSES_PER_SEC))) { affect_update(); point_update(); fflush(player_fl); } Course in constants.c you'd need to erase 5 of the month_names so there are only 12(duh). I think that was everything. Angelfire for your free web-based e-mail. http://www.angelfire.com -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/11/01 PDT