heres a decent weather setup for a private server-
in zone.cpp
line 818 should read:
Code:
Weather_Timer = new Timer((MakeRandomInt(1, 2700000)));
then change lines 1289-1292 to
Code:
if(zone->zone_weather != zone->weather_type)
weatherTime = (MakeRandomInt(1, 2700000));
else
weatherTime = (MakeRandomInt(1, 2700000));
i find this to be much better then using perl scripts, the only problem is the code does not seem to generate random weather intensity, which you can do quite easily in perl scripts (some of the high intensity rain/snow settings are quite awesome, the default rain/snow intensity seen in eqemu is really low and crappy compared to what is capable)
I noticed however, on line 2018,
Code:
if(zone_weather>0)
outapp->pBuffer[4] = 0x10+MakeRandomInt(0, 9); // This number changes in the packets, intensity?
if this is correct, and this is the random intensity, then the values must be changed to 0, 60 rather then 0, 9. This would mean that the random intensity can only be between 0 and 9, which are very low. Changing the value higher will produce much different rain/snow storms. I have yet to test this out but I will get to it sometime