mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 05:09:16 -08:00
[BIG] Implement The Big Score
This commit is contained in:
parent
d6efb5d7cd
commit
c51b299707
3 changed files with 84 additions and 0 deletions
82
Mage.Sets/src/mage/cards/a/AncientCornucopia.java
Normal file
82
Mage.Sets/src/mage/cards/a/AncientCornucopia.java
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
package mage.cards.a;
|
||||
|
||||
import mage.ObjectColor;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.mana.AnyColorManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.MonocoloredPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.game.stack.Spell;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class AncientCornucopia extends CardImpl {
|
||||
|
||||
private static final FilterSpell filter = new FilterSpell("a spell that's one or more colors");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.not(MonocoloredPredicate.instance));
|
||||
}
|
||||
|
||||
public AncientCornucopia(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}{G}");
|
||||
|
||||
// Whenever you cast a spell that's one or more colors, you may gain 1 life for each of that spell's colors. Do this only once each turn.
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(
|
||||
new GainLifeEffect(AncientCornucopiaValue.instance), filter, false
|
||||
).setDoOnlyOnceEachTurn(true));
|
||||
|
||||
// {T}: Add one mana of any color.
|
||||
this.addAbility(new AnyColorManaAbility());
|
||||
}
|
||||
|
||||
private AncientCornucopia(final AncientCornucopia card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AncientCornucopia copy() {
|
||||
return new AncientCornucopia(this);
|
||||
}
|
||||
}
|
||||
|
||||
enum AncientCornucopiaValue implements DynamicValue {
|
||||
instance;
|
||||
|
||||
@Override
|
||||
public int calculate(Game game, Ability sourceAbility, Effect effect) {
|
||||
return Optional
|
||||
.ofNullable(effect.getValue("spellCast"))
|
||||
.map(Spell.class::cast)
|
||||
.map(spell -> spell.getColor(game))
|
||||
.map(ObjectColor::getColorCount)
|
||||
.orElse(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AncientCornucopiaValue copy() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMessage() {
|
||||
return "of that spell's colors. Do this only once each turn";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "1";
|
||||
}
|
||||
}
|
||||
|
|
@ -21,6 +21,7 @@ public final class TheBigScore extends ExpansionSet {
|
|||
this.hasBasicLands = false;
|
||||
this.hasBoosters = false;
|
||||
|
||||
cards.add(new SetCardInfo("Ancient Cornucopia", 16, Rarity.MYTHIC, mage.cards.a.AncientCornucopia.class));
|
||||
cards.add(new SetCardInfo("Bristlebud Farmer", 17, Rarity.MYTHIC, mage.cards.b.BristlebudFarmer.class));
|
||||
cards.add(new SetCardInfo("Collector's Cage", 1, Rarity.MYTHIC, mage.cards.c.CollectorsCage.class));
|
||||
cards.add(new SetCardInfo("Esoteric Duplicator", 5, Rarity.MYTHIC, mage.cards.e.EsotericDuplicator.class));
|
||||
|
|
|
|||
|
|
@ -52701,6 +52701,7 @@ Generous Plunderer|The Big Score|11|M|{1}{R}|Creature - Human Rogue|2|2|Menace$A
|
|||
Legion Extruder|The Big Score|12|M|{1}{R}|Artifact|||When Legion Extruder enters the battlefield, it deals 2 damage to any target.${2}, {T}, Sacrifice another artifact: Create a 3/3 colorless Golem artifact creature token.|
|
||||
Memory Vessel|The Big Score|13|M|{3}{R}{R}|Artifact|||{T}, Exile Memory Vessel: Each player exiles the top seven cards of their library. Until your next turn, players may play cards they exiled this way, and they can't play cards from their hand. Activate only as a sorcery.|
|
||||
Molten Duplication|The Big Score|14|M|{1}{R}|Sorcery|||Create a token that's a copy of target artifact or creature you control, except it's an artifact in addition to its other types. It gains haste until end of turn. Sacrifice it at the beginning of the next end step.|
|
||||
Ancient Cornucopia|The Big Score|16|M|{2}{G}|Artifact|||Whenever you cast a spell that's one or more colors, you may gain 1 life for each of that spell's colors. Do this only once each turn.${T}: Add one mana of any color.|
|
||||
Bristlebud Farmer|The Big Score|17|M|{2}{G}{G}|Creature - Plant Druid|5|5|Trample$When Bristlebud Farmer enters the battlefield, create two Food tokens.$Whenever Bristlebud Farmer attacks, you may sacrifice a Food. If you do, mill three cards. You may put a permanent card from among them into your hand.|
|
||||
Omenpath Journey|The Big Score|18|M|{3}{G}|Enchantment|||When Omenpath Journey enters the battlefield, search your library for up to five land cards that have different names, exile them, then shuffle.$At the beginning of your end step, choose a card at random exiled with Omenpath Journey and put it onto the battlefield tapped.|
|
||||
Vaultborn Tyrant|The Big Score|20|M|{5}{G}{G}|Creature - Dinosaur|6|6|Trample$Whenever Vaultborn Tyrant or another creature with power 4 or greater enters the battlefield under your control, you gain 3 life and draw a card.$When Vaultborn Tyrant dies, if it's not a token, create a token that's a copy of it, except it's an artifact in addition to its other types.|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue