The Infinite Laundry Buffs Fix addresses a bug whereby laundry-related moodlets are awarded almost indefinitely.
Doing laundry grants two moodlets, Fresh Clothes and Clean Bedsheets, to the entire household of the sim performing the task. The Fresh Clothing moodlet lasts sixteen hours to two days, depending on whether an upgraded washing machine was used; this 16-to-48-hour period restarts whenever a sim changes outfits. (If high-end laundry equipment is used, the Very Fresh Clothing moodlet is applied instead.) The Clean Bedsheets moodlet occurs whenever a sim of the household is sleeping in a bed on their home lot. These two moodlets begin appearing as soon as a sim either changes outfits or sleeps on the home lot after clean laundry has been removed from a dryer or clothesline.
EA's intended behaviour is for these moodlet to reappear/refresh whenever a household sim sleeps or changes outfits for a certain amount of time after laundry has been done. After this period of time, the moodlets should no longer be reappearing automatically, at which point the player must do laundry again to trigger them anew. The exact duration of this "automatic renewal" period for the moodlets varies according to the nature of drying equipment used.
Currently, there is an issue where this automatic renewal period persists beyond the intended duration, such that the moodlets are refreshed quasi-infinitely after doing laundry only once. Further discussion of this bug can be found here and here.
Laundry-related buffs are managed by LaundryManager of the home lot of the agent identified by laundryOwnerId (which can change in the event of laundry theft). LaundryManager tracks the length of the renewal period; as long as this period is in effect, LaundryManager will call BuffManager to instantiate buffs at outfit changes and sleep. LaundryManager obtains the renewal period (in hours) from Dryer and Clothesline. It then performs SimClock.CurrentTime() + new DateAndTime([hours from Dryer/Clothesline]...) to calculate the date/time when the renewal period should expire. In theory, this calculation should add the time period specified by Dryer/Clothesline to the current date/time. In actuality, both SimClock.CurrentTime and DateAndTime return dates/times, so instead of adding some time to a date, a date is being added to another date. For instance, consider a game session that started on 04:30 Jan 1, 2017, whose CurrentTime is 06:00 Jan 2, 2017, where the buffs are to be renewed for 3 hours. In theory, what should occur is "take 06:00 Jan 2, 2017 and add 3 hours to it", which means the renewal period expires at 09:00 Jan 2, 2017. Instead, the current behaviour is "CurrentTime + add 3 hours to session start to get a date/time", resulting in an expiry of "06:00 Jan 2, 2017 + 07:30 Jan 1, 2017"... which yields 13:30 Jan 3, 4034.
This behaviour affects both players with laundry equipment on the home lot and those who depend on the laundromat. However, it might be less noticeable to the former, since they tend to do laundry when hampers become full, usually way before the moodlets are supposed to cease reappearing automatically, so the moodlets might seem to be behaving correctly. For players who frequent the laundromat and are watching for the moodlets' absence as an indication to do laundry again, the issue is likely to be more apparent.
This mod corrects the laundry moodlets' automatic renewal period so that it expires appropriately.
Unpack mod as usual into Mods/Packages folder.
Do a fresh load of laundry using a sim from the active household.
The mod will attempt to correct all existing laundry moodlet renewal periods in the world on load, but the testing condition (to perform the fix) might fail if a long time has elapsed between the point when the expiry was first set (i.e. when laundry was last done) and the point when the mod is installed. This will cause a household to be skipped over by the mod and not receive the correction. Doing a fresh load of laundry guarantees that the correction will be applied within twenty-four hours. There should be no need to do this for inactive households, as the correction should eventually percolate through to them, since doing laundry is autonomous; it'll just take longer.
The mod may be uninstalled by removing it from the Mods/Packages folder and deleting scriptCache.package.
University Life; or
Town Life Stuff; or
any of the laundry sets from the Sims 3 Store.
This mod was built and tested on patch 1.67.
The duration of the moodlets' automatic renewal period is affected by values in XML tuning associated with dryers and clotheslines. Infinite Laundry Buffs Fix might be unable to perform its checks if these values are changed to be less than 24 hours manually by the player or via other mods.