I'm marking this as a Blocker to prevent next release till we nail down this problem/issue.
6.03 latest -
Load rsrd complete
Alignment - LG
Human, Paladin 1 - Stats all 10
Troubleshooting sheet - Note, there aren't ANY class granted items.
Level up, same issue.
1 ABILITY:Special Ability|AUTOMATIC|Weapon and Armor Proficiency ~ Paladin|!PREABILITY:1,CATEGORY=ACF,TYPE.PaladinProficiencies
No errors in the log. If I remove the PRExxx appended to that, ALL of my Abilities are now functioning.
This is a bad bad bug. I don't know if this affects 6.2.
This occurs in r23085 but not in r22712 (Dec13) or the 6.2 branch. In those the Paladin abilities are shown correctly.
In the current trunk code I am seeing the ConditionallyGrantedAbilityFacet initially granting the abilities and then taking them away:
Log extract with extra CGAF activity logging
Okay, clarifying the issue. It does not exist in 6.2.0.
This is related to and interacts with our really strange behavior of adding a ClassLevel by:
adding the level,
removing the level
adding it again if the PC really did qualify for it
The problem is that the add occurs, it works correctly
the remove occurs, and as you can see the remove works on CGAF.
The problem is the ConditionallyGrantedAbilityFacet is not updated (and thus the consolidated list of objects actually on the PC is not updated to reflect the removal). So it is aware that the PC doesn't have those items, but the AbilityFacet still thinks the PC has them. Therefore, when they are attempted to be added, they are rejected as MULT:NO objects, and when the conditional updates, they are no longer present, resulting in complete loss from the PC.
I have put in revision 23101 to address the local issue - additional consideration will be required for other items we thrash to determine if other updates are needed