Ideas

Intern_Waffle_64's avatar
Intern_Waffle_64
Seasoned Ace
3 days ago
Status:
Reviewed

[EBN] Ailment Cooldown is Constantly Removed, Rendering It Pointless

This issue was presented to Nate, the developer who designed the Ailment system, in the discord Q&A last week. He "noted" it, by responding, but told me to post it on the forums...

In the Balance commodity, there is a loot_on_enter_always at -35 balance.

This loot is loot_BalanceSys_RemoveMajorEffects.

This loot does absolutely nothing but remove the overall cooldown that blocks all Ailments, which you recieve after recovering from an ailment.

In a Commodity, a loot can be fired when entering a range as it decreases, or entering a range as it increases. For instance, you'll get the "really has to pee" buff when you enter a range while Bladder decreases. But obviously, as your Sim pees, their mood won't go in reverse, right? So you won't get that buff when it increases.

For Balance, and for that Cooldown Buff removing Loot, it's not on increase or decrease, it's on enter always. That means that it happens when Balance is decreasing past -35, or rising up past -35.

As a result, the following scenario is possible:

  • Sim experiences Major Imbalance, and suffers an Ailment.
  • Sim cures the Ailment. Curing an Ailment gives you the cooldown buff, which prevents further ailments for 1 day (which is way too low, but that's another issue).
  • Because the Sim is still below -35 Balance, the next time they increase past that point, they will have the cooldown buff removed.
  • This Sim who just got over an Ailment and then improved their Balance now is back at risk of getting Ailments, and can very easily get one again within the same 24 hour period as losing it.

When a Sim recovers from an Ailment, they also get a +20 boost to Balance. Imagine your Sim gets an Ailment, but you spend a couple days with it before curing it- why not, some of them have positive effects, right? By the time you cure it, let's say you're at -45 Balance.

See the problem?

You get +20 from curing the Ailment. The curing process gives you the cooldown. And because that +20 took you from -45 to -25...you passed over the -35 threshold, and the cooldown you just got is immediately removed.

In essence, the only way to ensure you actually get the cooldown is to get an ailment, raise your Balance up past -35, then cure the ailment, and receive the cooldown. It then will not be removed unless your balance lowers past -35 again.

If the devs made this loot activate on enter decreasing, this process wouldn't happen. You'd only lose the cooldown from Balance if it naturally lowered below -35.

HOWEVER, this does not solve the entire problem. Remember the loot I mentioned that we're discussing? Well, it isn't only activated from Balance at -35. It also happens every time the game tries to give your Sim an Ailment from contagion.

Above are all the situations that run this loot- so every time an incubated ailment from contagion tries to happen, it removes your cooldown. Every time pixies try to give you an ailment, it removes your cooldown.

When Sims are incubating an Ailment from Contagion, it does check for that Ailment cooldown...except, before it does that, the incubation process applies that same loot! Which means every time you are unknowingly carrying a contagion from contact with a Sim who had an Ailment, you lose the Cooldown.

There is a separate cooldown for contagion- whenever a contagion may spread, there's a chance you get the spread and start incubating, or you get a cooldown. That one only lasts 6 hours. But your Sim essentially fights the illness for 6 hours and after that period is at risk of getting it again.

Here's the process:

  • Hug Sim with Ailment
  • Game sends you a loot: It has two possible results. Avoid contagion and get a cooldown, or begin to incubate an Ailment.
  • If you avoid contagion, you get a touch contagion cooldown, and all physical interactions for the next 6 hours cannot cause contagion.
  • If you did not avoid contagion, you'll get an Ailment at the end of the incubation process.
  • The incubation process removes your overall ailment prevention cooldown, rendering it worthless, and allowing you to get an Ailment even if you just recovered from one in the past 24 hours.

My guess is that Ailments are meant to be a system where "every time your Sim becomes majorly imbalanced, they can get an ailment" so the -35 system is designed to ensure that even if you have the cooldown, you'll still get an Ailment. This makes sense because there are moodlets that explain you're not guaranteed one, but at risk of one, and they dont' make any sense if the cooldown is active while your Sim enters Major Imbalance. So they simply ensured that Major Imbalance always creates an Ailment.

Because of the way this tuning is organized, it looks to me like they had a design process where having a cooldown and having guaranteed ailment-causing scenarios were at odds with each other, and ended up somehow both making a cooldown that never works and making a way to remove the cooldown that they wanted there in the first place, and nobody noticed that none of this makes any sense in practice.

The issue is that because Balance can drop so suddenly, and because entering the -35 range causes the cooldown to remove whether going up or down, and because the sources of Ailments essentially ignore the cooldown anyway, you can very quickly end up in gameplay loops where a Sim gets an Ailment, passes it to another as a contagion you don't know is happening, gets cured, is supposed to have a cooldown period, the other Sim gets the Ailment they were incubating, the first Sim starts incubating their own Ailment despite having a cooldown (in theory), the incubation ignores the cooldown whether it already got screwed up or not, and so on and so on. Even a single sim living alone not getting any contagion can suffer from a negative feedback loop of low balance -> ailment -> cure -> continued low balance -> cooldown is lost -> ailment the same day.

Neither of the "Fixes" for Ailments that added two new options menu toggles address this core, critical issue that is the actual reason that Ailments are so frequent. 

There is no way the intended behavior was for this Cooldown to remove itself all the time and completely defeat its purpose. (It needs to be longer than 1 day, but that's another issue.)

6 Comments

  • For fear of the post being removed, again, because the forums are broken, and editing a post sometimes makes it disappear, let me reiterate that the designer of this feature told me to post this here as an issue so it could be recorded.

    This is not a feedback post, and the designer of the feature told me to put it here as an issue.

    Though, I will say, from a feedback perspective, the fix for this is as follows:

    -make this only happen on entering low balance

    -remove this from other sources entirely

    -add a buff alerting the player "hey you would have gotten an ailment, but luckily, you're still  immune from recovering from your last one! " whenever an ailment would occur but is blocked by the cooldown (to explain getting major imbalance with no ailment occurring after the above changes) 

    -increase the cooldown to at least a few days

    I've made a mod that does 1, 2, and 4, and my ailment experience has improved dramatically without any of the new option toggles from the last two ailment patches. 

     

  • Intern_Waffle_64​ 

    if your post is removed by the spam filter, please wait for it to be reinstated before making a new thread. Upvote counts are getting lost if you make multiple threads.

    You can always DM a CM or post in the forum feedback thread if a post gets removed, asking to get it reinstated.

    Could you please also add a platform thread tag for completion thank. Thank you.

  • 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_64's avatar
    Intern_Waffle_64
    Seasoned Ace
    3 days ago

    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. 

  • I understand how the loot_list_on_enter works, and 'loot_BalanceSys_RemoveMajorEffects'  is not firing on both sides of -35. It's only firing when coming up from a lower number to -35, or dropping down beneath +25 from a higher number. It's not firing when the Sims exits the state by dropping lower than -35. At that point, the Sim enters the Major Imbalance state and 'loot_BalanceSys_RemoveMinorEffects' fires instead and 'buff_BalanceSys_Hidden_MajorImbalance' is applied to the Sim, which has its own effects.

    Trust me when I say not a single test in the game's tuning is using 'buff_BalanceSys_MajorEffect_Cooldown' for a traditional cooldown test. The literal only thing it's used for is the countdown to add a new ailment to Majorly Imbalanced Sims. The end-of-ailment loot, 'loot_BalanceSys_Ailments_AddCooldown', adds both the actual cooldown buff, 'buff_BalanceSys_Hidden_AilmentCooldown', to all Sims, and the Major Imbalance countdown effect buff, 'buff_BalanceSys_MajorEffect_Cooldown', only to Sims who are still very imbalanced. Again, the latter buff is a countdown. When it expires, it has a loot_on_removal that fires `loot_BalanceSys_ChooseMajorEffect_FromCooldownBuff` which, if the Sim is Majorly Imbalanced, triggers 'randomLoot_Ailments_GetRandomAilment_Guaranteed_BalanceSys' which tries to give a new ailment to the Sim. If the Sim already has an ailment, then the loot does nothing and the countdown is gone until, as you already see, the ailment ends and the 'buff_BalanceSys_MajorEffect_Cooldown' gets potentially reapplied. If the Sim isn't Majorly Imbalanced, though, then the loot does nothing and the countdown stays gone for good, as long as the Sim stays balanced. That's what happens in the case when `loot_BalanceSys_RemoveMajorEffects` fires.

    The system is circling back on itself intentionally, because Sims who stay Majorly Imbalanced indefinitely will continue to get more ailments, with a gap of about a day between if they stay in that state uninterrupted. When they become mildly Imbalanced or achieve Balanced again, the buff is cleared out and there's no longer any countdown running. If you used a cheat to remove the countdown buff, that's the same if it expired naturally, so of course the Sim will get an ailment. That's the intended behavior.