• 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

Adding bonus Cantrips

Vex

Member
I am trying to find a way to add a bonus cantrip to a spellcasting class. The cantrip gained will be dependent upon the caster class (e.g. Druid = Druidcraft, etc.) , but I am fine with it being a selector if that is easier.

I have tried to copy and replicate function from Magic Initiate as was mentioned in another thread here, but wasn't able to get it work. I tried to model it as an adjustment based on the existing Adjust Spell Slots, but was unable to get it to work for Cantrips. I can't seem to find the cantrip equivalent for SlotHold0 like there is for every other spell casting level.

I'm fairly inexperienced with the editor and have been searching and banging my head on how to do this. Any direction is greatly appreciated.
 
Last edited:
Can you elaborate a little bit on exactly how the feature is supposed to work (in plain game language)? Is this a class feature, an item, and blessing, etc.? Is it a specific cantrip based on class, a list of cantrips you can choose from based on class, or an overall list of cantrips that doesn't care what class you are? What classes does this apply to?

The Custom Ability "Druidic Warrior" does add cantrips to a non-cantrip half-caster class, but its programming is a little opaque (I programmed the dang thing and still am not entirely sure how it works). And depending on those details, it might not be the right direction to look.
 
It's a house rule that I use to give caster classes an extra cantrip that is a core flavor for their class without it taking up one of their slots. Druids get Druidcraft, Clerics get Orison, Bards get Prestidigitation, etc. The specific cantrip isn't important to code for though as I, as the DM, am the only one using Hero Lab. Just being able to select an extra Cantrip and not have the validator always complaining about having too many selected was my

Adding it as a bonus feat will work. Adding it as an Adjustment would be better. There's an existing Adjustment for adding an extra spell slot for level 1-9 but nothing for cantrips.
 
I love that idea!

So weirdly enough, it's actually easier to code that for specific classes than it is in general. You'd just need to add something, like an adjustment, to the class that bootstraps the specific cantrip. That cantrip will need the tags Helper.Free, Helper.Cantrip, and SpellType.cHelpXXX. In this case, XXX should be replaced with the three-character code for that particular class. They are:

  • Atf
  • Bbn
  • Brd
  • Clr
  • Drd
  • Ftr
  • Mnk
  • Pal
  • Rgr
  • Rog
  • Sor
  • Wlk
  • Wiz
 
Well, it almost worked perfectly. It worked wonderfully adding it to the individual sheets. Each class has the cantrip automatically added to their spells and it shows up as expected on the character sheet.

I noticed though that all of the various class spells show up in both of the Spells pages, whether full description or not. Is there something else that I need to add to the Bootstrap to keep it from being printed when it's not for the selected class?

Code:
<thing id="adjCoreCntrp" name="Core Cantrip" description="This adjustment adds a free class-specific cantrip to the caster&apos;s known spells" compset="InPlay">
    <usesource source="Custom"/>
    <tag group="OthAdjCat" tag="Spell"/>
    <tag group="Helper" tag="NoIncr"/>
    <tag group="Helper" tag="AdjNoPlus"/>
    <bootstrap thing="spDruidcra">
      <autotag group="Helper" tag="Free"/>
      <autotag group="Helper" tag="Cantrip"/>
      <autotag group="SpellType" tag="cHelpDrd"/>
      </bootstrap>
    <bootstrap thing="spPrestidi">
      <autotag group="Helper" tag="Free"/>
      <autotag group="Helper" tag="Cantrip"/>
      <autotag group="SpellType" tag="cHelpBrd"/>
      </bootstrap>
    <bootstrap thing="sp5CCTSOri">
      <autotag group="Helper" tag="Free"/>
      <autotag group="Helper" tag="Cantrip"/>
      <autotag group="SpellType" tag="cHelpClr"/>
      </bootstrap>
    <bootstrap thing="spMageHand">
      <autotag group="Helper" tag="Free"/>
      <autotag group="Helper" tag="Cantrip"/>
      <autotag group="SpellType" tag="cHelpWiz"/>
      </bootstrap>
    </thing>
 
Yes. Sorry, I meant to reply again last night clarifying that the cHelpXXX tag only specifies that the spell should count as being a Druid/Cleric/etc. class spell, not to limit who gets the bootstrap.

You'll need to add conditional bootstraps to each, testing for the class.

Code:
count:Classes.XXXXX >=1

The XXXXX is the full name of the class, like Barbarian, Druid, Warlock, etc. The only exception is the Artificer, which is called "ArtificerR" in this instance.

For the timing of the bootstrap, try 500. If it gives you timing errors just play around with it a little until you find a timing that works.
 
Back
Top