Ideas

canelacaliente's avatar
canelacaliente
Seasoned Ace
2 months ago
Status:
Awaiting Additional Reports

[DU] Utili-Bot Charging Logic Error and Incorrect Destruction

1. Summary

Utili-Bots (Cleaner-Bot, Party-Bot, Gardener-Bot, Fixer-Bot) suffer from a fundamental logic error in their state management. The bots incorrectly transform into a pile of parts based on their battery/charge level instead of their durability. Furthermore, there is a critical bug where the bot's durability increases while it is idle and attempting to charge, which is the inverse of intended behavior.

2. Description of the Bug

Part A: Incorrect Destruction Trigger

  • Expected Behavior: A Utili-Bot should only break down and turn into a collectible pile of parts when its Durability statistic is critically low and it has not been repaired.
  • Actual Behavior: The bot turns into a pile of parts when its Battery/Charge level is low. This is incorrect, as a low battery should only cause the bot to seek a charging station, not self-destruct.

Part B: Corrupted Charging State (Durability Increase Bug)

  • Expected Behavior: When a bot's battery is low, it should go to a charging station. While idle and charging, its state should not adversely affect its Durability. Durability should only decrease from use (or age) and be repaired via the "Repair" interaction.
  • Actual Behavior: When the bot attempts to enter the loot_Bots_State_Charge state, a script exception occurs (AttributeError: 'NoneType' object has no attribute 'sync_tags'). This corrupted state process appears to be linked to a separate bug where the bot's Durability statistic erroneously increases over time while it is idle, instead of decreasing from wear and tear.

3. Steps to Reproduce

  1. Prerequisite: Purchase or craft any Utili-Bot (e.g., Cleaner-Bot).
  2. Allow the bot to operate until its battery is depleted.
  3. Observe the bot as it attempts to route to and use a charging station.
  4. Result 1 (Incorrect Destruction): The bot may turn into a pile of parts upon a low battery charge, even if its Durability is high.
  5. Result 2 (Durability Increase & Error): Leave the bot alone for an extended period. Upon checking its statistics, the Durability will have increased. In the background, the game's error log will be filled with repeated state.py and loot_Bots_State_Charge exceptions.

4. Additional Technical Details

  • Affected Items: All four Utili-Bot variants: Cleaner-Bot, Party-Bot, Gardener-Bot, and Fixer-Bot.
  • Error Log Signature:
  • pythonException when applying action <StateChangeLootOp ParticipantType.Object> for loot loot_Bots_State_Charge File "T:\InGame\Gameplay\Scripts\Server\objects\components\state.py", line 3238, in set_state AttributeError: 'NoneType' object has no attribute 'sync_tags'
  • Gameplay Impact: This bug makes Utili-Bots functionally unusable and unpredictable. They break down for the wrong reason (low power) and their core maintenance statistic (Durability) behaves illogically, undermining the intended gameplay loop of use and repair.

5. Player Impact

This bug severely disrupts the intended gameplay loop of the Utili-Bots, which are a significant feature of the Discover University pack. Players cannot rely on their bots, as they "die" unexpectedly (from needing a charge) and their durability system is broken, removing any challenge or need for maintenance. The constant script errors can also contribute to general game instability and lag.

This report clearly separates the two related but distinct issues (wrong destruction trigger and the durability bug) and provides the technical evidence from your logs to support it. You could submit this directly to the Sims 4 team through their official bug report channel.

Last Exception

<?xml version="1.0" ?>
<root>
<report>
    <version>2</version>
    <sessionid>ba05b2e926977adc68e4e7f5</sessionid>
    <type>desync</type>
    <sku>ea.maxis.sims4_64.15.pc</sku>
    <createtime>2025-10-07 03:26:46</createtime>
    <buildsignature>Local.Unknown.Unknown.1.118.257.1020-1.300.000.223.Release</buildsignature>
    <categoryid>state.py:3238</categoryid>
    <desyncid>ba05b2e926977adc68e4e7f5</desyncid>
    <systemconfig/>
    <screenshot/>
    <desyncdata>Exception when applying action <StateChangeLootOp ParticipantType.Object> for loot loot_Bots_State_Charge(loot_actions=(<StateChangeLootOp ParticipantType.Object>,), run_test_first=False, tests=CompoundTestList([])) (AttributeError: 'NoneType' object has no attribute 'sync_tags')
Traceback (most recent call last):

  File "T:\InGame\Gameplay\Scripts\Core\sims4\utils.py", line 179, in wrapper
  File "T:\InGame\Gameplay\Scripts\Server\areaserver.py", line 222, in c_api_server_tick
  File "T:\InGame\Gameplay\Scripts\Server\zone.py", line 520, in update
  File "T:\InGame\Gameplay\Scripts\Server\time_service.py", line 117, in update
  File "T:\InGame\Gameplay\Scripts\Server\scheduling.py", line 236, in simulate
  File "T:\InGame\Gameplay\Scripts\Server\elements.py", line 385, in _resume
  File "T:\InGame\Gameplay\Scripts\Server\routing\object_routing\object_routing_behavior.py", line 300, in _run_gen
  File "T:\InGame\Gameplay\Scripts\Server\routing\object_routing\object_routing_behavior.py", line 354, in _run_gen_internal
  File "T:\InGame\Gameplay\Scripts\Server\routing\object_routing\object_routing_behavior.py", line 333, in do_routes
  File "T:\InGame\Gameplay\Scripts\Server\routing\object_routing\object_routing_behavior.py", line 278, in _do_single_route_gen
  File "T:\InGame\Gameplay\Scripts\Server\routing\object_routing\object_routing_behavior_actions.py", line 338, in run_action_gen
  File "T:\InGame\Gameplay\Scripts\Server\interactions\utils\loot.py", line 714, in apply_to_resolver
  File "T:\InGame\Gameplay\Scripts\Server\interactions\utils\loot_basic_op.py", line 303, in apply_to_resolver
  File "T:\InGame\Gameplay\Scripts\Server\interactions\utils\loot_ops.py", line 243, in _apply_to_subject_and_target
  File "T:\InGame\Gameplay\Scripts\Server\objects\components\__init__.py", line 470, in exported_func
  File "T:\InGame\Gameplay\Scripts\Server\objects\components\state.py", line 3238, in set_state
AttributeError: 'NoneType' object has no attribute 'sync_tags'rtim=0
Client Session Time: 47.88
 
Num Save Errors: 0
 
Num Load Errors: 0
 
Current Game State: 0x96d01090
 
LoadingScreenActiveFlag: 1
 
Origin Version: 13,566,0,6079
 
Modded: False
 
SystemInfo: Windows 11 10.0.26100 GPU: NVIDIA GeForce RTX 3050 Ti Laptop GPU  32.0.15.7270, GUID: C42BB5F6-9FB4-11EF-984E-B45CECEBCF08
 
</desyncdata>
</report>
</root>

Edit By crinrict: Added missing pack tag to title. 

Featured Places

Node avatar for The Sims 4 Bug Reports

The Sims 4 Bug Reports

Report bugs for The Sims 4 on PC, Mac, Playstation, and Xbox.Latest Activity: 2 months ago
3,833 Posts