A hodgepodge of bits and templates (b156)

b156

The image caption sheet option that I kludged together last build is now a bit smarter in sizing the image, allows larger images, and now supports aligning left, top, right, or bottom.

The Sheet Options dialog will now open with the currently active sheet profile’s options selected and loaded.

More type conversions.

The expanded $if() function had a bug if you used ‘elseif’. Fixed it.

Added some error traps for some more situations with template command handling.

Adds() and Creates() should be slightly less stupid now about empty items as a result of extra commas.

I’ve added the addsorincreases() tag for templates. It works somewhat like adds() or sets(), but actually looks first for the trait on the character, and if found, *increases* it by the set value; if not found, GCA tries to add the trait to the character at the given value like adds(). This has aliases: addorincrease(), addsorsets(), and addorset() because I couldn’t settle on the name. This works inside triggers() or is processed in the standard tag list after adds(). NOTE: Given that known attributes always exist, you’d use this with attributes as ‘increase by this amount’, so to add 1 to ST you’d use ST:ST=1.

Added the message() tag, which works like the #Message directive, but in a tag. Works in triggers() or is processed in the standard tag list last, just before cleaning up directives, before item calculations begin on newly created items. This is primarily meant for use in triggers() since it can only handle a single message, but it works if you just need one at the end.

Added the new directive #BuildLibraryItemList. This works exactly the same as the #BuildCharItemList, except it operates on the character’s Library items to select from to build the list. Bear in mind that nothing you tag to character items will be the same in the Library items: that’s just book data as loaded from the files. (I keep thinking that I already added this directive years ago, and keep finding that it’s not there, so now it definitely is.)

Addressed some issues with the money fields in the Campaign Log dialog.

* SelectX()/Select()

Random selections in Select dialogs for templates were not working correctly if Refuse Dupes was turned off for the item types in question. That has now been fixed.

Fixed an icon in Select dialogs to match the explainer.

The special case variables for previous SelectX() selections are now used in a few more places, so you can now use them in the conditional() and text() tags.

You can now use recommended() as one of the tags of the SelectX() to recommend traits to the user. This should specify one or more traits in a list, with prefixes, and enclosed in quotes or braces when necessary. If any of the traits specified here are found in the library trait list provided to the user, then they will be marked with a ‘favorites’ gold star on the right side of the listing, indicating their recommended status.

The colors on the dialog should be fixed now.

* Plugins

I changed the names of a bunch of routines in GCACharacter related to directives, in order to make them more consistent across functions. These were all routines that nobody but me is likely to use, but they are Public, so the change may affect the profile of the interface, which may make compiled plugins no longer compatible. As a result, you may need to change your Reference to GCA5Engine to this new version in order to get your plugin to compile.

* Data Files (Released 2021 September 19)

Dungeon Fantasy RPG.gdf: All cases of ‘Shield Wall Training’ changed to ‘Shield-Wall Training’

* Data Files (Released 2021 September 15)

Dungeon Fantasy RPG.gdf: All cases of ‘Armoury’ changed to ‘Armory’

* Data Files (Released 2021 September 2)

GURPS Action 1 – Heroes.gdf: Updated the Assassin, Medic, Wheel Man, and Wire Rat templates.
GURPS Basic Set 4th Ed.–Characters.gdf: Just added units() to Basic Lift.
GURPS Ultra-Tech 4e.gdf: Fixed the Encoding=UTF-8 at the top of the file and fixed the Android (Ultra-Tech) template.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.