Jump to content

A20 Weather Mod


Recommended Posts

Is anyone aware of a mod for A20 that allows you to change the settings for the weather? I feel it is much too "aggressive" than in A19. I'd like to be able to have it less random and have more sun time. Just some type of mod to control the weather, even if it's random days (sunny for 4 days, rain for 1 day, sunny for 2 days, fog for 1 day, etc).


Is there a mod that exists? I feel the new weather system is terrible. 

Link to comment
Share on other sites

Doughphungus is the man to ask, mj: he had a very, very good environment mod in A19, and you could probably download it, study it for a short while, and then try bits of it yourself - and likely be quite successful. Many of my old A18-19 mods are working without issue, with a probably equal number that have to have a name-change here or there. I would not be surprised if Dough's not already got one near release right now. In general - the Biomes.xml is the easiest of all the files to work with.


Edited by paulj_3 (see edit history)
Link to comment
Share on other sites



First: I've heard a lot of people complaining about the weird weather changes, and the weather got some rework in a20 so I bet the devs will make some more changes to make it more natural...


My "Punishing Weather" modlets have been converted to a20.  The weather system/XML has changed a bit so I just rebuilt it and tried to emulate teh same "theory" on how I build them, which is essentially "flip the good weather chance and bad weather chances around so its mostly bad all the time" and "make the extremes for each biome more extreme" (usually temperature and wind).  When/if the game allows you to die from extreme hot/cold I'll likely make "death packs" for the biomes so you have like a 10% chance of death by temperature unless you're wearing a lot of appropriate clothing and mods for temp regulation, or if you are in your base and by heat/cold sources...  anyway...


I'm not aware of a way to change the "weather for a day" (Sunny for 4 days, rain for 1 day, sunny for 2 days, fog for 1 day, etc) as the "global weather" is untouchable by XML, you can only tweak the global weather per biome for a few things (like the global weather will be 75 and you can only say "snow biome is 40 degress colder than this by "default" but a storm is 60 degrees colder).


There is a DMT "seasonal weather" mod for a19 that can control the global weather from @khzmusik here, but i think its still only for a19.  And its DMT and not XML so it may be more difficult to tweak if you're not familiar with DMT mods. Maybe this one could be tweaked to do a "daily global weather condition", like trigger the global temp or precipitation to disallow storms or something, or "seasons" would be enough of what you're wanting but even then you may wish to tweak the biomes.xml...


Also: Just so you know the a20 version of my "PunishingWeather-Core" here on github is pretty well documented in the biomes.xml on what I'm changing and why.  I would also suggest looking at the top of the games "biomes.xml" file as the devs made some documentation there for what teh numbers and weather parameters can be and mean.


In my mod, for example, looking at these sections for each biome (snow biome for example) I have this which makes the "default" weather for the snow biome (usually cold and a little snowy) occur 14% of the time instead of 44%.  Then I ramp up the probabilities of it being a "storm".

<!-- Purpose: Increase prob of worse weather conditions. Must add up to 100 -->
<set xpath="/worldgeneration/biomes/biome[@name='snow']/weather[@name='default']/@prob">14</set> <!-- DOUGH: Default prob="44" --> 
<set xpath="/worldgeneration/biomes/biome[@name='snow']/weather[@name='fog']/@prob">10</set> <!-- DOUGH: Default prob="8" -->
<set xpath="/worldgeneration/biomes/biome[@name='snow']/weather[@name='snow']/@prob">40</set> <!-- DOUGH: Default prob="40" -->
<set xpath="/worldgeneration/biomes/biome[@name='snow']/weather[@name='storm']/@prob">36</set> <!-- DOUGH: Default prob="8" -->


Which alters this part of biomes.xml, where the weather probabilities are defined:

<!-- Snow Main Biome -->
	<biome name="snow" topsoil_block="terrSnow" biomemapcolor="#FFFFFF" lootstage_modifier = "1" lootstage_bonus="20">

		<spectrum name="snow"/>

		<weather name="default" prob="44">
			<Temperature min="26" max="32" prob="1"/>
			<CloudThickness min="10" max="30" prob="1"/>
			<Precipitation min="0" max="0" prob="1"/>
			<Fog min="0" max="2" prob="1"/>
			<Wind min="10" max="25" prob="1"/>
			<ParticleEffect prefab="ParticleEffects/p_snowstorm1" ChunkMargin="7"/> <!-- only one weather can have ParticleEffects -->
		<weather name="fog" prob="8">
			<Temperature min="20" max="30" prob="1"/>
			<CloudThickness min="35" max="60" prob="1"/>
			<Precipitation min="0" max="0" prob="1"/>
			<Fog min="7" max="18" prob="1"/>
			<Wind min="5" max="6" prob="1"/>
			<spectrum name="Snowy"/>
		<weather name="snow" prob="40">
			<Temperature min="18" max="28" prob="1"/>
			<CloudThickness min="55" max="75" prob="1"/>
			<Precipitation min="30" max="60" prob="1"/>
			<Fog min="1" max="5" prob="1"/>
			<Wind min="18" max="25" prob="1"/>
			<spectrum name="Snowy"/>
		<weather name="storm" prob="8">
			<Temperature min="12" max="18" prob="1"/>
			<CloudThickness min="90" max="100" prob="1"/>
			<Precipitation min="70" max="100" prob="1"/>
			<Fog min="5" max="15" prob="1"/>
			<Wind min="45" max="50" prob="1"/>
			<spectrum name="Snowy"/>


I also change up what a "default" and "snow" and storm" are for the other metrics ( Wind, Precipitation, etc) in other parts of the mod

Link to comment
Share on other sites

5 hours ago, doughphunghus said:

There is a DMT "seasonal weather" mod for a19 that can control the global weather from @khzmusik here, but i think its still only for a19.


Just FYI, that mod will definitely not work for A20. It uses a vanilla C# method that existed in A19 but was removed altogether in A20.


I looked into updating that mod - briefly (I'm working on other things first) - and it's going to be difficult to do. Significantly, the A20 weather system does not seem to pay attention to the global temperature much, if at all. There is probably another way to do it, but I haven't found it yet.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...