Steve Jackson Games - Site Navigation
Home General Info Follow Us Search Illuminator Store Forums What's New Other Games Ogre GURPS Munchkin Our Games: Home

Go Back   Steve Jackson Games Forums > Roleplaying > GURPS > GURPS Character Assistant

Reply
 
Thread Tools Display Modes
Old 11-27-2010, 12:35 PM   #1
Orin_Sonders
 
Join Date: Dec 2006
Location: East Grand Forks, MN USA
Default aa() system tag

The GCAWiki includes the following paragraph on the aa() tag.

Quote:
The aa() tag is used by GCA to mark active armor traits, such as those selected in the Apply Armor section of the Protection window. If aa() is not empty, the armor or shield is active, otherwise it is not. GCA will set this value to aa(1), or delete the aa() tag, as appropriate, while in the Protection window. Externally setting the aa() tag to some value is acceptable, but it will have no effect on the character until the Protection window is opened and the tags are read, allowing GCA to reconfigure the armor settings.
Can anyone cite an example of 'Externally setting the aa() tag to some value' with an eye to how it could be done from within a template?
Orin_Sonders is offline   Reply With Quote
Old 11-29-2010, 05:17 PM   #2
Armin
GCA Prime
 
Armin's Avatar
 
Join Date: Aug 2004
Location: Portland, OR
Default Re: aa() system tag

There's no simple way to fill arbitrary tags for things in templates. However, you may be able to use replacetags() for this purpose:

ReplaceTags( in "ST:ST" with "up(5/10), down(-5/-10)", in all "SK:No-Landing Extraction" with "cat(Military), page(CI151)")

This allows targeting arbitrary traits with replacements for tag values. There's also mergetags() if saving prior values is important (and possible; it often is not given how many tags are single value only):

MergeTags( in "SK:Forward Observer" with "cat(Military), page(CI151)", in "SK:Darts" with "cat(Hobby), page(CI146)")

Sorry there's nothing more obviously designed for easily including stuff like aa() into these things. The alternative, and not a great one, is to include the full definition of the armor items as a creates(), and include the aa() tag.

Armin
__________________
Armin D. Sykes | My GCA page
I am working on the new GCA as fast as my life allows. I post updates here.
Armin is offline   Reply With Quote
Old 11-29-2010, 05:20 PM   #3
Armin
GCA Prime
 
Armin's Avatar
 
Join Date: Aug 2004
Location: Portland, OR
Default Re: aa() system tag

Quote:
Originally Posted by Orin_Sonders View Post
Can anyone cite an example of 'Externally setting the aa() tag to some value' with an eye to how it could be done from within a template?
And "externally" in this context may well mean "changed by the user using the Edit window," since that's external to GCA's own handling. It could also mean manually editing the character file, or using some third-party app (of which none exist that I'm aware of).

Armin
__________________
Armin D. Sykes | My GCA page
I am working on the new GCA as fast as my life allows. I post updates here.
Armin is offline   Reply With Quote
Old 11-30-2010, 08:46 PM   #4
Orin_Sonders
 
Join Date: Dec 2006
Location: East Grand Forks, MN USA
Default Re: aa() system tag

Thanks for your suggestions, Armin.

I tested each of them, and they all work just fine for setting the aa(1) tag for my purposes. However, I discovered setting aa(1) for the item was not the whole answer to having GCA recognize it as applied.

As the GCAWiki stated, changing the aa() tag will have no effect on the character until the Protection window is opened and the tags are read, allowing GCA to reconfigure the armor settings. I had hoped for GCA to read the aa(1) tag status upon opening the Protection window, or the Apply Armor tab.

It turns out that while the newly programmed status of the tag is correctly displayed for the item in the armor list of the Apply Armor tab, the armor settings (DR bonus) are not applied to the character until the user actually changes the status of one of the armor pieces in the list. It is only when the user clicks an armor piece check box that all the effects of the new aa(1) tags are read and applied. Otherwise, leaving the Apply Armor tab and even closing the Protection window does not update the armor settings to match with the aa() tag settings.

Is there another tag I can set to cause GCA to read the aa() tags without requiring user interaction?


Here is a bare-bones template to demonstrate the three methods of setting aa(1). I've also included Bronze Armbands as a check vs. how the aa(1) items are handled in the Protection window.

Code:
[Templates]
Armor Test, 0,
	owns(yes),
	locks(yes),
	hides(yes),
	adds(_
		EQ:Bronze Armbands#DoNotOwn,
		EQ:Scale Armor#DoNotOwn,
		EQ:Heavy Gauntlets#DoNotOwn _
			with "{Dungeon Fantasy: Oversized, *2, shortname(Oversized), page(DF1:28), gives(*2 to owner::baseweight)}" _
	),
	replacetags(in "EQ:Scale Armor" with "aa(1)"),
	mergetags(in "EQ:Heavy Gauntlets" with "aa(1)"), 
	creates(_
		{EQ:Bronze Greaves, techlvl(1), location(legs), aa(1), dr(3), basecost(270), baseweight(17), lc(4), page(B283), mods(Equipment), precountcost(270), precountweight(17), description(TL:1 LC:4 DR:3 Locations: legs), cat(Armor - Low Tech Limb Armor)#DoNotOwn} _
	)
Orin_Sonders is offline   Reply With Quote
Old 12-01-2010, 01:42 PM   #5
Armin
GCA Prime
 
Armin's Avatar
 
Join Date: Aug 2004
Location: Portland, OR
Default Re: aa() system tag

Quote:
Originally Posted by Orin_Sonders View Post
It turns out that while the newly programmed status of the tag is correctly displayed for the item in the armor list of the Apply Armor tab, the armor settings (DR bonus) are not applied to the character until the user actually changes the status of one of the armor pieces in the list. It is only when the user clicks an armor piece check box that all the effects of the new aa(1) tags are read and applied. Otherwise, leaving the Apply Armor tab and even closing the Protection window does not update the armor settings to match with the aa() tag settings.
I hadn't remembered that a change was required to trigger the recalcs for applied armor. That, at least, probably won't be much trouble to change, allowing for a recalc on opening the window.

Quote:
Originally Posted by Orin_Sonders View Post
Is there another tag I can set to cause GCA to read the aa() tags without requiring user interaction?
No, afraid not. GCA is currently configured to allow for those calcs only inside the Protection window, as that's the only place currently recognized as "legal" for setting active armor. Things would have to be moved around to put that code into the character itself, before there would be any way to allow changing aa() to be recalced in any other way.

This was one of those things where I decided that rarely used code would stay in the specialty window, rather than constantly being included in character recalcs, where it would usually just slow things down, rather than actually add much usefulness. Clearly, that doesn't work for what you want to do, but we're stuck with it until I can change chunks of code around, which has to compete with other things I want to accomplish. I'm putting it on the to-do list, though.
__________________
Armin D. Sykes | My GCA page
I am working on the new GCA as fast as my life allows. I post updates here.
Armin is offline   Reply With Quote
Old 12-01-2010, 06:40 PM   #6
Orin_Sonders
 
Join Date: Dec 2006
Location: East Grand Forks, MN USA
Default Re: aa() system tag

Thanks for looking into the matter for me, Armin.

I'll just put the aa() tag project on my virtual shelf for the time being, and keep an eye open for the recalc in Protection window functionality should it make it into a future GCA release.
Orin_Sonders is offline   Reply With Quote
Old 11-19-2019, 02:15 PM   #7
Kheldar
 
Kheldar's Avatar
 
Join Date: Aug 2005
Default Re: aa() system tag

This answers the question i was going to ask about the aa() tag not automatically updating.


Useful things these forums.
__________________
Kheldar
If I could think of something witty to put here, I would...
Kheldar is offline   Reply With Quote
Old 11-19-2019, 03:33 PM   #8
Armin
GCA Prime
 
Armin's Avatar
 
Join Date: Aug 2004
Location: Portland, OR
Default Re: aa() system tag

Quote:
Originally Posted by Kheldar View Post
This answers the question i was going to ask about the aa() tag not automatically updating.


Useful things these forums.
I would like to mention that things will change quite a bit in GCA5. You will be able to apply different armor for different loadouts, so the handling of active/applied armor is handled very differently internally than it is in GCA4.
__________________
Armin D. Sykes | My GCA page
I am working on the new GCA as fast as my life allows. I post updates here.
Armin is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Fnords are Off
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 09:41 PM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.