PDA

View Full Version : Help with calculating spell DC


jkthomsen9
July 28th, 2010, 05:22 AM
Is there a standard script that can be used to calculate the DC of spell-like abilitys of a prestige class, If the attribute could be either INT or CHR depending on which powers the PC's arcane spells?

Thanks,
James

jkthomsen9
July 28th, 2010, 06:59 AM
As a second part to this question. This prestige class gives a +2 caster level to any spell cast with the air discriptor. Is there a way to incress to caster level just on spells with the sSubshool.Air tag?

Mathias
July 28th, 2010, 08:21 AM
Have you seen the "Standard DC" option? (It'll be just under the Special Ability Type and Ability Classification options) Does that give you the DC you want (10 + 1/2 class level + attribute mod)?

Mathias
July 28th, 2010, 08:29 AM
In the editor, open the Sorcerer's Fey or Infernal bloodlines (they'll be in the custom abilities tab). Those both have a power that alters the DCs of all spells of a specific subschool.

So, you can copy that script. The Caster Level is field[schCastLev].value, so replace the DC references (field[schDC].value) with the caster level field, and the subschool they modify with "ssAir"

jkthomsen9
July 28th, 2010, 09:38 AM
Have you seen the "Standard DC" option? (It'll be just under the Special Ability Type and Ability Classification options) Does that give you the DC you want (10 + 1/2 class level + attribute mod)?

Yes I saw this. It only alows one Attribute to be chosen. What do you use if you are bilding on an existing arcane base class that can cast 3rd level Arcane spells. The DC for the prestige class's abilitys will be based on INT for wizards and such and on CHR for sorcerers and such. Am I missing something here?

jkthomsen9
July 28th, 2010, 09:40 AM
In the editor, open the Sorcerer's Fey or Infernal bloodlines (they'll be in the custom abilities tab). Those both have a power that alters the DCs of all spells of a specific subschool.

So, you can copy that script. The Caster Level is field[schCastLev].value, so replace the DC references (field[schDC].value) with the caster level field, and the subschool they modify with "ssAir"

Thank you again Mathias. I missed that one. I looked through all the feats and prestige classes before posting but forgot about the bloodlines. Is ssAir a shortened version of sSubschool.Air or did I find the wrong tag?

Mathias
July 28th, 2010, 09:41 AM
Doesn't the ability itself say how to calculate the DC?

The DC calculation for abilities is independant of the DC calculation for spells.

I've never seen a class before that had calculation formulas that weren't fixed.

Mathias
July 28th, 2010, 10:06 AM
Thank you again Mathias. I missed that one. I looked through all the feats and prestige classes before posting but forgot about the bloodlines. Is ssAir a shortened version of sSubschool.Air or did I find the wrong tag?

Don't worry about it. I have the advantage of being able to run a text search on all the files at once, so it's easier for me to find this sort of thing (I searched for "ssCastLev", then after I didn't find any examples that modified it, I searched for "ssDC"). Also, having entered most of this, I tend to remember approximately where I saw something that works similarly to what I'm now working on.


In Hero Lab, go to the Develop menu, and make sure "Enable Data File Debugging" (at the very top) is checked. Then, at the bottom, select "Floating Info Windows", and then "Show Selection Tags" - in that list, find "Air (ssAir)". You'll see that it has the sSubschool.Air tag.

Had the spell-by-spell DC and CL adjustments been built in from the beginning, rather than being added about 2 months ago, they'd probably use the same tags, but retro-fitting doesn't always turn out perfectly.

You'll find that there's an "ssXXX" pick for each school, subschool, and descriptor that can store DC/CL modifiers that are applied to all spells of that type.

jkthomsen9
July 28th, 2010, 10:26 AM
Doesn't the ability itself say how to calculate the DC?

The DC calculation for abilities is independant of the DC calculation for spells.

I've never seen a class before that had calculation formulas that weren't fixed.

I am trying to input the Sea Witch from Stormwarck. She gains the class ability to cast bestow curse as a spell like ability a number of times per day. The problem I am running into is that she adds to an existing arcane class and the DC for the spell-like abilitys could either be CHR or INT based depending on the base class. Is there a way to link the spell-like abilitys DC Atribute to the cMagicLev picks Attribute? IE if you pick Wiz it is INT and if you pick Sorcerer it is CHR and if you pick ??? in the future it is ???.

jkthomsen9
July 28th, 2010, 10:56 AM
In the editor, open the Sorcerer's Fey or Infernal bloodlines (they'll be in the custom abilities tab). Those both have a power that alters the DCs of all spells of a specific subschool.

So, you can copy that script. The Caster Level is field[schCastLev].value, so replace the DC references (field[schDC].value) with the caster level field, and the subschool they modify with "ssAir"

It dosent seam to be working Below it the script I used.

Post Levels-user 1000

~add 2 to the CL of Air, Electric, Sonic, and Water spells
hero.child[ssAir].field[schCastLev].value += 2
hero.child[ssElec].field[schCastLev].value += 2
hero.child[ssSonic].field[schCastLev].value += 2
hero.child[ssWater].field[schCastLev].value += 2

Never mind. I had a brain fart and was thinking CL was going to up the DC, which it dosen't just the range, damage, ect.

Mathias
July 28th, 2010, 12:13 PM
I am trying to input the Sea Witch from Stormwarck. She gains the class ability to cast bestow curse as a spell like ability a number of times per day. The problem I am running into is that she adds to an existing arcane class and the DC for the spell-like abilitys could either be CHR or INT based depending on the base class. Is there a way to link the spell-like abilitys DC Atribute to the cMagicLev picks Attribute? IE if you pick Wiz it is INT and if you pick Sorcerer it is CHR and if you pick ??? in the future it is ???.

You'll transition to the root pick of the class special.

Then, if you find a SpellOver.? tag, pull that to your class special, converting it to a StandardDC tag as you do so:


if (root.tagis[SpellOver.?] <> 0) then
perform root.pulltags[pSpellOver.?,StandardDC]


If you don't find any SpellOver tags, use the class's spellcasting attribute linkage, and pull in the StandardDC tag from that:


elseif (root.islinkage[spellattr] <> 0) then
perform root.linkage[spellattr].pulltags[StandardDC.?]
endif


I haven't tested this, yet, I'm afraid. The Pre-Attributes phase seems right as a timing, since you need to set up something that will then make use of an attribute value.