/
--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.