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 controls ultimate edition #12743

Open
wants to merge 83 commits into
base: master
Choose a base branch
from

Conversation

riverwanderer
Copy link
Collaborator

@riverwanderer riverwanderer commented Sep 24, 2023

Resetting PR #12736. Includes the features of PR #12732 and in addition:

Provides * Choose a random side * feature in the sides list dropdown - if at least two true player sides are available.

When retire/switch sides button or hotkey is activated:
Module Global Property VassalForceSide is checked and promptForSide() will switch to that side directly, if valid.
Module Global Property VassalRandomSide is checked; when true, random side option is automatically processed.
In each case, the special property is cleared immediately after use.
If the request cannot be satisfied, control returns to the user and a warning is logged to chat. No side change occurs.

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

Additional changes:
Observer role is not displayed if player is already in the role (consistent with behaviour of other sides)
Error message if no sides are available when player is switching from observer role.

riverwanderer and others added 30 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
Copy link
Collaborator Author

This PR is ready for review. One unresolved issue is that I changed getChangeCommand from Protected to Public, as I couldn't get access to this routine working another way (lack of knowledge). I could achieve these parts of the PR using Global Option preferences instead.

# Conflicts:
#	vassal-app/src/main/java/VASSAL/build/module/PlayerRoster.java
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
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