Welcome to the Builder Academy

Question New Sector Type Weather Effects

More
07 May 2018 16:50 #8044 by Sapphire
I have new sector types (Snow and Desert) coded into TBA and loading fine into the room editor, and I also have weather effect types for snow/icestorm/sandstorm/duststorm coded in, but inactive. The issue I'm running into is TBA's global pressure system which is quite nice! I'm thinking of approaching this project from db.c to use the existing weather pressure system without modifying how it functions. IE: 960 or 1060 pressure run their typical weather messages in all other zones besides Snow or Desert, and while in Snow or Desert sectors the same weather pressures will send different messages for players in those zones than the rest of the world. This shouldn't be an issue with immersion as pressure cannot be seen by players below god level.

How might I approach doing this? Even if it's just a baseline/general idea, anything would be of help at this point. Thanks a mil!

Please Log in or Create an account to join the conversation.

More
08 May 2018 06:46 #8050 by WhiskyTest
You could create a new global weather_data structure for each new climate.
Define it in db.c like the existing 'weather_info', and alter the functions inside weather.c to be passed a particular weather_data struct instead of void.

I remember seeing this snippet too, which converts global weather to each zone having its own weather patterns:

www.circlemud.org/pub/CircleMUD/contrib/src/zones/ weather.tar.gz

This might break the continuity for some areas, but would be good for say - different planets for example.

Perhaps a combination would suit your world?

Please Log in or Create an account to join the conversation.

More
09 May 2018 19:11 #8055 by Sapphire
Thanks, WhiskyTest, I'll look at this for some clues in how to merge what they were doing in that code piece with the pressure system in TBA. I appreciate you looking at this for me.

Please Log in or Create an account to join the conversation.

Time to create page: 0.177 seconds