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 02-25-2011, 06:08 PM   #1
PK
 
PK's Avatar
 
Join Date: Aug 2004
Location: Dobbstown Sane Asylum
Default Using downto() or the equivalent, for advantages?

Okay, I'm playing with Divine Favor now, and one of the quirks of the titular advantage is that its levels range from 4-16. There are no levels 1-3. So it's important to represent this, and for hopefully obvious reasons, I'd much rather implement this by simply restricting the level of the advantage to the 4-16 range, rather than make a 13-level advantage and rename the levels. (Among other things, doing it that way would make adding new learned prayers much harder.)

So I tried the following:

Divine Favor, 1/5/10/15/20/25/35/45/55/70/90/110/130/150/170/200,
displaycost(15/20/25/35/45/55/70/90/110/130/150/170/200),
page(PDF4), cat(Paranormal, Mental), upto(16), downto(4),
description(The level represents your base chance on a petition roll.)

(The first three levels are just garbage; they could be anything.)

The upto() works; I cannot go past level 16. But the downto() does not; GCA adds this advantage at level 1 and I have access to the full range from 1-16. I know that downto() works with advantages, because I use it all the time in templates (via #codes), so what am I doing wrong here?
__________________
Reverend Pee Kitty of the Order Malkavian-Dobbsian (Twitter) (LJ)

MyGURPS: My house rules and GURPS resources.

#SJGamesLive: I answered questions about GURPS After the End and more!
{Watch Video} - {Read Transcript}
PK is offline   Reply With Quote
Old 02-25-2011, 07:19 PM   #2
Armin
GCA Prime
 
Armin's Avatar
 
Join Date: Aug 2004
Location: Portland, OR
Default Re: Using downto() or the equivalent, for advantages?

downto() only works on ads in templates, because GCA "cheats" and gives the items a temporary tag called control_downto() that is used in the calcs for those items within the template. It's deleted again once the template is finished. There isn't specific support for downto() in ads otherwise, because it never really seemed like there'd be any call for such behavior.

I can add it for the future. For now, you might be able to cheat by simply using control_downto() directly. I don't think it'll be deleted if it's there outside of the context of a template. However, if the version of Divine Favor using it is used inside a template, odd things may happen.

Anyway, I'll see about adding downto() support directly, and see about getting an update out soon. Been trying to get a new codebase working, but another update with the current setup will have to happen sooner than that, I think.

Armin
__________________
Armin D. Sykes | Visit my GCA5 blog for updates and previews. | Get GURPS Character Assistant 5 now at Warehouse 23.
Armin is offline   Reply With Quote
Old 02-25-2011, 07:51 PM   #3
ericbsmith
 
ericbsmith's Avatar
 
Join Date: Aug 2004
Location: Binghamton, NY, USA. Near the river Styx in the 5th Circle.
Default Re: Using downto() or the equivalent, for advantages?

You can also use the init() tag to specify the starting level of an advantage - e.g. init(4) means the advantage will automatically be added at level 4 initially. You could also put a needs(me::level = 4) on there, which while it doesn't restrict the user from taking levels 1-3 it does tag them as missing a prereq, as well as tag any other traits needing that one as missing a prereq as well.
__________________
Eric B. Smith GURPS Data File Coordinator
GURPSLand
I shall pull the pin from this healing grenade and...
Kaboom-baya.
ericbsmith is offline   Reply With Quote
Old 02-25-2011, 09:30 PM   #4
PK
 
PK's Avatar
 
Join Date: Aug 2004
Location: Dobbstown Sane Asylum
Default Re: Using downto() or the equivalent, for advantages?

Quote:
Originally Posted by Armin View Post
downto() only works on ads in templates, because GCA "cheats" and gives the items a temporary tag called control_downto() that is used in the calcs for those items within the template. It's deleted again once the template is finished. There isn't specific support for downto() in ads otherwise, because it never really seemed like there'd be any call for such behavior.
Heh, figured I'd come up with something that'd break the system. FWIW, I believe that it makes sense to just include equal functionality across all realms -- that is, if downto() works for skills, it might as well work for advantages, attributes, etc. Since GURPS is so universal, something weird is always going to come up. :)

Quote:
I can add it for the future. For now, you might be able to cheat by simply using control_downto() directly. I don't think it'll be deleted if it's there outside of the context of a template.
Ha! GCA has been fooled -- yes, control_downto(4) works!

Quote:
However, if the version of Divine Favor using it is used inside a template, odd things may happen.
Double ha! Mad science!

Quote:
Anyway, I'll see about adding downto() support directly, and see about getting an update out soon. Been trying to get a new codebase working, but another update with the current setup will have to happen sooner than that, I think.
Thanks, Armin!

Quote:
Originally Posted by ericbsmith View Post
You can also use the init() tag to specify the starting level of an advantage - e.g. init(4) means the advantage will automatically be added at level 4 initially. You could also put a needs(me::level = 4) on there, which while it doesn't restrict the user from taking levels 1-3 it does tag them as missing a prereq, as well as tag any other traits needing that one as missing a prereq as well.
I hadn't thought of the needs(), but my backup plan was going to be to recost levels 1-4 as all being 15 points (so 15/15/15/15/20/25/etc.) and then using init(4). That wouldn't prevent a user from going down the chain, but it'd at least make it less likely. As long as this control_downto() doesn't break anything, though, I prefer it.

(And yes, I'm off to test what happens when I stick it in a template with some #codes . . .)
__________________
Reverend Pee Kitty of the Order Malkavian-Dobbsian (Twitter) (LJ)

MyGURPS: My house rules and GURPS resources.

#SJGamesLive: I answered questions about GURPS After the End and more!
{Watch Video} - {Read Transcript}
PK is offline   Reply With Quote
Old 02-25-2011, 09:53 PM   #5
PK
 
PK's Avatar
 
Join Date: Aug 2004
Location: Dobbstown Sane Asylum
Default Re: Using downto() or the equivalent, for advantages?

Quote:
Originally Posted by Rev. Pee Kitty View Post
(And yes, I'm off to test what happens when I stick it in a template with some #codes . . .)
Okay, what I expected to happen is exactly what happened. If I include a #codes(downto 5) or similar, GCA handles the template, and then strips the control_downto() tag from my trait when it's done. That matches what Armin said, so no surprise there.

So, I'm going with control_downto() and the backup plan of using init() and needs() as Eric suggested. If I recost levels 1-3 to match level 4, it'll at least make it seem kind of pointless for someone to lower the level. I've included a fairly detailed note in the GDF about this issue.

EDIT: Oh, and I'm also sticking a downto(4) in there, in anticipation of Armin adding that functionality later.
__________________
Reverend Pee Kitty of the Order Malkavian-Dobbsian (Twitter) (LJ)

MyGURPS: My house rules and GURPS resources.

#SJGamesLive: I answered questions about GURPS After the End and more!
{Watch Video} - {Read Transcript}

Last edited by PK; 02-25-2011 at 09:57 PM.
PK is offline   Reply With Quote
Reply


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 02:13 PM.


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