• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Bootstrapping based on Character Level

DarokinB

Active member
Ok, I am trying to create a Legacy Weapon. The weapon would improve greatly as your character level increases, from a larger enhancement bonus to a number of special abilities.

Well, i've nearly completed. I created all the special abilities the item grants, and ive adjusted its enhancement bonus, taken away HP, saves, Etc..

Well, the problem that i am having is that when the character equips the item, it is granted all of the special abilities the item grants, regardless of level. In the bootstrapping, under conditions, i used the following:

Timeing: First/11000

count:Classes.? >= (Level)

Where (Level) is the level needed to grant the special ability. If i set it to Post-Level, i get an error that the bootstraps take place at pre-level (some of them have nothing but comments, and a check to notate it is a special ability and should show up on the Special tab.

The question is: How do i make it so the special abilities only appear when the character is of the appropriate level?

Thanks!
 
count: Classes.? >= (Level) should be correct. Try First/500 as the timing.

Another possibility is that you may need to make sure that it's checking the tags on the hero (it may be trying to test the tags on the weapon):

hero#count:Classes.? >= (Level)

If neither of those work, email me the file. My email address is my forum name here, @wolflair.com. I'll take a closer look at the details.

The other option would be to wrap the scripts on the specials in a condtion:

if (#totallevelcount[] >= (Level)) then
~your script
else
perform assign[Helper.SpcDisable]
endif

The specials will all show up as soon as you add the weapon, but until you reach the correct level, they'll be grayed out, and their scripts won't be run. BTW, #totallevelcount[] is replaced during the compilation with hero.tagcount[Classes.?] - unfortunately, you can't use macros like that in condition statements.
 
This one worked!

if (#totallevelcount[] >= (Level)) then
~your script
else
perform assign[Helper.SpcDisable]
endif

The specials will all show up as soon as you add the weapon, but until you reach the correct level, they'll be grayed out, and their scripts won't be run.

Unfortunately, with the timing set to 500, i got an error that says that there was a timing error, but it worked anyways, but when you look all the abilities are included regardless. Ill send you the file. The ability that it worked on is "Inner Strength".

Edit: In addition, the charges for abilities still show up, even though the prerequisites aren't met. I'm going to try setting the charges to 0 if the level test fails.
 
Last edited:
Edit: In addition, the charges for abilities still show up, even though the prerequisites aren't met. I'm going to try setting the charges to 0 if the level test fails.

Actually, for this one, use this script:

if (#totallevelcount[] >= (Level)) then
perform assign[Helper.SourceEqp]
else
perform assign[Helper.SpcDisable]
endif

And on the regular editor panel, don't select "Show in Charges when source is equipped?" - now, you have the script setting that value depending on whether or not it's reached the right level.
 
A minor note from looking through the file you sent me:

The spell resistance ability shouldn't be bootstrapped to the weapon with a condition. If its value is 0, it will hide itself.

Instead, on the 18th level ability that grants SR, apply the SR only after making the check:

if (#totallevelcount[] >= 18) then
#applysr[#totallevelcount + 5]
endif

The reason to do this is that Spell Resistance is unique. If something else about the character also granted spell resistance, the condition you've set on the weapon's spell resistance would apply to all spell resistance. The #applysr[] macro will figure out the stacking for you, and leave the value set to the higher spell resistance value.
 
I just thought of something that could have been the original problem. "Test Now!" does not always apply bootstrap conditions - it's a known bug. When testing conditions, I always go back to the main Hero Lab window and press ctrl-r to quick-reload the game system. That makes sure the condition is properly set.
 
The spell resistance ability shouldn't be bootstrapped to the weapon with a condition. If its value is 0, it will hide itself.

Actually, i did this originally without the SR ability, and it gave me an error that the SR ability is not present on the character, so i had to add it to make it compile correctly.

Other than that, the process worked great! Thanks so much for your help!
 
Sorry, I wasn't clear.

You do want to bootstrap SR, either on the weapon or on the 18th level special.

You do not want a condition expression on the SR bootstrap.
 
Back
Top