From 37f958b160b59aa9e99e52c2ea72ce736e53d0f6 Mon Sep 17 00:00:00 2001 From: Grath <1895280+Grath@users.noreply.github.com> Date: Thu, 26 Jan 2023 11:17:52 -0500 Subject: [PATCH] Fix Silent Arbiter's blocking conditions to allow one block per player. (#9906) As reported in #9905 per rule 802.4b, if you somehow have multiple creatures attacking (such as with Myriad in a multiplayer game) each player is allowed to make one block while Silent Arbiter is in play. --- Mage.Sets/src/mage/cards/s/SilentArbiter.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Mage.Sets/src/mage/cards/s/SilentArbiter.java b/Mage.Sets/src/mage/cards/s/SilentArbiter.java index 65c9b1d6c97..8cf0557191b 100644 --- a/Mage.Sets/src/mage/cards/s/SilentArbiter.java +++ b/Mage.Sets/src/mage/cards/s/SilentArbiter.java @@ -92,7 +92,16 @@ class SilentArbiterBlockRestrictionEffect extends RestrictionEffect { } @Override - public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game, boolean canUseChooseDialogs) { - return game.getCombat().getBlockers().isEmpty(); + public boolean canBlock(Permanent attacker, Permanent newBlocker, Ability source, Game game, boolean canUseChooseDialogs) { + if (attacker == null) { + return true; + } + for (UUID creatureId : game.getCombat().getBlockers()) { + Permanent existingBlocker = game.getPermanent(creatureId); + if (game.getPlayer(existingBlocker.getControllerId()).hasOpponent(attacker.getControllerId(), game) && existingBlocker.isControlledBy(newBlocker.getControllerId())) { + return false; + } + } + return true; } } \ No newline at end of file