From 751365124eac5520ce2c567758906b4d2fb9235e Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 7 Nov 2014 14:24:07 +0100 Subject: [PATCH] * Commander - Players no longer go to a sideboarding phase during caommander matches. --- .../src/mage/game/CommanderDuelType.java | 1 + .../src/mage/game/CommanderFreeForAllType.java | 1 + .../Mage.Game.FreeForAll/src/mage/game/FreeForAllType.java | 1 + .../src/mage/game/TwoPlayerDuelType.java | 1 + Mage.Server/src/main/java/mage/server/TableController.java | 4 +++- Mage/src/mage/game/match/MatchType.java | 6 ++++++ 6 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Mage.Server.Plugins/Mage.Game.CommanderDuel/src/mage/game/CommanderDuelType.java b/Mage.Server.Plugins/Mage.Game.CommanderDuel/src/mage/game/CommanderDuelType.java index 137bc0c089a..e09c720a50b 100644 --- a/Mage.Server.Plugins/Mage.Game.CommanderDuel/src/mage/game/CommanderDuelType.java +++ b/Mage.Server.Plugins/Mage.Game.CommanderDuel/src/mage/game/CommanderDuelType.java @@ -43,6 +43,7 @@ public class CommanderDuelType extends MatchType { this.numTeams = 0; this.useAttackOption = false; this.useRange = false; + this.sideboardingAllowed = false; } protected CommanderDuelType(final CommanderDuelType matchType) { diff --git a/Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/src/mage/game/CommanderFreeForAllType.java b/Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/src/mage/game/CommanderFreeForAllType.java index 9c090de6916..bad316a901f 100644 --- a/Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/src/mage/game/CommanderFreeForAllType.java +++ b/Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/src/mage/game/CommanderFreeForAllType.java @@ -44,6 +44,7 @@ public class CommanderFreeForAllType extends MatchType { this.numTeams = 0; this.useAttackOption = true; this.useRange = true; + this.sideboardingAllowed = false; } protected CommanderFreeForAllType(final CommanderFreeForAllType matchType) { diff --git a/Mage.Server.Plugins/Mage.Game.FreeForAll/src/mage/game/FreeForAllType.java b/Mage.Server.Plugins/Mage.Game.FreeForAll/src/mage/game/FreeForAllType.java index bb73023f865..2687e327474 100644 --- a/Mage.Server.Plugins/Mage.Game.FreeForAll/src/mage/game/FreeForAllType.java +++ b/Mage.Server.Plugins/Mage.Game.FreeForAll/src/mage/game/FreeForAllType.java @@ -43,6 +43,7 @@ public class FreeForAllType extends MatchType { this.numTeams = 0; this.useAttackOption = true; this.useRange = true; + this.sideboardingAllowed = true; } protected FreeForAllType(final FreeForAllType matchType) { diff --git a/Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/src/mage/game/TwoPlayerDuelType.java b/Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/src/mage/game/TwoPlayerDuelType.java index cf607daf5f2..57dfbe0de76 100644 --- a/Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/src/mage/game/TwoPlayerDuelType.java +++ b/Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/src/mage/game/TwoPlayerDuelType.java @@ -43,6 +43,7 @@ public class TwoPlayerDuelType extends MatchType { this.numTeams = 0; this.useAttackOption = false; this.useRange = false; + this.sideboardingAllowed = true; } protected TwoPlayerDuelType(final TwoPlayerDuelType matchType) { diff --git a/Mage.Server/src/main/java/mage/server/TableController.java b/Mage.Server/src/main/java/mage/server/TableController.java index 6e950d9dc39..69dab317e52 100644 --- a/Mage.Server/src/main/java/mage/server/TableController.java +++ b/Mage.Server/src/main/java/mage/server/TableController.java @@ -735,7 +735,9 @@ public class TableController { GameManager.getInstance().removeGame(game.getId()); try { if (!match.hasEnded()) { - sideboard(); + if (match.getGame().getGameType().isSideboardingAllowed()) { + sideboard(); + } if (!match.hasEnded()) { startGame(choosingPlayerId); } else { diff --git a/Mage/src/mage/game/match/MatchType.java b/Mage/src/mage/game/match/MatchType.java index 6dbb83f2487..ce3a05347f2 100644 --- a/Mage/src/mage/game/match/MatchType.java +++ b/Mage/src/mage/game/match/MatchType.java @@ -43,6 +43,7 @@ public abstract class MatchType implements Serializable { protected int playersPerTeam; protected boolean useRange; protected boolean useAttackOption; + protected boolean sideboardingAllowed; protected MatchType() {} @@ -54,6 +55,7 @@ public abstract class MatchType implements Serializable { this.playersPerTeam = matchType.playersPerTeam; this.useRange = matchType.useRange; this.useAttackOption = matchType.useAttackOption; + this.sideboardingAllowed = matchType.sideboardingAllowed; } public abstract MatchType copy(); @@ -91,4 +93,8 @@ public abstract class MatchType implements Serializable { return useAttackOption; } + public boolean isSideboardingAllowed() { + return sideboardingAllowed; + } + }