mirror of
https://github.com/correl/mage.git
synced 2024-12-25 11:11:16 +00:00
Implemented Castle Locthwain
This commit is contained in:
parent
88e033c1e3
commit
374827d717
5 changed files with 68 additions and 3 deletions
|
@ -37,7 +37,7 @@ public final class CastleArdenvale extends CardImpl {
|
||||||
// Castle Ardenvale enters the battlefield tapped unless you control a Plains.
|
// Castle Ardenvale enters the battlefield tapped unless you control a Plains.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(
|
this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(
|
||||||
new TapSourceEffect(), condition
|
new TapSourceEffect(), condition
|
||||||
), "tapped unless you control an Plains"));
|
), "tapped unless you control a Plains"));
|
||||||
|
|
||||||
// {T}: Add {W}.
|
// {T}: Add {W}.
|
||||||
this.addAbility(new WhiteManaAbility());
|
this.addAbility(new WhiteManaAbility());
|
||||||
|
|
|
@ -37,7 +37,7 @@ public final class CastleEmbereth extends CardImpl {
|
||||||
// Castle Embereth enters the battlefield tapped unless you control a Mountain.
|
// Castle Embereth enters the battlefield tapped unless you control a Mountain.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(
|
this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(
|
||||||
new TapSourceEffect(), condition
|
new TapSourceEffect(), condition
|
||||||
), "tapped unless you control an Mountain"));
|
), "tapped unless you control a Mountain"));
|
||||||
|
|
||||||
// {T}: Add {R}.
|
// {T}: Add {R}.
|
||||||
this.addAbility(new RedManaAbility());
|
this.addAbility(new RedManaAbility());
|
||||||
|
|
|
@ -40,7 +40,7 @@ public final class CastleGarenbrig extends CardImpl {
|
||||||
// Castle Garenbrig enters the battlefield tapped unless you control a Forest.
|
// Castle Garenbrig enters the battlefield tapped unless you control a Forest.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(
|
this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(
|
||||||
new TapSourceEffect(), condition
|
new TapSourceEffect(), condition
|
||||||
), "tapped unless you control an Forest"));
|
), "tapped unless you control a Forest"));
|
||||||
|
|
||||||
// {T}: Add {G}.
|
// {T}: Add {G}.
|
||||||
this.addAbility(new GreenManaAbility());
|
this.addAbility(new GreenManaAbility());
|
||||||
|
|
64
Mage.Sets/src/mage/cards/c/CastleLocthwain.java
Normal file
64
Mage.Sets/src/mage/cards/c/CastleLocthwain.java
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
package mage.cards.c;
|
||||||
|
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.EntersBattlefieldAbility;
|
||||||
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
import mage.abilities.condition.Condition;
|
||||||
|
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||||
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
|
import mage.abilities.dynamicvalue.common.CardsInControllerHandCount;
|
||||||
|
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||||
|
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
|
||||||
|
import mage.abilities.effects.common.TapSourceEffect;
|
||||||
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.ComparisonType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.filter.FilterPermanent;
|
||||||
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class CastleLocthwain extends CardImpl {
|
||||||
|
|
||||||
|
private static final FilterPermanent filter = new FilterControlledPermanent(SubType.SWAMP);
|
||||||
|
private static final Condition condition
|
||||||
|
= new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.EQUAL_TO, 0);
|
||||||
|
|
||||||
|
public CastleLocthwain(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
|
||||||
|
|
||||||
|
// Castle Locthwain enters the battlefield tapped unless you control a Swamp.
|
||||||
|
this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(
|
||||||
|
new TapSourceEffect(), condition
|
||||||
|
), "tapped unless you control a Swamp"));
|
||||||
|
|
||||||
|
// {T}: Add {B}.
|
||||||
|
this.addAbility(new BlackManaAbility());
|
||||||
|
|
||||||
|
// {1}{B}{B}, {T}: Draw a card, then you lose life equal to the number of cards in your hand.
|
||||||
|
Ability ability = new SimpleActivatedAbility(
|
||||||
|
new DrawCardSourceControllerEffect(1).setText("draw a card,"), new ManaCostsImpl("{1}{B}{B}")
|
||||||
|
);
|
||||||
|
ability.addEffect(new LoseLifeSourceControllerEffect(CardsInControllerHandCount.instance)
|
||||||
|
.setText("then you lose life equal to the number of cards in your hand"));
|
||||||
|
ability.addCost(new TapSourceCost());
|
||||||
|
this.addAbility(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
private CastleLocthwain(final CastleLocthwain card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CastleLocthwain copy() {
|
||||||
|
return new CastleLocthwain(this);
|
||||||
|
}
|
||||||
|
}
|
|
@ -53,6 +53,7 @@ public final class ThroneOfEldraine extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Castle Ardenvale", 238, Rarity.RARE, mage.cards.c.CastleArdenvale.class));
|
cards.add(new SetCardInfo("Castle Ardenvale", 238, Rarity.RARE, mage.cards.c.CastleArdenvale.class));
|
||||||
cards.add(new SetCardInfo("Castle Embereth", 239, Rarity.RARE, mage.cards.c.CastleEmbereth.class));
|
cards.add(new SetCardInfo("Castle Embereth", 239, Rarity.RARE, mage.cards.c.CastleEmbereth.class));
|
||||||
cards.add(new SetCardInfo("Castle Garenbrig", 240, Rarity.RARE, mage.cards.c.CastleGarenbrig.class));
|
cards.add(new SetCardInfo("Castle Garenbrig", 240, Rarity.RARE, mage.cards.c.CastleGarenbrig.class));
|
||||||
|
cards.add(new SetCardInfo("Castle Locthwain", 241, Rarity.RARE, mage.cards.c.CastleLocthwain.class));
|
||||||
cards.add(new SetCardInfo("Castle Vantress", 242, Rarity.RARE, mage.cards.c.CastleVantress.class));
|
cards.add(new SetCardInfo("Castle Vantress", 242, Rarity.RARE, mage.cards.c.CastleVantress.class));
|
||||||
cards.add(new SetCardInfo("Cauldron Familiar", 81, Rarity.UNCOMMON, mage.cards.c.CauldronFamiliar.class));
|
cards.add(new SetCardInfo("Cauldron Familiar", 81, Rarity.UNCOMMON, mage.cards.c.CauldronFamiliar.class));
|
||||||
cards.add(new SetCardInfo("Charming Prince", 8, Rarity.RARE, mage.cards.c.CharmingPrince.class));
|
cards.add(new SetCardInfo("Charming Prince", 8, Rarity.RARE, mage.cards.c.CharmingPrince.class));
|
||||||
|
|
Loading…
Reference in a new issue