Member
Join Date: Dec 2009
Posts: 33
|
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! |
#1 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
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. |
#2 |
Member
Join Date: Dec 2009
Posts: 33
|
This one worked!
Quote:
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 by DarokinB; December 7th, 2009 at 01:10 PM. |
|
#3 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
Quote:
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. |
|
#4 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
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. |
#5 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
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.
|
#6 |
Member
Join Date: Dec 2009
Posts: 33
|
Quote:
Other than that, the process worked great! Thanks so much for your help! |
|
#7 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
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. |
#8 |
|
|