This was a great idea. I second the suggestion for MCM options. You could keep the default formula the same, but have the base value and modifier terms (10 and 0.2) be configurable.
Also for the actual timer, 10 seconds seems pretty long (the mod only checks your endurance and changes the GMST every 10 seconds, so when your endurance changes, it can be as long as 10 seconds before your hold-breath time actually changes). I think 1 second would be okay here.
Or you could check on simulate (or just a timer of 1 second) whether the player's endurance has changed, and if so recalculate the GMST, so the GMST is only being changed when endurance is actually modified.
I ended up changing timer to 1 second for now. Calc swim speed didnt work out it appears to run every frame even when not swimming :todd: The way engine seems to work is it sets breath meter to gmst at the time the breath meter starts, so can cheese it by doing a fortify endurance for 2 seconds right before you dive.
Great idea, thank you. I would go even further and increase the time the player can hold their breath to something more realistic. I'm sure many divers can hold their breath for several minutes and i even recently read that some people can hold their breath for up to 10 minutes (but only if they inhale high concentrations of O2 beforehand, but it's almost Guybrush Threepwood style :P). Maybe have players be able to hold their breath for 3 minutes at really high endurance values would make sense...
edit: or even better (as a request) have a configuration option in game via MCM to determine minimum and maximum levels if that is a possiblity
I think another good system would be to have Breath directly determined by your total Fatigue (which in-turn is determined by Endurance, Strength, Agility and Willpower). After all, physical exertion will use up blood oxygen faster than calm drifting.
Having Health also affect Breath would make sense as well, since any kind of blood loss will further reduce oxygen capacity, and torn muscle will use said oxygen less efficiently.
"I think another good system would be to have Breath directly determined by your total Fatigue (which in-turn is determined by Endurance, Strength, Agility and Willpower). After all, physical exertion will use up blood oxygen faster than calm drifting.
Having Health also affect Breath would make sense as well, since any kind of blood loss will further reduce oxygen capacity, and torn muscle will use said oxygen less efficiently. "
unfortunately I can only change the GMST,, it still uses vanilla mechanics, so real time manipulation while holding your breath is not possible at this time. will need to pester Null to expose breath meter if possible but he is busy with the cursed sol3 branch update, right now would be a bad time lol
total fatigue might be something to think about, even tho strength agility and willpower really shouldnt have anything to do with total fatigue in the first place imo :todd:
Strength: Physical fitness makes a person tire less easily than someone out of shape. Willpower: Not as prone to giving into fatigue than someone less tolerant. Basically the mental equivalent of the Endurance attribute.
Not so sure about Agility. I suppose graceful movement makes better use of energy than awkward movement.
It's also a bad idea to tie Fatigue to just one attribute, considering all the character classes that don't use it. Bethesda already made that mistake with Health and Endurance, when Strength really should have been a (consistent) factor as well.
16 comments
Also for the actual timer, 10 seconds seems pretty long (the mod only checks your endurance and changes the GMST every 10 seconds, so when your endurance changes, it can be as long as 10 seconds before your hold-breath time actually changes). I think 1 second would be okay here.
Or you could check on simulate (or just a timer of 1 second) whether the player's endurance has changed, and if so recalculate the GMST, so the GMST is only being changed when endurance is actually modified.
Calc swim speed didnt work out it appears to run every frame even when not swimming :todd:
The way engine seems to work is it sets breath meter to gmst at the time the breath meter starts, so can cheese it by doing a fortify endurance for 2 seconds right before you dive.
edit: or even better (as a request) have a configuration option in game via MCM to determine minimum and maximum levels if that is a possiblity
Having Health also affect Breath would make sense as well, since any kind of blood loss will further reduce oxygen capacity, and torn muscle will use said oxygen less efficiently.
Having Health also affect Breath would make sense as well, since any kind of blood loss will further reduce oxygen capacity, and torn muscle will use said oxygen less efficiently. "
unfortunately I can only change the GMST,, it still uses vanilla mechanics, so real time manipulation while holding your breath is not possible at this time.
will need to pester Null to expose breath meter if possible but he is busy with the cursed sol3 branch update, right now would be a bad time lol
total fatigue might be something to think about, even tho strength agility and willpower really shouldnt have anything to do with total fatigue in the first place imo :todd:
Willpower: Not as prone to giving into fatigue than someone less tolerant. Basically the mental equivalent of the Endurance attribute.
Not so sure about Agility. I suppose graceful movement makes better use of energy than awkward movement.
It's also a bad idea to tie Fatigue to just one attribute, considering all the character classes that don't use it. Bethesda already made that mistake with Health and Endurance, when Strength really should have been a (consistent) factor as well.
:todd: