Simple Edit should no longer allow changes to the names or extensions of attributes.
The mergetags() and replacetags() trigger tags have been updated to allow targeting ‘char’ or ‘character’ with tag values. For example: replacetags( in char with “race(gremlin),laugh(cackle)” ).
Zooming out in Sheet view will now reduce the size, to the built-in minimum, of any interactive editing buttons that may have grown bigger from zooming in.
Added the ITaggedObject Interface to the GCASystem.
Added a form to edit character tags. Added an option to the Character menu to access it. (This is ‘shallow’ in that it only displays any extended tags, not all property values that might also be accessible through the TagItem property. So things like Name, Player, and Race will not appear here, even though they can be accessed through TagItem.)
Updated the Advanced Edit Grid to fix some bugs, and to allow editing of Character tags.
Added Copy Tags and Paste Tags to the right-click menu in the advanced edit grid.
Updated the Add Tag dialog to fill the drop-down box from, and to show help references for, the correct class of item (traits, modifiers, or characters) rather than always using the traits references. Note that there are currently no defined character references, because characters have been more property oriented than tag oriented so far.
Updated character saving/loading to remember character tags.
Updated the GCA5.xsd to include the character Tags block.
Reconstructed parts of the Options dialog to remove problematic third-party controls.
Hooked up the option to group trait modifiers by type.
Hooked up the options for child ordering within parent/child relationships. Changing this will force a refresh of the UI upon exiting Options. Note that setting an Order By in the UI orders the displayed children as well.
Changed ‘Alternative Attacks’ reference on Simple Edit to ‘Alternative Abilities’.
Built custom Enumerator for my custom sorted collections to allow For..Each iteration in sorted order (for multi-sort enabled collections, this is the default sort order of alphabetical by name). Implemented IEnumerable on all of those collections.
Added some functionality to the loadout and the loadout manager objects; and made a couple internal changes.
Updated headers of Loadout Manager dialog to make it more clear that the values in the third row for the various loadout columns are for total weight and encumbrance level
Added support for the new trigger tag loadout() which automatically adds the item being added to the character into a particular loadout or loadouts. For example, loadout(Crime, Punishment) will add the item to both the Crime and Punishment loadouts when added to the character. If the loadouts don’t exist, they’ll be created.
Added the new #loadout() #command to the adds() and creates() tags, allowing you to specify loadouts that equipment items should be added to automatically. This works like the loadout() trigger tag. Note that owned items will not be added to loadouts through this command, because owned items are always included with their parent items in loadouts.
Addressed a small issue in the creates() tag so that created items aren’t owned automatically, which it was doing even when owns(yes) wasn’t included in the creating item.
Fixed a display issue with the checkboxes in the library lists for Compact and Sheet views if explainers were dismissed and then reset in Options.
Found a bug in saving/loading data that could change character damage values (due to my missing how things worked in the writing/reading of the XML). If the value saved for an XML tag is an empty string, the XML saves an empty version of the tag, instead of a full tag with an empty string value. The XML reader then doesn’t return any value for the empty tag, so default values are used for that data, rather than the data getting filled with a ‘new’ empty value. In Basic Damages, this resulted in incorrect values for any levels in the chart that had no adds to the dice (because the defaults weren’t 0). Those defaults are now 0. I believe this is the only case where default data wasn’t set to ’empty’ or ‘null’ values. If you’re using saved .GCA5 characters, you should Resync the Basic Damage List for those characters to correct this.
I found the bug above because I finally atomized down to the object level most of the XML Read and Write handling, where it should have been all along.
Fixed a crash bug in equipment items related to calculating child values when children and parents are being removed from the character.
Data Files:
Updated: GCA5 Changes.gdf: Fixed included versions of the ~Fortify and ~Deflect modifiers to load as modifiers, not advantages.