Closed 20kdc closed 1 year ago
Thank you for the PR! 🥳
My only concern with it's current implementation is that it would not be compatible with the new face-value system in v0.2.0 (which has already been implemented and tested in the 0.2-rewrite
branch, see here for how the game reads the config.cfg
file on that branch).
For reference, the format for the face_values
property in v0.2.0 is essentially reversed from what it is in v0.1.x, in that the keys are the rotation required to make the given face point upwards, and the value is the, well, value:
; An example 'face_values' from v0.2.0:
face_values = {
Vector2(0.0, 0.0): null,
Vector2(90.0, 0.0): 2,
Vector2(0.0, 90.0): 4.5,
Vector2(180.0, 0.0): "wat",
}
I did it this way for two reasons: 1. it solved the duplicate face-value problem, as only the keys are required to be unique, and 2. I figured it is incredibly unlikely that anyone would want two separate values for one face.
I've also made it so that in v0.2.0, the game will still accept the current format for backwards-compatibility, but it will show a warning saying the new format should be used instead.
So yeah to prevent incompatibilites between versions, either the v0.2.0 system will need to be backported, or the v0.2.0 system will need to be replaced with this PR's system.
I'll go with backporting the v0.2.0 system, now I know what that looks like
Hopefully this should be compatible?
Ah, thank you
No, thank YOU! :grin:
Changes
Fixes/Solves What does this PR fix or solve? If applicable, put the issue number here.
This screenshot is an example use-case: Fudge/FATE dice. These have two blanks (value 0), two + (value 1) symbols and two - (value -1) symbols. The way you calculate rolls with these is to roll four at once, then total the values. Tabletop Club almost supports this perfectly, but without this PR, their values cannot be properly represented (at least without perhaps tricks like int/float differentiation) and thus it's not possible to get a total.
Numbers (as used)
Names (as an example)
This also mostly helps #209 (though it's not possible to specify a numeric value for a named value).
NOTE: Make sure this PR goes to the
master
branch! If this fix applies to previously released versions, then the commits will be cherry-picked afterwards. Done.