I had noticed a while back that adding a new trait didn’t always result in all the boxes in Unified View correctly displaying the changes resulting from that new trait. That should now be fixed.
If a trait’s calculated damage changes, it will now be tagged as ‘dirty’.
If a trait’s skill used changes, or if the skill used score changes, it will now be tagged as ‘dirty’.
Added the ability to target a standard bonus (a target with a prefix tag and a name) to a trait name of #any, which means you can target a whole class of things for a specific targetable tag, if you wish. For example
-1 to EQ:#Any::minst
would allow you to reduce the minst() requirements for all equipment items by 1 per level.
* Type Safety and Object Cleanup
Continued where encountered, but less aggressively as a whole.
* Settings, Default Settings, and Books
The [Settings] block of a Book file has long been able to set certain basic settings for operation. However, these settings changed the *overall* configuration of how GCA operated, and that model doesn’t fit well with how GCA5 allows for each character to be operating with different libraries, and therefore potentially the intention of very different intended settings.
The model now works a bit differently, and has expanded. Default settings are either set internally for normally expected GURPS operation, or they’re set on the Default Character Options pane of the Options dialog (depending on the type of setting). These go into the initial engine configuration, as loaded before any library is loaded. Then, when a library is created, it’s created with a set of options that match the default engine configuration. Once the library loads data, that data may change the defaults as set by the [Settings] blocks in book files. Finally, when a character is created, it is initialized with the settings in the library, and some of those can be changed on the Current Character Options pane of the Options dialog.
This is another change that reaches deep into GCA, but the effects of a mistake are unlikely to cause exceptions; instead the proper setting may not be honored as expected.
What settings can be set in [Settings] has been expanded with additional options, a quickie list of which is here:
CampaignName = value
DefaultTL = value
BasePoints = value
DisadLimit = value
QuirkLimit = value
HasDisadLimit = yes/no
HasQuirkLimit = yes/no
RuleOf = value
GlobalRuleOf = yes/no
UseDiceAddsConversion = yes/no
ModMultPercents = yes/no
AllowNonIQOptSpecs = yes/no
ModMaxNegPercentLimit = value
NoDefaultLevelDiscount = yes/no
AllowStackingFortify = yes/no
AllowStackingDeflect = yes/no
AllowHalfPointSpells = yes/no
This change to Settings has also changed the FastFileVersion, so all fastload files will be rebuilt.
All the character settings that match those initialized from library settings are now found through the Settings property, which returns a LibrarySettings object with those properties.
The AllowUserTraitOrdering setting (not part of the group above) was never saved/loaded from character files, but should be now.
Updated with the missing ‘allowusertraitordering’ element for GCACharacter.