• 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

Where is iShadowWeapon in the editor?

Raegar

Member
I'm trying to build a rogue archetype that uses the Fighter Gloomblade shadow weapon ability. I have a custom archetype and class special working, but the class special bootstrap points to "iShadowWeapon".

I'm assuming the iShadowWeapon looks at Classes.Fighter and scales the weapon based on that. If I could change that to Classes.RogueUnc I think I would be set.

Anyone know where this thing is?
 
That is setup as a Magic Custom Weapon and no such editor tab exists for it. Meaning you can't currently view it or modify it using the editor.... :(
 
Is there any way to right an eval script that changes the fighter level?

EDIT:
Could I do something like this?

Code:
      if (#hasarchetype[arRogGloombladeRogue] <> 0) then
        effectlev += #levelcount[Fighter]
        endif
 
Last edited:
effectlev is a local variable to the Pick meaning only if you modify the script directly could you change that value. You can't directly modify the Pick from the outside using another script in this case... :(

Only way I can think of to hack this is to place LvCountAs.Fighter tags onto the hero at First/599 equal to the number of levels of Unchained Rogue you have. Then at First/601 delete them from the hero. But that will allow the iShadowWeapon at First/600 to return a effectlev value equal to your Unchained Rogue levels.

It should all work in theory.... :)
 
Would this be an Eval Script on the Shadow Weapon ability? Sorry, still pretty new to this.

Thank you for your help by the way, I really appreciate it!
 
Place a two new evail scripts on to the Shadow Weapon ability. I assumed you copied it to make your own version? If so you add these two scripts at these specific timing on to your Shadow Weapon class ability.

1st script is set to run at First/599:
Code:
var iX as number

~ Loop a 1 to class level and assign
~ Tags to the hero equal to our level
for iX = 1 to root.linkage[varies].field[cTotalLev].value
  perform hero.assign[LvCountAs.Fighter]
next


2nd script is set to run at First/601:
Code:
~ Remove the temporarily added fighter tags
perform hero.delete[LvCountAs.Fighter]

That should trick the iShadowWeapon into treating your rogue levels as fighter levels causing the weapon to level up.
 
Last edited:
Yea, I made a copy of the Gloomblade fighter and did what I could to pull things over 1-for-1 where possible.

It didn't compile the first time I tried it. After changing "nexteach" to "next" it compiled, but at levels 3 and 6 etc. there was still no change in the enhancement bonus of the weapon.

I tried changing the priority on the first one to 299 since maybe it needed to come before the bootstrap for iShadowWeapon (which was set to 300), but still no dice.

Any ideas?
 
Can you email me the .user file please. Be easier if I can try it out and add some debug statements.

Email is my forum user id at yahoo dot com.
 
Thanks for the file....

Ok I found my issue... I forgot this ability was bootstrapped to the archetype and not directly to the class. So in the for loop section where I had root.field[cTotalLev].value it needed to be root.linkage[varies].field[cTotalLev].value. This means we transition to the root or the archetype and then from the archetype we follow the linkage to the class. Then once on the class I get the classes level so that I loop the correct number of times. :)
 
Instead of transitioning through the root, I would recommend calling the "foctoclass" procedure, which will set the focus to the class helper regardless of whether a class special is bootstrapped to an archetype, a custom ability, the class, or wherever.
 
Instead of transitioning through the root, I would recommend calling the "foctoclass" procedure, which will set the focus to the class helper regardless of whether a class special is bootstrapped to an archetype, a custom ability, the class, or wherever.
I was not sure with a newer person if using a black box call would be good. I figured I could more easily explain the transition process than explain what the foctoclass was doing.

But you are correct Aaron as best practice it should be used. Here is the same code using foctoclass procedure instead.
Code:
var iX as number

~ Focus To Class
call foctoclass
doneif (state.isfocus = 0)

~ Loop a 1 to class level and assign
~ Tags to the hero equal to our level
for iX = 1 to focus.field[cTotalLev].value
  perform hero.assign[LvCountAs.Fighter]
next
 
I would also further adjust that to look for just rogue levels. Otherwise it will treat your total levels for advancement.
 
I would also further adjust that to look for just rogue levels. Otherwise it will treat your total levels for advancement.
Actually that is what is happening. We are going from the ability to the archetype to the class (Rogue). Then we get the class level from field[cTotalLev].value. I can see where "Total Level" is confusing but it really means "Total Class Level" not "Total Hero Level". :)
 
Back
Top