Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Idea: Fudge Mechanic

In my games I've been using a system of Scriptcards Macros to automate a lot of the tedium of managing combat in roll20 (and also save us all the mental math) but I've run into a bit of a snag: I'd forgotten how often I actually used to fudge in my games before I'd created the aforementioned system. As such my players have had their butts handed to them by combats that I only intended to look threatening, and if it weren't for a mistake of linking all the HP of an enemy type to an attribute causing me to accidentally 'kill' all of them when I set one's HP to 0 then my last session would have been a TPK. My players spend far too much time making and refining their characters for me to kill them unnecessarily.  So, I've been thinking of ways to integrate a fudge system into my Macros based off of how well each side has been doing in a session. My current idea is to have a value saved somewhere that all my Macros reference to that is a value from 0 to 20, where 0 to 9 indicates PC success and 11 to 20 indicates PC failure with 10 being neutral. Where I'm running into an issue is figuring out how that translates to a chance to fudge a roll. I'm also unsure of how exactly I want to fudge rolls. Do I want to just reroll once? Do I want to reroll until I get a pass or fail (based off of the number scale)? One thing I am sure of is that the end roll has to look like how it would roll normally if you look at the tooltip, so I can't just set the roll to a static value. There is also the 'cheap' option of just having a toggle or the like on my end that I hit whenever I want to make sure that the next roll succeeds or fails, but that feels a bit too much like tilting the pinball machine for my taste. Does this idea have promise or am I just overcomplicating this? I'm still feeling out a prototype, so I don't have any code to share at the moment, but what I'm hoping for is additional perspectives to see flaws or opportunities that I'm not. Any ideas that y'all can share are much appreciated!
1622378376
timmaugh
Forum Champion
API Scripter
As an idea.. you could have a pair of mods (one NPC, one player) that is 1/10 of the d-base system you are in. So if you are in a d100 system, the mod would be plus or minus 10 every time. In a d20 system, the mod would be plus or minus two. A successful role increments the mod for the next roll by that amount, a failed roll goes in the opposite direction. So if you start at zero and you succeed at a roll the mod becomes -2 to your next roll (d20). Succeed at that roll and your next roll is at -4. (I would count degree of success or fumble off the original number, but YMMV) Variations could include... ...any roll opposite to the previous one (failure following success or success following failure) resets the mod to 0 instead of a simple bump. ...using a single mod for players and NPCs, where NPCs take -1* the mod... So negative numbers are good for NPCs and bad for players, while positive numbers are good for players and bad for NPCs. I wouldn't do this one with the previous (resetting every change of direction).
Hmm, that's an interesting idea! I'm GMing for DnD 5e so it would be the d20 system. Reading through it, I've realized that the problem that I want to solve really is that occasional hot streak of Criticals that I get that just annihilates PCs which I think your method might solve if I do it in the following method: --:Fudge|parameters: Roll String [%1%] --=RollGoal|[$ToBeFudgedRollValue] - @{Fudge|fudge_mod} --=FudgeCount|0 --:FudgeLoop| --=ToBeFudgedRollValue|[%1%] --=FudgeCount|[$FudgeCount] + 1 --? [$ToBeFudgedRollValue] -ne [$RollGoal]|FudgeLoop --@modattr| _charid @{Fudge|character_id} _fudge_count|[$FudgeCount] _silent --<| With this method, the tooltip over the roll value would show just as if it rolled normally and also not be the crit that it could have been. I added in a little thing to also tell me how many times the fudge actually rolled, just to see the potential impact it's having on the speed of the game. The only issue that I see with this method is that if I had the mod increasing on all hits then it would be that if you get one hit, then the next can't possibly be a crit, which I feel that if that's the case my players might start to notice. Alternatively I could have it activating only on crits, which would make it so that you can't crit twice in a row, but the mod would also never get any larger than 2 since there's no way to succeed twice in a row. So I'm a bit torn on which route I should go.  Also, I'm unsure about having positive modifiers, since with this method if you rolled a base value that is less than the modifier's value away from 20 (like a 19 on a 2 mod) then this method would fail in an infinite loop. However, having positive modifiers does sound nice for when the players are just absolutely wrecking face and I want them to be at least a little scared.