Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - d20 System

Notices

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

Old April 20th, 2012, 09:48 AM
Quote:
Originally Posted by Aaron View Post
I think there is an example of using Custom Specials for this in the community files as well, for the Noble Class, if I remember correctly. They get 1 or 2 class skills they get to choose.

On second consideration, these three classes do they always get the same # of class skills? If so you could make a class special and bootstrap that X number of times at 1st level, have the class special choose among all skills, and pull the ClassSkill tag to the special. Then push that to the linked class to give it the class skill.

For example, if the Arcanist always gets 4 class skills, bootstrap the special 4 times, each of which chooses a skill, pulls the tag, pushes it to the class via the linkage.
Aaron, can this be done for special abilities as well? This may be a solution to my change shape dilemma, as I should be able to pull all the tags from one creature and push them to the other. But I don't think special abilities work with just tags, but thought I'd ask anyhow.
Kendall-DM is offline   #11 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old April 20th, 2012, 12:39 PM
You can pull the tags from a list of selections, including special abilities, but just forwarding the tags somewhere might not do it. You have to get them to the right place, and might have to mess with fields as well. It'd probably be a lot of work.

So for example say you have the druid's wild shape class special, and you have set it up to have a selector among whichever races.
On the Class Special you might bootstrap 4 "blank" weapons called wBlank that will be transformed into the natural weapons of the form. You'd also need to mark them so they will be distinguishable from within a script (for example with User.NatAtt1/NatAtt2/etc tags).

Now here is the broad strokes of an example script, off the top of my head and untested:

Script 1
Phase: Whichever Works Priority 100
~ Set the focus to our chosen race

~ Set up a list of variables we might need, including nohide and whatever else

~ Cycle through all the bootstraps on the chosen race, looking for a bite attack.
foreach bootstrap in focus where "IsWeapon.wBite"

~Pull all the tags that we need, like wMain, Crit range, and so on

~Anything field based, for which we have no tags, store in a variable

~ If we have found at least 1 thing, then the weapon bootstrapped should not be hidden.
nohide = 1

nexteach

~ Now forward all that information gathered from the race's bite attack to our blank weapon. I don't think findchild exists in 3.5, so you will probably have to do another foreach.
foreach bootstrap in this where "IsWeapon.wBlank & User.NatAtt1"
~ Push the tags and set the variables here.

~ If we never found a bite then nohide = 0 and we should hide the blank weapon we work with. Do that here
nexteach

~ Now delete the tags we pulled, because later eval scripts will be pulling their own and we don't want to confuse them. The variables don't matter because they don't carry over.
Aaron is offline   #12 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old April 20th, 2012, 12:46 PM
You could have one eval script for each weapon, seperated in Priority by about 50.

The drawpacks for this are that the foreaches (of which there would have to be many) use up a lot of computational resources, and for other abilities (like Pounce or Low Light Vision) you'd either have to set up a bunch of individual "Blank" specials and have the livename/description overwritten. Or you'd have to bootstrap them to the Class Special with bootstrap conditions looking for specific tags (so that the foreach could assign that user tag to the hero if it detected the appropriate bootstrap on the chosen race) and this would keep growing as you added more forms.
Aaron is offline   #13 Reply With Quote
Kendall-DM
Spy
 
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220

Old April 20th, 2012, 04:10 PM
Ok, I follow. Not sure what I will do yet, as I'm not really yet ready to tackle this big a project. I'm also not entirely sure if what the best solution is at this point. The more it becomes in my thought experiement, the more it seems like a really problematic piece of code. In other words, this would be a far better function that could be hard-coded by HL (since I know that the hard-code does forward over some bootstraps on known things, just not sure about variable things). I think I have a better way of doing this, but again, the more I think about the process, the more complications I run into. When I actually try to tackle it, I will definitely post the solution if I find one.
Kendall-DM is offline   #14 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
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


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


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