This bit (b180)

b180

Added some code to better support prerequisite checking that relies on traits in groups. These prerequisites should now be checked, and the red P set or cleared, more reliably as you add and remove traits from the character.

* GroupedTraitListManager

Updated how GroupedTraitListManager handles GroupingOptions. This is now Nothing before BuildGroupTraits has been called, and after that call it is set to the options that were used to build the grouping, which are either the default character options or those set with OverrideGroupingOptions.

Added the TreatAsList option to GroupingOptions, which allows for treating a selected grouping tag as a list, much like categories are done. This allows for breaking the items within the tag into discrete grouping groups, instead of treating the entire tag value as one group.

* Sheet Options

When using an option of type GCA5Engine.OptionType.Caption, if you begin the UserPrompt with “[bb]” or “[bbcode]” GCA will substitute the BBCode enabled version of the caption control instead of the usual plain text only version. BBCode support is limited and should be documented somewhere (but I don’t think it is right now). Note that the control does have some glitches, so always try to include a space before any [p] marker (I think that avoids the worst annoying little glitch I haven’t fixed yet).

If all you need is the [p] marker and otherwise need plain text, note that the standard caption will now replace [p] with CR+LF. (Also be aware that the BBCode version of the control adds an extra half-line between paragraphs, but the standard caption control does not.)

* GCA5.xsd

Added the ‘treataslist’ element to GCAGroupingOptions

A little bit closer now (b179)

b179

Created a new option type for sheets: ListSelectedOrdered.

* Book Processing

When loading a book file, a line beginning with a # was automatically perceived as a file command. This was a problem because certain #directives could also be the first thing on a line in a file. Now, GCA will check to see if the # starting the line is a directive before trying to process the line as a command.

* Campaign Log

Selected Log Entry Notes. I’ve now changed the Campaign Log so that when you enter the Notes field, the Accept button is turned off, and when you leave the Notes field it’s turned on again. That allows users to use the Enter key as expected within the Notes field without closing the dialog by inadvertently clicking the OK button.

* GroupedTraitListBuilder

The GroupedTraitListBuilder object has been updated:

Public Sub BuildGroupedTraits(Optional ByVal ReplacementList As SortedTraitCollection = Nothing, Optional ByVal OverrideGroupingOptions As TraitListGroupingOptions = Nothing)

This routine now optionally accepts a replacement list of traits as a SortedTraitCollection which allows you to group a collection of traits that are not specifically the character’s trait list.

It also now optionally accepts a replacement set of grouping options, which can override those contained in the character. This allows you to group a list differently than the user has specified and is intended primarily for when using the ReplacementList. Note that you must specify all applicable options here; no options are copied internally from the character settings, so if you want all the same options except for one change, you must still set them all yourself.

Transforms transformed a bit (b178)

b178

Removed another redundant gathering of unassigned items in the character calculations, and set that to use the already gathered unassigned items loadout instead.

Added a MessageBox instead of just a message in the log when GCA is unable to print or export due to no sheets being found.

Added a MessageBox when no sheet plugins (or no plugins at all) were found during startup.

Added the #Log data file command, which allows the author to send a message to the Logging pane. Syntax is #log [<color>] <message> where the <message> can be enclosed in quotes and <color> is optional from red, blue, green, or orange (not specified is black).

* Transforms

I realized that the same oversight that was recently fixed in loadouts that caused child items to be counted twice when part of All Unassigned Items also applied to Transforms. I fixed that. (This had no real effect on much of anything, since it doesn’t affect encumbrance or any other such mechanic.)

Also as with loadouts previously, I’ve removed the check that prevented empty transforms from being saved. If you want to create transforms with no traits in them, you now can.

Transforms have been updated to support including Features, Cultural Familiarites, Languages, Skills, and Spells. This should greatly increase the ease of creating ad-hoc ‘templates’ to switch between, and supports more types of characters. (Attributes can’t be deactivated, so the best you can do for those is a trait that applies modifiers to the attribute that is itself active or not.)

The change in supported traits that are available to Transforms greatly increases the number and type of traits in the Transforms dialog trait grid. In support of that, I’ve added a new first column that displayes the type of each of the included traits, and Skill and Spell names will be shown with their levels appended using “-XX” where XX is their level.

 

Package Updates

2022 April 8

GURPS Low Tech 4e.gdf

[BODY]
<Humanoid Expanded> changed to <Humanoid Expanded – Low Tech>
name(Groin)
name(Front Groin)
name(Back Groin)
Updated to include ‘Torso, Abdomen’ in each group():

<Humanoid – Low Tech>
name(Chest), group(All, Skin, Full Suit, Body, Torso, Chest)
name(Abdomen), group(All, Skin, Full Suit, Body, Torso, Abdomen)
name(Groin), group(All, Skin, Full Suit, Body, Torso, Abdomen, Groin), display(-1), expanded(-1), posx(393), posy(449)
Added this additional version of the basic Humanoid body that supports the changed coverage of chest, abdomen, and groin.

I sometimes wonder how some bits are missed (b177)

b177 (b176 was used only for the last Release Version.)

Modified the output of the character’s QuickRulesOptionsCode() a bit: it now defaults to separating the pieces with commas; the dice+adds code is now ‘d+a’; the allows stacking for Deflect and Fortify codes now spell those out; added ‘-deffrom’ for when default level discounts are turned off; now outputs ‘n/a’ when no codes apply.

On the main window’s Traits menu the “Bonus Granting” option was changed to “Active/Inactive” to match right-click menus. I also added the “Loadout” options that were missing.

Changed how Options sizes the options panels, in an attempt to fix an issue with Windows 11 when high DPI scaling is turned off.

Added an error trap to the code when export sheets are run, to catch run-time errors in the export sheets.

The independent routine that returns the weight of all unassigned items wasn’t properly updated when the routine that returns all unassigned items was, so it was still double counting unassigned items that are chilren when totalling weights.

Since characters were changed some time ago to always recalculate the virtual ‘all unassigned items’ loadout (because that’s used as the default for various things), I have now changed the calculation code in the character to use the weight of that loadout for the character’s current load weight when using the unassigned items loadout. It was previously using the routine that just calculated the weight of all unassigned items separately, which is an unnecessary and redundant call in this situation, since we already know that value.

Character equipment lists now use an adjusted DisplayName that includes modifiers, as the various other traits do. This means you should now see the applied modifiers listed (in ‘short name, cost’ format) with the item. This will automatically flow through all lists and character sheets that use DisplayName when displaying the lists (all of my sheets use DisplayName). This *does not* apply to Attack Tables.

The Sheet Options dialog will now cap the sizing of the options blocks to prevent them from getting unreadably wide or unusably narrow.

The Sheet View toolbar should no longer be obscuring part of the Sheet View area.

* Campaign Settings

Campaign Settings should now honor Tablet Mode.

I’ve made some changes when initializing Campaign Settings to try to help adjust for issues with the sizing of the boxes in Windows 11 when high DPI scaling is turned off.

Campaign Settings has been changed to be a sizable window. This should help with better fitting everything as the user would like when the window is scaled in size.

Because of the change to a sizeable window, I’ve adjusted where the errors list appears when there are issues. This now appears inside the content area, under the panel displaying the info boxes. This will resize that flow panel, so when the errors list appears, the boxes may be re-flowed.

I’ve adjusted the checkboxes to help with accessibility. I’ve also left-aligned the various labels to fit in with the checbox change.

Package Updates

2022 April 6

* NPC Record Card

This should no longer chop off trait section headers when they have no traits in them.

The card will now use FullNameTLExpanded for the attack names. This shows the modifiers applied (using short names, without costs) in parentheses after the name.

* Official Character Sheet

Added some options to allow some customizing of the footer text.

Package Updates

2022 April 2

Dungeon Fantasy RPG.gdf

[EQUIPMENT]
<Armor – DFRPG Adventurers>
Normal ‘head’ armor covers only the skull (not the face) unless full face coverage is included, so these items all had ‘head’ changed to ‘skull’ in location().
“Light Cloth (Head)”
“Heavy Cloth (Head)”
“Light Leather (Head)”
“Furs (Head)”
“Heavy Cloth (Head)”
“Heavy Leather (Head)”
“Light Mail (Head)”
“Light Scale (Head)”
“Light Segmented Plate (Head)”
“Mail (Head)”
“Scale (Head)”
“Segmented Plate (Head)”
“Heavy Mail (Head)”
“Heavy Scale (Head)”
“Heavy Segmented Plate (Head)”
“Brigandine (Head)”
“Plate (Head)”
“Heavy Plate (Head)”
“Extra-Heavy Plate (Head)”
“Epic Plate (Head)”

The ‘head’ location covers the skull and face, so listing ‘face’ in addition to ‘head’ is redundant, so these items all had ‘face’ removed from location().
“Light Cloth (Full Face)”
“Heavy Cloth (Full Face)”
“Light Leather (Full Face)”
“Furs (Full Face)”
“Heavy Cloth (Full Face)”
“Heavy Leather (Full Face)”
“Light Mail (Full Face)”
“Light Scale (Full Face)”
“Light Segmented Plate (Full Face)”
“Mail (Full Face)”
“Scale (Full Face)”
“Segmented Plate (Full Face)”
“Heavy Mail (Full Face)”
“Heavy Scale (Full Face)”
“Heavy Segmented Plate (Full Face)”
“Brigandine (Full Face)”
“Plate (Full Face)”
“Heavy Plate (Full Face)”
“Extra-Heavy Plate (Full Face)”
“Epic Plate (Full Face)”

An armor ‘suit’ in DFRPG includes the skull (but not the face), so these items all had ‘skull’ added to lcoation()
“Light Cloth (Suit)”
“Heavy Cloth (Suit)”
“Light Leather (Suit)”
“Furs (Suit)”
“Heavy Cloth (Suit)”
“Heavy Leather (Suit)”
“Light Mail (Suit)”
“Light Scale (Suit)”
“Light Segmented Plate (Suit)”
“Mail (Suit)”
“Scale (Suit)”
“Segmented Plate (Suit)”
“Heavy Mail (Suit)”
“Heavy Scale (Suit)”
“Heavy Segmented Plate (Suit)”
“Brigandine (Suit)”
“Plate (Suit)”
“Heavy Plate (Suit)”
“Extra-Heavy Plate (Suit)”
“Epic Plate (Suit)”

Package Updates

2022 March 29

GURPS Martial Arts 4e.gdf

[Lists]
<Style Realistic Techniques Capoeira>
<Style Realistic Techniques Dragon-Man Kung Fu>
<Style Realistic Techniques Force-Swordsmanship>
<Style Realistic Techniques Taijutsu>
<Style Realistic Techniques Wushu>
#newitem moved later in list

Pyramid 3-71 – The Captain’s Boat.gdf

File added.

Official Character Sheet

Added support for user-adjustable footer text.

Updated Equipment Totals line to honor user settings for formatting values.

Spring Bandit Sheet

Updated loadout weight display in Move box to honor user settings for formatting values.

Package Updates

2022 March 23

* Official Character Sheet

Fixed DR display (when showing a single value) to show Torso value

Added option to show thin solid lines instead of dotted lines where dotted lines would normally be used

* GURPS Supers 4e.gdf
[Stats]
Super ST
newmode(kick,
parry(0) changed to parry(No)

* Dungeon Fantasy RPG.gdf
Added “_New Parent Item” to Advantages, Disadvantages, Skills, and Spells.

2022 March 18

* Official Character Sheet

Now offers a couple options related to including page numbers with traits.

Enabled the ability to expand/collapse child lists for parents in Sheet View.