From ddaa39d160a481ca802b1cce8e4504a9d6a3d157 Mon Sep 17 00:00:00 2001 From: Zzooouhh Date: Tue, 28 Nov 2017 14:58:29 +0100 Subject: [PATCH 1/3] Temporary Invasion Plans workaround for AI --- Mage.Sets/src/mage/cards/i/InvasionPlans.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Mage.Sets/src/mage/cards/i/InvasionPlans.java b/Mage.Sets/src/mage/cards/i/InvasionPlans.java index 55d41fd13db..dda406b0362 100644 --- a/Mage.Sets/src/mage/cards/i/InvasionPlans.java +++ b/Mage.Sets/src/mage/cards/i/InvasionPlans.java @@ -95,8 +95,11 @@ class InvasionPlansEffect extends ContinuousRuleModifyingEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { Player blockController = game.getPlayer(game.getCombat().getAttackingPlayerId()); if (blockController != null) { - game.getCombat().selectBlockers(blockController, game); - return event.getPlayerId().equals(game.getCombat().getAttackingPlayerId()); + // temporary workaround for AI bugging out while choosing blockers + if (blockController.isHuman()) { + game.getCombat().selectBlockers(blockController, game); + return event.getPlayerId().equals(game.getCombat().getAttackingPlayerId()); + } } return false; } From 93ad59ab4af129eb7cd397dc7a4c71c5e1726d9d Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 28 Nov 2017 13:59:12 -0500 Subject: [PATCH 2/3] updated the Duel Commander banlist --- .../Mage.Deck.Constructed/src/mage/deck/DuelCommander.java | 1 + 1 file changed, 1 insertion(+) diff --git a/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/DuelCommander.java b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/DuelCommander.java index cbbe5131124..22387f9a437 100644 --- a/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/DuelCommander.java +++ b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/DuelCommander.java @@ -44,6 +44,7 @@ public class DuelCommander extends Commander { banned.add("Eidolon of the Great Revel"); banned.add("Emrakul, the Aeons Torn"); banned.add("Entomb"); + banned.add("Fastbond"); banned.add("Fireblast"); banned.add("Food Chain"); banned.add("Gaea's Cradle"); From d66ef63054f566bb451ca472beb7b68ad3ae7632 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 29 Nov 2017 11:58:01 -0500 Subject: [PATCH 3/3] fixed clones of Mairsil, the Pretender gaining its abilities (fixes #4209) --- .../src/mage/cards/m/MairsilThePretender.java | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/Mage.Sets/src/mage/cards/m/MairsilThePretender.java b/Mage.Sets/src/mage/cards/m/MairsilThePretender.java index 12657930276..5d59ec71636 100644 --- a/Mage.Sets/src/mage/cards/m/MairsilThePretender.java +++ b/Mage.Sets/src/mage/cards/m/MairsilThePretender.java @@ -46,14 +46,12 @@ import mage.constants.Layer; import mage.constants.Outcome; import mage.constants.SubLayer; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.other.CounterCardPredicate; -import mage.filter.predicate.other.OwnerPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -149,7 +147,6 @@ class MairsilThePretenderGainAbilitiesEffect extends ContinuousEffectImpl { static { filter.add(new CounterCardPredicate(CounterType.CAGE)); - filter.add(new OwnerPredicate(TargetController.YOU)); } public MairsilThePretenderGainAbilitiesEffect() { @@ -164,21 +161,21 @@ class MairsilThePretenderGainAbilitiesEffect extends ContinuousEffectImpl { @Override public boolean apply(Game game, Ability source) { Permanent perm = game.getPermanent(source.getSourceId()); - if (perm != null) { - for (Card card : game.getExile().getAllCards(game)) { - if (filter.match(card, game)) { - for (Ability ability : card.getAbilities()) { - if (ability instanceof ActivatedAbility) { - ActivatedAbilityImpl copyAbility = (ActivatedAbilityImpl) ability.copy(); - copyAbility.setMaxActivationsPerTurn(1); - perm.addAbility(copyAbility, card.getId(), game); - } + if (perm == null) { + return false; + } + for (Card card : game.getExile().getAllCards(game)) { + if (filter.match(card, game) && card.getOwnerId() == perm.getControllerId()) { + for (Ability ability : card.getAbilities()) { + if (ability instanceof ActivatedAbility) { + ActivatedAbilityImpl copyAbility = (ActivatedAbilityImpl) ability.copy(); + copyAbility.setMaxActivationsPerTurn(1); + perm.addAbility(copyAbility, card.getId(), game); } } } - return true; } - return false; + return true; } @Override