Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   HL - d20 System (http://forums.wolflair.com/forumdisplay.php?f=46)
-   -   Class Skills are Infuriating me!? (http://forums.wolflair.com/showthread.php?t=44272)

CptCoots May 21st, 2013 08:53 PM

Class Skills are Infuriating me!?
 
I've done the Typical Mathius suggestion of dumping EVERY tag that I can to check what is going on and I've tried to do this with the fields too, but I cannot find what distinguishes a class from a non-class skill. I found in the Pathfinder forums:
hero.child[skSurvival].tagis[Helper.ClassSkill] <> 0
But the d20 skills don't have that tag.

To make matters worse it has seemed that both ClassSkill.k? and NotClassSk.k? return the same values if the skill is class or not. WTF am I not seeing?

Edit: Also, how do i print/alter what is in hero.child[kSurvival].field[kClass]? It seems to be the only difference between the class and cross class skills, but the final value is listed as -piecewise- (.value and .text don't work)...

RavenX May 21st, 2013 10:21 PM

field[kClass].value <> 0 is what tells the d20 system if the skill is a class skill
if the field is non-zero (<> 0) then its a class skill if it is 0 its a non-class skill.

- piecewise - if I am not mistaken just says this is a piecewise function, its either 0 or 1 (off or on).

Have you tried hero.child[skSurvival].field[kClass].modify[+,1,""] ?

CptCoots May 21st, 2013 10:40 PM

RavenX: the .value business does not work. Give it a whirl. You get the error: Attempt to access a field 'kClass' defined with an incompatible style. Expected 'normal'.

RavenX May 22nd, 2013 05:22 AM

You should be able to add a tag ClassSkill.skillname to get it working in the tags section of whatever you are working on.

It might help if we knew what you are trying to do here. I don't know how the components and component sets of the d20 files are set up so if you want help, it may be in your best interest to tell us what you are actually trying to accomplish. It may not be possible to set a class skill from components in the editor via tags, depending on how the component sets interact.

Sendric May 22nd, 2013 06:35 AM

Have you looked at the Class Skill adjustment to see if that could help you with what you're doing?

CptCoots May 23rd, 2013 01:50 AM

Really simply, in the class variants, the Removed Class Skills doesn't work. It only removes the alphabetically first one, so I was going to do it manually.

@Sendric: What exactly are you referring to?

@RavenX: Without being able to adjust how skill ranks are calculated I do not know how adding the tag will help me; rather, I wouldn't know how to use it.

As a Dirty Work Around I did
I did the following in an eval script for the variant class

Post-attributes: 100000
~Halve the effective ranks
hero.childfound[kKnowNat].field[kUserRanks].value=hero.childfound[kKnowNat].field[kUserPts].value/2
~Now subtract this from the final displayed value
hero.childfound[kKnowNat].field[kModValue].value+=-hero.childfound[kKnowNat].field[kUserRanks].value

I didn't think I would need the second line, but it seems that HL doesn't use kUserRanks to define the final value, but rather possibly applies a .5*hero.childfound[k?].field[kUserPts].value instead. This seems silly to me.

Sendric May 23rd, 2013 05:10 AM

Quote:

Originally Posted by CptCoots (Post 157615)
@Sendric: What exactly are you referring to?

There is an adjustment you can use to make a skill a class skill for all your classes. If you go go the adjustment tab in the editor, you can do a New (Copy) of 'Class Skill' and see how it does its code. Maybe it will help.

Kendall-DM May 24th, 2013 09:50 AM

Quote:

Originally Posted by CptCoots (Post 157541)
RavenX: the .value business does not work. Give it a whirl. You get the error: Attempt to access a field 'kClass' defined with an incompatible style. Expected 'normal'.

Not having the data right in front of me, and having not done a lot of work recently in HL, I do recall that those in which .value and .text do not work is because they are arrays. So they would be .arrayvalue[index] and .arraytext[index], where the index starts at 0 and goes to whatever.

These kinds of arrays occur when more than one level (or whatever they represent) needs to be tracked, with index position +1 equals the level. So a first level character's skill points are stored at index position 0, and so forth.

I will take a look at this later tonight and see what I can. I have converted all my game's classes to variants (in order to easily implement my house rules without having to do a complete rewrite). I think I added class skills, and don't think I removed any, but I'll check and see if I can find what is what. Chances are, you're having a timing issue (which is important) when you're removing your class' skills. Timing is very important in HL, and often many of my failures are due to changing something in a later phase when it's results have already been determined in an earlier phase. When I remove tags, I always do it very early, usually the first phase at timing 0.

Of course, sometimes even that does not work, so I'll take a look. Where there's a will, there's a way. Another thing is to check that you have selected the variant class when making the character, if you don't, you get just the base class (the non-variant). I'm always forgetting to choose my variant class on the variant tab.

Kendall-DM May 25th, 2013 12:33 PM

Hmm, it's odd how it ignores every Class Skill that was removed after the first one. It seems to just remove the first one for the Class Helper and leave the rest alone. Kind of odd. Anyhow, here is how you can fix this. Each class has a Class Helper, which has the driving tags for class creation, but the NotClassSk.? tags are being assigned only to the class variant (which tracks how many levels you have in that class, and a few minor things). You have to remove the tag from the Class Helper to get the desired result (you can ignore removing them via the editor interface, it just isn't working right). I've run into a few of these tags that aren't working, and have had to remove them myself (alignment requirements is one, but I digress). Use this code in your class variant, where the Class Helper is for the class you want to modify.

@First/5000
Code:

perform hero.child[cHelpXXX].delete[ClassSkill.kXXX]
So to remove Decipher Script from a Wizard, you would add this to the class variant scripts:
Code:

perform hero.child[cHelpWiz].delete[ClassSkill.kDecScript]

CptCoots May 27th, 2013 09:46 PM

I never think to look at the cHelp? stuff. Thanks. This is better than my nasty fix.


All times are GMT -8. The time now is 07:57 AM.

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