-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve handling of [dis]advantage mechanic #107
Comments
This will clash with our Dice so Nice integration. As Dice so Nice only produces the roll animation when a chat message is created with a roll attached to it. I've been thinking about this and for both this and general automation I think we need to shift to a workflow style approach. We should let the advantage be picked in the chat message and update the result as appropriate. |
Damn, hadn't considered that. Good point. |
updated description |
Regardless of what solution we end up with here, having the option for retroactively adding Adv/Disadv to a chat message and updating it inline is a very good thing to prepare for early. It is a very frequent requested feature in other d20 systems and working it into the overall process before it gets super complicated to refactor is a smart thing to do |
Also re: DSN, remember that it is always possible to call your own 3d rolls from the module by passing it a roll object directly without needing to depend on its auto detection methods for rolling new dice. It doesn't pick up new dice within an existing roll anyway, only new rolls on a message update, last I checked, so we'd have to do that if we want any type of post-message creation roll editing |
Is your feature request related to a problem? Please describe.
Advantage and Disadvantage are a little more intricate than keep highest or lowest (though in cases for the d20 and damage die it'd make do).
Currently plot die do not implement [dis]advantage mechanic as the logic is complex and the user needs to make some level of decision. And damage die do not increase the size of the pool (again this is due to it being a pool of dice inferring complexity to the situation). d20s currently use keep high/low functionality which is practical, but not entirely correct.
This lack of implementation is hampering roll automation.
https://discord.com/channels/1245805811087704085/1267574016311562361/1267587839252631595 has a good breakdown of the mechanic from a Brotherwise employee.
Suggested Solution
As per discussion with @stanavdb below:
n(2d#)
where n = [number of adv + number of disdv]+ yd#
where y = remaining die in the pool)Describe alternatives you've considered
While the possibility of complicated instances of 'vantage on damage dice are unlikely, trying to apply a simpler solution would mean if such edge cases did appear in a game they would be rolled wrong, not just uncatered-for. As we would be needing a more complex logical approach for the plot die, we might as well just apply it to all the dice.
Initially I played with the concept of a dialog approach and only feeding the final die into the chat message but that would break Dice so Nice, as in the discussion below. I also considered opening a pop-up for GMs ahead of the roll to define where they wanted to apply disadvantages, but it seemed like an unnecessary extra stage, when the players can discuss this around the table first and trust the person rolling will select the correct settings.
Version
0.1.1
Checklist:
The text was updated successfully, but these errors were encountered: