mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
[DRC] implement Adaptive Omnitool (#13310)
This commit is contained in:
parent
c9a7a337bd
commit
25a2ea6347
2 changed files with 67 additions and 0 deletions
66
Mage.Sets/src/mage/cards/a/AdaptiveOmnitool.java
Normal file
66
Mage.Sets/src/mage/cards/a/AdaptiveOmnitool.java
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
package mage.cards.a;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import mage.abilities.common.AttacksAttachedTriggeredAbility;
|
||||||
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.costs.mana.GenericManaCost;
|
||||||
|
import mage.abilities.dynamicvalue.DynamicValue;
|
||||||
|
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||||
|
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
|
||||||
|
import mage.abilities.effects.common.continuous.BoostEquippedEffect;
|
||||||
|
import mage.abilities.hint.Hint;
|
||||||
|
import mage.abilities.hint.ValueHint;
|
||||||
|
import mage.abilities.keyword.EquipAbility;
|
||||||
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.PutCards;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.filter.StaticFilters;
|
||||||
|
import mage.filter.common.FilterControlledArtifactPermanent;
|
||||||
|
import mage.target.common.TargetControlledCreaturePermanent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author sobiech
|
||||||
|
*/
|
||||||
|
public final class AdaptiveOmnitool extends CardImpl {
|
||||||
|
private final static DynamicValue artifactYouControlCount = new PermanentsOnBattlefieldCount(new FilterControlledArtifactPermanent());
|
||||||
|
private final static Hint hint = new ValueHint("Artifacts you control", artifactYouControlCount);
|
||||||
|
|
||||||
|
public AdaptiveOmnitool(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.EQUIPMENT);
|
||||||
|
|
||||||
|
// Equipped creature gets +1/+1 for each artifact you control.
|
||||||
|
this.addAbility(
|
||||||
|
new SimpleStaticAbility(new BoostEquippedEffect(artifactYouControlCount, artifactYouControlCount)).addHint(hint)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Whenever equipped creature attacks, look at the top six cards of your library. You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
|
||||||
|
this.addAbility(new AttacksAttachedTriggeredAbility(
|
||||||
|
new LookLibraryAndPickControllerEffect(
|
||||||
|
6,
|
||||||
|
1,
|
||||||
|
StaticFilters.FILTER_CARD_ARTIFACT,
|
||||||
|
PutCards.HAND,
|
||||||
|
PutCards.BOTTOM_RANDOM
|
||||||
|
)
|
||||||
|
));
|
||||||
|
|
||||||
|
// Equip {3}
|
||||||
|
this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false));
|
||||||
|
}
|
||||||
|
|
||||||
|
private AdaptiveOmnitool(final AdaptiveOmnitool card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AdaptiveOmnitool copy() {
|
||||||
|
return new AdaptiveOmnitool(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -20,6 +20,7 @@ public final class AetherdriftCommander extends ExpansionSet {
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
|
|
||||||
cards.add(new SetCardInfo("Academy Ruins", 58, Rarity.RARE, mage.cards.a.AcademyRuins.class));
|
cards.add(new SetCardInfo("Academy Ruins", 58, Rarity.RARE, mage.cards.a.AcademyRuins.class));
|
||||||
|
cards.add(new SetCardInfo("Adaptive Omnitool", 16, Rarity.RARE, mage.cards.a.AdaptiveOmnitool.class));
|
||||||
cards.add(new SetCardInfo("Adarkar Wastes", 144, Rarity.RARE, mage.cards.a.AdarkarWastes.class));
|
cards.add(new SetCardInfo("Adarkar Wastes", 144, Rarity.RARE, mage.cards.a.AdarkarWastes.class));
|
||||||
cards.add(new SetCardInfo("Aether Hub", 145, Rarity.UNCOMMON, mage.cards.a.AetherHub.class));
|
cards.add(new SetCardInfo("Aether Hub", 145, Rarity.UNCOMMON, mage.cards.a.AetherHub.class));
|
||||||
cards.add(new SetCardInfo("Aethersquall Ancient", 68, Rarity.RARE, mage.cards.a.AethersquallAncient.class));
|
cards.add(new SetCardInfo("Aethersquall Ancient", 68, Rarity.RARE, mage.cards.a.AethersquallAncient.class));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue