03292024, 05:40 PM  #1 
Join Date: Mar 2006
Location: Seattle, WA

Hopeful question about gives()
Hi again,
I was wondering if someone could explain how to have the gives() tag grant a bonus based on points rather than levels. So here is my scenario. First, consider a standard TL3 high fantasy setting with an Adventurer's Guild, which serves up quests for adventurers of varying ranks. For the "kill quest" category, where you have to go out and kill monsters that are terrorizing someone somewhere, I have established a formula for calculating the "value" of a creature to help determine the ranking for the quest. Part of the formula is the number of points in combat skills  not levels, but points. High stats are factored in elsewhere. What I want is to give a bonus to a stat, let's say Quest Value, based on the points in said skills. Can this be done and if so, how? Poring through the reference guide didn't help, and the reference to Points in the gives() tag "Calculation Methods" section didn't really explain anything other than stating "special." Any assistance would be appreciated. Thanks in advance.
__________________
Madness takes its toll. Please have correct change. 
03292024, 06:21 PM  #2 
GCA Prime
Join Date: Aug 2004
Location: Portland, OR

Re: Hopeful question about gives()
GCA grants gives() bonuses as either a flat* value or a perlevel value based on the level of the granting item. Since you don't want the level to matter, you'll have to grant a flat bonus using a formula.
Now, the question is: is your intent to have each skill grant a bonus to the Quest Value? I ask, because the alternative is to have Quest Value calculate itself based on the points spent in the various skills, if it's a known small list. Anyway, if you want the skills to grant the bonuses, you'll need to do something in a formula for the gives(), for example: gives( = @int(me::points / 5) to ST:Quest Value ) would give a flat* +1 to Quest Value for every 5 full points spent on the skill. Does that help at all? * to be clear, a flat bonus just means one of a fixed value, or calculated value, that is not applied perlevel of the trait.
__________________
Armin D. Sykes  Visit my GCA5 blog for updates and previews.  Get GURPS Character Assistant 5 now at Warehouse 23. 
03292024, 07:34 PM  #3 
Join Date: Mar 2006
Location: Seattle, WA

Re: Hopeful question about gives()
That helps tremendously, thank you so much. And yes, having the formula wrap up into the Quest Value stat would work, but it seems like it would get pretty complex in the formula. I already need to incorporate a variety of stuff into the basevalue(), and it seems like if I put too much into it then there may be processing issues (some of the players have lowend systems), not to mention a quickly growing hazard of user error as the complexity escalates. Spending hours troubleshooting someone else's monstrous Excel formula to find the cause of the error definitely reinforces the value of breaking stuff into manageable pieces. Plus, if the list of skills that apply grows over time, it seems safer to amend the skills rather than continue to grow the formula.
To give you a better sense, here is how I am calculating the "value" of a creature (copied directly off of my Obsidian Portal site): Calculations are done for each individual in the quest, be it monsters, bandits, etc. 1 per hundred CP +10 if sentient +1 per stat point (level, not CP) above 10 for the base stats +1 per secondary stat point (level, not CP) above base stat +1 per point (CP) of exotic or supernatural ability (including Magery) +1 for every point (CP) into combat skills or spells After calculating the value for each entity in the quest, tally the whole to determine the quest value total. So, with the above in mind, I was thinking that the base stats and secondary stats could be easily calculated in the basevalue() tag, and the various exotic or supernatural abilities could have their gives() added or merged as needed. Similarly, combat skills and spells would use the approach that you provided. Does this seem viable to you? The only thing left for me to figure out is how to get the character point total, which should also get wrapped up into the basevalue(). Any thoughts?
__________________
Madness takes its toll. Please have correct change. 
03302024, 11:43 AM  #4  
GCA Prime
Join Date: Aug 2004
Location: Portland, OR

Re: Hopeful question about gives()
Quote:
You can get various character values using char::value. So, to get the character's point total, you'd use char::totalcost in a formula. There's also the subgroups you can put after the char:: which are statcost, culturecost, languagecost, featurecost, adcost, perkcost, disadcost, quirkcost, skillcost, spellcost, packagecost (stuff in the Templates list), and the notCP dollarcost or equipmentcost. Also a couple extra for other subgroups: unspentpoints and againstdisadlimit; and a bunch of others for other various things.
__________________
Armin D. Sykes  Visit my GCA5 blog for updates and previews.  Get GURPS Character Assistant 5 now at Warehouse 23. 

03302024, 12:23 PM  #5 
Join Date: Mar 2006
Location: Seattle, WA

Re: Hopeful question about gives()
Yet again, thanks a ton. Not just for the answers, but also for a great tool that allows for amazing diversity of function  like incorporating this automated calculation system that is kind of independent of GURPS yet reliant on it and needed for my campaign. Coming from an operations background, I have to say that the insight and versatility that you have implemented results in a tool that is definitely something to be proud of. Thanks again for everything.
__________________
Madness takes its toll. Please have correct change. 
03302024, 08:47 PM  #6 
GCA Prime
Join Date: Aug 2004
Location: Portland, OR

Re: Hopeful question about gives()
Thanks!
And you're welcome!
__________________
Armin D. Sykes  Visit my GCA5 blog for updates and previews.  Get GURPS Character Assistant 5 now at Warehouse 23. 
Thread Tools  
Display Modes  

