MadScienceZone / gma-mapper

Fantasy role-playing battle grid map for use with GMA or standalone.
BSD 3-Clause "New" or "Revised" License
4 stars 0 forks source link

Allow sharing of die-roll presets #182

Closed MadScienceZone closed 5 months ago

MadScienceZone commented 6 months ago

To help players cover for other players, expand the currently supported feature to manage server-side die-roll presets to allow users to share them with each other.

With the approval of both players, one player's die-roll presets (or a selected subset) can be pulled over to the other player or pushed to the other player.

Or, an identified shared set of presets can be kept in sync between them.

MadScienceZone commented 5 months ago

One proposal: In the server's password file, add a notation for attributes for named users where a list of die-roll delagates can be named. Any of those delegates can pop up a "(name)'s Die Roller" window which is the same as the base die roller window, but without the panel where results are reported. Chat messages and die rolls made in this window will have some notation like "on behalf of" to indicate that the delegate is rolling for the other user. Buttons will be on that window for the functions to retrieve the other user's stored presets and to push a new set of presets to the other user.

MadScienceZone commented 5 months ago

To future-proof the extension, rather than adding a new field to the file for each feature in the future, let's just add a generic third field which is a JSON-marshalled string with the applicable parameters for that user. For example, name:password:{"Delegates":["name1","name2"]}

MadScienceZone commented 5 months ago

This is in beta on the develop branch. Implemented a server protocol operation which allows users to designate each others as delegates rather than changing the password file or requiring admins to do anything.

MadScienceZone commented 5 months ago

Fixed in 4.22