Permissions - TokenProperty - Stat-Sheets - Token Editor - #6015
Permissions - TokenProperty - Stat-Sheets - Token Editor#6015bubblobill wants to merge 15 commits into
Conversation
VariableType Tables Editor DTO CampaignProperties
# Conflicts: # build.gradle
- visibility on stat-sheet - visibility in token editor - editability in token editor. Updated DTOs. Updated TokenPropertiesTest Updated Token Editor Updated CampaignProperties Updated Campaign Properties Editor. Shuffled various cell editor/renderers off to a common home. Tweaked AahLAF to ensure it all looks good.
Passable tests.
|
@bubblobill Nice! Can you include some screenshots of the I like what you are starting do so with the different syntax types, something that I was looking at for the input function enhancements. I've attached below where I got up with a custom control for with that, as it handles more syntax types, parses some syntax types after typing, can toggle minifying and prettifying json, etc Just in case it inspires you to enhance yours more (just recalling what you did to me with Halos! 😁 ) and then I can just perhaps re-use yours as you got in first! InputControlTextEditor.java.txt What you could also do was automatic selection of the syntax type if the property name had a specific file type suffix. That would be neat. |
|
@Baaaaaz It used to be buried as a private class. I just pulled it out so it can be accessed elsewhere. I'm falling out of like with RSyntaxtTextArea. It's theming is not very compatible with FlatLaF. |

Identify the Bug or Feature request
fixes #5943 #4960 #4774 #1641 #296 #4396 #1373
progresses #1762 #6003 #5446 #5944
and probably a bunch of others.
Description of the Change
Born out of the desire to enable the new pop-up attribuite-sheets to be shown to players for NPCs.
Previously the visibility of a property was settable through combining booleans as:
NONE -> GM(s) -> OWNER(s) -> ALL
Added a new enum Permissions and changed TokenProperty to use Permissions instead.
Permissions currently has the following entries;
--
Allies are currently implemented simply. For example; a property with this visibility on a player's token would be visible to other players with the same GM status, i.e. Non-GM players can see this on each others tokens.
This resolves the current problem with stat-sheets not being able to show NPCs attributes. They can be set to be visible to all, or whoever is on the same team. This is more explicit and builds on the current setup.
The first batch of values are cumulative. Each level expands the scope of who has permission.
The second batch are exclusive.
For TokenProperty, Permissions have been assigned to:
Campaign Token Properties editor

With these permissions, you can set it so a player can see what values are, but not allow them to edit the values. This will help framework developers who require values be changed through another mechanism.
Other advantages is the ability to tailor information more contextually, such as the GM excluding themselves from seeing things they don't care about.
The Token Editor

This is the GM view. You can see where Defense was set as not being player visible, it now appears separately. Similarly, non-Type properties can be seen by the GM under the Misc group.
I also threw in a search bar whilst I was at it.
Future work will be the use of permissions for other aspects, like states and bars.
Possible Drawbacks
This is a big change, and whilst I tested it on old campaigns, the testing was not thorough.
Documentation Notes
Release Notes
This change is