in act_wiz.c function do_setweather
else if( !str_cmp( arg, "unit" ) )
if( !is_number( argument ) )
ch_printf( ch, "Set weather unit " "size to what?\r\n" );
weath_unit = atoi( argument );
ch_printf( ch, "Weather unit size " "now equals %d.\r\n", weath_unit );
Now up to you on how you go about doing so, but I would suggest not letting weath_unit become -#. Under the limited testing I did, when this one is set to a -# it can throw off the area settings and likly crash you when it trys to get the weather messages for an area.
else if( !str_cmp( arg, "update" ) )
int i, number;
number = atoi( argument );
if( number < 1 )
number = 1;
for( i = 0; i < number; i++ )
ch_printf( ch, "Weather system updated.\r\n" );
I would suggest limitting what all number could be. If someone does "setweather update 2000000000" it can cause verious problems. If you use the alarm to catch loops it will trigger it. It can eat up all the cpu on the server. And at the very least it can spend 10+ mins working on getting to 2bil (during which time the mud lags the whole time).