Spy
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220
|
Quote:
|
|
#11 |
Senior Member
Join Date: Oct 2011
Posts: 6,793
|
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. |
#12 |
Senior Member
Join Date: Oct 2011
Posts: 6,793
|
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. |
#13 |
Spy
Join Date: Jan 2011
Location: Van Nuys, California
Posts: 1,220
|
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.
|
#14 |
Thread Tools | |
Display Modes | |
|
|