mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 18:50:06 -08:00
Fix cards 'H' to 'L' with card name instead of {this} (plus a couple more split cards), fix ImpelledGiantTest
This commit is contained in:
parent
339dff5de8
commit
57df155a79
19 changed files with 58 additions and 51 deletions
|
|
@ -32,7 +32,7 @@ public final class AgentOfAcquisitions extends CardImpl {
|
||||||
|
|
||||||
// Instead of drafting a card from a booster pack, you may draft each card in that booster pack, one at a time. If you do, turn Agent of Acquisitions face down and you can’t draft cards for the rest of this draft round.
|
// Instead of drafting a card from a booster pack, you may draft each card in that booster pack, one at a time. If you do, turn Agent of Acquisitions face down and you can’t draft cards for the rest of this draft round.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Instead of drafting a card from a booster pack, "
|
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Instead of drafting a card from a booster pack, "
|
||||||
+ "you may draft each card in that booster pack, one at a time. If you do, turn Agent of Acquisitions face down and "
|
+ "you may draft each card in that booster pack, one at a time. If you do, turn {this} face down and "
|
||||||
+ "you can't draft cards for the rest of this draft round - not implemented.")));
|
+ "you can't draft cards for the rest of this draft round - not implemented.")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.cards.SplitCard;
|
import mage.cards.SplitCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SpellAbilityType;
|
import mage.constants.SpellAbilityType;
|
||||||
import mage.filter.StaticFilters;
|
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
|
@ -24,7 +23,7 @@ public final class DeadGone extends SplitCard {
|
||||||
|
|
||||||
// Dead
|
// Dead
|
||||||
// Dead deals 2 damage to target creature.
|
// Dead deals 2 damage to target creature.
|
||||||
getLeftHalfCard().getSpellAbility().addEffect(new DamageTargetEffect(2, "Dead"));
|
getLeftHalfCard().getSpellAbility().addEffect(new DamageTargetEffect(2));
|
||||||
getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent());
|
getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
|
|
||||||
// Gone
|
// Gone
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public final class FeastOfFlesh extends CardImpl {
|
||||||
// Feast of Flesh deals X damage to target creature and you gain X life, where X is 1 plus the number of cards named Feast of Flesh in all graveyards.
|
// Feast of Flesh deals X damage to target creature and you gain X life, where X is 1 plus the number of cards named Feast of Flesh in all graveyards.
|
||||||
IntPlusDynamicValue value = new IntPlusDynamicValue(1, new CardsInAllGraveyardsCount(filter));
|
IntPlusDynamicValue value = new IntPlusDynamicValue(1, new CardsInAllGraveyardsCount(filter));
|
||||||
Effect effect1 = new DamageTargetEffect(value);
|
Effect effect1 = new DamageTargetEffect(value);
|
||||||
effect1.setText("Feast of Flesh deals X damage to target creature");
|
effect1.setText("{this} deals X damage to target creature");
|
||||||
Effect effect2 = new GainLifeEffect(value);
|
Effect effect2 = new GainLifeEffect(value);
|
||||||
effect2.setText("and you gain X life, where X is 1 plus the number of cards named Feast of Flesh in all graveyards");
|
effect2.setText("and you gain X life, where X is 1 plus the number of cards named Feast of Flesh in all graveyards");
|
||||||
this.getSpellAbility().addEffect(effect1);
|
this.getSpellAbility().addEffect(effect1);
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,29 @@
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
|
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.costs.mana.GenericManaCost;
|
import mage.abilities.costs.mana.GenericManaCost;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
|
import mage.abilities.effects.common.AttachEffect;
|
||||||
import mage.abilities.effects.common.combat.CantAttackBlockAttachedEffect;
|
import mage.abilities.effects.common.combat.CantAttackBlockAttachedEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
|
||||||
import mage.constants.*;
|
|
||||||
import mage.game.Game;
|
|
||||||
import mage.game.permanent.Permanent;
|
|
||||||
import mage.players.Player;
|
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
|
||||||
import mage.abilities.effects.common.AttachEffect;
|
|
||||||
import mage.target.TargetPermanent;
|
|
||||||
import mage.abilities.keyword.EnchantAbility;
|
import mage.abilities.keyword.EnchantAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.AttachmentType;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.game.Game;
|
||||||
|
import mage.game.permanent.Permanent;
|
||||||
|
import mage.players.Player;
|
||||||
|
import mage.target.TargetPermanent;
|
||||||
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
import mage.target.targetpointer.FixedTarget;
|
import mage.target.targetpointer.FixedTarget;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author weirddan455
|
* @author weirddan455
|
||||||
|
|
@ -81,7 +84,7 @@ class HoldForRansomSacrificeEffect extends OneShotEffect {
|
||||||
|
|
||||||
HoldForRansomSacrificeEffect() {
|
HoldForRansomSacrificeEffect() {
|
||||||
super(Outcome.Sacrifice);
|
super(Outcome.Sacrifice);
|
||||||
this.staticText = "Hold for Ransom's controller sacrifices it and draws a card";
|
this.staticText = "{this}'s controller sacrifices it and draws a card";
|
||||||
}
|
}
|
||||||
|
|
||||||
private HoldForRansomSacrificeEffect(final HoldForRansomSacrificeEffect effect) {
|
private HoldForRansomSacrificeEffect(final HoldForRansomSacrificeEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ class KalamaxTheStormsireSpellCastAbility extends SpellCastControllerTriggeredAb
|
||||||
@Override
|
@Override
|
||||||
public String getRule() {
|
public String getRule() {
|
||||||
return "Whenever you cast your first instant spell each turn, " +
|
return "Whenever you cast your first instant spell each turn, " +
|
||||||
"if Kalamax, the Stormsire is tapped, " +
|
"if {this} is tapped, " +
|
||||||
"copy that spell. You may choose new targets for the copy.";
|
"copy that spell. You may choose new targets for the copy.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.k;
|
package mage.cards.k;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.EntersBattlefieldAbility;
|
import mage.abilities.common.EntersBattlefieldAbility;
|
||||||
import mage.abilities.condition.common.KickedCondition;
|
import mage.abilities.condition.common.KickedCondition;
|
||||||
|
|
@ -14,6 +13,8 @@ import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
|
@ -36,7 +37,7 @@ public final class KavuPrimarch extends CardImpl {
|
||||||
|
|
||||||
// If Kavu Primarch was kicked, it enters with four +1/+1 counters on it.
|
// If Kavu Primarch was kicked, it enters with four +1/+1 counters on it.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)),KickedCondition.ONCE,
|
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)),KickedCondition.ONCE,
|
||||||
"If Kavu Primarch was kicked, it enters with four +1/+1 counters on it.", ""));
|
"If {this} was kicked, it enters with four +1/+1 counters on it.", ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
private KavuPrimarch(final KavuPrimarch card) {
|
private KavuPrimarch(final KavuPrimarch card) {
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ class KingNarfisBetrayalSecondEffect extends OneShotEffect {
|
||||||
|
|
||||||
public KingNarfisBetrayalSecondEffect() {
|
public KingNarfisBetrayalSecondEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "Until end of turn, you may cast spells from among cards exiled with King Narfi's Betrayal," +
|
this.staticText = "Until end of turn, you may cast spells from among cards exiled with {this}," +
|
||||||
" and you may spend mana as though it were mana of any color to cast those spells";
|
" and you may spend mana as though it were mana of any color to cast those spells";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.k;
|
package mage.cards.k;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
|
@ -13,19 +11,21 @@ import mage.abilities.keyword.DoubleStrikeAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Zone;
|
import mage.constants.SubType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author North
|
* @author North
|
||||||
*/
|
*/
|
||||||
public final class KorDuelist extends CardImpl {
|
public final class KorDuelist extends CardImpl {
|
||||||
|
|
||||||
private static final String ruleText = "As long as Kor Duelist is equipped, it has double strike";
|
private static final String ruleText = "As long as {this} is equipped, it has double strike";
|
||||||
|
|
||||||
public KorDuelist(UUID ownerId, CardSetInfo setInfo) {
|
public KorDuelist(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}");
|
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}");
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.l;
|
package mage.cards.l;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.TriggeredAbilityImpl;
|
import mage.abilities.TriggeredAbilityImpl;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
|
@ -15,9 +14,10 @@ import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.events.GameEvent.EventType;
|
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Styxo
|
* @author Styxo
|
||||||
|
|
@ -81,6 +81,6 @@ class LairwatchGiantTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getRule() {
|
public String getRule() {
|
||||||
return "Whenever Lairwatch Giant blocks two or more creatures, it gains first strike until end of turn.";
|
return "Whenever {this} blocks two or more creatures, it gains first strike until end of turn.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ class LashOutEffect extends OneShotEffect {
|
||||||
|
|
||||||
LashOutEffect() {
|
LashOutEffect() {
|
||||||
super(Outcome.Damage);
|
super(Outcome.Damage);
|
||||||
this.staticText = "Lash Out deals 3 damage to target creature. Clash with an opponent. If you win, Lash Out deals 3 damage to that creature's controller";
|
this.staticText = "{this} deals 3 damage to target creature. Clash with an opponent. If you win, {this} deals 3 damage to that creature's controller";
|
||||||
}
|
}
|
||||||
|
|
||||||
private LashOutEffect(final LashOutEffect effect) {
|
private LashOutEffect(final LashOutEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.l;
|
package mage.cards.l;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
|
@ -18,6 +17,8 @@ import mage.players.Player;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
import mage.target.common.TargetOpponent;
|
import mage.target.common.TargetOpponent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
|
@ -60,7 +61,7 @@ class LastStandEffect extends OneShotEffect {
|
||||||
|
|
||||||
public LastStandEffect() {
|
public LastStandEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "Target opponent loses 2 life for each Swamp you control. Last Stand deals damage to target creature equal to the number of Mountains you control. Create a 1/1 green Saproling creature token for each Forest you control. You gain 2 life for each Plains you control. Draw a card for each Island you control, then discard that many cards";
|
this.staticText = "Target opponent loses 2 life for each Swamp you control. {this} deals damage to target creature equal to the number of Mountains you control. Create a 1/1 green Saproling creature token for each Forest you control. You gain 2 life for each Plains you control. Draw a card for each Island you control, then discard that many cards";
|
||||||
}
|
}
|
||||||
|
|
||||||
private LastStandEffect(final LastStandEffect effect) {
|
private LastStandEffect(final LastStandEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ class LeechesEffect extends OneShotEffect {
|
||||||
|
|
||||||
LeechesEffect() {
|
LeechesEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "Target player loses all poison counters. Leeches deals that much damage to that player";
|
this.staticText = "Target player loses all poison counters. {this} deals that much damage to that player";
|
||||||
}
|
}
|
||||||
|
|
||||||
private LeechesEffect(final LeechesEffect effect) {
|
private LeechesEffect(final LeechesEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,15 @@
|
||||||
package mage.cards.l;
|
package mage.cards.l;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.effects.common.InfoEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
|
||||||
import mage.abilities.effects.common.InfoEffect;
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
@ -27,11 +28,11 @@ public final class LeovoldsOperative extends CardImpl {
|
||||||
|
|
||||||
// TODO: Draft specific abilities not implemented
|
// TODO: Draft specific abilities not implemented
|
||||||
// Draft Leovold’s Operative face up.
|
// Draft Leovold’s Operative face up.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Draft Leovold's Operative face up - not implemented.")));
|
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Draft {this} face up - not implemented.")));
|
||||||
|
|
||||||
// As you draft a card, you may draft an additional card from that booster pack. If you do, turn Leovold's Operative face down, then pass the next booster pack without drafting a card from it.
|
// As you draft a card, you may draft an additional card from that booster pack. If you do, turn Leovold's Operative face down, then pass the next booster pack without drafting a card from it.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("As you draft a card, you may draft an additional card from that booster pack. "
|
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("As you draft a card, you may draft an additional card from that booster pack. "
|
||||||
+ "If you do, turn Leovold's Operative face down, then pass the next booster pack without drafting a card from it - not implemented.")));
|
+ "If you do, turn {this} face down, then pass the next booster pack without drafting a card from it - not implemented.")));
|
||||||
}
|
}
|
||||||
|
|
||||||
private LeovoldsOperative(final LeovoldsOperative card) {
|
private LeovoldsOperative(final LeovoldsOperative card) {
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ public final class Lich extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}{B}{B}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}{B}{B}{B}");
|
||||||
|
|
||||||
// As Lich enters the battlefield, you lose life equal to your life total.
|
// As Lich enters the battlefield, you lose life equal to your life total.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new LoseLifeSourceControllerEffect(ControllerLifeCount.instance), null, "As Lich enters the battlefield, you lose life equal to your life total.", null));
|
this.addAbility(new EntersBattlefieldAbility(new LoseLifeSourceControllerEffect(ControllerLifeCount.instance), null, "As {this} enters the battlefield, you lose life equal to your life total.", null));
|
||||||
|
|
||||||
// You don't lose the game for having 0 or less life.
|
// You don't lose the game for having 0 or less life.
|
||||||
this.addAbility(new SimpleStaticAbility(new DontLoseByZeroOrLessLifeEffect(Duration.WhileOnBattlefield)));
|
this.addAbility(new SimpleStaticAbility(new DontLoseByZeroOrLessLifeEffect(Duration.WhileOnBattlefield)));
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.l;
|
package mage.cards.l;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
|
|
@ -13,6 +12,8 @@ import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Derpthemeus
|
* @author Derpthemeus
|
||||||
|
|
@ -40,7 +41,7 @@ public final class LightningDart extends CardImpl {
|
||||||
|
|
||||||
public LightningDartEffect() {
|
public LightningDartEffect() {
|
||||||
super(Outcome.Damage);
|
super(Outcome.Damage);
|
||||||
this.staticText = "Lightning Dart deals 1 damage to target creature. If that creature is white or blue, Lightning Dart deals 4 damage to it instead";
|
this.staticText = "{this} deals 1 damage to target creature. If that creature is white or blue, {this} deals 4 damage to it instead";
|
||||||
}
|
}
|
||||||
|
|
||||||
private LightningDartEffect(final LightningDartEffect effect) {
|
private LightningDartEffect(final LightningDartEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,16 @@
|
||||||
|
|
||||||
package mage.cards.l;
|
package mage.cards.l;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.effects.common.InfoEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
|
||||||
import mage.abilities.effects.common.InfoEffect;
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
@ -27,8 +28,8 @@ public final class LoreSeeker extends CardImpl {
|
||||||
|
|
||||||
// TODO: Draft specific abilities not implemented
|
// TODO: Draft specific abilities not implemented
|
||||||
// Reveal Lore Seeker as you draft it. After you draft Lore Seeker, you may add a booster pack to the draft.
|
// Reveal Lore Seeker as you draft it. After you draft Lore Seeker, you may add a booster pack to the draft.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Reveal Lore Seeker as you draft it. "
|
this.addAbility(new SimpleStaticAbility(Zone.ALL, new InfoEffect("Reveal {this} as you draft it. "
|
||||||
+ "After you draft Lore Seeker, you may add a booster pack to the draft - not implemented.")));
|
+ "After you draft {this}, you may add a booster pack to the draft - not implemented.")));
|
||||||
}
|
}
|
||||||
|
|
||||||
private LoreSeeker(final LoreSeeker card) {
|
private LoreSeeker(final LoreSeeker card) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package mage.cards.t;
|
package mage.cards.t;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.dynamicvalue.common.CardsInTargetHandCount;
|
import mage.abilities.dynamicvalue.common.CardsInTargetHandCount;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.DamageTargetEffect;
|
import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
|
|
@ -12,6 +11,8 @@ import mage.constants.CardType;
|
||||||
import mage.constants.SpellAbilityType;
|
import mage.constants.SpellAbilityType;
|
||||||
import mage.target.TargetPlayer;
|
import mage.target.TargetPlayer;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public final class ToilTrouble extends SplitCard {
|
public final class ToilTrouble extends SplitCard {
|
||||||
|
|
||||||
public ToilTrouble(UUID ownerId, CardSetInfo setInfo) {
|
public ToilTrouble(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
@ -26,7 +27,7 @@ public final class ToilTrouble extends SplitCard {
|
||||||
// Trouble
|
// Trouble
|
||||||
// Trouble deals damage to target player equal to the number of cards in that player's hand.
|
// Trouble deals damage to target player equal to the number of cards in that player's hand.
|
||||||
Effect effect = new DamageTargetEffect(CardsInTargetHandCount.instance);
|
Effect effect = new DamageTargetEffect(CardsInTargetHandCount.instance);
|
||||||
effect.setText("Trouble deals damage to target player equal to the number of cards in that player's hand");
|
effect.setText("{this} deals damage to target player equal to the number of cards in that player's hand");
|
||||||
getRightHalfCard().getSpellAbility().addEffect(effect);
|
getRightHalfCard().getSpellAbility().addEffect(effect);
|
||||||
getRightHalfCard().getSpellAbility().addTarget(new TargetPlayer().withChooseHint("to deal damage to"));
|
getRightHalfCard().getSpellAbility().addTarget(new TargetPlayer().withChooseHint("to deal damage to"));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.t;
|
package mage.cards.t;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.DamageTargetEffect;
|
import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
|
|
@ -9,13 +8,15 @@ import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.SplitCard;
|
import mage.cards.SplitCard;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.SpellAbilityType;
|
import mage.constants.SpellAbilityType;
|
||||||
|
import mage.constants.SubType;
|
||||||
import mage.game.permanent.token.TokenImpl;
|
import mage.game.permanent.token.TokenImpl;
|
||||||
import mage.target.common.TargetAnyTarget;
|
import mage.target.common.TargetAnyTarget;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
|
@ -34,9 +35,7 @@ public final class TurnBurn extends SplitCard {
|
||||||
|
|
||||||
// Burn
|
// Burn
|
||||||
// Burn deals 2 damage to any target.
|
// Burn deals 2 damage to any target.
|
||||||
effect = new DamageTargetEffect(2);
|
getRightHalfCard().getSpellAbility().addEffect(new DamageTargetEffect(2));
|
||||||
effect.setText("Burn deals 2 damage to any target");
|
|
||||||
getRightHalfCard().getSpellAbility().addEffect(effect);
|
|
||||||
getRightHalfCard().getSpellAbility().addTarget(new TargetAnyTarget().withChooseHint("2 damage"));
|
getRightHalfCard().getSpellAbility().addTarget(new TargetAnyTarget().withChooseHint("2 damage"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ public class ImpelledGiantTest extends CardTestPlayerBase {
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Impelled Giant"); // Creature 3/3
|
addCard(Zone.BATTLEFIELD, playerA, "Impelled Giant"); // Creature 3/3
|
||||||
addCard(Zone.BATTLEFIELD, playerA, "Hurloon Minotaur"); // Creature 2/3
|
addCard(Zone.BATTLEFIELD, playerA, "Hurloon Minotaur"); // Creature 2/3
|
||||||
|
|
||||||
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Tap an untapped red creature you control other than Impelled Giant");
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Tap an untapped red creature you control other than");
|
||||||
setChoice(playerA, "Hurloon Minotaur");
|
setChoice(playerA, "Hurloon Minotaur");
|
||||||
|
|
||||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue