• 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

Arcane Thesis

Brolthemighty

Well-known member
Alright, so my quest in putting feats in the editor for Pathfinder continues. Right now, I'm working on Arcane Thesis. It was originally for 3.5, and now I'm hoping to translate it to Pathfinder. There are three parts to the feat. The choosing of the spell (which I think I've gotten down), the reduction of all metamagic feats applied by 1 level, and the increase in caster level by 2.

So I'm trying to figure out if I should do this in 3 different Eval scripts....or somehow do it in one big script. Right now, I'm tackling the chosing of the spell, and decreasing the cost of all metamagic applied by 1. In doing so, I've taken a look at the scripting for the trait Magical Lineage. Here it is:

doneif (field[usrChosen1].ischosen = 0)

~ Generate our search expression to target the correct spell
var searchexpr as string
searchexpr = "thingid." & field[usrChosen1].chosen.idstring
searchexpr &= " & HasMetaMag.?"

~ Cycle through all the Custom/metamagic copies of our chosen spell,
~ and reduce their effective level by 1 (keeping them from going negative)
foreach pick in hero from BaseSpell where searchexpr
eachpick.field[sLevel].value = maximum(eachpick.field[sLevel].value - 1,0)
nexteach

So I can kinda see where the script is for choosing the spell and such (it works at least)....but I'm not sure which part of it limits the reduction to only the final adjusted level, instead of EACH feat. I have no scripting knowledge, so I'm shooting in the dark. I don't really know which it is. I think it might be in the timing aspect of it (labeled as post attributes, After Metamagic Level Modifiers). Anyone able to clarify this? Then I can start wading in to how to script it to increase Caster Level for it as well.
 
You have not included a description of what you're trying to do. Not everyone owns every 3.5 book that you do. Without knowing what you're trying to do, I can't help you.
 
I coulda sworn I put it in there. Sorry about that, here it is....

Arcane Thesis

You designate a single spell. For that spell, you get +2 Caster level, and reduce all metamagic applied to it by 1 level....essentially.

Yeah....there it is.....at the top of my first post. 3 parts to the feat. What I'm trying to do, is figure out the scripting for such.
 
Have you looked at the Gifted Adept and Magical Lineage feats? The first of those adds a CL bonus to a chosen spell, and the second reduces metamagic costs for a chosen spell.
 
Ooooh, the Gifted Adept I hadn't, thank you! The Magical Lineage I have, and used that as the start of my eval scripts, however it only reduces the final metamagic adjustment by one, not every metamagic adjustment. I wasn't sure which part of the script to delete, or how to modify it to do that.
 
instead of -1, will it work to say that the sLevel = sLevel - eachpick.tagcount[HasMetaMag.?]?

The number of HasMetaMag tags should be the number of metamagics that were added.
 
You're talking about the script string:

foreach pick in hero from BaseSpell where searchexpr
eachpick.field[sLevel].value = maximum(eachpick.field[sLevel].value - 1,0)
nexteach

Right? So replace it with:

foreach pick in hero from BaseSpell where searchexpr
eachpick.field[sLevel].value = sLevel - eachpick.tagcount[HasMetaMag.?]
nexteach

Right?
 
Code:
eachpick.field[sLevel].value = maximum(eachpick.field[sLevel].value - eachpick.tagcount[HasMetaMag.?],0)

leave the maximum in place, just replace the -1 part of it.
 
Odd, now it's not letting me actually pick the spell. The scripting isn't working.

Edit: Do I need to be doing something with the Timing? Or still have it as After: Metamagic Level Modifiers
 
Odd, now it's not letting me actually pick the spell. The scripting isn't working.

Edit: Do I need to be doing something with the Timing? Or still have it as After: Metamagic Level Modifiers

I'm sorry, but I don't understand what problem you're trying to convey here. Please elaborate.
 
Well, in order for the feat to work, you must designate a single spell. In order to do this, I copied the Eval script from Magical Lineage. Now, after I made the change suggested...it won't let me actually choose a spell.

Edit: Also, in order to increase the caster level for the designated spell...do I add the scripting from Gifted Adept as a new Eval Script, or after all the scripting from Magical Lineage? And what about the timing, and other menus (Phase, priority, Index)?
 
The "Custom Expression" entry on the traits tab isn't alone - it's the second of three connected options (Select From, Custom Expression, and Restrict First List To) - did you copy all three of them?

(Select From and Custom Expression are mutually exclusive, but they're still connected) (Select From is a list of pre-built Custom Expressions that Hero Lab will fill in for you)
 
Yeah, I copied the entire script window, and then made the changes from there. Here's the full Eval script.

Phase: Post-attributes Priority: 14500 Index: 1 (Not sure what any of these are for)
Script:

doneif (field[usrChosen1].ischosen = 0)

~ Generate our search expression to target the correct spell
var searchexpr as string
searchexpr = "thingid." & field[usrChosen1].chosen.idstring
searchexpr &= " & HasMetaMag.?"

~ Cycle through all the Custom/metamagic copies of our chosen spell,
~ and reduce their effective level by 1 (keeping them from going negative)
foreach pick in hero from BaseSpell where searchexpr
eachpick.field[sLevel].value = maximum(eachpick.field[sLevel].value - eachpick.tagcount[HasMetaMag.?],0)
nexteach


And then on the timing button:
After Scripts: Metamagic Level Modifiers
 
Last edited:
I understood that you copied the Eval Scripts, and Custom Expression options.

Did you also copy the option labeled "Restrict First List To"?
 
Here's a screenshot of a copy of Magical Lineage, with "Restrict First List To" highlighted:
 

Attachments

  • Magical Lineage Copy.jpg
    Magical Lineage Copy.jpg
    104.2 KB · Views: 9
That explains it. For some reason I was missing that column due to working in windowed mode instead of full-screen. Bleh. Definitely been up too long, my apologies.

Edit: Hmm...didn't work. Metamagic is at full value.....but I was able to select a spell for it :D

Fixed it. Thanks for the help. now time to tackle the caster level increase.

Edit: Odd, it decreases the spell's Save DC now. For instance, a fireball that has 4 different +1 slot Metamagics that's being cast as a fireball as a 3rd level slot, has a save DC 4 lower than a non-metamagicked fireball.
 
Last edited:
I've looked through seemingly every bit of the scripting and buttons...and can't find any reason why it's lowering the save DC. Unless its something hard coded in somehow....
 
I've looked through seemingly every bit of the scripting and buttons...and can't find any reason why it's lowering the save DC. Unless its something hard coded in somehow....

It would appear to me that by lowering each metamagic feat by an effective level of 1, you are also reducing the DC being applied by 1. At the moment, I can't explain why since I haven't delved into it. To offset it, though, I would probably use a variable to count how many metamagic feats there are, then increase the DC by 1 for each.
 
Back
Top