[WOE] Implement Archon of the Wild Rose (#10947)

* adding Errata's PR predicate

* [WOE] Implement Archon of the Wild Rose

---------

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
This commit is contained in:
Susucre 2023-08-23 15:30:25 +02:00 committed by GitHub
parent 65dba6c92d
commit f27e0740d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 63 additions and 1 deletions

View file

@ -0,0 +1,61 @@
package mage.cards.a;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.abilities.effects.common.continuous.SetBasePowerToughnessAllEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.EnchantedBySourceControllerPredicate;
import java.util.UUID;
/**
*
* @author Susucr
*/
public final class ArchonOfTheWildRose extends CardImpl {
private static final FilterControlledCreaturePermanent filter =
new FilterControlledCreaturePermanent("other creatures you control that are enchanted by Auras you control");
static {
filter.add(AnotherPredicate.instance);
filter.add(EnchantedBySourceControllerPredicate.instance);
}
public ArchonOfTheWildRose(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}");
this.subtype.add(SubType.ARCHON);
this.power = new MageInt(4);
this.toughness = new MageInt(4);
// Flying
this.addAbility(FlyingAbility.getInstance());
// Other creatures you control that are enchanted by Auras you control have base power and toughness 4/4 and have flying.
Ability ability = new SimpleStaticAbility(
new SetBasePowerToughnessAllEffect(4, 4, Duration.WhileOnBattlefield, filter, true)
);
ability.addEffect(new GainAbilityAllEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, filter)
.setText("and have flying"));
this.addAbility(ability);
}
private ArchonOfTheWildRose(final ArchonOfTheWildRose card) {
super(card);
}
@Override
public ArchonOfTheWildRose copy() {
return new ArchonOfTheWildRose(this);
}
}

View file

@ -23,6 +23,7 @@ public final class WildsOfEldraine extends ExpansionSet {
cards.add(new SetCardInfo("A Tale for the Ages", 34, Rarity.RARE, mage.cards.a.ATaleForTheAges.class));
cards.add(new SetCardInfo("Agatha of the Vile Cauldron", 199, Rarity.MYTHIC, mage.cards.a.AgathaOfTheVileCauldron.class));
cards.add(new SetCardInfo("Agatha's Champion", 160, Rarity.UNCOMMON, mage.cards.a.AgathasChampion.class));
cards.add(new SetCardInfo("Archon of the Wild Rose", 1, Rarity.RARE, mage.cards.a.ArchonOfTheWildRose.class));
cards.add(new SetCardInfo("Armory Mice", 3, Rarity.COMMON, mage.cards.a.ArmoryMice.class));
cards.add(new SetCardInfo("Ash, Party Crasher", 201, Rarity.UNCOMMON, mage.cards.a.AshPartyCrasher.class));
cards.add(new SetCardInfo("Ashiok's Reaper", 79, Rarity.UNCOMMON, mage.cards.a.AshioksReaper.class));

View file

@ -12,7 +12,7 @@ import java.util.Objects;
* @author Xanderhall
*/
public enum EnchantedBySourceControllerPredicate implements ObjectSourcePlayerPredicate<Permanent> {
instance;
instance;
@Override
public boolean apply(ObjectSourcePlayer<Permanent> input, Game game) {