• 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

add spell school to available spells?

Xykal

Active member
Hi there! Is the a way to add a school of spells to the available list of a spellcaster? My witch in a home brew game just received access to all transmutation spells.

Thanks a bunch!

Xykal
 
My first question is you looking for an easy to use Adjustment or you asking how in the editor to create an archetype or feat that gives access to this spell school?
 
I did with the Modern Path, but it's a class Custom Ability. IDK if it will work as a feat, but give it a try and see.

Post Levels 10500

hero.childfound[cHelpMdH].field[cSpellExpr].text = "(" & hero.childfound[cHelpMdH].field[cSpellExpr].text & ") | ((sClass.cHelpClr | sClass.cHelpWiz) & (sSchool.Transmutat))"

I guess if you doing it for the Witch spell list, you could change or add sClass.cHelpWit

You will also need to replace cHelpMdH to cHelpWit, so something like this might work:

hero.childfound[cHelpMdH].field[cSpellExpr].text = "(" & hero.childfound[cHelpWit].field[cSpellExpr].text & ") | ((sClass.cHelpClr | sClass.cHelpWiz | sClass.cHelpWit) & (sSchool.Transmutat))"
 
hero.childfound[cHelpMdH].field[cSpellExpr].text = "(" & hero.childfound[cHelpWit].field[cSpellExpr].text & ") | ((sClass.cHelpClr | sClass.cHelpWiz | sClass.cHelpWit) & (sSchool.Transmutat))"
Thanks Frodie! My question is if he really means "all" Tranmutation spells (ie divine and arcane). Then you would need to modify just a little like below and I added stop logic to not run if the feat is disabled or the witch class is not found:

Post-Levels/10500:
Code:
[COLOR="Green"][B]~ If we're disabled, do nothing[/B][/COLOR]
doneif (tagis[Helper.FtDisable] <> 0)
[B][COLOR="Green"]~ If no witch class get out now![/COLOR][/B]
doneif (hero.childlives[cHelpWit] <> 1)

[COLOR="Green"][B]~ Add transmutation school to spell list[/B][/COLOR]
hero.childfound[cHelpWit].field[cSpellExpr].text &= "|sSchool.Transmutat"

Some info. The "|" symbol means "or" where "&" means "and". So "|sSchool.Transmutat" say "or equal to Transmutation School of Magic with no check for if its a divine/arcane spell.

The timing by the way Frodie feels a little early actually. I really wonder if this should be moved to say "Final/10000" instead so that all other Things like archetypes and stuff have plenty of time to modify the search expression.... hmmm
 
Yes, we're looking for both arcane and divine transmutation spells.

Also, is there a way to limit the spell levels? This is a chain of feats tied to mythic advancement, so the first feat gives access to transmutation spells of level 1-3, the second feat 4-6, and the final feat is spell levels 7-9.

Thanks a ton for the help!

Xykal
 
Shadow, I copied yours in exactly and it does not appear to work. Changing the priority to Final/10000 and removing the stop logic lines didn't help...
 
Shadow, I copied yours in exactly and it does not appear to work. Changing the priority to Final/10000 and removing the stop logic lines didn't help...
Not near HL so couldn't test the logic but logically it looks right. When I get home I will have to test it out quick.

Yes logic can be added to limit to specific levels.
 
I'm pretty sure cSpellExpr is extremely late in the final phase, like 7 9's late.
Well yea that would make a difference. :)

@Xykal change the timing to what Mathias mentions and see if that gets you going.

Spell level are also tags. So level one is "sLevel.1" level 2 would be "sLevel.2". So you can add that logic to the school to limit the use to specific spells levels...
 
Well yea that would make a difference. :)

@Xykal change the timing to what Mathias mentions and see if that gets you going.

Spell level are also tags. So level one is "sLevel.1" level 2 would be "sLevel.2". So you can add that logic to the school to limit the use to specific spells levels...

I'm confused as to what I should change the timing to. Final / 10,000 won't work?
 
Unfortunately I can't seem to get this to work. This is how the eval script reads right now:

~ Add transmutation school to spell list
hero.childfound[cHelpWit].field[cSpellExpr].text &= "|sSchool.Transmutat"

The phase is "Final Phase" and the Priority is 7000 (although I've tried a number of priorities from 100 to 11000.
 
well the Red Mantis Assassin uses this at Post-Levels 10,500
Code:
      ~ in addition to class-specific spells, we're also allowed Sor/Wiz spells from the Illusion and Transmutation schools
      field[cSpellExpr].text = "(" & field[cSpellExpr].text & ") | ((sClass.cHelpSor | sClass.cHelpWiz) & (sSchool.Illusion | sSchool.Transmutat))"

So I would try the Post-Level timing
 
Blah what we all forgot is that a Witch has a "Spellbook"! So we have to modify the spellbook expression and the normal spell expression. It causes some issues because of this spellbook as we only want to be able to prepare the spells chosen on the spellbook. Sigh so what I did was use the portal.ClsBook tag to allow anything chosen on the spellbook to let those be prepared also.

The issue with using portal.ClsBook means if you have a "witch/wizard" it will let you select spells from the wizards spellbook. Sigh... But I am going to just hope you don't need to support a witch/wizard!!!!! ;)

Here is the working script:
Post-Levels/10500
Code:
[COLOR="Green"][B]~ If we're disabled, do nothing[/B][/COLOR]
doneif (tagis[Helper.FtDisable] <> 0)
[B][COLOR="Green"]~ If no witch class get out now![/COLOR][/B]
doneif (hero.childlives[cHelpWit] <> 1)

[B][COLOR="Green"]~ Add transmutation school and spells picked from spell book[/COLOR][/B]
hero.childfound[cHelpWit].field[cSpellExpr].text &= " | (sSchool.Transmutat & portal.ClsBook)"
[B][COLOR="Green"]
~ Add transmutation school  to spell book and specific spell levels here[/COLOR][/B]
hero.childfound[cHelpWit].field[cSplBkExpr].text &= " | ((!Hide.Spell & !Helper.Obsolete & !Helper.Helper) & (sSchool.Transmutat & (" & tagids[sLevel.?,"|"] & ")))"
The important thing is that the "spell levels" are getting grabbed from the "sLevel.?" tag you assign to the feat itself. So the first feat needs to have sLevel.0,sLevel.1,sLevel.2, and sLevel.3 added to the feat. The "tagids[]" is going to create a list of spell levels based on the sLevel.? tags on the feat when it runs. Making the levels soft-coded.

You do this by pressing the blue "Tags" button on the right:
Noname.jpg

Then your 2nd feat script can then assign the additional level tags to the feat at Post-Levels/10000 which is BEFORE the script on the first feat runs.

Post-Levels/10000:
Code:
[B][COLOR="Green"]~ If we're disabled, do nothing[/COLOR][/B]
doneif (tagis[Helper.FtDisable] <> 0)
[B][COLOR="Green"]~ If no feat get out now![/COLOR][/B]
doneif (hero.childlives[[COLOR="Red"]fWitchXXXX[/COLOR]] <> 1)

[B][COLOR="Green"]~ Give access to level 4 to 6[/COLOR][/B]
perform hero.child[[COLOR="Red"]fWitchXXXX[/COLOR]].assign[sLevel.4]
perform hero.child[[COLOR="Red"]fWitchXXXX[/COLOR]].assign[sLevel.5]
perform hero.child[[COLOR="Red"]fWitchXXXX[/COLOR]].assign[sLevel.6]
The red feat ID will need to be changed to match your unique ID. Then you just need a third feat to assign levels 7,8,9.
 
Oops... follow up question

So that added the spells to my spell list, but they don't seem to be showing up on the list of available options for mythic spellcasting.

Any thoughts?
 
So that added the spells to my spell list, but they don't seem to be showing up on the list of available options for mythic spellcasting.

Any thoughts?
Yep you have to modify the Mythic Helper spell expression also then. Again I say the below does not work with multiple classes. If you want that you would have to make the script be smarter by figuring out the spellcasting classes and adding in the sClass.? tags. So this is hard coded currently only to work with a witch class.

Final-Phase/99999999999999
Code:
~ If we're disabled, do nothing
doneif (tagis[Helper.FtDisable] <> 0)
~ If no mythic helper get out now!
doneif (hero.childlives[MythHelper] <> 1)

hero.child[MythHelper].field[mhSplExpr].text ="component.BaseSpell & !fieldisempty:sMythic & (sClass.cHelpWit|sSchool.Transmutat) & !Helper.Helper & !Helper.Obsolete"
 
Back
Top