When rolling for damage after modifiying the damage bonus box, the roll does not take into account the latest damage bonus value.
The bug only trigger when the world is quite loaded with content and very rarely on an empty world
Here is the default, non bug, behavior, reproducable without any change (Notice this behavior isnt optimal already.)
- User opens sheet
- Actor data is initialized and roll bonus is 0 (for exemple).
- User changes their damage bonus to 3. The value is stored in the input but not in the actor document.
- User clicks the roll button but does not tab out of the input first
- The roll isnt executed
- Because the user clicked the roll button, they no longer have focus on the input field. This triggers an update, so the document is updated to have a damage bonus of 3.
- User is confused because nothing happened and clicks the roll button again. The roll bonus on the document is 3, so it's now correct.
Here is the bugged behavior
- User opens sheet
- Actor data is initialized and roll bonus is 0 (for exemple).
- User changes their damage bonus to 3. The value is stored in the input but not in the actor document.
- User clicks the roll button but does not tab out of the input first
- The roll is executed with roll bonus 0
On a loaded world the bug almost always occurs after a bonus modification followed by a roll
Note that the bug can be systematically prevented by the following behavior:
- User opens sheet
- Actor data is initialized and roll bonus is 0 (for exemple).
- User changes their damage bonus to 3. The value is stored in the input but not in the actor document.
- User clicks down on damage roll button but dont release the click immediately (25/50ms or so is enough)
- Because the user clicked down the roll button, they no longer have focus on the input field. This triggers an update, so the document is updated to have a damage bonus of 3. the roll damage is triggered on click up to it does not fire yet
- Click up is done, The roll is then executed with roll bonus 3
The bug is quite annoying to reproduce on an empty world but here is how to do it:
use firefox (the bug happens on chrome too but is easier to replicate on firefox) not the electrum client to log into the world
create a new DW world
create a character
import this character onto it(cause he's a bit loaded, nothing crazy) slebbnag.json
open the character sheet
change the damage bonus value
dont click anywhere then click the damage button,the click must be very quick and light to try to minimize the time between click down and click up.
try that 10 times or so, (change value, click roll...)once the bug has been triggered once it's much more likely to happen again
On a real world, used by users and populated by content the bug is much much easier to reproduce.
When rolling for damage after modifiying the damage bonus box, the roll does not take into account the latest damage bonus value.
The bug only trigger when the world is quite loaded with content and very rarely on an empty world
Here is the default, non bug, behavior, reproducable without any change (Notice this behavior isnt optimal already.)
Here is the bugged behavior
On a loaded world the bug almost always occurs after a bonus modification followed by a roll
Note that the bug can be systematically prevented by the following behavior:
The bug is quite annoying to reproduce on an empty world but here is how to do it:
use firefox (the bug happens on chrome too but is easier to replicate on firefox) not the electrum client to log into the world
create a new DW world
create a character
import this character onto it(cause he's a bit loaded, nothing crazy) slebbnag.json
open the character sheet
change the damage bonus value
dont click anywhere then click the damage button,the click must be very quick and light to try to minimize the time between click down and click up.
try that 10 times or so, (change value, click roll...)once the bug has been triggered once it's much more likely to happen again
On a real world, used by users and populated by content the bug is much much easier to reproduce.