Author Archives: Armin

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

<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

<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
Super ST
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.

Package Updates

2022 March 14

* GCA5 User Reference Guide

Updated the Unified View image and the toolbar images to reflect the new Library Pane button that toggles display of the Library Pane.

Updated the Sheet View section a bit.

Added references to the right-click menu to Classic View and Sheet View.

Updated the Options dialog to reflect the new Program Options panes of Windows & Boxes and Lists, which replaced the Display pane. Also updated the Default Character Options to reflect the expanded Symbols and Optional Display pane.

* Official Character Sheet

The sheet now honors the character options for displaying Break, LC or Malf columns.

The sheet now honors the GCA options for formatting dollar costs and weights. If you have those set, GCA will also right-align those columns on the sheet.

* NPC Record Card

The sheet now honors the character options for displaying Malf numbers.

* Spring Bandit Sheet

The sheet now honors the character options for displaying Break, LC or Malf columns.

Malfed the Malf bits (b175)


Added an option that’s a bit hard to explain but useful to folks using Classic View or Trait Dialogs a lot to manage traits. You can now select a highlight color (or ‘any color’) in Options (Program Options > Display) that will allow traits with that highlight to remain in the character list regardless of the current category selected. This means that if you select ‘yellow’ and highlight a trait ‘yellow’ then that trait will always appear in the Character list, no matter what category is currently chosen in the category drop-down. This affects only these lists and has no impact on sheets or displays in other parts of GCA.

Added an option to display an LC column on the equipment library list.

If you use the option to format dollar costs or weights in character lists, you can now elect to apply those same formats to library lists.

The Display section on the Options dialog was getting a bit messy. I’ve split that into two: Windows & Boxes and Lists.

* Malf

Calculations have been updated to account for default Malf numbers based on techlvl() when an item should have a Malf but one is not provided, and for some special case values.

When GCA is calculating a trait, it’ll check to see if there is a malf() value for each mode of the item. (No modes, no malfs.)

If there is a malf(), great, it will calculate it.

If there is no malf(), it will then check for a cat() that includes “firearm” or “grenade” or a damtype() that includes “pi” or “inc”. If any of those are true, it will proceed to calculate the malf, using a default malf() based on techlvl().

You can use calcmalf(yes) (actually any value except ‘no’ or ‘false’) on the trait to force calculation of malf for all modes. Figured it should be there, but other options are probably better. If you use calcmalf(no) on the trait, it’s the same as setting malf(0) for every mode–all calced charmalf() values will be empty.

If the mode’s malf() is set to 0, this allows you to bypass all calcs, and the calculated charmalf() will be set to nothing.

If the mode’s malf() is set to 99, this allows you to force calculation of that mode’s malf–the 99 is not used as the base malf, that’ll be set by techlvl(). This is similar to using calcmalf(yes) on the trait itself, but applies just to this mode.

If calculating is a go, GCA calculates it as a simple number adjusted by all applied bonuses.

If not calculating, charmalf() is set to malf(), which may be empty.

I think that covers *most* situations. If something isn’t covered, manually setting the malf() to the appropriate value will cause calcs to happen.

* tagdefs.xml

Updated malf() text

Package Updates

2022 March 5

Delvers to Grow.gdf
Removed the redundant adds() that resulted in a duplicate Trademark Move being added for Thief characters.

2022 March 4

Dungeon Fantasy RPG.gdf
Fixed page references for spells to use DFRPG:S

Thanks to Repertor, a bunch of missing commas across equipment have returned.

Delvers to Grow.gdf
Updated a bunch of page number references for DFRPG to use the proper DFRPG book codes.


A bit o’ Malf (b174)


You can now hide the library pane in Unified View, just as you can on Sheet View. I added the same button for it to the leftmost position of the Unified toolbar.

Fixed the tooltip text for the layout button on the Unified toolbar.

GCA should now be better at catching duplicate specified categories for traits when loading traits from books. This will not affect the cat() tags on existing character traits.

I’ve added a new data file command: #ModifierGroupWarnings [On|Off] This is Off by default. When On (and #Verbose is also On), this command will cause GCA to spit out to the log every time it replaces the modifier’s included group() with the one specified by the sub-head group in the file. The group specified in the file must be the official group source for the data, and is considered part of the name of the modifier. However, there are reasons that having a group() specified in the tag block can be convenient. The default behavior of GCA’s book processing has now changed from what was the equivalent of this command being On to this command being Off.

Malf() is now recognized as a mode-tag. CharMalf() is now calculated based on malf().

ShowMalf, ShowBreak, and ShowLC are now settings that can be turned on or off in the [Settings] section of a book file.

There are now options for showing LC, Malf, and Break numbers on the Default Character and Current Character tabs of Options. By default, these are all Off.

The attack boxes on Unified View now respect the character’s settings for showing LC, Malf, and Break columns.

The attack displays on Edit Traits now respect the character’s settings for showing LC, Malf, and Break columns.

Due to some changes in settings and file processing, I’ve also updated the FastFileVersion to force rebuilds of all FastLoad library data.

* viewinfo_template_equipment.rtf

Removed a redundant modifiers output line.

* bookcodes.xml

Added the “Dungeon Fantasy: Spells” and “Delvers to Grow” books.

* GCA5.xsd

Added the overlooked ‘scopeacc’ and ‘charscopeacc’, and the new ‘malf’ and ‘charmalf’ to the GCAAttackMode block.

* tagdefs.xml

Updated for malf() and charmalf().

Bit a dis bit a dat (b173)


I have modified the Attack Mode Boxes in Unified View to be more robust about how they update or rebuild their contents. They should now more correctly and reliably update when modes are added, removed, or modified.

Certain elements of certain types of modifiers didn’t update their targets or parents fully when the Cancel button was used to close the Edit Modifiers dialog. That should now be fixed, although it does add a bit more calculation time to the rollback process.

The right-click menu in character lists on the Traits Dialog was almost completely useless, with almost all the options doing nothing. That should now be fixed, and the right-click menu should now be working as expected.

A bunch of routines in frmMain that handle actions made to the currently selected traits were made Public instead of Private. (This whole suite of routines needs to be cleaned up and normalized.)

The display of help info in the Add Tag dialog should now respect the minimum font size specified in options.

Adding or removing a child item should now cause both parent and child to be recalculated and marked dirty, and should also flag the related list types as needing an update.

Added support to advantage-type traits (cultures, languages, advantages, disadvantages, quirks, perks, features, and templates) for capacity meters based on number of children. This is different from the count capacity for equipment, because that includes total counts for all children (totals of all quantities of child items; no trait types have counts except equipment), and this is just a set number of children. So, a parent advantage could have a childcapacity(4) to generate a capacity meter based on 4 children maximum.

Fixed an issue in the drawing code for trait lists, and updated it slightly, so that child items will display more appropriate information for their type when they don’t match the type of the parent.

In the Campaign Log, when you add a new entry, focus should now be set to that entry’s caption for immediate editing. Also, when you tab into the Notes field, the entire text should now be selected, as happens with the other fields.

For some reason, the drawing code for the trait lists had disabled the use of the Transparency Settings option. I have restored that.

* GCA5 User Reference Guide

Added info about the right-click menu in Edit Modes.

Added info about capacity meters in character trait lists.

* bookcodes.xml

Fixed the reference url for Dungeon Fantasy RPG.

* tagdefs.xml

Updated with help for subsfor(), bonuslevels(), bonuspoints().

Updated step().

Updated with childcapacity(), childcapacitylevel(), overchildcapacity(), and overchildcapacityby()

* gca5.xsd

Added childcapacity, childcapacitylevel, overchildcapacity, overchildcapacityby elements to the ‘ref’ block of GCATrait