Jump to content

Better Player Humidity 1.3.0

This mod makes rain/snow/water more dangerous by adding a new core!
   (1 review)

8 Screenshots

About This File

THE MOD

In the vanilla game rain doesn't have an impact on Arthur, but now with this mod everything will change! The mod adds a new core that represents how wet your clothes are, so that rain/snow/water are a threat and not a minor inconvenience.

 

HOW DOES IT WORK

-The outline represents how much protection against wetness you have, the more clothes the longer the outline bar is (a coat is the strongest against being wet)

-The sign in the middle (either a sun or a snowflake) represent the current weather conditions

-The color of the sign indicates how accurate your current clothing is against the current weather conditions (for example a red sun means that your current clothing is to hot for current

-The outline of the core drops when: 1. it is raining 2. it is snowing 3. you are in water

-To regain the outline you have to: 1. go inside 2. warm yourself by the fire 3. if it isn't raining/snowing dry your clothes by the fire 

-By warming yourself by the fire you can fortify the core so that wetness doesn't affect you for the next couple minutes

-If the outline bar drops to zero all your cores will drain at an accelerated rate, if both your health core and wet core will drop to zero, you will suffer hypothermia (your vision will be blurred)

if you are dressed to hot for current weather (the sun will be red) your cores drain too. - this feature was removed since it didn't fit the mod and also didn't work

-And yes I know that a hot and cold mechanic is in the game, hence this mod doesn't care about temperature but the weather conditions (and water).

 

NEW -the rate at which the wet core is drained is dependent on your clothes (the more clothes the slower it drains)
NEW -stronger weather drains your wet core faster

 

KNOWN ISSUES

The core doesn't scale with other radar settings and with the weapon wheel, also I recommend playing on static core icons.

 

 

THE FUTURE

I plan on adding animations to core fortification and weather core changes.

Suggestions are welcome!

 

CHANGELOG

1.3.0 - removed the too hot effects and made so that clothes add more resistance

1.2.0 - .ini file customization and new water properties

1.1.0 - major bug fixes

1.0.0 - launch

 

 

  • Like 5
  • Thanks 3
 Share

You may also like

  • No Hitmarker Mod
    By LMS
       34305   19   2
  • Faster Schofield
    By AlZair
       8332   2   0
  • Ped Damage Overhaul
    By HughJanus
       176520   1260   5
  • No Bullet Trail Mod
    By LMS
       43851   10   3
  • RDR2 Seats
    By Shtivi
       8690   2   0
  • No Automatic Reload Ever
    By crossed99
       2633   7   0
  • User Feedback

    Recommended Comments

    Really cool idea, can it identify if you are in cold areas? Not just if it is currently snowing? For example the snowy areas in the northern section of the map?

    Link to comment
    Share on other sites

    Just now, Adman said:

    Really cool idea, can it identify if you are in cold areas? Not just if it is currently snowing? For example the snowy areas in the northern section of the map?

    It is possible but as I mentioned there is already a hot and cold mechanic in game, this mod focuses on getting wet and snow doesn’t really make you all that wet (except the boots)

    • Like 1
    Link to comment
    Share on other sites

    Nice mod. How do you deal with the changing of clothes?

    If I wear outfit x and it gets wet, can I change to outfit y to reset the meter?

    If changing back from y to x, does it make y dry again?

    Link to comment
    Share on other sites

    42 minutes ago, HughJanus said:

    Nice mod. How do you deal with the changing of clothes?

    If I wear outfit x and it gets wet, can I change to outfit y to reset the meter?

    If changing back from y to x, does it make y dry again?

    As of right now, it doesn't work like that. Basically the meter represents how wet the player is and the clothes are just the level of protection. So if you are wet in outfit x and change to outfit y your skin is technically still wet. Of course I would love to do it the way you said so that you can have spare clothes and such, but as of right now I have no idea how.

     

    edit: also thanks for the kind words!

    Edited by bolmin
    Link to comment
    Share on other sites

    2 hours ago, bolmin said:

    It is possible but as I mentioned there is already a hot and cold mechanic in game, this mod focuses on getting wet and snow doesn’t really make you all that wet (except the boots)

     

    Oh right, I thought you had meant your system replaces that, so they work side by side together? That's even better in concept.

     

    Good luck with any future changes and updates and stuff, this is an interesting way to do such a system, thanks for all the hard work.

    • Like 1
    Link to comment
    Share on other sites

    5 minutes ago, Adman said:

     

    Oh right, I thought you had meant your system replaces that, so they work side by side together? That's even better in concept.

     

    Good luck with any future changes and updates and stuff, this is an interesting way to do such a system, thanks for all the hard work.

    Thank you!

    Link to comment
    Share on other sites

    One immediate request would be control over the variables, like a separate .ini file. But all good if not, will be testing out asap 🙂

    Link to comment
    Share on other sites

    A little bit of testing, and it seems to be working fine.

     

    I tested first by heading to a river and dousing myself, and jumping in and out while the sun was shining, and all seemed functioning well, then it started raining, so my meter got stuck at 0 during that period (working as intended), I found a cave, and while in there it seemed like the outside ring was "healing" up because it recognised me as "inside"/out of the rain, but I was still showing as "cold".

     

    Didn't get long to see how that functioned exactly as I got killed while doing so lol.

     

    The penalties are very harsh once you run out of "warmth" or become too wet, but it is a good balancing system. I wonder if the "damage" that gets dealt to your cores could be lessened if the sun is out and shining while you are getting wet etc. Being in a lake or river in the sunlight in a non snowy area for example seems like a different kind of penalty to being in a river at night while it is snowing etc. That would add an extra layer of functionality there, but im not sure if it is possible.

     

    Either way, thanks for this, it is really great.

     

    I notice the symbol floats in the position of the minimap mode, but I play in compass mode, so it is floating in a weird place visually but that is also fine, maybe if you could make a version for compass/no map (where the symbol goes along the bottom with the others), but no real biggie, thanks again.

    Link to comment
    Share on other sites

    9 minutes ago, Adman said:

    A little bit of testing, and it seems to be working fine.

     

    I tested first by heading to a river and dousing myself, and jumping in and out while the sun was shining, and all seemed functioning well, then it started raining, so my meter got stuck at 0 during that period (working as intended), I found a cave, and while in there it seemed like the outside ring was "healing" up because it recognised me as "inside"/out of the rain, but I was still showing as "cold".

     

    Didn't get long to see how that functioned exactly as I got killed while doing so lol.

     

    The penalties are very harsh once you run out of "warmth" or become too wet, but it is a good balancing system. I wonder if the "damage" that gets dealt to your cores could be lessened if the sun is out and shining while you are getting wet etc. Being in a lake or river in the sunlight in a non snowy area for example seems like a different kind of penalty to being in a river at night while it is snowing etc. That would add an extra layer of functionality there, but im not sure if it is possible.

     

    Either way, thanks for this, it is really great.

     

    I notice the symbol floats in the position of the minimap mode, but I play in compass mode, so it is floating in a weird place visually but that is also fine, maybe if you could make a version for compass/no map (where the symbol goes along the bottom with the others), but no real biggie, thanks again.

    Wow! Thanks for this comprehensive feedback! So, I am actually surprised that it worked with the cave. I am a using a native that recognizes "valid interiors" so I thought it only works for houses etc, but it seems to work with more then that! The symbol not changing was intentional though, because it displays the current weather outside and how your current outfit is prepared for it, so that while you are in a building you can say "okay, I have a red snowflake so it is cold outside and and my current outfit is not enough". The thing that you mentioned about getting in water in different weather conditions is being currently implemented so don't worry about that ;-). And lastly about the minimap modes, currently I am trying to find a native that returns whether map is changed or not so I don't have to release couple versions of the mod, however if I don't come up with anything I will just release a seperate version for regular, for compass and for extended minimap.

    • Thanks 1
    Link to comment
    Share on other sites

    17 hours ago, bolmin said:

    As of right now, it doesn't work like that. Basically the meter represents how wet the player is and the clothes are just the level of protection. So if you are wet in outfit x and change to outfit y your skin is technically still wet. Of course I would love to do it the way you said so that you can have spare clothes and such, but as of right now I have no idea how.

     

    Ah, I see.

    I guess you would need a container for checking player outfits and storing them with their respective wetness (which can decrease over time).

    But you would need a native to check the current player clothes and I havent tried anything remotely similar, so I dont know if its easy (natives which support just that) or complicated (having to work around with natives who dont do that exactly) 😕

    Nevertheless, cool idea.

    Link to comment
    Share on other sites

    While the clothing change makes sense and would be cool if doable, I feel like it actually might work against the idea, as getting to your horse (to switch out clothes) is very easy, and the wet clothes would also likely come out dry immediately etc, unless that also could be done.

     

    Also there's a clothes horse joke in there somewhere, i'm just too tired.

    Link to comment
    Share on other sites

    A thought... Could you attach a restorative effect to any items? Like If booze "warmed" you up a little etc.

     

    Also if there was a button to "warm self up" when standing still, where you would be expending energy to warm up, and get water off you, which regenerates the bar, but not fast enough that you could do it in the rain and stay warm.

     

    They aren't quite as logical as the clothing change removing wetness, but they can be balanced a bit easier.

     

    Also personally I wouldn't mind if the time it takes to "dry out" was longer in general, hopefully some editable variables will be doable for us finicky types 🙂

    Edited by Adman
    Link to comment
    Share on other sites

    4 hours ago, Adman said:

    A thought... Could you attach a restorative effect to any items? Like If booze "warmed" you up a little etc.

     

    Also if there was a button to "warm self up" when standing still, where you would be expending energy to warm up, and get water off you, which regenerates the bar, but not fast enough that you could do it in the rain and stay warm.

     

    They aren't quite as logical as the clothing change removing wetness, but they can be balanced a bit easier.

     

    Also personally I wouldn't mind if the time it takes to "dry out" was longer in general, hopefully some editable variables will be doable for us finicky types 🙂

    The restorative items I have no idea how to do so as of right now I won't be touching that. Next up, I don't understand why you would need a warm self up when standing still, since when it isn't raining the wetness bar regenerates itself slowly and when you want to speed it up for some reason you have to setup a campa and use the prompt to dry clothes, there will be fade out and the bar is at maximum. As for the .INI file, it is in the works, I have done initialization files with c# but I need to learn it again with c++ so you need to wait a bit.

    • Like 1
    Link to comment
    Share on other sites

    1 hour ago, bolmin said:

    I have done initialization files with c# but I need to learn it again with c++ so you need to wait a bit.

     

    I do it like this in PDO (you can only read in integers, though):

    float ini_npcmeleemodifier = (float)GetPrivateProfileInt("PedDamageConfiguration_Advanced", "NPCMeleeModifier", 100, ".\\PedDamageOverhaul.ini") / 100;
    int ini_storypedhealth = GetPrivateProfileInt("PedDamageConfiguration_Basic", "StoryNPCHealth", 0, ".\\PedDamageOverhaul.ini");

    The first parameter is the section of the ini, the second one is the name of the ini value, the third one is the default value (if the value name is not found in the ini), the last one is the ini file path.

     

    This method I use for checking if the ini is present:

    bool does_file_exist(const char* fileName)
    {
    	std::ifstream infile(fileName);
    	return infile.good();
    }
    
    //in the script
    bool iniexists = does_file_exist(".\\PedDamageOverhaul.ini");

     

    And this one to draw the message on screen (if the enable/disable button is pressed):

    if (GetTickCount() < msgTime)
    {
    	if (modScriptState)
    	{
    		DrawText(0.4, 0.4, "PedDamageOverhaul has been ENABLED.");
    		if (iniexists) DrawText(0.6, 0.6, "ini file found.");
    		else DrawText(0.6, 0.6, "ini file not found.");
    	}
    	else DrawText(0.4, 0.4, "PedDamageOverhaul has been DISABLED.");
    }

     

    • Like 2
    Link to comment
    Share on other sites

    2 minutes ago, HughJanus said:

     

    I do it like this in PDO (you can only read in integers, though):

    
    float ini_npcmeleemodifier = (float)GetPrivateProfileInt("PedDamageConfiguration_Advanced", "NPCMeleeModifier", 100, ".\\PedDamageOverhaul.ini") / 100;
    int ini_storypedhealth = GetPrivateProfileInt("PedDamageConfiguration_Basic", "StoryNPCHealth", 0, ".\\PedDamageOverhaul.ini");

    The first parameter is the section of the ini, the second one is the name of the ini value, the third one is the default value (if the value name is not found in the ini), the last one is the ini file path.

     

    This method I use for checking if the ini is present:

    
    bool does_file_exist(const char* fileName)
    {
    	std::ifstream infile(fileName);
    	return infile.good();
    }
    
    //in the script
    bool iniexists = does_file_exist(".\\PedDamageOverhaul.ini");

     

    And this one to draw the message on screen (if the enable/disable button is pressed):

    
    if (GetTickCount() < msgTime)
    {
    	if (modScriptState)
    	{
    		DrawText(0.4, 0.4, "PedDamageOverhaul has been ENABLED.");
    		if (iniexists) DrawText(0.6, 0.6, "ini file found.");
    		else DrawText(0.6, 0.6, "ini file not found.");
    	}
    	else DrawText(0.4, 0.4, "PedDamageOverhaul has been DISABLED.");
    }

     

    Wow thank you for that! I had a problem with locating the file. Because the GetPrivateProfileInt always returned the default values for me. I read somewhere that you either have to give the full path or it will always look for it in the windows directory. The thing that you did that I didn't, was adding the .\\ before the file name (it worked without it for ofstream/ifstream so I didn't know that you have to add it so it looks in the same directory). I'm gonna give it a try, thanks!

    Link to comment
    Share on other sites

    1 hour ago, HughJanus said:

     

    I do it like this in PDO (you can only read in integers, though):

    
    float ini_npcmeleemodifier = (float)GetPrivateProfileInt("PedDamageConfiguration_Advanced", "NPCMeleeModifier", 100, ".\\PedDamageOverhaul.ini") / 100;
    int ini_storypedhealth = GetPrivateProfileInt("PedDamageConfiguration_Basic", "StoryNPCHealth", 0, ".\\PedDamageOverhaul.ini");

    The first parameter is the section of the ini, the second one is the name of the ini value, the third one is the default value (if the value name is not found in the ini), the last one is the ini file path.

     

    This method I use for checking if the ini is present:

    
    bool does_file_exist(const char* fileName)
    {
    	std::ifstream infile(fileName);
    	return infile.good();
    }
    
    //in the script
    bool iniexists = does_file_exist(".\\PedDamageOverhaul.ini");

     

    And this one to draw the message on screen (if the enable/disable button is pressed):

    
    if (GetTickCount() < msgTime)
    {
    	if (modScriptState)
    	{
    		DrawText(0.4, 0.4, "PedDamageOverhaul has been ENABLED.");
    		if (iniexists) DrawText(0.6, 0.6, "ini file found.");
    		else DrawText(0.6, 0.6, "ini file not found.");
    	}
    	else DrawText(0.4, 0.4, "PedDamageOverhaul has been DISABLED.");
    }

     

    It worked! the new version with INI file is here!

    Link to comment
    Share on other sites

    Wow nice!

     

    Thanks for the assist Hugh, yay teamwork! 😄

     

    Gonna have to some more testing.

     

    Edit; First question, can settings like "CORE_REGEN = 1"  be set to "CORE_REGEN = 0.1"? I notice at the top it does say from 1-100 but I wasn't sure if fractions would also apply, or if that was specific to the top settings.

    Edited by Adman
    Link to comment
    Share on other sites

    3 hours ago, Adman said:

    Wow nice!

     

    Thanks for the assist Hugh, yay teamwork! 😄

     

    Gonna have to some more testing.

     

    Edit; First question, can settings like "CORE_REGEN = 1"  be set to "CORE_REGEN = 0.1"? I notice at the top it does say from 1-100 but I wasn't sure if fractions would also apply, or if that was specific to the top settings.

    I think core values are integers so they have to be whole numbers.

    Link to comment
    Share on other sites

    Is there any way to remove the blurred vision? or atleast include it in the config files to enable/disable it?

    Link to comment
    Share on other sites

    The UI is pretty wonky on ultrawide unfortunately.

    wonk.jpg

    Edited by Ralsei
    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...