foul-magics/Mage.Sets/src/mage/cards/d/DecodeTransmissions.java
2025-07-08 23:36:48 -04:00

45 lines
1.8 KiB
Java

package mage.cards.d;
import mage.abilities.condition.common.VoidCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.watchers.common.VoidWatcher;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class DecodeTransmissions extends CardImpl {
public DecodeTransmissions(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}");
// You draw two cards and lose 2 life.
// Void -- If a nonland permanent left the battlefield this turn or a spell was warped this turn, instead you draw two cards and each opponent loses 2 life.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2, true));
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new LoseLifeOpponentsEffect(2), new LoseLifeSourceControllerEffect(2),
VoidCondition.instance, "and lose 2 life.<br>" + AbilityWord.VOID.formatWord() +
"If a nonland permanent left the battlefield this turn or a spell was warped this turn, " +
"instead you draw two cards and each opponent loses 2 life"
));
this.getSpellAbility().addHint(VoidCondition.getHint());
this.getSpellAbility().addWatcher(new VoidWatcher());
}
private DecodeTransmissions(final DecodeTransmissions card) {
super(card);
}
@Override
public DecodeTransmissions copy() {
return new DecodeTransmissions(this);
}
}