From 8a007c99532335e3bc8c60f4275fc82dd6d9ef08 Mon Sep 17 00:00:00 2001 From: Daniel Cowman <32685899+permadeath@users.noreply.github.com> Date: Sun, 19 Nov 2023 21:49:19 -0500 Subject: [PATCH] Fix conditional "must be blocked if able" (#11436) * Add missing overrides to ConditionalRequirementEffect.java --- .../ConditionalRequirementEffect.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Mage/src/main/java/mage/abilities/decorator/ConditionalRequirementEffect.java b/Mage/src/main/java/mage/abilities/decorator/ConditionalRequirementEffect.java index 030a651a61b..e8a94bb8d35 100644 --- a/Mage/src/main/java/mage/abilities/decorator/ConditionalRequirementEffect.java +++ b/Mage/src/main/java/mage/abilities/decorator/ConditionalRequirementEffect.java @@ -125,6 +125,16 @@ public class ConditionalRequirementEffect extends RequirementEffect { return false; } + @Override + public boolean mustBlockAllAttackers(Game game) { + if (conditionState) { + return effect.mustBlockAllAttackers(game); + } else if (otherwiseEffect != null) { + return otherwiseEffect.mustBlockAllAttackers(game); + } + return false; + } + @Override public UUID mustAttackDefender(Ability source, Game game) { if (conditionState) { @@ -145,6 +155,26 @@ public class ConditionalRequirementEffect extends RequirementEffect { return null; } + @Override + public UUID mustBlockAttackerIfElseUnblocked(Ability source, Game game) { + if (conditionState) { + return effect.mustBlockAttackerIfElseUnblocked(source, game); + } else if (otherwiseEffect != null) { + return otherwiseEffect.mustBlockAttackerIfElseUnblocked(source, game); + } + return null; + } + + @Override + public int getMinNumberOfBlockers() { + if (conditionState) { + return effect.getMinNumberOfBlockers(); + } else if (otherwiseEffect != null) { + return otherwiseEffect.getMinNumberOfBlockers(); + } + return super.getMinNumberOfBlockers(); + } + @Override public ConditionalRequirementEffect copy() { return new ConditionalRequirementEffect(this);