Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Pathfinder Roleplaying Game

Notices

Reply
 
Thread Tools Display Modes
Eilserves
Member
 
Join Date: Apr 2015
Posts: 55

Old September 6th, 2022, 12:03 PM
Now that I'm in the correct forum:

I'm building a Necroccultist for an upcoming 1e game and one of my implement powers is the "Soulbound Puppet". This gives me the option of using a skull (the Raven skull I'm using as my implement, in this particular case) from an appropriate creature to gain a familiar for 10 min / level using my occultist level as my wiz level. There's no "In play" option to toggle this on or off, so I've been messing with the editor to try to make an "adjustment" that can be turned on. Here's what I've gotten, using other Familiar entries (Feats, etc) as guidelines, but I cannot get it to work.

Code:
  <thing id="pOccultistFamilia" name="Occultist: Familiar" description="As a full-round action, you can expend 1 point of mental focus to create a soulbound puppet from a bone, doll, or skull. If you use a bone or a skull, your power builds a Tiny or Small flesh puppet around it that vaguely resembles the original creature from which the bones were taken. If the implement is a doll, the doll comes to life. Treat this as a familiar, using your occultist level as your wizard level to determine its powers and abilities. By using a bone or skull from the appropriate creature or a doll shaped like that creature, you can select any of the familiar choices available to a wizard. You can instead use a humanoid bone, doll, or skull, to give the puppet the base statistics of a homunculus, but without a fly speed or the poison bite or telepathic link abilities. No matter the form, this creature is a construct with an alignment matching your own. You can have no more than one soulbound puppet active at any given time.\n\nThe soulbound puppet remains animated for 10 minutes per occultist level you possess." compset="InPlay">
    <tag group="Helper" tag="AdjConfer"/>
    <tag group="Helper" tag="NoIncr"/>
    <tag group="Helper" tag="AdjNoPlus"/>
    <bootstrap thing="cArcFTouch">
      <autotag group="ClSpecWhen" tag="3"/>
      </bootstrap>
    <bootstrap thing="cArcFSpkMs">
      <autotag group="ClSpecWhen" tag="5"/>
      </bootstrap>
    <bootstrap thing="cArcFSpkAn">
      <autotag group="ClSpecWhen" tag="7"/>
      </bootstrap>
    <bootstrap thing="cArcFScry">
      <autotag group="ClSpecWhen" tag="11"/>
      </bootstrap>
    <bootstrap thing="cArcFClass"></bootstrap>
    <bootstrap thing="cArcFEmpLn">
      <autotag group="ClSpecWhen" tag="1"/>
      </bootstrap>
    <bootstrap thing="cArcFNear">
      <autotag group="ClSpecWhen" tag="1"/>
      </bootstrap>
    <bootstrap thing="cArcFShare">
      <autotag group="ClSpecWhen" tag="1"/>
      </bootstrap>
    <eval phase="First" priority="375"><![CDATA[
      ~ If we're disabled, just get out now
      doneif (tagis[Helper.SpcDisable] <> 0)

      linkage[table].field[cArcFStart].value = 1]]></eval>
    </thing>
I've tried cWizFam, cArcFamil, cMagAcrFam, cArcFMult, and multiple others in the bootstrap.

cWizFam and cMagAcrFam do not grant a familiar, and generate this error when the adjustment is added:
Quote:
Linkage pick 'table' not located for current context
Location: 'eval' script for Thing 'cWizFam/cMagAcrFam' (Eval Script '#1') near line 2
cArcFamil will add a Familiar, but it adds it like it's a full NPC, letting you select a class, as well as full PC Races like Dwarf etc. If you pick an appropriate familiar race, Raven in my case, it clears the error for no class being picked but all the Familiar Benefits are faded out.

cArcFMult will add a familiar but it does not grant any of the benefits (Alertness at level 1, bonus to skill/save/etc) that the Familiar is supposed to grant. It also generates a warning of
Quote:
Arcane Familiar: You must remove your multiple familiars and add the single familiar back if you want it.
cArcFClass gives the red diamond ! indicating there's an error, but no validation text is present, and Familiar is not selectable.

cArcFamili gives the same error as cWizFam.

fFamilBond will add the Familiar Bond feat but this isn't what it should be. Besides, the feat calls out you don't get any of the actual Familiar benefits.

cfgFamBond will grant the benefits of Familiar Bond without the feat, and let you pick a Familiar, but the feat, and therefore the familiar, do not grant any benefits.

I tried looking at the Tumor Familiar discorvery/Tattoo Familiar Bloodline power, etc, and I found these:
Code:
<bootstrap thing="cArcFTouch">
      <autotag group="ClSpecWhen" tag="3"/>
      </bootstrap>
    <bootstrap thing="cArcFSpkMs">
      <autotag group="ClSpecWhen" tag="5"/>
      </bootstrap>
    <bootstrap thing="cArcFSpkAn">
      <autotag group="ClSpecWhen" tag="7"/>
      </bootstrap>
    <bootstrap thing="cArcFScry">
      <autotag group="ClSpecWhen" tag="11"/>
      </bootstrap>
    <bootstrap thing="cArcFClass"></bootstrap>
    <bootstrap thing="cArcFEmpLn">
      <autotag group="ClSpecWhen" tag="1"/>
      </bootstrap>
    <bootstrap thing="cArcFNear">
      <autotag group="ClSpecWhen" tag="1"/>
      </bootstrap>
    <bootstrap thing="cArcFShare">
      <autotag group="ClSpecWhen" tag="1"/>
      </bootstrap>
    <eval phase="First" priority="375"><![CDATA[
      ~ If we're disabled, just get out now
      doneif (tagis[Helper.SpcDisable] <> 0)

      linkage[table].field[cArcFStart].value = 1]]></eval>
but when I try to include those in the adjustment I get this error:
Quote:
Attempt to access field 'cTotalLev' that does not exist for thing 'pOccultistFamilia '
Location: 'field calculate' script for Field 'xTotalLev' near line 148

Attempt to access field 'cSpcBonLev' that does not exist for thing 'pOccultistFamilia'
Location: 'field calculate' script for Field 'xTotalLev' near line 148
Those two errors repeat together 4 times, and the first line is there a 5th after.

Last edited by Eilserves; September 7th, 2022 at 07:38 AM. Reason: added missing "not" on cArcFClass entry
Eilserves is offline   #1 Reply With Quote
Eilserves
Member
 
Join Date: Apr 2015
Posts: 55

Old September 6th, 2022, 12:05 PM
Added note: I already use the community pack put out by ShadowChemosh, there is no adjustment to add a Familiar there. There's one for Animal Companions, however, but that's not the same thing.
Eilserves is offline   #2 Reply With Quote
ploturo
Member
 
Join Date: May 2021
Posts: 79

Old September 12th, 2022, 11:55 PM
Here's a working adjustment to add an arcane familiar, although it isn't finished and hasn't been tested much.

Herolab's built-in arcane familiar stuff is implemented as level dependent abilities, and which expect to be bootstrapped from a configurable or class helper to work properly.

Remember that you need to check the boxes for "arms reach" and/or "within a mile" in the in-play tab in order for any benefits from a familiar to show up on the hero.

Code:
<thing id="cfgCustomFamiliar" name="Custom Familiar" description="This is a helper object for configuring the familiar." compset="Configure" uniqueness="unique">
      
    <fieldval field="cArcFStart" value="1"/>
    <fieldval field="cfgLevel" value="1"/>
    
    <bootstrap thing="cArcFClass"><autotag group="ClSpecWhen" tag="1"/></bootstrap>
    
    <bootstrap thing="cArcFNear"><autotag group="ClSpecWhen" tag="1"/></bootstrap>
    <bootstrap thing="cArcFShare"><autotag group="ClSpecWhen" tag="1"/></bootstrap>
    <bootstrap thing="cArcFEmpLn"><autotag group="ClSpecWhen" tag="1"/></bootstrap>
    <bootstrap thing="cArcFTouch"><autotag group="ClSpecWhen" tag="3"/></bootstrap>
    <bootstrap thing="cArcFSpkMs"><autotag group="ClSpecWhen" tag="5"/></bootstrap>
    <bootstrap thing="cArcFSpkAn"><autotag group="ClSpecWhen" tag="7"/></bootstrap>
    <bootstrap thing="cArcFScry"><autotag group="ClSpecWhen" tag="13"/></bootstrap>
    
  </thing>
  
  <thing id="pSDVAddFamiliar" name="Add Custom Familiar" description="Select this adjustment to configure a custom familiar. It will use the level of the hero or of the class selected in the menu to determine the familiar's abilities, or use a level of 1 if nothing is selected." compset="InPlay" uniqueness="unique">
      
    <fieldval field="pUsePicks" value="1"/>
    <fieldval field="pCandExpr" value="thingid.Totals | component.Class"/>
    
    <tag group="OthAdjCat" tag="Class"/>
    <tag group="Helper" tag="NoIncr"/>
    <tag group="Helper" tag="AdjNoPlus"/>
    
    <bootstrap thing="cfgCustomFamiliar">
      <containerreq phase="First" priority="495"><![CDATA[fieldVal:pIsOn <> 0]]></containerreq>
    </bootstrap>
    
    <eval phase="First" priority="496"><![CDATA[
        ~ If we're not enabled, get out now
        doneif (field[pIsOn].value = 0)
        
        ~ equivalent caster level
        if (field[pChosen].ischosen = 0) then
            ~ use a default level of 1
            hero.childFound[cfgCustomFamiliar].field[cfgLevel].value = 1
        else
            if (field[pChosen].chosen.tagis[thingid.Totals] <> 0) then
                ~debug "custom familiar using Hero levels for equiv level: " & #totallevelcount[]
                hero.childFound[cfgCustomFamiliar].field[cfgLevel].value = #totallevelcount[]
            else
                ~debug "custom familiar chose class for equiv level: " & field[pChosen].chosen.idstring & "(" & field[pChosen].chosen.field[cTotalLev].value & ")"
                hero.childFound[cfgCustomFamiliar].field[cfgLevel].value = field[pChosen].chosen.field[cTotalLev].value
            endif
        endif
        
        ~ available familiar options
        doneif (field[pChosen2].ischosen = 0)
        ~debug "choices for lists of familiars not implemented yet"
        
    ]]></eval>
    
  </thing>

Last edited by ploturo; September 12th, 2022 at 11:58 PM.
ploturo is offline   #3 Reply With Quote
Eilserves
Member
 
Join Date: Apr 2015
Posts: 55

Old September 15th, 2022, 01:12 PM
Wow! Thanks!! For my purposes it appears to be working and even recognizes levels properly on a Gestalt character. I tried the bootstraps as noted above but it gave errors. Maybe being a separate "thing" for those bootstraps is part of it? But as I said, this coding works, tyvm!
Eilserves is offline   #4 Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 04:44 AM.


Powered by vBulletin® - Copyright ©2000 - 2023, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.