Monthly Archives: October 2020

Bits just chucked in (b123)

b123

(A quickie bug fix to the PushRecalcItems routine was made. The fix changed two casts from object into GCATrait into ICollectibleObject instead. The program was recompiled, a replacement installer was built, and then b123 was re-released.)

Added support for scopeacc() and charscopeacc(). The scopeacc() tag reflects the bonus to acc that derives from a scope or similar such aiming aid. The charscopeacc() tag holds the bonus after any bonuses to scopeacc have been applied. The charscopeacc() value will now be used to create the suffix value for the final characc() tag, so acc(2) and scopeacc(2) with a ‘+1 to scopeacc’ bonus would result in charscopeacc(3) and characc(2+3).

Added ‘fencingweapon’ and ‘charfencingpenalty’ to the tagdefs.xml file.

There is a piece of the Trickle code that I had disabled because it seemed to be obsolete with the way GCA tracks things these days. Turns out I was mistaken, and it has been restored.

* Target Tag bonuses

Changed the method that GCA uses to keep track of target tag bonuses. Previously, it was a mass of individual flags. It’s now a dictionary that tracks what tags are being targeted for bonuses. You shouldn’t see the difference, but it will be considerably easier to adjust for supporting new target tags later. If I made a mistake, you’ll see some bonuses fail to be applied.

With the change in target tag bonus tracking, it’s possible to see if a bonus exists for any tag on a trait, even one that’s not supported as a targetable tag, or even for tags that don’t actually exist. So I have added some functions to grab the bonus values targeting any desired tag, so you can make use of them. This allows for you to make use of custom tags and custom tag targets to handle custom situations you could not handle in the past.

The new functions are:

@bonusadds() – Returns the total of all add and subtract bonuses/penalties targeted to the given tag, or 0 if there are none.

@bonusmults() – Returns the multiplicative total of all multiplier functions targeted to the given tag, or 1 if there are none.

$bonusstrings() – Returns the concatenated string of all text bonuses targeted to the given tag, or an empty string if there are none.

* Setup

I have switched to a new program to create the installer. This should avoid the issues I identified with using the Updater to update program files installed by the MSI install system. However, additional testing is still needed.

This installer doesn’t currently have a way to check for, and install if necessary, the .Net Framework 4 system files that are required. Most people should already have those, as they come with Windows, but some may be missing. That’s still something I’ll have to figure out.