Skip to content

14381 Update dice properties when replaying a log file#14382

Open
rlament wants to merge 1 commit intovassalengine:release-3.7from
rlament:14381-prop-encoder
Open

14381 Update dice properties when replaying a log file#14382
rlament wants to merge 1 commit intovassalengine:release-3.7from
rlament:14381-prop-encoder

Conversation

@rlament
Copy link
Copy Markdown
Contributor

@rlament rlament commented Dec 4, 2025

When replaying a log file or during online play, the ChangePropertyCommand (encoded as a MutableProperty message) communicates property changes. The associated ChangePropertyCommandEncoder searches a GlobalProperties object for the property and regenerates the ChangePropertyCommand. However it only finds explicit global properties which are of type GlobalProperty.

The Dice Action buttons create implicit global properties. These are of type MutableProperty. Since these are not GlobalProperty types, the encoder fails to find the dice properties returning null. This effectively filters out the ChangePropertyCommand making it a no-op.

This pull request adds a secondary MutableProperty search for when the GlobalProperty search fails.

Closes #14381

Closes #13813

For Area of Effect I tested log files and undo. I did not test an online game. The log file must be written with a build that includes this commit. It's the writing, not the reading of the log file that matters.

The decoder only searched for properties of the GlobalProperty class.
Expand the search to include implicit global properties created by the Dice components.
@rlament rlament changed the title ChangePropertyCommandEncoder searches for Dice properties 14381 Update dice properties when replaying a log file Dec 4, 2025
@riverwanderer riverwanderer added this to the 3.7.19 milestone Dec 9, 2025
@uckelman uckelman modified the milestones: 3.7.19, 3.7.20 Dec 30, 2025
@uckelman uckelman modified the milestones: 3.7.20, 3.7.21 Feb 6, 2026
@uckelman uckelman removed this from the 3.7.21 milestone Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants