Ideas
Basically everything in this report is incorrect. It's premised on some pretty critical misunderstandings of how commodity states or the tunings in question work.
For starters, using the analogy of the bladder motive is wrong as it does not use a loot_on_enter of any type. The bladder motive provides a buff for the Sim that stays on them for as long as they stay in the bracket defined by the commodity; no loot is ever used to apply that buff to the Sim or remove it. The buff being tied to the commodity state is how the game can show arrows in both directions when the bladder need either improves or worsens. It's how it can predict how long until it becomes the even more uncomfortable buff, based on the commodity's decay rate. It's not a temporary buff or a static buff like what would be applied by a loot.
Second, you don't seem to grasp when the enter loots actually fire. 'loot_BalanceSys_RemoveMajorEffects' will not fire when the commodity drops below -35, because it's exiting that state, not entering it. It will only fire when it rises above -35 or below +25 (the other boundary), but in practice it will have no effect when dropping from the Balance state because the Sim won't have any lingering Major Imbalance effects to remove. When the commodity drops below -35, it will instead fire the loot 'loot_BalanceSys_RemoveMinorEffects' defined in the Major Imbalance state, which just clears buffs associated with the regular Imbalance state (i.e. not Major).
Third, and most importantly, that's not what 'buff_BalanceSys_MajorEffect_Cooldown' does. The name is a bit of a misnomer. Unlike other cooldown buffs, which act as a hidden flag for tests to check to make sure something that doesn't happen too frequently, this buff should more accurately be called a countdown. When the timer on this buff reaches zero, the game tries to apply a new random ailment to the Sim. Removing it is not a punishment, it is a kindness. Of course, the loot also has a test to make sure when the countdown expires or gets removed, it won't give an ailment to Sims in the Balance or mild Imbalance state. The buff which is a more traditional cooldown buff is called 'buff_BalanceSys_Hidden_AilmentCooldown'.
Simply put, the scenario you propose does not and will not happen with the tuning written as-is. There might be other issues with the ailment system that still need attention, but this specifically isn't the source of any problems.
- Intern_Waffle_645 days agoSeasoned Ace
The bladder part is purely an example to explain why something would be on decreasing or increasing. This post is copied from an explanation of the issue that presumes the reader may not have the information necessary to understand the concepts discussed, the actual functionality there is totally irrelevant.
Loot on enter always does in fact maen that it happens when the commodity increases. I do probably have the actual state numbers incorrect, states are confusing, but it is true that when the commodity decreases into this state and increases into this state, the loot fires.Which then removes buff_balancesys_majoreffect_cooldown.
Which is added by loot_balancesys_addmajoreffectcooldown.
Which itself is added by loot_balancesys_ailments_addcooldown.
Which *itself* is activated by any ailment being cured.
This is supposed to be a cooldown. The problem is that they have functionality made it not behave that way.
Honestly, the entire system is so convoluted and circles back on itself so much it's difficult to follow. But trust me that I spent hours looking at this trying to line it all up, and the final conclusion- that this buff should not be removed when RAISING balance, and that making that not happen seems to solve everything- sure reads true on my end.
You can test the behavior: If your Sim has an Ailment Cooldown buff manually removed, use a mod like Sim Info Manager to set them to -100 Balance. Sim thus gets an Ailment. Sim has Ailment removed. Check to see if they received the Cooldown buff. They did. Then set their Balance above -35 and check again. They will lose the cooldown. Set it to -100. They will get an ailment.
Disabling the loot that occurs when balance raises above -35 and testing again, you'd see that they do not lose the cooldown, and will not get an ailment on getting imbalanced again.
Frankly, at this point, I don't even care if I got the details exactly correct. It shouldn't be our job to figure out why these systems aren't behaving in the first place. All I know is that the cooldowns are too short and don't work as expected.
I will look at my mod that changes this and make sure it's functioning as intended and Sims can still receive ailments, but at this point I'm throwing my hands up and letting the devs- whose job it is to make these things work right- handle it.
That loot-on-enter-always just does not seem correct.
The process of getting all this "figured out" was very messy and confusing (there's a good hour of me yelling about how bafflingly put together the entire system seems to be on discord), and it's entirely possible along the way some stuff got confused. But man, I am not paid for this. I'm just getting the message out there that there's supposed to be a too-short cooldown on getting more ailments and it doesn't work. After that it's out of my hands.