BahamutDragon / pcgen

PCGen Data Sets
306 stars 338 forks source link

[Dnd 3.5e] feat Master Spellthief (Complete Scoundrel) #601

Closed shadowfury closed 7 years ago

shadowfury commented 8 years ago

It seems, that master spell thieif feat does not really works at:

  1. determining correctly Caster level of your arcane spells
  2. does not display StealSpellLevel (Su) as it seems was intended

Character example - Go Ku.zip

Feat description:

Your spellthief levels stack with levels of other arcane spellcaster classes (that is, levels of any class that grants arcane spellcasting other than the spellthief) for the purpose of determining what level of spell you can steal. For example, a 4th-level spellthief/4th-level wizard could steal spells of up to 4th level, as if he were an 8th-level spellthief. Your spellthief and arcane spellcaster levels also stack when determining your caster level for all arcane spells. The character described above would have a caster level of 8th for both his spellthief spells and his wizard spells. In addition, you do not incur a chance of arcane spell failure for arcane spells cast or stolen from other classes, but only if you are wearing light armor. You incur the normal arcane spell failure chance when wearing medium or heavy armor or when using a shield.

So considering this - here is calculations for arcane spells caster level for character attached:

UM = Ultimate Magus prestige class, PS = Practiced Spellcaster feat , RAW - read as written (in relation to Master Spellthief feat), interpretation, where "Your spellthief and arcane spellcaster levels also stack" means spellthief levels stack with caster levels RAI - read as is (in relation to Master Spellthief feat), interpretation, where "Your spellthief and arcane spellcaster levels also stack" means actual levels in spellthief and levels in other arcane classes (which is more consistent with first benefit of feat)

Level 6 Caster Level Calculations: Beguiler 1 class + 4 PS (by RAW, or +0 by RAI) = 5 (1 RAI) Wizard 3 class + 1 UM = 4 Spellthief 1 class = 1 Arcane spells (After applying Master Spellthief): 1 spellthief + 4 wizard + 5 beguiler (by RAW, or +1 by RAI) + 1 Arcane Spellpower (UM Feature) = 11 (or +7 by RAI)

Basically Caster level for each arcane caster.

Steal Spell Level = 1 + 4 + 1 = 6

Now i see 6 CL for Beguiler and 5th CL for Wizard, is it should have been without Master Spellthief feat

To check if algorithm works correctly:

Level 15 calculations: Beguiler 1 level +7 UM + 4 PS (by RAW, or +0 by RAI) = 12 (8 RAI) Wizard 3 class + 10 UM = 13 Spellthief 1 class = 1 Arcane spells (After applying Master Spellthief): 1 spellthief + 13 wizard + 12 beguiler (8 RAI) + 4 Arcane Spellpower (UM Feature) = 30 (26 RAI)

Steal Spell Level = 8 + 13 +1 = 22 (or 15 if we just summ all base classes + prestige class together)

There are also other interactions of this feat with other classes like Sublime Chord (http://rpg.stackexchange.com/questions/45421/how-are-caster-levels-determined-in-concert-with-the-feat-master-spellthief) but it may seem like 'a bit too much'

I think RAI interpretation would be more beneficial to have since it allows less abuse

shadowfury commented 8 years ago

Edited previous comment to provide more info

BahamutDragon commented 8 years ago

This might be complicated to implement.

BahamutDragon commented 8 years ago

The interactions of "caster level" and the feat are actually complex. I am having to puzzle out how best to address this without having to rewrite an entire system.

shadowfury commented 8 years ago

If would have implemented this in c++ i would have added something like "priorityCasterLevel" variable for class and feats with default value 'normal' if it does not exist. And when a new things like Master Spellthief would require to apply to Caster level in specific order (Master Spellthief last one after all other feats) i would simply increase priority for this feat. Though this may require changes inside pcgen as well

BahamutDragon commented 8 years ago

Partial implementation. This will at least give you closer to the numbers you are seeking.

shadowfury commented 8 years ago

Thanks a lot for addressing this issue, mate. I've checked on a 6th level character and i see Beguiler CL as 2nd, Wizard as 5th and Steal Spell as 2 (though should be 3, for there is a 6 level total of all classes)

I have a proposition. I see that Master Spellthief do not completely increase Caster level, it only does so when spells are being casted, in all other cases it is not changed. Would it be easier instead of changing real CL, add to Master Spellchief number like Arcane Spells caster level, which would be sum of CL of all arcane casters (though things like Arcane power from Ultimate Magus should not be applied twice)

shadowfury commented 8 years ago

I re-read Master Spellthief entry about a spell steal ability, and it seems indeed, it should not count prestige classes levels, as they do not grant spellcasting.. Which is strange by me, since for instance 5 level of prestige class applied to wizard 5 will make him effectively wizard 10 for casting.

shadowfury commented 7 years ago

I think it's better to close this issue as proposed interpretation is quite ambiguous and probably is up for DM to decide.