Author Archives: Armin

Combinatobits (b166)


The Combination Editor in the Edit Traits dialog for a combination had some broken colors. That has been fixed.

A logic error in the Combination Editor caused all skills after the first targeted attack found to appear to also be targeted attacks. That has been fixed.

* Fencing Weapons

When I added support for the fencingweapon(char::enclevel) tag, I didn’t fully consider the actual application as it would work for weapons that can be used with either a fencing skill (where the penalty applies) or a non-fencing skill (where the penalty does not apply).

I have updated the code to be a bit smarter based on the mode data. If a weapon has an F flag in the parry() for a mode, indicating that it is used as a fencing weapon, GCA will create the fencingweapon() tag if it doesn’t exist and update the trait links (so that changing encumbrance will cause the mode to get updated). If the tag already exists, GCA won’t bother with that bit.

Now, when calculating modes, the fencing penalty will only apply to those modes where the parry() has the F flag.

* TagDefs.XML

Updated the entry for the ‘fencingweapon’ tag to reflect actual usage.

* Data Files (Released 2022 January 4)

Dungeon Fantasy RPG.gdf: Bug fixes.

Bits of imprecision (b165)


Stupid bug fixed. Back when the BasicDamageList was changed to use List rather than Collection, the Solver’s routines for @baseswdice() and @basethdice() were not updated to account for the shift in base from 1 to 0, so GCA crashed when the given ST exceeded the last entry in the BasicDamage data (100).

Added some accessibility alt-text to the Campaign Settings dialog.

An issue related to double precision values when checking for fractional results during the calculating of modifiers has resulted in some edge cases incorrectly pushing a result to the next higher integer, when that’s clearly the wrong result (example: Level 5 Magery = 50 points, +10% modifer = 55 points; but GCA was showing 56 points). I’ve changed how the intermediate tier results are finished (rounding to 4 decimal places), which I think should compensate for the floating point precision issue.

Added a tag for equipment items to allow for changing the number of decimals kept during calculation of modifiers, allowing items to override the normal 2 digits kept for equipment. Because of other issues in modifier calculation, 4 decimal places is still the max, but you can specify a value from 0 (the default is 2 places) to 4. This may help in certain cases. The tag is decimalplaces(<num>) where <num> is an integer value from 0 to 4. (I may decide to add a GCA option for this in the future.)

* Data Files (Released 2021 December 30)

Dungeon Fantasy RPG.gdf: More updates, edits, and consolidations of weapons.

* Data Files (Released 2021 December 19)

GURPS Basic Set 4th Ed.–Characters.gdf, GURPS Martial Arts 4e.gdf, and GURPS Power-Ups 2 Perks 4e.gdf have all had some 0-point traits moved into the Features section.

Dungeon Fantasy RPG.gdf: Various updates, edits, and consolidations of weapons.

Very Early, Still-A-Work-In-Progress Draft of the GCA5 User’s Reference Guide

I’ve got a few things into the GCA5 User’s Reference Guide at this point, so I thought I’d share a work-in-progress link, just in case anyone cares.

This is first draft territory; most of the links that will be there are not there yet, and the only editing so far is my own review as I write each piece, so there are likely lots of typos and whatnot.

If you want to take a look, please only comment on what kinds of content you’d like to see, depth of coverage, and so on. Anything at the copy-edit level will be wasted at this point.

Link to the file on my OneDrive is here: GCA5 User Reference Guide (link updated to new doc January 12, 2022)

Used bits of uses (b164)


When randomly making selections from a ChoiceList dialog, GCA should no longer select an item that appears to be empty.

Swapped Languages and Cultures/Cultural Familiarities in the order they’re displayed on the Points Bar and in the Classic View tabs.

When deleting a trait, it should now be removed properly from all Transforms as well.

Due to some convolutions in how Body objects are used and assigned, the Default Body that a GCA Character maintains was only being recalculated and refreshed when the Protection window was accessed. Within GCA, this didn’t matter much because they’re always accessed through a Loadout, but it is an issue when reading the save file, or when trying to access the default body in a sheet. So, GCA now assigns that default body directly to the All Unassigned Items loadout when recalculating the character, which was how it should have worked, and which should now fix the issue.

* Uses

The mode tags uses() and uses_sections() are now able to specify more complex math (if desired) by forcing the use of the Solver. If desired, just begin the text of the uses() or uses_sections() tags with an ‘=’ sign, such as ‘=me::score*2’. Note: Don’t mix ‘count’ and ‘=’ because the simple replacement method of ‘count’ with a value may conflict with the Solver’s ability to find trait references if ‘count’ was incorrectly replaced with a value inside of such a reference.

Messed about a bit with how used uses are tracked/handled, so that switching between tracking by section and not tracking by section is less likely to discard used uses.

Changed how the uses controls are initialized, so the program can set a larger box size automatically if using the largest zoom. (This can still be overridden by the settings for a particular uses() control.)

The boxes are now specifically drawn, instead of using a checked or unchecked image. The tick-mark image is then placed on the box afterward for used uses.

There are now a small number of built-in ‘styles’ of checkboxes, which can be specified for use in the new altbox() tag within the uses_settings() tag. The default style name is ‘black’, and there are also ‘red’, ‘orange’, ‘yellow’, ‘gold’, ‘magenta’, ‘green’, and ‘blue’ styles. Each of these styles specifies the color of the box, the interior of the box, the tick used to check the box, and a couple other bits. Right now, I’ve defined all that with these default built-ins, but some day it should be customizable somewhere.

The altbox() tag allows you to specify the box style, and with which box number that style begins. Styles apply starting at the specified box and continuing on from there until either the boxes end or another is defined. For example, altbox(green, 10, red, 20) would start with the default boxes until box 10, where they change to green, and stay green until box 20, where they become red. Note that some of these colors are kind of hard to differentiate, especially on a white background.

* Official Character Sheet (Released 2021 December 4)

The displayed block scores for shields were not always correct, because they didn’t include any block bonuses. I fixed the sheet to refer to the skill used, and get the block level from that, instead of what was being done.

* Data Files (Released 2021 November 13)

Dungeon Fantasy RPG: Removed the Equipment section, which was from GURPS DF, and rebuilt a new one with the boxed set info. Integrated Emily’s DFRPG Equipment file, which I believe had all the weapon and armor stuff. Changed all page refs throughout to DFRPG:Axxx. I didn’t understand Scrolls, so that’s the old versions. Still missing Other Items from the Magic Items section, and enchantments for Magic Weapons and Armor.

* bookcodes.xml (Released 2021 November 13)

Updated with DFRPG:A for Dungeon Fantasy RPG: Adventurers.

* Official Character Sheet (Released 2021 November 6)

Restored the missing Basic Speed and Move to the top-left attributes block.

* Official Character Sheet (Released 2021 October 31)

The Points Summary was not including the costs of Languages or Cultural Familiarities. Now it is.

* Official Character Sheet (Released 2021 October 28)

When languages don’t come in levels (such as in Dungeon Fantasy RPG) the sheet now just displays a checkmark in the Spoken or Written column as appropriate.

Fixed a button that read ‘Packages’ instead of ‘Templates’.

Fixed an issue with the attributes button on the optional Additional Attributes block that could throw an exception when that block is selected (even if it doesn’t get displayed).

There is now an option to print the character portrait on page 1. If you activate this option, then the portrait is printed in the top right corner of page 1, under the general info, in the area where languages, DR, TL, cultural familiarities, active defenses, and reaction modifiers usually get printed. Those items will be bumped to page 2 where the Character Notes usually gets printed, unless there isn’t enough room there (or it was sacrificed for the weapon blocks), in which case they bump to the start of the overflow pages. If you don’t have a character portrait, the space for it is left blank, and the other items are still bumped.

Working on the User’s Guide

Happy Thanksgiving, if you’re celebrating that today.

Not a lot to report at the moment. I’m working away at the User’s Reference Guide right now, which is basically a bunch of “this dialog does this”. Not hard, but strangely tiring.

I hope to do a tutorial as well. That’s almost certainly something that should also ‘live’ over time, getting added to as more things come up. Hopefully I’ll be able to get a good base down.

That’s pretty much it for the moment.


Plugin Reference Guide (in progress, slowly)

I’m working on the user reference guide for GCA5 right now, but I occasionally spend time on more technical docs as well.

If you are writing a plugin, or want to write one, here are some docs I’m slowly working on that may help you (along with looking at the code for existing sheets to see how I do something in particular.)

Plugin Reference Guide.PDF

I’m afraid I haven’t actually updated it in a while, but it may already have some useful info within.

Updated Spring Bandit

I have updated the Spring Bandit Sheet.

It now includes these new features:

  • Support for printing some of the trait icons (missing prereqs (P), defaulting (d), taboo conflict (!), leveled trait (stairsteps), overspent points (green flag), and inactive trait (red X).
  • Support for having General Info print in one data column, instead of two side-by-side.
  • Support for using a ‘monochrome’ color scheme, which lets you pick a color for the boxes/lines, and a color for shading the alternate items.

I think that’s it.

Download from the same place as before, which is here:

Two New Sheets

I’m releasing two new sheets into the wild, but won’t include them in the updater in GCA5 until they’ve been beaten about a bit. Both are v1, and I think they make a great start on what they are, but you can let me know if you agree or not.

The two sheets are the Spring Bandit Sheet and the NPC Record Card. You can download them from my Patreon post here: (this is a public post–available to all!), and that post links back to those pages I just linked above, which have the explanations and sample images.

GCA Beta Preview, Release FOUR, now available

The fourth release of the GURPS Character Assistant 5 Beta Preview is now available.

The first release was announced in this post, which has more details.

This release fixes all the reported bugs so far, and includes some updates and other fixes, as detailed in the various build notes posted on this blog.

You can find the installer available for download here:

If you want to validate the ZIP after download, there is a PAR2 file here:

The GCA5 installer is within the ZIP file. If you already have the previous Beta Preview release installed, this should install smoothly over the top in the same location. Once installed, this should be version (The previous release was

Please refer to the original announcement for more details and links to the Google Group where we are handling the related discussions. We’d love to have your feedback, suggestions, and (of course!) bug reports.