"Resetting all action and damage records."
under review
At the start of combat or when using a pre pull action StateUpdater.UpdateState() calls DataCenter.ResetAllRecords() because of
```csharp
// After hitting a target attackedTargetsCount is updated but InCombat only becomes true after a delay
if (!DataCenter.InCombat && attackedTargetsCount > 0)
{
DataCenter.ResetAllRecords();
}
```
I THINK this happens because `InCombat` value is updated AFTER `UpdateState` in the MajorUpdater class, resulting in `attackedTargetsCount` being updated to 1 but `InCombat` remaining `false` triggering the above condition. (`InCombat` )
```csharp
public static void Enable()
{
Svc.Framework.Update += RSRGateUpdate;
Svc.Framework.Update += RSRTeachingClearUpdate;
Svc.Framework.Update += RSRInvalidUpdate;
Svc.Framework.Update += RSRActivatedCoreUpdate; // calls update state
Svc.Framework.Update += RSRActivatedHighlightUpdate;
Svc.Framework.Update += RSRCommonUpdate; // calls updatecombat time
Svc.Framework.Update += RSRCleanupUpdate;
Svc.Framework.Update += RSRRotationAndStateUpdate;
Svc.Framework.Update += RSRMiscAndTargetFreelyUpdate;
Svc.Framework.Update += RSRResetUpdate;
}
```
I didn't want to try and fix this myself and send a PR since this is some deep level code that I'm honestly not comfortable messing with.
0 条评论