• 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

Levels stacking for Wild Shape

Lord Magus

Well-known member
I am currently converting the 3.5 Arcane Hierophant PrC (from Races of the Wild) as a Mystic Theurge Archetype. The ArHi class levels stack with the Druid class levels for Wild Shape; I have been able to do that by starting with the Shaping Focus feat script.

However, I do not want ArHi to grant wild shape if the character did not have it before getting into the class (for ex: for a Druid level 3). Right now, if I add ArHi levels to a Druid 3, he will get wild shape because of the stacking levels. How can I prevent this?

I have tried
doneif (tagis[Hero.WildShape] = 0)
at the top of the script, but it doesn't work (Pre-levels 5000, like Shaping Focus)

Right now, I use
doneif (#levelcount[Druid] < 4)
but this would not account for Wild Shape being gained through some other mechanism than Druid levels, or for a Druid archetype that would gain Wild Shape earlier than 4th level.

That would sum up to how to script "if the tag is there, but the ability is not enabled, then do nothing" Any ideas???

Thanks!
 
Last edited:
Same result with

doneif (hero.childfound[cDrdWild].tagis[Helper.ShowSpec] = 0)

Should the timing be different? Right now Pre-Levels 5000
 
Try checking for the Helper.ShowSpec tag on the wild shape special in a script sometime in the Levels phase. If it is present then add to the extra level field. I'm not sure of the timing, and about to go to bed, but it might be pretty finicky.
 
Thanks, but it does not work: Wild Shape does not improve beyond what is gained from druid levels

Sorry. I guess I should have tested that a little better on my own AH class. I've tried several different timings in and out of the Levels phase, and can't seem to find anything that works. You may be better off just sticking with the Drd class levels = 4 since I think that's the only way to get it right now.
 
Ah, here's an idea.

The issue seems to be that you need to add extra levels which has to happen before the levels phase, but you want to only do it if the level is high enough to already have the ability, which you can't detect until after it is too late to add the extra levels.

I believe that the cTotalLev field on the class helper is set early in GlobalTest, so you'll want to test off that. However, you still need to make sure the Wild shape ability hasn't been moved to a later level, as there are several druid archetypes that do that (for example, Ape Shaman). Those archetypes apply their scripts at Pre-Levels 10000 so

At Pre-Levels 11000 have your eval script go to the wild shape special, pull the ClSpecWhen tag and store it's value in a variable. Then add to that variable the value of the xExtraLev value (to account for any archetype adjustments).

Now compare the value of your variable to the cTotalLev field on the class helper, if it is equal or greater, add the extra levels to wild shape. Make sense?
 
Sorry. I guess I should have tested that a little better on my own AH class. I've tried several different timings in and out of the Levels phase, and can't seem to find anything that works. You may be better off just sticking with the Drd class levels = 4 since I think that's the only way to get it right now.

The problem is, not only does it deprives a class/archetype gaining WS earlier than level 4 of any further improvement (I don't think there are any such classes/archetypes right now), but it also grants WS to archetypes that should not get it if they get into ArHi before actually gaining WS from their druid levels (a few druid archetypes gain WS later than 4th level)
 
The problem is, not only does it deprives a class/archetype gaining WS earlier than level 4 of any further improvement (I don't think there are any such classes/archetypes right now), but it also grants WS to archetypes that should not get it if they get into ArHi before actually gaining WS from their druid levels (a few druid archetypes gain WS later than 4th level)

Yes. I always forget about that. Probably because it infuriates me that nearly every archetype messes with Wild Shape. Were you able to try Aaron's suggestion?
 
Yes. I always forget about that. Probably because it infuriates me that nearly every archetype messes with Wild Shape. Were you able to try Aaron's suggestion?

Workin' on it. The logic of it is flawless, my programming skills less so. I need to find how to "pull a tag". I'll post the script-in-progress after.
 
Update: RL getting in the way of this project, as it often does...

Could anyone point me to an example of pulltags so I could try to figure this out? Thanks!
 
Maybe tagmax would be better, on second thought.

Code:
    field[abValue].value += hero.childfound[cDrdWild].tagmax[ClSpecWhen.?]

    if (hero.childfound[cHelpDrd].field[cTotalLev].value >= field[abValue].value) then
      ~ Add the extra levels)
      endif
 
Indeed!

Code:
Pre-Levels - 11000

field[abValue].value += hero.childfound[cDrdWild].tagmax[ClSpecWhen.?]

if (hero.childfound[cHelpDrd].field[cTotalLev].value >= field[abValue].value) then
     ~Add Mystic Theurge (Arc. Hier.) level to druid level for Wild Shape
     var WSAH as number
     WSAH = #levelcount[MysticTheu]
     field[livename].text = field[thingname].text & " +" & WSAH
     foreach pick in hero from BaseClSpec where "thingid.cDrdWild | thingid.cDrdWildAn | thingid.cDrdWildEl | thingid.cDrdWildPl | thingid.cDrdWildOo | thingid.cDrdWildVe | thingid.cDrdWildGi | thingid.cDrdBeWild | thingid.cDrdWildTo | thingid.cDrdEaWild | thingid.cDrdLiWild | thingid.cDrdSnWild | thingid.cDrdWoWild | thingid.cDrdDrWild | thingid.cDrdSaWild | thingid.cDrdShWild "
  eachpick.field[xExtraLev].value += WSAH
  nexteach
endif

Seems to be working fine with Druid 3, Druid 4, Druid 6, Aquatic Druid 4 & Aquatic Druid 6.

Thanks!!!
 
I'm having some trouble with this on a similar PrC. The above script gets me the proper Wild Shape duration and uses, but not the form progression from level 8 onward.

At Drd 6 / PrC 2, the character properly gains the Plant Shape I ability, but not the Animal or Elemental upgrades. There are no other form improvements even at PrC level 10.

Taking a glance at the cDrdWildAn class special for clues, I see "call CalcWSLev". I eventually find that in General -> Procedure and see:

~ Debugs intentionally left in.
var level as number

doneif (state.isfocus = 0)

level += focus.field[cTotalLev].value
~debug "after add focus.field[cTotalLev].value, level is " & level

~ The shaping focus feat can mitigate some of the loss from multiclassing, up to 4 levels.
var shapfocbon as number
if (hero.childlives[fShapiFocu] <> 0) then
shapfocbon = minimum(#totallevelcount[] - #levelcount[Druid], 4)
shapfocbon = maximum(shapfocbon,0)
level += shapfocbon
~debug "after add shapfocbon, level is " & level
endif

~ Some archetypes add effective level adjustments to wild shape specials,
~ so to catch that I moved the scripts to before this eval script.
level += field[xExtraLev].value
~debug "after add extra levels, level is " & level

~ The swarm monger denies us benefits of level 12 and higher.
if (hero.childlives[arDrdSwaMo] <> 0) then
level = minimum(level, 11)
endif


That's where I've hit a wall for now, since my programming knowledge is minimal. It seems like field[xExtraLev].value should be getting the bonus from Lord Magus' script, so it's just a matter of finicky timing as mentioned above? I'll try looking at timing tomorrow.
 
Lord Magus, we're you able to get this class working in Pathfinder, I saw both Wild Shape and the Companion Familiar both being tricky to setup (saw a post earlier saying that this might be easier now). I'm very rusty on coding things but wanted to see if you got this class to work.
 
I finally got it working by putting the PrC level directly into a replacement procedure and calling that in replacement wild shapes. There's probably a better way, but I couldn't come up with one. Detailed instructions follow for my fellow editor amateurs.


In the editor, go to General -> Procedure, then make a copy of CalcWSLev. Add this line to the bottom:

Code:
 ~ Add the gosh darn PrC level already! Jeepers!
      level += #levelcount[xxxx]
(xxxx = your PrC unique ID from Class -> Class Level)

We also have to add our PrC into the Shaping Focus calculation so that it works properly. Find the relevant section and replace it with this:

Code:
    ~ The shaping focus feat can mitigate some of the loss from multiclassing, up to 4 levels.
      var allws as number
      var shapfocbon as number
    if (hero.childlives[fShapiFocu] <> 0) then
      allws = maximum(#levelcount[xxxx] + #levelcount[Druid],0)
      shapfocbon = minimum(#totallevelcount[] - allws, 4)
      shapfocbon = maximum(shapfocbon,0)
      level += shapfocbon
~debug "after add shapfocbon, level is " & level
      endif



Now we need our Wild Shapes to call that procedure instead, so that the PrC levels are added. In Class -> Class Special, make copies of cDrdWildAn, cDrdWildEl, cDrdWildPl, and any other wild shapes you use, like Giant, Ooze, or Vermin.

In the first Eval Script, just change CalcWSLev to whatever you named your procedure. Then make sure that you put the original ability name in the Replaces Thing id field on the middle right side.

Finally, add Lord Magus' script above as a Class Special. Now you should be just like a real druid! Hooray! Wasn't that easy?
 
Lord Magus, we're you able to get this class working in Pathfinder, I saw both Wild Shape and the Companion Familiar both being tricky to setup

Unfortunately didn't work on this beyond the Wild Shape issue. I found that the Companion Familiar was better tackled manually, as my player had a Druid variant that had an elemental as a companion, and that would have complicated significantly a project that was already above my skills.
 
Back
Top