PDA

View Full Version : Crits and Fumbles (Skillls) Extension for 5E



jkeller
June 9th, 2023, 17:34
Available free in the FG Forge: https://forge.fantasygrounds.com/shop/items/1232/view

How to use: Activate the "Feature: Crits and Fumbles (Skills)" extension and module for your 5E campaign.

There's an option to turn it on or off; it should be on by default.

When you roll a Skill check, if you roll a natural 1 or 20, this extension will make an additional roll on a table (from the CritsAndFumbles module) associated with that skill. The result is displayed in the chat window. This also applies to Concentration and Initiative checks. Note you must enable the "Crits and Fumbles" extension before loading your campaign, and activate the module (same name) after opening your campaign.

Thanks to Trenloe for helping me develop this!

https://forge.fantasygrounds.com/images/0f27ef05bdc6f0bab82eafb4ace0808a.png

A table for each skill (critical and fumble):

https://forge.fantasygrounds.com/images/1913b99f4a37f4186e3b35db7e4cb75b.png

DISCORD: FG Extensions - Kraken Creations (https://discord.gg/qyJFdtdu3T)
EXTENSIONS: Flavorful Names (https://forge.fantasygrounds.com/shop/items/2386/view), Crits and Fumbles (https://forge.fantasygrounds.com/shop/items/1232/view), Fail Forward (https://forge.fantasygrounds.com/shop/items/1982/view), Hidden Death Saves (https://forge.fantasygrounds.com/crafter/manage-craft#), Redacted Table Fields (https://forge.fantasygrounds.com/shop/items/2451/view)

jkeller
June 9th, 2023, 17:35
reserved...

charmov
June 9th, 2023, 21:29
This looks amazing. Would it be possible to add not just a 1 or 20 critical failure / success but a fail or succeed by 5 or more? really excited to try this next session.

jkeller
June 9th, 2023, 21:41
Good idea! I think so. I'll need to figure out how to tell what the target number is, but I'm sure that's possible (for skills, anyway - not for Initiative or Concentration). Anyway, that's a good idea - I've seen some systems that do that. So far I've only tested this with 5E, but it would probably be pretty easy to get it working in other rulesets too.

charmov
June 9th, 2023, 21:47
Good idea! I think so. I'll need to figure out how to tell what the target number is, but I'm sure that's possible (for skills, anyway - not for Initiative or Concentration). Anyway, that's a good idea - I've seen some systems that do that. So far I've only tested this with 5E, but it would probably be pretty easy to get it working in other rulesets too.

For the 5e ruleset, the party sheet let's you set a dc. There is also the requested rolls extension, https://forge.fantasygrounds.com/shop/items/273/view

Hopefully this is helpful!

jkeller
June 9th, 2023, 21:50
Oh, I had not seen that one, but it sounds great. Thanks for the tip!

Lord Skrolk
June 10th, 2023, 00:30
Not working for me. Not getting an option under house rules and I double checked to make sure the mod was loaded. When I get time, I will create another campaign and load up my extensions one by one to see if there is a conflict.

kahnhalen
June 10th, 2023, 00:37
Hey, not sure what I'm doing wrong. I downloaded it from Forge. The extension is on, though it says Crit and Fumble not Crit and Fumble (skills). I loaded the module and when i roll a crit it says table not found. I can see the table in my list. Also the option you show on forge to turn on the skill crits and fumbles isn't present. Any thoughts? The only thing I found online is it says the table must be called Critical Hit and Fumble. Your's is labeled Crits and Fumbles. I'm not sure though.

jkeller
June 10th, 2023, 00:53
Hmm.... it's not working for me either at the moment. Sorry, I'm very new at this, but I'll figure it out and upload a new version as soon as I can!

jkeller
June 10th, 2023, 01:10
Ok, I think it's working now. You'll need to Update. It should say version 0.2 (for the extension). You should see the option "on" under the House Rules section, and you should see an announcement in the chat log that it loaded.

If that's there, it should run. When a character rolls on the Skills tab, and gets a natural 1 or 20, it should try to roll on the associated table (e.g. "Skill Performance Critical"). If it doesn't find the table, that means the module has not been activated/loaded.

So far, all my testing has been done by double-clicking on the skill from the Skill panel on the character sheet, and the character is in the Combat Tracker. I don't know if that matters.

Oh - and the extension file is CritsAndFumbles.ext, but the label should be "Crits and Fumbles (Skills)".

And just in case it wasn't clear, this is for the 5E ruleset. It probably could be made to work in other rulesets if anyone would like me to try that.

kahnhalen
June 10th, 2023, 06:17
Hey I updated and it still didn't work for skills. It is working for initiative. I had 2 players roll 20's and it worked fine. Not sure what the difference is.

Zanderflex
June 10th, 2023, 06:34
I am also only having success with Initiative rolls. Skills, 1 or 20, nothing happens.

jkeller
June 10th, 2023, 15:23
Thanks for the feedback!

My (wild) guess is, there's a conflict with another extension. If you wouldn't mind, could you post a list of extensions you are using?

The code is fairly simple - it overrides the function that does the roll, calls the original code, and then (if enabled and you roll 1 or 20) calls the new code.

On the other hand, I'm still learning this stuff, so maybe I'm missing something...

Maybe @Trenloe has an idea?

jkeller
June 10th, 2023, 15:26
Here's the relevant code, in case anyone has a suggestion:


function onInit()
ActionsManager.registerResultHandler("skill", my_onRoll); -- skill checks
end

function my_onRoll(rSource, rTarget, rRoll) -- override to enhance SKILL check
ActionSkill.onRoll(rSource, rTarget, rRoll); -- call super

-- If enabled, then roll on a custom table on a natural 1 or 20
if (OptionsManager.getOption("CAFS") == "on" and rRoll.aDice[1].result) then
local nDieResult = rRoll.aDice[1].result; -- the roll not including modifiers
local sSkillName = string.match(rRoll.sDesc, "%[SKILL%] ([%w]+[%w%s]+[%w]+)");

if (sSkillName or "") ~= "" then
local sTable = ""
local message = {}

if nDieResult == 20 then
message.text = sSkillName .. ": Critical Success!"
message.icon = "cs"
sTable = "Skill " .. sSkillName .. " Critical"
elseif nDieResult == 1 then
message.text = sSkillName .. ": Fumble!"
message.icon = "cf"
sTable = "Skill " .. sSkillName .. " Fumble"
end

-- roll on the associated skill table: "Skill {Skill} Critical" or "Skill {Skill} Fumble"
if (sTable ~= "") then
Comm.addChatMessage(message);
ActionAttack.notifyApplyHRFC(sTable);
end
end
end
end

Klandare
June 10th, 2023, 15:50
Would it be as simple as adding in a new crit and failure tables if you wanted to add in a new skill (say Thieves Tools) and the code would just start using it since it was an action skill rolled and got a 1 or 20? Figuring it is just checking for skill name and the table name based on crit or failure.

jkeller
June 10th, 2023, 16:30
That would work for new skills, but currently not for other rolls (like Saves or Attribute checks). Those could be done, but would take some code changes.

So, it wouldn't work for a lockpick check under the RAW (which would be a DEX check I think), but it would work if you used the Sleight of Hand skill.

I'm not sure if FG has some way of doing "tool" checks, but I think it would be nice - maybe there's an extension for that?

Lord Skrolk
June 10th, 2023, 23:23
I have isolated one extenstion that conflicts: StealthTracker by JustinFreitas


Edit: Out of all the extensions I am using, only StealthTracker by JustinFreitas is conflicting.

jkeller
June 10th, 2023, 23:45
Thanks! I grabbed a copy of that; I'll see if I can figure out how to avoid the conflict.

I posted a message (https://www.fantasygrounds.com/forums/showthread.php?72054-5E-StealthTracker&p=688972&viewfull=1#post688972) to the author in the StealthTracker forum. Hopefully we can find a work-around.

jkeller
June 11th, 2023, 18:13
Justin helped me find a different approach. I tested with both extensions, and there should be no conflict now.

Version 0.3 is up!

charmov
June 11th, 2023, 20:00
When a natural 1 is rolled for Athletics the table rolled on is the Concentration table. Is anyone else getting this?
57669

Thanks for developing this, it has tons of fun potential!

jkeller
June 11th, 2023, 21:04
When a natural 1 is rolled for Athletics the table rolled on is the Concentration table. Is anyone else getting this?
57669

Thanks for developing this, it has tons of fun potential!

Thanks charmov! I think that is fixed now (I left it as version 0.3 since it was a tiny fix).

bidders
February 4th, 2026, 08:49
I'm have some problems with the crits and fumbles skills , it seems that the extension is working but the module is not showing up in the activation lists and their is not tables listed in the table tab. in the file for modules their is only the fumblecrit.mod listed. is that the one for your add on?
thanks,

jkeller
February 4th, 2026, 12:35
It should be called CritsAndFumbles.mod. Not sure what happened; maybe the forge version got corrupted?

I'll put a version in my discord server (link in sig), so you can grab it there; and also try uploading a new version to the Forge.

GKEnialb
February 6th, 2026, 22:00
Works now from the Forge.

jkeller
February 6th, 2026, 22:08
great, thanks for letting me know!

bidders
February 7th, 2026, 08:31
Got it up and running,
Thanks a lot,