Repository navigation
feat(CombatEncounterDirector): Improves UI consistency and language settings - #2369
Open
steverobertsuk wants to merge 14 commits into
Open
steverobertsuk wants to merge 14 commits into
steverobertsuk wants to merge 14 commits into
Conversation
…age changes Setting the language with !ced config language only changed chat replies; the Command Deck kept its old language until it was next rebuilt. It is now rewritten straight away, on the view the GM was using. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
The Config section's description already said the interface language could be chosen there, but it had no control for it. It now has a Language button that opens a drop-down of all 24 languages, and lists them with the current one in bold. The README gains a Languages section and the language setting in its configuration table. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
Builds the root script and its 1.0.2 snapshot, bumps the version in package.json and script.json, and adds the 1.0.2 changelog entry. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
The Command Deck and Status handouts had their own look, and the Status handout's tables picked up Roll20's handout table borders and white background, leaving grey text on white. Both handouts are now built from the chat card, title bar and buttons in chat.js: the deck is one card with each section headed like a card title, and the report is a Summary card and a Tracked tokens card whose tables reset Roll20's styling. Minions' hit points show as "= 1" rather than the internal -999 flag. Stays in 1.0.2, so the root script and its 1.0.2 snapshot are rebuilt. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
The Status report's table styles, which undo Roll20's handout table borders and white background, move into chat.js beside the card builders, with a buildTable() helper, so the Command Deck can use the same tables. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
The Config section of the Command Deck listed the languages as a line of names. It now has the same table as the other MidNite Shadow mods: flag and code, English name and native name, with the language in use in bold. The three column headings are new locale keys; the machine translations were corrected where they meant a person's name (cs, pl, ru, ko and others) or read oddly (de, ja, he, pt-BR). Stays in 1.0.2, so the root script and its 1.0.2 snapshot are rebuilt. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
Roll20's Advanced Transform > Enumerate Tokens numbers duplicate names as "Goblin 3 (1)". Auto-number Selected took its base name from the first selected token and only stripped a trailing number, so it kept "(1)" and named the tokens "Goblin 3 (1) 1" and so on. It now strips Roll20's "(n)" as well, giving "Goblin 1" to "Goblin 7". Stays in 1.0.2, so the root script and its 1.0.2 snapshot are rebuilt. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
…nd Command Deck GMs had to work out for themselves what a preset does to a monster: the README listed the percentages, and the Command Deck only had the buttons. Both now end with a Preset Reference: a table of the party presets (with the party sizes `!ced scale party` maps to each) and one of the boss presets, giving what each changes and a worked example for a 40 HP, AC 15 monster that deals 20 damage. The deck builds its tables from PARTY_PRESETS and BOSS_PRESETS with the same rounding as scaling, so they cannot drift from the code. They are on the All and Scaling tabs; the Admin tab is unchanged. The eight new strings are translated into all 23 other languages and proofread (party as a group of adventurers, boss as a monster, damage dice rather than bread rolls). Stays in 1.0.2, so the root script and its 1.0.2 snapshot are rebuilt. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
The damage percentage on presets, boss tiers and `!ced scale damage` never changed anything in the game: CED cannot reach damage, which comes from dice and character sheets, so the value was only stored and shown in the status report. A user asked whether the numbers were calculated from the monster's average damage, which shows it read as a real feature. Presets and boss tiers now scale HP and AC only. Gone: the damage values in PARTY_PRESETS and BOSS_PRESETS, the Damage rows on the chat cards, the Damage % buttons on the Command Deck, the Dmg column of the Status handout and the damage figures in the Preset Reference. `!ced scale damage` now whispers that damage scaling was removed instead of reporting an unknown action. The damageModifier that earlier versions stored on token records and saved encounters is removed once each time the Mod starts, not on a version change, so games already running an earlier 1.0.2 build are cleaned up too. Five strings are removed from every locale. The new warning and the reworded Preset Reference description are translated into the 23 other languages and the worst mistakes corrected (damage rolls as bread rolls, scrolls or cylinders, the token as a coin or a witness, a Simplified Chinese sentence in zh-TW). Tested live in Mod Test Lab: data seeded with 1.0.1 was cleaned at start-up, and no card or handout mentions damage. Stays in 1.0.2, so the root script and its 1.0.2 snapshot are rebuilt. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
The README's preset tables, scaling commands and Preset Reference no longer list damage, and How Scaling Works now says why CED leaves damage to the GM: it comes from dice rolls and character sheets, not the token. The developer notes, file map and manual test list follow the code: no damageModifier in the state example, no parseDamagePercent, and `!ced scale damage` is expected to whisper that it was removed. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
…n on its handouts in the Journal The Command Deck and Status handouts now use the plain Combat Encounter Director icon from Roll20's file store as their journal icon (the handout avatar). The icon is set when a handout is created and added to handouts from earlier versions, so existing games get it too. Roll20 stores the avatar as max.webp with a number, so a handout counts as having the icon when its avatar contains the image's path. Only the webp files exist (thumb.png is a 404), so the URL uses thumb.webp. A new ensureHandoutIcon helper in utils.js covers each place they are written, including a Command Deck renamed from its old name. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
…l icon The root script and the 1.0.2 snapshot are rebuilt without a version bump and remain identical. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
…r fills the handout Roll20 always stores a handout's journal icon as the full-size file, whatever size the Mod asks for, and shows that file at its natural size at the top of an open handout. The CombatEncounterDirector icon was a 1024 pixel upload, so it filled the handout above the text. The icon now points at a 100 pixel copy of the same artwork. Handouts from earlier builds are matched on the image path, so they change to the small icon the next time the Mod starts. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
…journal icon The built script and its 1.0.2 copy carry the new icon path. The version number is unchanged. Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
steverobertsuk
force-pushed
the
sr/ced-v1-0-2
branch
from
November 11, 2026 23:17
2a1d602 to
889b10b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This release enhances the Combat Encounter Director with a more unified user interface, improved language configuration, and introduces internal tooling improvements for localisation.
Added
Removed
!ced scale damage, the Damage % buttons on the Command Deck and the Dmg column of the Status handout are gone;!ced scale damagenow explains that it was removed. Damage values saved by earlier versions are cleared from tokens and saved encounters when the Mod starts.Changed
Fixed
!ced reinforce enumerate) now understands names Roll20's own Advanced Transform > Enumerate Tokens has numbered, such as "Goblin 3 (1)". Before, it kept "(1)" as part of the name and gave "Goblin 3 (1) 1".!ced config languagenow rewrites the Command Deck in that language straight away. Before, only chat replies changed until the deck was next rebuilt.Signed-off-by: Steve Roberts steve@shadowcomputers.co.uk