Monthly Archives: December 2014

Bits modifiers

Added code to allow the Sheets drop-down on the Sheet View and Print Preview dialog toolbars to stretch out more if there is room for it.

Added some functions to SortedTraitCollection.

Restored drag-n-drop to Sheet view.

Sheet View should now retain its view position as much as possible when adding or removing items from the character sheet.

Added initial support for a Substitutions system, which allows one trait to substitute for another when GCA is tracking down references. This means you could create a ‘Guns (Small)’ skill that substitutes for ‘Guns (Pistol)’, and then when a reference to ‘Guns (Pistol)’ is being sought by GCA, ‘Guns (Small)’ would be considered a valid return. You create a substitution table by using the subsfor() tag in the item that is intended to substitute for the others. For example, our ‘Guns (Small)’ item would include ‘subsfor(“SK:Guns (Pistol)”)’ in order to create the substitution table. Multiple entries can be submitted at once in subsfor() by separating them with commas. The trait type prefix code is required in the subsfor() definition. Implementation is currently limited, but should be working in most places, such as defaults and weapons tables. Note that the item that is the substitute also qualifies as an existing instance of anything for which it substitutes, so adding one of those items after the substitution table is created would be considered a duplicate by GCA, and will be refused by default.

If the CTRL button is held down when drag-n-dropping a system item into a Character list in Compact View or Classic View, or onto the sheet in Sheet View, GCA will now add that trait even if it is a duplicate of an existing trait.

Added initial support for tracking what files ‘touch’ system items as they’re created and modified by data files. This will allow data file authors or debuggers to click on a system item and see in the View Info pane how the item was affected by various data files. Currently supports trait creation, replacing of previous traits, automatic replacement or merging of duplicate tag data, cloning, mergetags, and replacetags. (The related option in Options must be On when the fastload files are built in order for the data to be available; GCA won’t bother to track it if the option is Off.)

Added UI for the data file ‘touch’ tracking system option to Options, and altered the title/text of the enclosing options block from Logging to Book Processing.

Added #CloneMod data file command. Works like #Clone, but clones a modifier. Unlike traits, modifiers don’t have an item type, so they’re unique within their groups, so #CloneMod requires specifying the group and the full name of the modifier, like so: #CloneMod “group:modifier name” as “group 2:modifier name 2”.

Added #MergeModTags and #ReplaceModTags data file commands. You must target them using a group and name as specified for #CloneMod, but otherwise work as you’d expect from #MergeTags and #ReplaceTags. (For example: #replacemodtags in “Burning Attack Enhancements:Partial Dice” with “cost(+1/+2),formula(%level * 5)” ) The ALL keyword is not supported.

Added #DeleteModsFromGroup data file command. This allows for deleting specific modifiers from existing data. Similar to #DeleteFromGroup in structure, you specify the Mod Group from which you’re deleting items, then a space, then all the modifiers from that group that you want to delete, in a comma separated list. Enclose the mod group name in quotes, and enclose any modifier names that contain commas inside quotes as well. (For example: #DeleteModsFromGroup “Burning Attack Enhancements” Partial Dice, “Partial Dice, Per Die” )

Added #DeleteModGroup data file command. This allows deleting an entire group and all its modifiers at once. Specify the mod group name to remove, and its all removed. (For example: #DeleteModGroup “Burning Attack Limitations”)

Updated OfficialCharacterSheet to correctly reduce the component name column widths by the component indent level when printing traits.

Rebuilt plugins.

That’s a lotta bits

Missed from b44: Fixed an issue when pasting modifiers into an item that prevented proper recalculating of those modifiers and any bonuses they granted.

Updated Protection dialog to note the Deflect and Fortify values for armor in the Apply Armor list.

Updated Armor Layers Manager, and the Layers list in Protection, to show Fortify values.

Updated Loadout code to properly clear footnote markers for items that may have lost applicability for the current ordered layers.

Adjusted some of the GCACharacter properties/functions related to sheets.

Added some Sheet View related functions to GCACharacter.

Characters should now remember the sheet selected for Sheet View, and should switch to it if you switch between characters.

Switching between characters should now terminate editing within a Sheet View sheet.

Within a session, characters will now remember their position and zoom factor in Sheet View when switching between characters, or between views.

Added InSheetView property to the SheetOptionsManager, which is set to True when GCA runs a sheet in Sheet View.

GCA should now remember settings for default character options of stacking deflect and fortify.

Fixed Compact View box for Encumbrance & Move to let the encumbered move values be 0 if the starting score is 0.

Hooked up Options UI for default player name, and saving/loading of it.

Hooked up Options UI for default Character Sheet and Alternative Sheets, as well as the per-character selections, and the saving/loading of them all.

Hooked up the drop-down lists for Print/Preview buttons on the main window’s File toolbar, to make use of the active character’s specified sheets. (Since GCA5 handles sheets via plugins, and GCA4 handled them via script files, older characters will have things show up here that won’t work.)

Updated the GCATrait XML output to include chardeflect() and charfortify() in the ‘armordata’ block.

Renamed some internal controls.

Made some changes to the text/functionality of the dialog for restoring characters from auto-backups after a crash.

Updated the way GCA checks for the library & books used by a saved character.

Made some changes to the text used in the dialog when there are issues with a character’s library references.

Added a function to the character (QuickRulesOptionsCode(Optional ByVal Sep As String = “”) As String) which returns a short string code for which rules options are being used by that character. Returns only the non-default options in use, so the string will be empty if only the standard rules are being used.

Fixed an oversight in the handling of trait vars when assigning them to vars() using TagItem().

Updated the GCA5.xsd to include a reference for the SheetViewSheet to the GCACharacter ‘output’ block.

Updated the GCA5.xsd to include references for ‘chardeflect’ and ‘charfortify’ in the  ‘armordata’ block of GCATrait.

Updated ColorBlockSheet to include an Encumbrance & Move block, and modified the internal gridlines of the various blocks a little bit. Also added the QuickRulesOptionsCode output to the footer in parens after the GCA ident (but it only shows up if non-default options are in use).