• 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

Level Restrictions on Spells?

TaylorBland

Well-known member
Not counting the Spell Level itself, i am working on a sort of Avatar the Last Airbender campaign (in a slightly modified universe), Where each of the 4 nations can have Benders. the Bender Variant of the Human Race has Spells linked directly to it. At level 1 they gain a Cantrip and one Level 1 Spell based on their Element (earth, air, fire or water). at certain levels they automatically gain new elemental Spells.

How would i go about scripting the spells that are limited to level?

In this world, there are not Spell-casting Classes and only use the following (Barbarian, Fighter, Monk, Ranger, and Rogue). this is to show that only the Bender sub-races can cast "Magic". it is because of this, that Benders just gain a new Spell at a later Level.

I'm still working on the sub-bending types, like Lightning and Blood for example. i may not even do those. but anyway...


Or would i have to create some kind of extra thing like the Divine Domains (that grant certain spells at certain levels anyway)?
 
I'd have to see the homebrew you're talking about before committing to how to handle something.

A spell's level is simply the sLevel.# tag, where # is the level of the spell (0 = cantrip, 1 = 1st, etc..)

The editor has a tutorial in the Help file (tutorial #6) that shows how to set up a class to cast spells and you can always pick apart the community PHB_Classes file by looking at Arcane Trickster and Eldritch Knight on how to set up the spells known and memorized arrays (how many spells at what level).

If you look at the community drow and tiefling, you can see where innate spells are bootstrapped to show up at certain levels.

I would also suggest looking at some of the community warlock patrons to see how the Patron spells are added to the warlock spell lists.
 
this is a start, thanks.

Easiest way to script it would be to limit the choices by thingid I think. But you would have to get all the thingids.# tags for the spells based on elements. Otherwise you're going to get a list of spells that covers all spells if you just use the tag for level.

if you were doing a candidate field:

Code:
  ~for the cantrip
  field[usrCandid1].text = "component.Spell & sLevel.0 & (thingid.???? | thingid.????)"

  ~for the 1st level spell
  field[usrCandid2].text = "component.Spell & sLevel.1 & (thingid.???? | thingid.????)"

The | is an or statement, you'd use that between thing ids. This would limit the spell selection list specifically to the spells you gave a thingid tag for.

If they did spell output for spell attacks as weapons, I'd say you could limit your list by damage type tags, but I don't think spell attacks have a handy reference in these data files that outputs spell attacks as weapons or that prints out for the spell. At least not yet. Normally when I do the attacks in a Statblock I list all the attack spells as if they were weapons for ease of use at the table in my own DM notes.
 
Last edited:
This is great and is a wonderful start. so a quick question, if i want more options to become available like as a Class, would it be easier just to create a new Bending Class instead or would this option as a Racial Gift work best? i just want to make it the best i can without going overboard with things.

Y'know K.I.S.S.

Keep It Simple Stupid!!!!!
 
This is great and is a wonderful start. so a quick question, if i want more options to become available like as a Class, would it be easier just to create a new Bending Class instead or would this option as a Racial Gift work best? i just want to make it the best i can without going overboard with things.

Y'know K.I.S.S.

Keep It Simple Stupid!!!!!

Well if you make a new class, you end up having to make new copies of the spells so you can add the class tags to the new class. Otherwise they won't pop up for the class... If you notice how hero lab's editor does spells, the classes are tagged on the actual spell... which may actually be a lot more work than the tag expression I gave you. Manually copying each spell you need just to remove the class tags and add new class tags will take a lot of time rather than just looking up the thing ids for a tag expression.
 
Well if you make a new class, you end up having to make new copies of the spells so you can add the class tags to the new class. Otherwise they won't pop up for the class...

I don't think that's 100% accurate. You should just have to extend tags after you have the new sClass tag from the new class rather than make copies. When you make a class and grant it casting, you use the sClass tag that gets created using your class abbreviation - cHelpXXX, so if you created an Bender class with abbreviation Ben, the system autogenerates the tag sClass.cHelpBen. You then just extend the tag to spells you want in the list:

It looks like this in the .user file:
<extthing thing="spFireBolt" group="sClass" tag="cHelpBen"/>

Admittedly you have to do that for every spell you want to grant access to, which is tedious.

The twist is when you create subclasses for existing classes that don't have spellcasting baked in. If you wanted to create a "Bender" subclass for each of the existing classes you would need to probably explore something like the Way of the Four Elements monk abilities and bootstrap the spells as Quaternary or Quintenary abilities, or do something like the Rogue Arcane Trickster and assign the subclass an existing sClass tag (sClass.Wiz).

From a mechanical standpoint, it makes sense that most high-level benders use the monk martial arts/signature moves progression, while the average NPC bender has a feat or racial feature that allows access to a single bending "move".
 
I don't think that's 100% accurate. You should just have to extend tags after you have the new sClass tag from the new class rather than make copies. When you make a class and grant it casting, you use the sClass tag that gets created using your class abbreviation - cHelpXXX, so if you created an Bender class with abbreviation Ben, the system autogenerates the tag sClass.cHelpBen. You then just extend the tag to spells you want in the list:

It looks like this in the .user file:
<extthing thing="spFireBolt" group="sClass" tag="cHelpBen"/>
Yep exactly why I had asked Colen to add this logic originally. The ability to extend spells to other classes without having to make copies is a life saver.

Your getting really good with HL dungeonguru. :)
 
:
<extthing thing="spFireBolt" group="sClass" tag="cHelpBen"/>

Was not aware this was even an option, I'd have to check but I don't know for sure if this is covered by the kit wiki either. It is convenient but keep in mind this is Raw Source Code, can this be done via the editor? A lot of people who use hero lab don't work in the raw source code like some of us do. The options I mentioned will work in the editor.
 
can this be done via the editor?

Yes.

In the editor under the General tab, there is a *Extend Thing tab.

When you hit the New button you provide the thing you want to extend to - the thingid of the spell in this case. The other two fields are the group and tag id of the tag you want to extend to it.


And @ShadowChemosh, thanks for the compliment - I still need to figure out how to host my own source - I've pretty much stopped using the community files although I do give the community files a version of my stuff as I go along.
 
Back
Top