1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-02 03:18:09 -09:00

[ONE] Implement Viral Spawning

This commit is contained in:
theelk801 2023-04-23 20:57:45 -04:00
parent 6a5abf5936
commit 37c57424e8
2 changed files with 52 additions and 0 deletions
Mage.Sets/src/mage

View file

@ -0,0 +1,51 @@
package mage.cards.v;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.CorruptedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FlashbackAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.game.permanent.token.PhyrexianBeastToxicToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class ViralSpawning extends CardImpl {
public ViralSpawning(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}");
// Create a 3/3 green Phyrexian Beast creature token with toxic 1.
this.getSpellAbility().addEffect(new CreateTokenEffect(new PhyrexianBeastToxicToken()));
// Corrupted -- As long as an opponent has three or more poison counters and Viral Spawning is in your graveyard, it has flashback {2}{G}.
this.addAbility(new SimpleStaticAbility(
Zone.GRAVEYARD,
new ConditionalContinuousEffect(
new GainAbilitySourceEffect(
new FlashbackAbility(this, new ManaCostsImpl<>("{2}{G}")), Duration.Custom, true
), CorruptedCondition.instance, "as long as an opponent has three or more " +
"poison counters and {this} is in your graveyard, it has flashback {2}{G}"
)
).setAbilityWord(AbilityWord.CORRUPTED).addHint(CorruptedCondition.getHint()));
}
private ViralSpawning(final ViralSpawning card) {
super(card);
}
@Override
public ViralSpawning copy() {
return new ViralSpawning(this);
}
}

View file

@ -267,6 +267,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet {
cards.add(new SetCardInfo("Venomous Brutalizer", 193, Rarity.UNCOMMON, mage.cards.v.VenomousBrutalizer.class));
cards.add(new SetCardInfo("Venser, Corpse Puppet", 219, Rarity.RARE, mage.cards.v.VenserCorpsePuppet.class));
cards.add(new SetCardInfo("Vindictive Flamestoker", 154, Rarity.RARE, mage.cards.v.VindictiveFlamestoker.class));
cards.add(new SetCardInfo("Viral Spawning", 194, Rarity.UNCOMMON, mage.cards.v.ViralSpawning.class));
cards.add(new SetCardInfo("Vivisection Evangelist", 220, Rarity.UNCOMMON, mage.cards.v.VivisectionEvangelist.class));
cards.add(new SetCardInfo("Vivisurgeon's Insight", 77, Rarity.COMMON, mage.cards.v.VivisurgeonsInsight.class));
cards.add(new SetCardInfo("Voidwing Hybrid", 221, Rarity.UNCOMMON, mage.cards.v.VoidwingHybrid.class));