PDA

View Full Version : PFRPG Spell Failure Extension



bmos
July 29th, 2020, 21:40
This extension rolls arcane failure chance when the cast button of the spell on the actions tab is clicked and adds effects for modifying failure chance and forcing/bypassing it.

Extension Homepage, README, and Codebase (https://github.com/bmos/FG-PFRPG-Spell-Failure)
FantasyGrounds Forge (https://forge.fantasygrounds.com/shop/items/20/view)
Ext Files and Changelog (https://github.com/bmos/FG-PFRPG-Spell-Failure/releases)
License Information (https://github.com/bmos/FG-PFRPG-Spell-Failure/blob/master/LICENSE.md)
Bug Tracker and Suggestions (https://github.com/bmos/FG-PFRPG-Spell-Failure/issues)

To avoid my threads taking over the PF1e subforum, I publish most updates in my combo thread (https://www.fantasygrounds.com/forums/showthread.php?60308-bmos-extensions) (with only major updates in this individual thread which is primarily for discussion and bug reports). To ensure you're kept informed of future updates, either subscribe to that thread (for updates to all my extensions) or create a GitHub account and follow the specific repository of each extension you use. Or just check the releases linked in the first post of the thread periodically.

Demonstration Video:

https://www.youtube.com/watch?v=tJBJrKLXh0s

Asgurgolas
July 30th, 2020, 16:26
I tried a "NPC vs NPC", dragon vs devil. The dragon targetted the devil and used its breath weapon.

Script Error: [string "scripts/spell_failure.lua"]:112: bad argument #1 to 'lower' (string expected, got nil)
Runtime Notice: s'replaceCastRollFont - starting. rMessageGM, rMessagePlayer = ' | { s'text' = s'Save [15][vs. DC 28] -> [for Devil, Ice (gelugon)] [vs BambaHamut, il dragone fattone] [AUTOMATIC FAILURE]', s'font' = s'msgfont' } | { s'font' = s'msgfont', s'icon' = s'roll_cast', s'text' = s'Save -> [for Devil, Ice (gelugon)] [vs BambaHamut, il dragone fattone]' }

seems like it's looking for the ASF field even though NPCs don't have it

bmos
July 30th, 2020, 17:15
I tried a "NPC vs NPC", dragon vs devil. The dragon targetted the devil and used its breath weapon.

Script Error: [string "scripts/spell_failure.lua"]:112: bad argument #1 to 'lower' (string expected, got nil)
Runtime Notice: s'replaceCastRollFont - starting. rMessageGM, rMessagePlayer = ' | { s'text' = s'Save [15][vs. DC 28] -> [for Devil, Ice (gelugon)] [vs BambaHamut, il dragone fattone] [AUTOMATIC FAILURE]', s'font' = s'msgfont' } | { s'font' = s'msgfont', s'icon' = s'roll_cast', s'text' = s'Save -> [for Devil, Ice (gelugon)] [vs BambaHamut, il dragone fattone]' }

seems like it's looking for the ASF field even though NPCs don't have itIt looks like I have already changed that part, so it might already be fixed. Just in case, I put in a specific check to make sure it only runs for PCs now and tested it and it doesn't error. This will be in the next update (and as always you can click the green code button then download zip and rename the zip to ext for my current test build -- no promises it will work correctly) :)

dellanx
August 2nd, 2020, 22:07
It looks like I have already changed that part, so it might already be fixed. Just in case, I put in a specific check to make sure it only runs for PCs now and tested it and it doesn't error. This will be in the next update (and as always you can click the green code button then download zip and rename the zip to ext for my current test build) :)

I did not see a roll. The setting are set on Auto-Roll. Thanks

bmos
August 2nd, 2020, 22:35
I did not see a roll. The setting are set on Auto-Roll. Thanks
What is the spell group named on the Actions tab?
What is entered in the spell's components?
What armor is equipped?
Unity or Classic?

dellanx
August 3rd, 2020, 02:07
What is the spell group named on the Actions tab?
What is entered in the spell's components?
What armor is equipped?
Unity or Classic?

bmos,

What is the spell group named on the Actions tab?
Magus Spells Prepared

What is entered in the spell's components?
Black Tentacles, Components: V, S, M (octopus or squid tentacle)

What armor is equipped?
+1 agile breastplate 25% spell fail

Should there be a spell fail roll?
What happens if it is just V or V,S?

Thanks

bmos
August 3rd, 2020, 10:26
bmos,

What is the spell group named on the Actions tab?
Magus Spells Prepared

What is entered in the spell's components?
Black Tentacles, Components: V, S, M (octopus or squid tentacle)

What armor is equipped?
+1 agile breastplate 25% spell fail

Should there be a spell fail roll?
What happens if it is just V or V,S?

Thanks
Also, you need to have the name of the spell class entered as just the class name. "Bard" will work but not "Bard Spells," for example.
Here's your issue :) The spell class is just not what it needs to be. I could make this less specific but it could end up doing multiple rolls for Arcanists and such who need multiple spell classes to track their spells. Only the relevant class name should be in the title of the class used to cast spells.

V would result in no roll
V, S would result in a roll

dellanx
August 4th, 2020, 03:12
Here's your issue :) The spell class is just not what it needs to be. I could make this less specific but it could end up doing multiple rolls for Arcanists and such who need multiple spell classes to track their spells. Only the relevant class name should be in the title of the class used to cast spells.

V would result in no roll
V, S would result in a roll

So I should test it on a wizard lets say?

bmos
August 4th, 2020, 03:20
So I should test it on a wizard lets say?Or just name the Magus' spell class "Magus" instead of "Magus Prepared Spells"

dellanx
August 4th, 2020, 10:18
Or just name the Magus' spell class "Magus" instead of "Magus Prepared Spells"

I see, very cool, thank you!

bmos
August 4th, 2020, 11:36
v1.0.1 (https://github.com/bmos/FG-PFRPG-Spell-Failure/releases/tag/v1.0.1)

fix for a nil error regarding components and for NPC's triggering the script (should be only player characters).

bmos
November 8th, 2020, 16:23
v1.1 (https://github.com/bmos/FG-PFRPG-Spell-Failure/releases/tag/v1.1) adds effects.

Add effect FSF (force spell failure) which designates a player as a arcane caster (regardless of class/armor equipped) for purposes of spell failure eligibility.
Add effect NSF (no spell failure) which designates a player as not being an arcane caster (regardless of class/armor equipped) for purposes of spell failure eligibility.
Add effect SF: [n] which allows numerically increasing/decreasing spell failure chance for various feats and abilities. SF: 10 increases the percentage by 10 and SF: -10 decreases the percentage by 10 (to a minimum of 0).

bmos
November 9th, 2020, 20:32
v1.2 - Some automation of Silence (https://github.com/bmos/FG-PFRPG-Spell-Failure/releases/tag/v1.2)
Add condition effect "Silenced" to check for spells with verbal components. If such a spell is cast under this Silenced condition, it will alert in chat that this is not allowed.

Zygmunt Molotch
November 10th, 2020, 08:24
forgot to rename the zip for 1.2!
;-)

bmos
November 10th, 2020, 11:59
forgot to rename the zip for 1.2!Thanks!

bmos
November 13th, 2020, 22:04
Spell Failure v1.3 (https://github.com/bmos/FG-PFRPG-Spell-Failure/releases/tag/v1.3) adds reminders for concentration checks when characters cast spells while grappled, pinned, or entangled.
Thoughts on auto-rolling these concentration checks?

Zygmunt Molotch
November 14th, 2020, 14:53
Spell Failure v1.3 (https://github.com/bmos/FG-PFRPG-Spell-Failure/releases/tag/v1.3) adds reminders for concentration checks when characters cast spells while grappled, pinned, or entangled.
Thoughts on auto-rolling these concentration checks?

I mean, with Kel's new COC stuff... why not?

My arcane archer player has lost 5 spells so far, with this extension :D

bmos
November 14th, 2020, 15:07
I mean, with Kel's new COC stuff... why not?

My arcane archer player has lost 5 spells so far, with this extension :DWoohoo! That's what I like to hear ;)
I'll probably add the auto rolls with an option to turn them off.
Getting the actual DC for determining success/failure could be possible in future but would require re-implementing what triggers the roll (so it can get the target).

Kelevraa
February 10th, 2021, 16:23
Hey there, I'm your biggest fan! I am so glad someone is supporting 3.5/pf because it is my favorite game. Thank you. Thank you. ... Thank you.

I had a question but never checked the options. Found my answer. You're the best.

bmos
February 10th, 2021, 17:17
Hey there, I'm your biggest fan! I am so glad someone is supporting 3.5/pf because it is my favorite game. Thank you. Thank you. ... Thank you.
I had a question but never checked the options. Found my answer. You're the best.So glad you like it :)
I tried playing 5E for a while when I was having a hard time getting a local PF group together, but it just felt wrong! PF/3.5E is the best :D

Kelevraa
February 11th, 2021, 19:03
Yes, I thought I would introduce my friends with 5e cause it's easy to "get into". But it's miserable to stay in. I'm sure they are tired of me railing against it every session when nothing makes any sense and defies even basic logic. So, converting to 3.5 in large part thanks to you!

Zarestia
March 27th, 2021, 20:14
Another great extension bmos!
Could it be enhancend to trigger the Spell Failure functionality when dragging a cast onto entities on the combat tracker and/or map? At the moment the spell failure only works when you single click a cast. As all players have different methods of targeting/rolling this would greatly help.

bmos
March 28th, 2021, 20:40
Another great extension bmos!
Could it be enhancend to trigger the Spell Failure functionality when dragging a cast onto entities on the combat tracker and/or map? At the moment the spell failure only works when you single click a cast. As all players have different methods of targeting/rolling this would greatly help.Certainly, I'll try to remember to add that when I get around to updating this one.
But what does that do? I've never tried dragging the cast button. Is it a substitute for targeting ahead of time?

Zarestia
March 28th, 2021, 21:13
Yeah, it really is just like dropping your attack onto the enemy token in combat tracker or on map. Some players are too lazy to properly set targets with e.g. ctrl left-click.

Asgurgolas
March 28th, 2021, 21:47
Dragging is awesome when you're locked on one target and something goes up and decides to provoke an attack of opportunity from you. No need to un-target enemy A, target enemy B, resolve attack, untarget enemy B and retarget enemy A". Just drag the attack onto the token (or portrait, if ever) and it's done

bmos
March 29th, 2021, 18:49
Wow, that's cool!
I had no idea you could do that.

EDIT: I think I have fixed it.

Zarestia
March 29th, 2021, 19:42
You changed somehting with the anchoring of the cast button? As soon as I open a spell the following error pops up. See attachment.

bmos
March 29th, 2021, 19:45
You changed somehting with the anchoring of the cast button? As soon as I open a spell the following error pops up. See attachment.Huh. I wonder why that was required. I have reuploaded it.

Zarestia
March 29th, 2021, 20:08
Okay, the error is gone.
Buuut... without your extensions I can drop the cast onto tokens on the CT or map. When Spell Failure is activated the cast is rolled immediately as soon as I touch the cast button. I can't hold the button/icon/die/whatever in the air. I hope this is understandable, could record a short video if that helps.

Added short gifs (I hope they're visible) :)

bmos
March 30th, 2021, 01:44
Okay, the error is gone.
Buuut... without your extensions I can drop the cast onto tokens on the CT or map. When Spell Failure is activated the cast is rolled immediately as soon as I touch the cast button. I can't hold the button/icon/die/whatever in the air. I hope this is understandable, could record a short video if that helps.

Added short gifs (I hope they're visible) :)I noticed that too.
Not sure it's an issue though, since there isn't any target data used in the spell failure roll.
EDIT: I guess there is a downside for potential meta-gaming, actually. I'll se what I can do about it.

Morenu
July 2nd, 2022, 23:33
---EDIT - Fixed an issue I was having with Archetypes not auto spell fail checking... added FSF to them as an effect and it forces the check... the rest of this post is me trying to track what I thought was a bug, read on at your own risk ----


OK Bmos, my 60+ extensions broke your spell failure ext, it never "fires" off when cast is clicked. Works as expected when its the only ext loaded... now to start checking with batches of the other ext. wish me luck. sig has my installed ext.

Edit 1...
Ummm now I am VERY confused.

I loaded a blank campaign. tested your extension with a lv1 wizard casting a lv 1 spell in leather armor and the ext worked perfect. after several reloads It worked perfect with ALL my 60+ extensions...

so I loaded the actual DMs campaign with all extensions and retested my Lv 7 tattooed sorcerer/Evangelist wearing magical leather... did not work with any of her spells...

created a fresh lv1 wizard... ext worked as it should...

retested sorcerer with Heavy armor (they had a light armor prof. so was checking) and it still did not work (verified the armor checkbox was on in inv. tab)

on her action tab, I do have her spell class set to prepared spell caster as I prefer how it handles tracking spell use, so I made a spontaneous spell caster spell class and put a 1st level sorc spell in there to test and that did not work either.

Now I am making lv1 tattooed sorc. wearing leaf armor and it doesn't work

going to reload test campaign, all 60+ext, try wizard then make a fresh tattooed sorcerer and try it, then a reg sorc and try it... be back later to report...

EDIT 2
OK in my test area, with all 60+extensions loaded, I made identical lv 1 sorcerers in plate mail with 1 being a regular sorcerer and the other being a tattooed sorcerer.

regular sorcerer worked exactly as it should
tattooed sorcerer did not auto roll a spell fail check... so I assume that is the issue, and sub category of a wizarding class may not work ( am building a wizard sub type now...

and a wizard (clocksmith) does not work either, so I assume the ext is not catching that a (archetype) of arcane classes should use spell failure...

ok, that's enough babbling, going to bed now

Edit 3...

I lied, My DM just reminded me that Bmos put in a few modifiers.... FSF applied to the tattooed sorc forced a Spell Fail check... sigh... yep... I am a dumb@$$ and Bmos outsmarted me again... all is right in the world.