• 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

Simple Summoner Archetype how to?

Ambrus

Well-known member
I'm trying to create a Summoner archetype (or possibly a Summoner variant) that simply swaps out the class' regular Summon Monster ability with an equivalent Summon Nature's Ally ability. What's the easiest way of going about it?

It would seem to be a simple switch and yet, after poking around for a bit in the editor, I can't figure out how to go about. Any help?
 
The First Worlder archetype from Inner Sea Magic does exactly what you're after (and makes several other changes, especially to the Eidolon).
 
The First Wolder, the Wild Caller and the Naturalist all enable the same swap, but I need an archetype inside of Herolab that enables that swap with no other accompanying changes so as not to conflict with other Archetypes. I imagine I could buy a package with one of the above archetypes, copy the file and then gut it of everything except the summoning swap. I was just wondering whether it'd be simpler to build it from scratch. I was hoping to get some pointers either way.
 
Well if you swap out normal summon monster with the summon natures ally version through an archetype, that will prevent you from taking any archetype which replaces or modifies the same thing, mind.

I think the easiest way to do this would be to create a new archetype and have it bootstrap the SNA class ability (cSuFWSuNA) in the same manner as the various archetypes you mentioned (at 1, 3, 5, etc. levels). Unfortunately, if you want to use the existing class ability you'd have to own the package it's from (it's in inner sea magic). But if you wanted to build it afresh and bootstrap that instead I could provide you with the eval script ours uses to help you along.
 
Yeah, I'm aware of the limits it'll impose class-wise. My GM is allowing the swap since it's more appropriate to my PC's background. I'd just like my HL play sheet to reflect the change I'm already using. I'm still a novice with the editor though and it's the bootstrap coding I'm having trouble with. So if you could provide an outline of how it works for the First Wolder, that'd be a big help. Thanks!
 
Alright, so step 1 is to create the class ability:

Open the editor and start a new file (or open an existing one). Go to the Class Group tab, and choose the Class Special sub tab. Create a new class special, give it a name, unique ID, and whatever description you like. Click the blue "Eval Scripts" button on the upper right. Add a new eval script, and choose the PostAttr phase and the 10000 priority. Here is the code the first worlder uses for its eval script

Code:
      if (field[xIndex].value >= 10) then
        field[listname].text = "Summon Nature's Ally IX or Gate"
      elseif (field[xIndex].value = 9) then
        field[listname].text = "Summon Nature's Ally IX"
      elseif (field[xIndex].value = 8) then
        field[listname].text = "Summon Nature's Ally VIII"
      elseif (field[xIndex].value = 7) then
        field[listname].text = "Summon Nature's Ally VII"
      elseif (field[xIndex].value = 6) then
        field[listname].text = "Summon Nature's Ally VI"
      elseif (field[xIndex].value = 5) then
        field[listname].text = "Summon Nature's Ally V"
      elseif (field[xIndex].value = 4) then
        field[listname].text = "Summon Nature's Ally IV"
      elseif (field[xIndex].value = 3) then
        field[listname].text = "Summon Nature's Ally III"
      elseif (field[xIndex].value = 2) then
        field[listname].text = "Summon Nature's Ally II"
      elseif (field[xIndex].value = 1) then
        field[listname].text = "Summon Nature's Ally I"
        endif

      ~only run the rest for the first copy
      doneif (tagis[Helper.FirstCopy] = 0)

      ~ If we're not shown, just get out now
      doneif (tagis[Helper.ShowSpec] = 0)

      field[trkMax].value += 3 + #attrbonus[aCHA]

      if (field[xCount].value >= 10) then
        field[livename].text = "Summon Nature's Ally IX or Gate"
        perform assign[SpInfo.spSummNat9]
        perform assign[SpInfo.spGate9]
      elseif (field[xCount].value = 9) then
        field[livename].text = "Summon Nature's Ally IX"
        perform assign[SpInfo.spSummNat9]
      elseif (field[xCount].value = 8) then
        field[livename].text = "Summon Nature's Ally VIII"
        perform assign[SpInfo.spSummNat8]
      elseif (field[xCount].value = 7) then
        field[livename].text = "Summon Nature's Ally VII"
        perform assign[SpInfo.spSummNat7]
      elseif (field[xCount].value = 6) then
        field[livename].text = "Summon Nature's Ally VI"
        perform assign[SpInfo.spSummNat6]
      elseif (field[xCount].value = 5) then
        field[livename].text = "Summon Nature's Ally V"
        perform assign[SpInfo.spSummNat5]
      elseif (field[xCount].value = 4) then
        field[livename].text = "Summon Nature's Ally IV"
        perform assign[SpInfo.spSummNat4]
      elseif (field[xCount].value = 3) then
        field[livename].text = "Summon Nature's Ally III"
        perform assign[SpInfo.spSummNat3]
      elseif (field[xCount].value = 2) then
        field[livename].text = "Summon Nature's Ally II"
        perform assign[SpInfo.spSummNat2]
      elseif (field[xCount].value = 1) then
        field[livename].text = "Summon Nature's Ally I"
        perform assign[SpInfo.spSummNat1]
        endif

Save the file, and hit the Test Now button in the upper left of the editor.

Now go to the archetype tab in the editor and create a new archetype (again give it whatever name, unique ID, and description you like). Click the Bootstrap button in the upper right, and add 10 bootstraps of the class ability you created by entering it's unique ID to the right of the "choose" button for each bootstrap. Then for each bootstrap click on the tags button and add a ClSpecWhen tag for each. The Group ID is ClSpecWhen, and the Tag ID is the number of the level you want that copy of the class ability to be added at (so the first copy will be ClSpecWhen.1, the second will be ClSpecWhen.3, and so on).

Once all those bootstraps are done hit "OK", and look at the central column. For Class to Modify, choose summoner. A couple lines down on "Removed Class Special", click the button to open the list. Type "Summon Monster" in the field at the top to filter the list. Find the ability which is the original summoner class' class abilities and check it's box. If you're confused on which ability's box to check, click on the (?) on the right side of the name to see that abilities unique ID. The unique ID of the ability you want to replace is "cSumSuMons".

That done, hit the test now button for your archetype. Now test it out by adding it to a character. Make sure you have disabled the base class' ability and that you see your new ability at the correct levels.
 
Wow. Thanks a lot Aaron. You really went above and beyond there. Your step-by-step procedure and bootstrap code was invaluable. You got me 95% of where I needed to go. I only had to add in the flavour text and fiddle around a bit with the settings for the few steps I'd initially misunderstood.

I had a little trouble getting the Archetype to disable the old Summon Monster ability; not because of any errors but because HL doesn't seem to properly register all of the changes on the first go. It was just a matter of toggling some setting off and on and re-saving and testing until it all finally clicked. The archetype, which I'm calling the Convoker, seems to be working fine now on my desktop. Now I just have to download the files to my iPad to test it in HL Play.

Thanks again!
 
Back
Top