Skip to content

Commit

Permalink
Merge pull request #4644 from pakfront/gm-lobby
Browse files Browse the repository at this point in the history
Allow any player to become GM in lobby without a vote
  • Loading branch information
SJuliez authored Jul 21, 2023
2 parents e543cd8 + 3db6a79 commit 7b425de
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions megamek/src/megamek/server/commands/GameMasterCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
package megamek.server.commands;

import megamek.common.Player;
import megamek.common.enums.GamePhase;
import megamek.server.GameManager;
import megamek.server.Server;

Expand Down Expand Up @@ -55,13 +56,16 @@ public void run(int connId, String[] args) {
return;
}

// toggling off game master requires no vote
GameManager gameManager = (GameManager) server.getGameManager();
if (player.getGameMaster()) {
GameManager gameManager = (GameManager) server.getGameManager();
// toggling off game master requires no vote
gameManager.setGameMaster(player, false);
return;
} else if (gameManager.getGame() != null && gameManager.getGame().getPhase().isLounge() ) {
// becoming GameMaster in Lobby is always permitted
server.sendServerChat(player.getName() + " will become Game Master without vote.");
gameManager.setGameMaster(player, true);
} else {
// require voting
// becoming GameMaster in regular gameplay requires unanimous human player voting
for (Player p : server.getGame().getPlayersVector()) {
if (p.getId() != player.getId()) {
server.sendServerChat(p.getId(), player.getName() + " wants to become a Game Master" + SERVER_VOTE_PROMPT_MSG);
Expand Down

0 comments on commit 7b425de

Please sign in to comment.