From ca8fdde793d389b2c2490ddd756aa31c820e43c5 Mon Sep 17 00:00:00 2001 From: jeffwadsworth <> Date: Sat, 10 Jul 2021 20:29:51 -0500 Subject: [PATCH] - Fixed #7995 --- .../BecomesAllBasicsControlledEffect.java | 43 +++++++++++++------ 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesAllBasicsControlledEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesAllBasicsControlledEffect.java index 411c4045a6c..9023fce669a 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesAllBasicsControlledEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesAllBasicsControlledEffect.java @@ -36,19 +36,36 @@ public class BecomesAllBasicsControlledEffect extends ContinuousEffectImpl { public boolean apply(Game game, Ability source) { for (Permanent permanent : game.getBattlefield().getActivePermanents( StaticFilters.FILTER_CONTROLLED_PERMANENT_LAND, source.getControllerId(), game)) { - permanent.addSubType( - game, - SubType.PLAINS, - SubType.ISLAND, - SubType.SWAMP, - SubType.MOUNTAIN, - SubType.FOREST - ); - permanent.addAbility(new WhiteManaAbility(), source.getSourceId(), game); - permanent.addAbility(new BlueManaAbility(), source.getSourceId(), game); - permanent.addAbility(new BlackManaAbility(), source.getSourceId(), game); - permanent.addAbility(new RedManaAbility(), source.getSourceId(), game); - permanent.addAbility(new GreenManaAbility(), source.getSourceId(), game); + if (!permanent.getSubtype(game).contains(SubType.PLAINS)) { + permanent.addSubType(SubType.PLAINS); + } + if (!permanent.getSubtype(game).contains(SubType.ISLAND)) { + permanent.addSubType(SubType.ISLAND); + } + if (!permanent.getSubtype(game).contains(SubType.SWAMP)) { + permanent.addSubType(SubType.SWAMP); + } + if (!permanent.getSubtype(game).contains(SubType.MOUNTAIN)) { + permanent.addSubType(SubType.MOUNTAIN); + } + if (!permanent.getSubtype(game).contains(SubType.FOREST)) { + permanent.addSubType(SubType.FOREST); + } + if (!permanent.getAbilities().containsRule(new WhiteManaAbility())) { + permanent.addAbility(new WhiteManaAbility(), source.getSourceId(), game); + } + if (!permanent.getAbilities().containsRule(new BlueManaAbility())) { + permanent.addAbility(new BlueManaAbility(), source.getSourceId(), game); + } + if (!permanent.getAbilities().containsRule(new BlackManaAbility())) { + permanent.addAbility(new BlackManaAbility(), source.getSourceId(), game); + } + if (!permanent.getAbilities().containsRule(new RedManaAbility())) { + permanent.addAbility(new RedManaAbility(), source.getSourceId(), game); + } + if (!permanent.getAbilities().containsRule(new GreenManaAbility())) { + permanent.addAbility(new GreenManaAbility(), source.getSourceId(), game); + } } return true; }