Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

12545 side change features (full suite) #12736

Conversation

riverwanderer
Copy link
Collaborator

@riverwanderer riverwanderer commented Sep 21, 2023

Includes the features of PR #12732 and in addition:

Provides * Choose a random side * feature in the sides list dropdown.

When retire/switch sides button or hotkey is activated:

  • Global Option Property VassalForceSide is checked and PromptForSide() will switch to that side directly, if valid.
  • Global Option Property VassalRandomSide is checked; when true, random side option is automatically processed.

To prevent persistence, both Global Option properties are cleared both on first connection and after each use.
These features fail-over to the standard sides list dialog.

Use cases: Connection to a randomly selected side; Ability to choose a side directly within a module.

riverwanderer and others added 20 commits September 14, 2023 09:15
…12544_nextSideChoice

# Conflicts:
#	vassal-app/src/main/java/VASSAL/build/module/PlayerRoster.java
…m/riverwanderer/vassal into 12544_nextSideChoice

# Conflicts:
#	vassal-app/src/main/java/VASSAL/build/module/PlayerRoster.java
…m/riverwanderer/vassal into 12544_nextSideChoice

# Conflicts:
#	vassal-app/src/main/java/VASSAL/build/module/PlayerRoster.java
…m/riverwanderer/vassal into 12544_nextSideChoice

# Conflicts:
#	vassal-app/src/main/java/VASSAL/build/module/PlayerRoster.java
…m/riverwanderer/vassal into 12544_nextSideChoice

# Conflicts:
#	vassal-doc/src/main/readme-referencemanual/ReferenceManual/GameModule.adoc
…ation

# Conflicts:
#	vassal-app/src/main/java/VASSAL/build/module/PlayerRoster.java
@riverwanderer riverwanderer self-assigned this Sep 21, 2023
@riverwanderer
Copy link
Collaborator Author

This PR is starting to shape up. So far it provides mechanisms for comprehensive control over side switches, detailed in the Definition of Sides documentation. In particular, the UI now offers random side selection as an option.

To do: Integrate random side choice into the Player Roster initial connection routine.

I am exercising the new automated features in the v4.3.12 release of the C&C Ancients module, as follows:

  • Epic sides ("FG" roles) are hidden until an Epic scenario is opened.
  • The side choice button (P1/P2 icon) will set VassalRandomSide to automatically select a random side (TO DO)
  • Non-Solitaire roles are hidden once Solitaire is selected
  • Solitaire role is hidden once a game is joined by more than 1 player (WIP)

@riverwanderer riverwanderer added this to the 3.7.2 milestone Sep 24, 2023
@riverwanderer riverwanderer changed the title 12545 next side choice+exclude sides+force side 12545 side change features (full suite) Sep 24, 2023
@riverwanderer riverwanderer deleted the 12545_nextSideChoice+excludeSides+forceSide branch September 24, 2023 09:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Work In Progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Direct connection to a side from a module Random side choice from choose a side dialog
1 participant