mirror of
https://github.com/correl/mage.git
synced 2024-11-16 03:00:12 +00:00
[THS] Added 6 lands.
This commit is contained in:
parent
96108c9a4e
commit
b50c455997
8 changed files with 505 additions and 7 deletions
153
Mage.Sets/src/mage/sets/theros/NykthosShrineToNyx.java
Normal file
153
Mage.Sets/src/mage/sets/theros/NykthosShrineToNyx.java
Normal file
|
@ -0,0 +1,153 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
* permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* The views and conclusions contained in the software and documentation are those of the
|
||||||
|
* authors and should not be interpreted as representing official policies, either expressed
|
||||||
|
* or implied, of BetaSteward_at_googlemail.com.
|
||||||
|
*/
|
||||||
|
package mage.sets.theros;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
import mage.Mana;
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
|
import mage.abilities.costs.mana.GenericManaCost;
|
||||||
|
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||||
|
import mage.abilities.effects.common.ManaEffect;
|
||||||
|
import mage.abilities.mana.ColorlessManaAbility;
|
||||||
|
import mage.abilities.mana.ManaAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.choices.Choice;
|
||||||
|
import mage.choices.ChoiceColor;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.ManaType;
|
||||||
|
import mage.constants.Rarity;
|
||||||
|
import mage.constants.Zone;
|
||||||
|
import mage.game.Game;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author LevelX2
|
||||||
|
*/
|
||||||
|
public class NykthosShrineToNyx extends CardImpl<NykthosShrineToNyx> {
|
||||||
|
|
||||||
|
public NykthosShrineToNyx(UUID ownerId) {
|
||||||
|
super(ownerId, 223, "Nykthos, Shrine to Nyx", Rarity.RARE, new CardType[]{CardType.LAND}, "");
|
||||||
|
this.expansionSetCode = "THS";
|
||||||
|
this.supertype.add("Legendary");
|
||||||
|
|
||||||
|
// {T}: Add {1} to your mana pool.
|
||||||
|
this.addAbility(new ColorlessManaAbility());
|
||||||
|
// {2}, {T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color.
|
||||||
|
Ability ability = new NykthosShrineToNyxManaAbility();
|
||||||
|
Choice choice = new ChoiceColor();
|
||||||
|
choice.setMessage("Choose a color for devotion of Nykthos");
|
||||||
|
ability.addChoice(choice);
|
||||||
|
this.addAbility(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
public NykthosShrineToNyx(final NykthosShrineToNyx card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NykthosShrineToNyx copy() {
|
||||||
|
return new NykthosShrineToNyx(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class NykthosShrineToNyxManaAbility extends ManaAbility<NykthosShrineToNyxManaAbility> {
|
||||||
|
|
||||||
|
public NykthosShrineToNyxManaAbility() {
|
||||||
|
super(Zone.BATTLEFIELD, new NykthosDynamicManaEffect(), new GenericManaCost(2));
|
||||||
|
this.addCost(new TapSourceCost());
|
||||||
|
}
|
||||||
|
|
||||||
|
public NykthosShrineToNyxManaAbility(final NykthosShrineToNyxManaAbility ability) {
|
||||||
|
super(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NykthosShrineToNyxManaAbility copy() {
|
||||||
|
return new NykthosShrineToNyxManaAbility(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Mana getNetMana(Game game) {
|
||||||
|
if (game == null) {
|
||||||
|
return new Mana();
|
||||||
|
}
|
||||||
|
return new Mana(((NykthosDynamicManaEffect)this.getEffects().get(0)).computeMana(game, this));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class NykthosDynamicManaEffect extends ManaEffect {
|
||||||
|
|
||||||
|
private Mana computedMana;
|
||||||
|
|
||||||
|
public NykthosDynamicManaEffect() {
|
||||||
|
super();
|
||||||
|
computedMana = new Mana();
|
||||||
|
this.staticText = "Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color. <i>(Your devotion to a color is the number of mana symbols of that color in the mana costs of permanents you control.)</i>";
|
||||||
|
}
|
||||||
|
|
||||||
|
public NykthosDynamicManaEffect(final NykthosDynamicManaEffect effect) {
|
||||||
|
super(effect);
|
||||||
|
this.computedMana = effect.computedMana.copy();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NykthosDynamicManaEffect copy() {
|
||||||
|
return new NykthosDynamicManaEffect(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean apply(Game game, Ability source) {
|
||||||
|
computeMana(game, source);
|
||||||
|
game.getPlayer(source.getControllerId()).getManaPool().addMana(computedMana, game, source);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Mana computeMana(Game game, Ability source){
|
||||||
|
this.computedMana.clear();
|
||||||
|
if (!source.getChoices().isEmpty()) {
|
||||||
|
Choice choice = source.getChoices().get(0);
|
||||||
|
if (choice != null && choice instanceof ChoiceColor) {
|
||||||
|
String color = choice.getChoice();
|
||||||
|
if (color.equals("Red")) {
|
||||||
|
computedMana.setRed(new DevotionCount(ManaType.RED).calculate(game, source));
|
||||||
|
} else if (color.equals("Blue")) {
|
||||||
|
computedMana.setBlue(new DevotionCount(ManaType.BLUE).calculate(game, source));
|
||||||
|
} else if (color.equals("White")) {
|
||||||
|
computedMana.setWhite(new DevotionCount(ManaType.WHITE).calculate(game, source));
|
||||||
|
} else if (color.equals("Black")) {
|
||||||
|
computedMana.setBlack(new DevotionCount(ManaType.BLACK).calculate(game, source));
|
||||||
|
} else if (color.equals("Green")) {
|
||||||
|
computedMana.setGreen(new DevotionCount(ManaType.GREEN).calculate(game, source));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return computedMana;
|
||||||
|
}
|
||||||
|
}
|
67
Mage.Sets/src/mage/sets/theros/TempleOfAbandon.java
Normal file
67
Mage.Sets/src/mage/sets/theros/TempleOfAbandon.java
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
* permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* The views and conclusions contained in the software and documentation are those of the
|
||||||
|
* authors and should not be interpreted as representing official policies, either expressed
|
||||||
|
* or implied, of BetaSteward_at_googlemail.com.
|
||||||
|
*/
|
||||||
|
package mage.sets.theros;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
|
import mage.abilities.effects.common.ScryEffect;
|
||||||
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
|
import mage.abilities.mana.RedManaAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Rarity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author LevelX2
|
||||||
|
*/
|
||||||
|
public class TempleOfAbandon extends CardImpl<TempleOfAbandon> {
|
||||||
|
|
||||||
|
public TempleOfAbandon(UUID ownerId) {
|
||||||
|
super(ownerId, 224, "Temple of Abandon", Rarity.RARE, new CardType[]{CardType.LAND}, "");
|
||||||
|
this.expansionSetCode = "THS";
|
||||||
|
|
||||||
|
// Temple of Abandon enters the battlefield tapped.
|
||||||
|
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||||
|
// When Temple of Abandon enters the battlefield, scry 1.</i>
|
||||||
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(1)));
|
||||||
|
// {T}: Add {R} or {G} to your mana pool.
|
||||||
|
this.addAbility(new RedManaAbility());
|
||||||
|
this.addAbility(new GreenManaAbility());
|
||||||
|
}
|
||||||
|
|
||||||
|
public TempleOfAbandon(final TempleOfAbandon card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TempleOfAbandon copy() {
|
||||||
|
return new TempleOfAbandon(this);
|
||||||
|
}
|
||||||
|
}
|
67
Mage.Sets/src/mage/sets/theros/TempleOfDeceit.java
Normal file
67
Mage.Sets/src/mage/sets/theros/TempleOfDeceit.java
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
* permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* The views and conclusions contained in the software and documentation are those of the
|
||||||
|
* authors and should not be interpreted as representing official policies, either expressed
|
||||||
|
* or implied, of BetaSteward_at_googlemail.com.
|
||||||
|
*/
|
||||||
|
package mage.sets.theros;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
|
import mage.abilities.effects.common.ScryEffect;
|
||||||
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Rarity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author LevelX2
|
||||||
|
*/
|
||||||
|
public class TempleOfDeceit extends CardImpl<TempleOfDeceit> {
|
||||||
|
|
||||||
|
public TempleOfDeceit(UUID ownerId) {
|
||||||
|
super(ownerId, 225, "Temple of Deceit", Rarity.RARE, new CardType[]{CardType.LAND}, "");
|
||||||
|
this.expansionSetCode = "THS";
|
||||||
|
|
||||||
|
// Temple of Deceit enters the battlefield tapped.
|
||||||
|
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||||
|
// When Temple of Deceit enters the battlefield, scry 1.</i>
|
||||||
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(1)));
|
||||||
|
// {T}: Add {U} or {B} to your mana pool.
|
||||||
|
this.addAbility(new BlueManaAbility());
|
||||||
|
this.addAbility(new BlackManaAbility());
|
||||||
|
}
|
||||||
|
|
||||||
|
public TempleOfDeceit(final TempleOfDeceit card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TempleOfDeceit copy() {
|
||||||
|
return new TempleOfDeceit(this);
|
||||||
|
}
|
||||||
|
}
|
68
Mage.Sets/src/mage/sets/theros/TempleOfMystery.java
Normal file
68
Mage.Sets/src/mage/sets/theros/TempleOfMystery.java
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
* permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* The views and conclusions contained in the software and documentation are those of the
|
||||||
|
* authors and should not be interpreted as representing official policies, either expressed
|
||||||
|
* or implied, of BetaSteward_at_googlemail.com.
|
||||||
|
*/
|
||||||
|
package mage.sets.theros;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
|
import mage.abilities.effects.common.ScryEffect;
|
||||||
|
import mage.abilities.mana.BlueManaAbility;
|
||||||
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Rarity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author LevelX2
|
||||||
|
*/
|
||||||
|
public class TempleOfMystery extends CardImpl<TempleOfMystery> {
|
||||||
|
|
||||||
|
public TempleOfMystery(UUID ownerId) {
|
||||||
|
super(ownerId, 226, "Temple of Mystery", Rarity.RARE, new CardType[]{CardType.LAND}, "");
|
||||||
|
this.expansionSetCode = "THS";
|
||||||
|
|
||||||
|
// Temple of Mystery enters the battlefield tapped.
|
||||||
|
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||||
|
// When Temple of Mystery enters the battlefield, scry 1.</i>
|
||||||
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(1)));
|
||||||
|
// {T}: Add {G} or {U} to your mana pool.
|
||||||
|
this.addAbility(new GreenManaAbility());
|
||||||
|
this.addAbility(new BlueManaAbility());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public TempleOfMystery(final TempleOfMystery card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TempleOfMystery copy() {
|
||||||
|
return new TempleOfMystery(this);
|
||||||
|
}
|
||||||
|
}
|
68
Mage.Sets/src/mage/sets/theros/TempleOfSilence.java
Normal file
68
Mage.Sets/src/mage/sets/theros/TempleOfSilence.java
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
* permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* The views and conclusions contained in the software and documentation are those of the
|
||||||
|
* authors and should not be interpreted as representing official policies, either expressed
|
||||||
|
* or implied, of BetaSteward_at_googlemail.com.
|
||||||
|
*/
|
||||||
|
package mage.sets.theros;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
|
import mage.abilities.effects.common.ScryEffect;
|
||||||
|
import mage.abilities.mana.BlackManaAbility;
|
||||||
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Rarity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author LevelX2
|
||||||
|
*/
|
||||||
|
public class TempleOfSilence extends CardImpl<TempleOfSilence> {
|
||||||
|
|
||||||
|
public TempleOfSilence(UUID ownerId) {
|
||||||
|
super(ownerId, 227, "Temple of Silence", Rarity.RARE, new CardType[]{CardType.LAND}, "");
|
||||||
|
this.expansionSetCode = "THS";
|
||||||
|
|
||||||
|
// Temple of Silence enters the battlefield tapped.
|
||||||
|
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||||
|
// When Temple of Silence enters the battlefield, scry 1.</i>
|
||||||
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(1)));
|
||||||
|
// {T}: Add {W} or {B} to your mana pool.
|
||||||
|
this.addAbility(new WhiteManaAbility());
|
||||||
|
this.addAbility(new BlackManaAbility());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public TempleOfSilence(final TempleOfSilence card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TempleOfSilence copy() {
|
||||||
|
return new TempleOfSilence(this);
|
||||||
|
}
|
||||||
|
}
|
68
Mage.Sets/src/mage/sets/theros/TempleOfTriumph.java
Normal file
68
Mage.Sets/src/mage/sets/theros/TempleOfTriumph.java
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
* permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||||
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* The views and conclusions contained in the software and documentation are those of the
|
||||||
|
* authors and should not be interpreted as representing official policies, either expressed
|
||||||
|
* or implied, of BetaSteward_at_googlemail.com.
|
||||||
|
*/
|
||||||
|
package mage.sets.theros;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
|
import mage.abilities.effects.common.ScryEffect;
|
||||||
|
import mage.abilities.mana.RedManaAbility;
|
||||||
|
import mage.abilities.mana.WhiteManaAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Rarity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author LevelX2
|
||||||
|
*/
|
||||||
|
public class TempleOfTriumph extends CardImpl<TempleOfTriumph> {
|
||||||
|
|
||||||
|
public TempleOfTriumph(UUID ownerId) {
|
||||||
|
super(ownerId, 228, "Temple of Triumph", Rarity.RARE, new CardType[]{CardType.LAND}, "");
|
||||||
|
this.expansionSetCode = "THS";
|
||||||
|
|
||||||
|
// Temple of Triumph enters the battlefield tapped.
|
||||||
|
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||||
|
// When Temple of Triumph enters the battlefield, scry 1.</i>
|
||||||
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(1)));
|
||||||
|
// {T}: Add {R} or {W} to your mana pool.
|
||||||
|
this.addAbility(new RedManaAbility());
|
||||||
|
this.addAbility(new WhiteManaAbility());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public TempleOfTriumph(final TempleOfTriumph card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TempleOfTriumph copy() {
|
||||||
|
return new TempleOfTriumph(this);
|
||||||
|
}
|
||||||
|
}
|
|
@ -77,6 +77,7 @@ public class ScryEffect extends OneShotEffect<ScryEffect> {
|
||||||
game.setZone(card.getId(), Zone.PICK);
|
game.setZone(card.getId(), Zone.PICK);
|
||||||
}
|
}
|
||||||
TargetCard target1 = new TargetCard(Zone.PICK, filter1);
|
TargetCard target1 = new TargetCard(Zone.PICK, filter1);
|
||||||
|
// move cards to the bottom of the library
|
||||||
while (cards.size() > 0 && player.choose(Outcome.Detriment, cards, target1, game)) {
|
while (cards.size() > 0 && player.choose(Outcome.Detriment, cards, target1, game)) {
|
||||||
Card card = cards.get(target1.getFirstTarget(), game);
|
Card card = cards.get(target1.getFirstTarget(), game);
|
||||||
if (card != null) {
|
if (card != null) {
|
||||||
|
@ -85,6 +86,7 @@ public class ScryEffect extends OneShotEffect<ScryEffect> {
|
||||||
}
|
}
|
||||||
target1.clearChosen();
|
target1.clearChosen();
|
||||||
}
|
}
|
||||||
|
// move cards to the top of the library
|
||||||
if (cards.size() > 1) {
|
if (cards.size() > 1) {
|
||||||
TargetCard target2 = new TargetCard(Zone.PICK, filter2);
|
TargetCard target2 = new TargetCard(Zone.PICK, filter2);
|
||||||
target2.setRequired(true);
|
target2.setRequired(true);
|
||||||
|
@ -113,9 +115,9 @@ public class ScryEffect extends OneShotEffect<ScryEffect> {
|
||||||
private void setText() {
|
private void setText() {
|
||||||
StringBuilder sb = new StringBuilder("Scry ").append(scryNumber);
|
StringBuilder sb = new StringBuilder("Scry ").append(scryNumber);
|
||||||
if (scryNumber == 1) {
|
if (scryNumber == 1) {
|
||||||
sb.append("<i>(Look at the top card of your library. You may put that card on the bottom of your library.)</i>");
|
sb.append(". <i>(Look at the top card of your library. You may put that card on the bottom of your library.)</i>");
|
||||||
} else {
|
} else {
|
||||||
sb.append("<i>(Look at the top ");
|
sb.append(". <i>(Look at the top ");
|
||||||
sb.append(CardUtil.numberToText(scryNumber));
|
sb.append(CardUtil.numberToText(scryNumber));
|
||||||
sb.append(" cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.)</i>");
|
sb.append(" cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.)</i>");
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,16 +57,21 @@ public class ChoiceColor extends ChoiceImpl<ChoiceColor> {
|
||||||
|
|
||||||
public ObjectColor getColor() {
|
public ObjectColor getColor() {
|
||||||
ObjectColor color = new ObjectColor();
|
ObjectColor color = new ObjectColor();
|
||||||
if (choice.equals("Black"))
|
if (choice.equals("Black")) {
|
||||||
color.setBlack(true);
|
color.setBlack(true);
|
||||||
else if (choice.equals("Blue"))
|
}
|
||||||
|
else if (choice.equals("Blue")) {
|
||||||
color.setBlue(true);
|
color.setBlue(true);
|
||||||
else if (choice.equals("Green"))
|
}
|
||||||
|
else if (choice.equals("Green")) {
|
||||||
color.setGreen(true);
|
color.setGreen(true);
|
||||||
else if (choice.equals("Red"))
|
}
|
||||||
|
else if (choice.equals("Red")) {
|
||||||
color.setRed(true);
|
color.setRed(true);
|
||||||
else if (choice.equals("White"))
|
}
|
||||||
|
else if (choice.equals("White")) {
|
||||||
color.setWhite(true);
|
color.setWhite(true);
|
||||||
|
}
|
||||||
return color;
|
return color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue