* Duel Commander - Removed commander damage logic.

This commit is contained in:
LevelX2 2017-01-13 23:36:22 +01:00
parent d1af9b0b85
commit eb802431fa
2 changed files with 16 additions and 9 deletions

View file

@ -25,7 +25,6 @@
* authors and should not be interpreted as representing official policies, either expressed * authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com. * or implied, of BetaSteward_at_googlemail.com.
*/ */
package mage.game; package mage.game;
import mage.game.match.MatchImpl; import mage.game.match.MatchImpl;
@ -46,11 +45,14 @@ public class CommanderDuelMatch extends MatchImpl {
int startLife = 40; int startLife = 40;
boolean alsoHand = true; boolean alsoHand = true;
// Don't like it to compare but seems like it's complicated to do it in another way // Don't like it to compare but seems like it's complicated to do it in another way
boolean checkCommanderDamage = true;
if (options.getDeckType().equals("Variant Magic - Duel Commander")) { if (options.getDeckType().equals("Variant Magic - Duel Commander")) {
startLife = 20; // Starting with the Commander 2016 update (on November 11th, 2016), Duel Commander will be played with 20 life points instead of 30. startLife = 20; // Starting with the Commander 2016 update (on November 11th, 2016), Duel Commander will be played with 20 life points instead of 30.
alsoHand = true; // commander going to hand allowed to go to command zone effective July 17, 2015 alsoHand = true; // commander going to hand allowed to go to command zone effective July 17, 2015
checkCommanderDamage = false; // since nov 16 duel commander uses no longer commander damage rule
} }
CommanderDuel game = new CommanderDuel(options.getAttackOption(), options.getRange(), options.getFreeMulligans(), startLife); CommanderDuel game = new CommanderDuel(options.getAttackOption(), options.getRange(), options.getFreeMulligans(), startLife);
game.setCheckCommanderDamage(checkCommanderDamage);
game.setStartMessage(this.createGameStartMessage()); game.setStartMessage(this.createGameStartMessage());
game.setAlsoHand(alsoHand); game.setAlsoHand(alsoHand);
game.setAlsoLibrary(true); game.setAlsoLibrary(true);

View file

@ -27,7 +27,6 @@
*/ */
package mage.game; package mage.game;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -38,7 +37,6 @@ import mage.abilities.effects.common.InfoEffect;
import mage.abilities.effects.common.continuous.CommanderReplacementEffect; import mage.abilities.effects.common.continuous.CommanderReplacementEffect;
import mage.abilities.effects.common.cost.CommanderCostModification; import mage.abilities.effects.common.cost.CommanderCostModification;
import mage.cards.Card; import mage.cards.Card;
import mage.cards.Cards;
import mage.constants.MultiplayerAttackOption; import mage.constants.MultiplayerAttackOption;
import mage.constants.PhaseStep; import mage.constants.PhaseStep;
import mage.constants.RangeOfInfluence; import mage.constants.RangeOfInfluence;
@ -49,11 +47,8 @@ import mage.watchers.common.CommanderInfoWatcher;
public abstract class GameCommanderImpl extends GameImpl { public abstract class GameCommanderImpl extends GameImpl {
static boolean CHECK_COMMANDER_DAMAGE = true; // private final Map<UUID, Cards> mulliganedCards = new HashMap<>();
protected boolean checkCommanderDamage;
private final Map<UUID, Cards> mulliganedCards = new HashMap<>();
// private final Set<CommanderInfoWatcher> commanderCombatWatcher = new HashSet<>();
protected boolean alsoHand; // replace commander going to hand protected boolean alsoHand; // replace commander going to hand
protected boolean alsoLibrary; // replace commander going to library protected boolean alsoLibrary; // replace commander going to library
protected boolean startingPlayerSkipsDraw = true; protected boolean startingPlayerSkipsDraw = true;
@ -67,6 +62,7 @@ public abstract class GameCommanderImpl extends GameImpl {
this.alsoHand = game.alsoHand; this.alsoHand = game.alsoHand;
this.alsoLibrary = game.alsoLibrary; this.alsoLibrary = game.alsoLibrary;
this.startingPlayerSkipsDraw = game.startingPlayerSkipsDraw; this.startingPlayerSkipsDraw = game.startingPlayerSkipsDraw;
this.checkCommanderDamage = game.checkCommanderDamage;
} }
@Override @Override
@ -85,7 +81,7 @@ public abstract class GameCommanderImpl extends GameImpl {
ability.addEffect(new CommanderReplacementEffect(commander.getId(), alsoHand, alsoLibrary)); ability.addEffect(new CommanderReplacementEffect(commander.getId(), alsoHand, alsoLibrary));
ability.addEffect(new CommanderCostModification(commander.getId())); ability.addEffect(new CommanderCostModification(commander.getId()));
getState().setValue(commander.getId() + "_castCount", 0); getState().setValue(commander.getId() + "_castCount", 0);
CommanderInfoWatcher watcher = new CommanderInfoWatcher(commander.getId(), CHECK_COMMANDER_DAMAGE); CommanderInfoWatcher watcher = new CommanderInfoWatcher(commander.getId(), checkCommanderDamage);
getState().getWatchers().add(watcher); getState().getWatchers().add(watcher);
watcher.addCardInfoToCommander(this); watcher.addCardInfoToCommander(this);
} }
@ -227,4 +223,13 @@ public abstract class GameCommanderImpl extends GameImpl {
public void setAlsoLibrary(boolean alsoLibrary) { public void setAlsoLibrary(boolean alsoLibrary) {
this.alsoLibrary = alsoLibrary; this.alsoLibrary = alsoLibrary;
} }
public boolean isCheckCommanderDamage() {
return checkCommanderDamage;
}
public void setCheckCommanderDamage(boolean checkCommanderDamage) {
this.checkCommanderDamage = checkCommanderDamage;
}
} }