Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   HL - D&D 5th Edition SRD (http://forums.wolflair.com/forumdisplay.php?f=89)
-   -   Adding bonus Cantrips (http://forums.wolflair.com/showthread.php?t=68010)

Vex September 23rd, 2023 11:14 AM

Adding bonus Cantrips
 
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.

Fenris447 September 23rd, 2023 01:32 PM

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.

Vex September 23rd, 2023 04:54 PM

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.

Fenris447 September 23rd, 2023 05:43 PM

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

Vex September 24th, 2023 05:50 AM

That worked wonderfully. Thank you very much for your help! :)

Vex September 24th, 2023 06:18 AM

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>


Fenris447 September 24th, 2023 07:08 AM

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.


All times are GMT -8. The time now is 05:42 AM.

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