Ahh yes the snow and rain effects. After I got those working I ended up using those mainly in my BFH maps. They are basically a whole bunch of emitters tied to a bundle to form a "grid" of sorts. So each area within a certain view range had it's own emitter and only one emitter was active at one time from the players view point. This was especially important with the snow fx since those used sprites. The game has a limit of around 5000 sprites at any one time. If the game goes over that, it will CTD. Particles on the other hand there is no limit. Just more = more lag.
I forgot who made some of the original coding for the rain fx, but that was the base I used when upgrading the rain fx and creating the snow fx. I didn't create the weather fx coding from scratch, but it is most certainly heavily modified from it's original version.
You can most certainly have different areas have different fx or have some fx move. The original coding simply had the same emitter object tiled across via duplicate addTemplate entries. But you can certainly introduce more unique emitters in place of repeating the same one across the grid.
You can probably put the whole bundle group on a rotational bundle and alter when and where certain weather activates. Like off and on rain that comes and goes.
An extreme example. Have some areas with snow and some areas with rain:
Tile that bundle 4 times to cover an area exactly 4 times the size of the map to ensure there is no gaps during rotation. R = Rain S = Snow
You can get creative with the patterns and types of weather in each area to achive different FX while the rotation bundle pans the whole group across the map. I prefer to have the center of rotation positioned at 0/0/0 of the map instead of putting it in the middle since then you have to figure out exactly how large the combat area is and do some math and such to figure out where the center point is. So instead I just make different size groups of the weather fx bundles and for example, have a 512x512 sized bundle grid set at 0/0/0 on the map. So if you have a rotational bundle set up then you have to have 3 more of that bundle on each corner of the center point for the rotational bundle so that the total area covered by the weather fx is 4x the size of the map it's used on so that there is always an effect bundle on the combat area while it rotates. If it's on a stationary bundle, you would then only need a bundle grid that is the same size as the map.
EDIT:
Just noticed that you would need to add more on the edges so that it extends outside the combat area. Since the bundle grids are square and not a circle (a circle would be very difficult to code accurately anyway) then as the big square rotates there will be areas on the edge of the map that will end up no being under the weather grid. So tacking on some extras on the edge would ensure the map is always going to be under the rotating weather grid. Adding more then you need shouldn't hurt since only one or two single emitters are on at any one point for the player since only the area the player is in actually renders the sprites/particles. All the other emitters are inactive due to the emitter draw distance settings.