Featured post

Version 5.0.209 Released

GURPS Character Assistant 5.0.209.0 has been released. Get the updated installer from your Warehouse 23 downloads page. (If you purchased GCA at the new Shopify store, you may need to go to your downloads page there to get the updated ZIP with the installer.)

This update includes all the changes mentioned in Build Notes posts since the last Release.

Note: You get the updated installer by re-downloading GURPS_Character_Assistant.zip from your Warehouse 23 account, and running the gca5setup_5.0.209.release.exe program that it contains. There is no separate update-only installer, you have to download and reinstall the program. It will not overwrite your personal data, it will overwrite your installation of GCA with the new and updated version.

Package Updates

* GCA Prime Sheet (1.0.8)

Updated to include support for excluding traits that are in Transforms from being included in the general trait lists. This would result in them being shown only in the Transforms to which they belong. This may make keeping track of things easier when a character has many Transforms.

The option for this is with the options for Transforms, toward the bottom end of the options blocks. This is set to No by default.

Package Updates

* Official Character Sheet (now 1.0.23)

Updated the printing of Languages to work more smoothly when bumped off the front page (for the portrait block), and to print them properly (using the language grid that’s normally used, not as an advantage) when printed in the Overflow section.

Package Updates

* GCA Prime Sheet

Updated to allow users to customize the contents of the Attributes TopLine and the Attributes OCS Style blocks. In both cases, there are now options to allow the user to enter text in a specific way that tells GCA what attributes to display, and whether they should be in addition to, or instead of, the default items.

The Attributes OCS style options come in two chunks, one for the left half of the display area (ST, DX, etc.) and one for the right half of the display (HP, Per, etc.). The right half allows for an additional field to specify if there should be an extra box, such as is used for tracking the current value of the attribute.

Roll up a bit of text (b208)

b208

* Modes

New Mode function RollToText() as String will now return the ‘extra roll info’ text. This is a string like this: “Roll to [mode]: [charskillscore]”. This is the text normally displayed when the user turns on ‘extra roll info’. Having GCA generate this text instead of pushing it onto the sheets allows for customizing it more easily. You can access the function directly or as TagItem(“rolltotext”).

To customize the returned RollToText, there are now the RollTo() and RollToPhrase() tags. These allow you to replace the extra roll info of “Roll to” with something else. RollTo() simply replaces the “Roll to” text with the text specified. RollToPhrase() provides a way to fully replace the entire “Roll to [mode]: [charskillscore]” phrase with a new one you specify, with Text Function Support and two special variables: %mode% for the name of the mode, and %score% for the value of charskillscore; variable replacement is done before Text Functions. If RollToPhrase() exists it overrides any provided RollTo().

* GCA Prime Sheet

Updated to use RollToText() for modes if run on a newer version of GCA.

* GCA5.xsd

Added elements ‘rollto’ and ‘rolltophrase’ to GCAAttackMode block

Bit do what? (b207)

b207

* Appearance / Biographical Data

Added some error trapping for mismatched parens and braces.

Adjusted the window construction to allow for the error lister.

Changed ‘Build’ field to use the ‘bio_build’ character tag.

Added fields for ‘Eye Color’ and ‘Hair Color’ as character tags ‘bio_eyecolor’ and ‘bio_haircolor’, respectively.

Changed the ‘Appearance’ option on the Character menu to ‘Appearance / Biographical Data’.

* Armor

Armor items so far have denoted if they are flexible in the same way the books have: with a * at the end of the DR value. Now we have more options.

There is now support for the new flexible() tag, that can be used to denote whether the armor is flexible or not. Any of flexible(0)flexible(no), or flexible(false) will cause the armor to be marked as NOT flexible, while any other value will cause the armor to be marked as flexible (but using flexible(yes) or flexible(true) is recommended for clarity). Using this tag will override any existing * marker.

To apply bonuses to ‘flexible’, apply a string bonus to flexible$ of “no” or “false” to turn flexible off, or “yes” or “true” to turn flexible on. You can also target any positive adder bonus to turn flexible on, or any negative adder bonus to turn flexible off. The string bonus overrides the adder bonus if both are present.

GCA will calculate a charflexible() tag based on the * marker or the flexible() tag, and any bonuses targeted at ‘flexible’. If the armor is determined to NOT be flexible, charflexible() will NOT exist and will be deleted if it did exist. Likewise, GCA will add the * to the end of the DR value if flexible, and remove it if not flexible.

As with all other calculated character-specific calculated features, exporters and sheets will want to use charflexible() if they need it for something, but any flexible armors will still be marked with the * for user reference, so if those values are also used, you may need to remove the * from the end.

* TL

When creating the tl() for equipment items, GCA wouldn’t always preserve the special suffix for some items (such as ^) when setting that item to the character’s TL. Now it should.

I’ve also created the NumericTL() as Integer function on GCATrait, which returns an integer version of the TL for the trait. This can be retrieved through TagItem or :: as ‘numerictl’. In descending order of priority, this function will check the item’s tl(), then techlvl(), and lastly the character’s TL; then remove any suffix, and finally try Solving for a numeric value.

* #ForceNeeds

GCA’s usual behavior when processing templates is to *not* allow auto-adding of needs() items to the character. This is because that behavior may conflict with things the template has yet to finish doing, and could easily result in duplicate traits being added to the character when that is not intended.

You can now use the special directive #ForceNeeds in an adds(), addsorincreases(), or creates() tag to specify that the trait being added should override GCA’s usualy behavior and allow the needs() auto-add system to be employed.

As with #NoNeeds and #DoNotOwn you should include #ForceNeeds in the main clause of the tag data, before any ‘respond’ or ‘with’ portion, else it be considered part of the other clauses and not work correctly; sticking it into the name section is best.

* Build Campaign Book

I’m trying to rebuild this dialog to actually display properly for users in Windows 11. This is my second attempt, since I was rather unhappy with the previous one, whether it worked or not.

The dialog has now been restructured and arranges the window elements differently.

* TagDefs.xml

Updated to include flexible() and charflexible().