Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - d20 System
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old February 25th, 2011, 09:13 AM
1. Is there a way to tell in which class you are spending your skill points in?

2. When you replace thing id for a race (say Dwarf for example), then I modify the languages, why does it still default to the original Dwarf languages for validity?
Kendall-DM is offline   #1 Reply With Quote
Nigel Fogg The Wayfarer
Senior Member
Volunteer Data File Contributor
 
Join Date: Feb 2009
Location: Virginia
Posts: 364

Old February 25th, 2011, 10:10 AM
Quote:
Originally Posted by Kendall-DM View Post
1. Is there a way to tell in which class you are spending your skill points in?

2. When you replace thing id for a race (say Dwarf for example), then I modify the languages, why does it still default to the original Dwarf languages for validity?
I don't understand Question # 1. If you have a character that is mult-class and you look on the Skills Tab it will list each class in its own column. It is from those columns that you make the selection of where your points are allocated.

Nigel Fogg, aka The Wayfarer
Nigel Fogg The Wayfarer is offline   #2 Reply With Quote
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old February 25th, 2011, 10:34 AM
I meant from a coding standpoint. Anyways, nevermind on #1, for what I want to do I'm sure I'm not approaching it in the right way. Every solution I've tried so far wants to apply all changes throughout the hero, and I think that is because there is no locked state for the skills, thus making it a problem (things get retroactively applied to skills, it's kind of annoying). If there was a way to know where I spent the skill points (purely in the code) then it would work. I don't think there is a way to tell on a level by level basis. I can do it by class, but so far, I haven't been able to get the one class to cooperate with another class when it comes to how many ranks are being spent. Every class wants to inherit the changes I make in one class. It's frustrating, but I'm sure there is a way.
Kendall-DM is offline   #3 Reply With Quote
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old February 25th, 2011, 12:18 PM
Here's another question, regarding making things valid. If I want to make a skill appear red (invalid) is there a way to do that from outside of the skill? I mean, I want to set, say kListen from valid to invalid so that Listen shows up red in the skill list, but with code that is outside of the skill (say in Class).

like panelvalid does, so to speak, but only for the individual skill?
Kendall-DM is offline   #4 Reply With Quote
risner
Senior Member
Volunteer Data File Contributor
 
Join Date: Jun 2010
Posts: 623

Old February 25th, 2011, 12:58 PM
Quote:
Originally Posted by Kendall-DM View Post
I meant from a coding standpoint
I answered this from another thread. Search my posts. kValue0 is for the first class.

Quote:
Originally Posted by Kendall-DM View Post
I want to set, say kListen from valid to invalid so that Listen shows up red in the skill list, but with code that is outside of the skill (say in Class).
I assume you have looked at a sheet with a valid and invalid skill and compared the two to see what is different between the two?

Last edited by risner; February 25th, 2011 at 01:00 PM.
risner is offline   #5 Reply With Quote
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old February 25th, 2011, 01:23 PM
The method you described won't work, unfortunately. In order to modify kValueX, I have to know by how much, and since there is no tracking in HL on skills spent on each class at each level, there is no way to do this without problems. Believe me, I tried, but I can't tell if you are decrementing or incrementing a skill (to say, add an additional 1 to make the ranks work out) and there is also the option to add a number by double-clicking and entering a number. Remember, the script will run each time the skill is activated (whether by decrement, increment, or entry method). So, how do I tell it what to do. The other option was just to double the actual points spent, but again, no tracking, and I can't double the kValueX, because that becomes exponential. Unless you can see a way to get past this mechanic, and I haven't been able find one, then it just doesn't work. I spent all yesterday evening trying before I gave up on that method. I now have a method that works, and it works fine, I just need to know if I can make the validity testing work. I have looked at the fields and tags, and nothing pops up on it for validity that I can tell.

Last edited by Kendall-DM; February 25th, 2011 at 01:27 PM.
Kendall-DM is offline   #6 Reply With Quote
risner
Senior Member
Volunteer Data File Contributor
 
Join Date: Jun 2010
Posts: 623

Old February 25th, 2011, 02:04 PM
Quote:
Originally Posted by Kendall-DM View Post
The method you described won't work
Maybe I'm still having trouble understanding what you need to happen.

To be clear:
kValue0 is a single value.

For example:
I create a 5th level druid, I put exactly 2 ranks in Concentration and no other skills.
Looking on Concentration, I see kValue0 is 2.
I don't have any information about when that was taken, I just know it had to have been taken by the Druid.

What you asked to do was change from 2 rank spent in Druid class to obtain a cross class skill to 1 rank spent.

To do so you need to obtain how many ranks were spent in the class in the skill in question. Then one time, and one time only do one of the following:
1) Determine how many more ranks you need to bump it up
2) Add that many more points spent and let the normal math solve this.

I guess you need to know what level this was done? Since the ability only functions on certain levels? If so, then you can't do it without a tracker and manually inputting in the tracker how many times it needs to do it's job.
risner is offline   #7 Reply With Quote
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old February 26th, 2011, 08:51 AM
Ok, technically you can do this. You would have to code each class to replace all its ranks with a new calclulated ranks based on the totals in each class in each relevant skill. So Wizard with kValueX in Speak Languages, for example, would have its ranks modified. I want there to be some warning too, that the ranks are not exceeding the max ranks of a cross-class skill while still costing that of a class skill. You could make it work, no doubt, but its alot of coding. Coding for every class, that needs to check every class index, find the one you want, modify the ranks, replace the ranks, add all the ranks in each class back together, and arrive at the final ranks of the skill. To me, that is over-thinking the problem, and I tried it. It was causing problems, because there are too many inter-dependent structures in the skill system of HL. It was just easier to do the following, I just made eval rules for each base class to determine that classes general skills and that way, it would not apply across the hero. It was the most reasonable way I could conceive that did not require a ton of coding to get the result I wanted. As of now, it gives a validity message when you exceed your max ranks, but it doesn't turn the skill red or the panel red (I can turn the skill panel red, I just can't do it for the individual skill inside the class' eval rules, at least not that I can find). Of course, for this to work, I have to designate that Speak Languages is a class skill for the Wizard, just to get the costing right.

@valid = 1
doneif (#levelcount[Bard] >= 1) ~class skill for Bards.

var genRanks as number
genRanks = (#totallevelcount[] + 3) / 2 ~max ranks for general skill.
if (#skillranks[kSpeakLang] > genRanks) then
@message = "Skill " & hero.child[kSpeakLang].field[name].text & " has too many ranks for a general skill."
@valid = 0
~need validity test of Speak Language.
~hero.panelvalid[skills] = 0 ;;panel validity, plus reset if used.
endif

Now the opposite problem occurs in this model, and I am aware of it. I will still get this warning if I'm in a prestige class and that class has Speak Language as a class skill. I will still be warned I have exceeded my max ranks when as a class skills, my max ranks is actually higher. I can't predict what other classes will need the skill and be excluded from the test, ala Bard above, which has Speak Language as a class skill. But since these are my files, I could just code them as I make any prestige classes to exclude the relevant one with that class skills (thankfully I've ruled in my house rules that only base classes get general skills).

Last edited by Kendall-DM; February 26th, 2011 at 08:57 AM.
Kendall-DM is offline   #8 Reply With Quote
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old February 28th, 2011, 03:55 PM
If anyone knows how I can do a validity test on a skill from within another Editor tab eval rule (not the skill itself), I'm all ears. If it can't be done at all, that would be good to know as well.
Kendall-DM is offline   #9 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,217

Old February 28th, 2011, 04:25 PM
Whether a pick is valid or not can only be determined by that pick.
Mathias is offline   #10 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
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 03:35 PM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.