--merc.h in struct weather_data Remove this line ---- int mmhg; (weather is now handled via percentage (10% chance snow will turn to rain, etc)) add /*weather defines*/ bool number_chance args((int num)); void show_weather args(( CHAR_DATA *ch )); bool IS_OUTDOORS args(( CHAR_DATA *ch )); to the rest of the file declares. your sky_stuff should look somethhing like this #define SKY_CLOUDLESS 0 #define SKY_CLOUDY 1 #define SKY_RAINING 2 #define SKY_LIGHTNING 3 #define SKY_SNOWING 4 #define SKY_BLIZZARD 5 #define SKY_FOGGY 6 #define SKY_HAILSTORM 7 #define SKY_THUNDERSTORM 8 #define SKY_ICESTORM 9 (this is already there, I just forget how much of it I had to add to stock) to the plr_XXX stuff add #define PLR_AUTOWEATHER (>>>) <<insert your next free bit there --act_move.c add the code (act_move.weather) after these lines { send_to_char( "Alas, you cannot go that way.\n\r", ch ); return; } +++++++++NOTE++++++++++++ These races ARE mud specific. This is the way this code was handled in the begining (back when I was working elsewhere and that's how they wanted it done). Some muds have 'em all, some don't. Adjust for your mud. --update.c remove weather_update (that's now in weather.c) --act_info.c somewhere in do_look (I've got mine before room->description) add if ( IS_SET(ch->act, PLR_AUTOWEATHER) && IS_OUTDOORS(ch)) { show_weather(ch); } in do_autolist after autoexit add send_to_char("{cautoweather ",ch); if (IS_SET(ch->act,PLR_AUTOWEATHER)) send_to_char("{gON{x\n\r",ch); else send_to_char("{rOFF{x\n\r",ch); remove do_weather (that's now in weather.c) --db.c in boot_db --search for mmhg , and strip the lines completely from the file (should be five or six of 'em) where they were, put this line weather_info.sky = SKY_CLOUDLESS; (or whatever you want the weather to start as) --act_wiz.c at the top after #include "magic.h" add DECLARE_DO_FUN(do_wset); in do_set after send_to_char(" set skill <name> <spell or skill> <value>\n\r",ch); add send_to_char(" set weather <value>\n\r",ch); after if (!str_prefix(arg,"skill") || !str_prefix(arg,"spell")) { do_function(ch, &do_sset, argument); return; } add if (!str_prefix(arg,"weather")) { do_function(ch, &do_wset, argument); return; } in magic(something).c, remove the spell control_weather. <I ferget which one it's in exactly sorry. I have rewritten most of those files> DON'T remove this from const, or the defines, as this has been just moved to weather.c to accomodate the new system. --Makefile add weather.o Don't forget to define autoweather in interp.c and interp.h. Just make a level based command like the rest of 'em there. I may have forgotten something. If I did, let me know and I'll add it to this file. This should include everything though. Oh, enjoy the code! Once you're done with all this, just make clean (rm *.o), recompile, and your mud will have autoweather ready to go.