* Tribal - Fixed that Tribal was implemented as super type instead correctly as card type. Added Crib Swap.

This commit is contained in:
LevelX2 2014-06-05 21:21:49 +02:00
parent 39f122acfd
commit 2e5f962be6
29 changed files with 149 additions and 56 deletions

View file

@ -54,9 +54,8 @@ public class BoggartShenanigans extends CardImpl {
}
public BoggartShenanigans(UUID ownerId) {
super(ownerId, 54, "Boggart Shenanigans", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}");
super(ownerId, 54, "Boggart Shenanigans", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{2}{R}");
this.expansionSetCode = "EVG";
this.supertype.add("Tribal");
this.subtype.add("Goblin");
this.color.setRed(true);

View file

@ -50,9 +50,8 @@ public class BoggartBirthRite extends CardImpl {
}
public BoggartBirthRite(UUID ownerId) {
super(ownerId, 101, "Boggart Birth Rite", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{B}");
super(ownerId, 101, "Boggart Birth Rite", Rarity.COMMON, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{B}");
this.expansionSetCode = "LRW";
this.supertype.add("Tribal");
this.subtype.add("Goblin");
this.color.setBlack(true);
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());

View file

@ -0,0 +1,121 @@
/*
* 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.lorwyn;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ExileTargetEffect;
import mage.abilities.keyword.ChangelingAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Rarity;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.SpiritWhiteToken;
import mage.game.permanent.token.Token;
import mage.players.Player;
import mage.target.common.TargetCreaturePermanent;
/**
*
* @author LevelX2
*/
public class CribSwap extends CardImpl {
public CribSwap(UUID ownerId) {
super(ownerId, 11, "Crib Swap", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{2}{W}");
this.expansionSetCode = "LRW";
this.subtype.add("Shapeshifter");
this.color.setWhite(true);
// Changeling
this.addAbility(ChangelingAbility.getInstance());
// Exile target creature. Its controller puts a 1/1 colorless Shapeshifter creature token with changeling onto the battlefield.
this.getSpellAbility().addEffect(new ExileTargetEffect());
this.getSpellAbility().addTarget(new TargetCreaturePermanent(true));
this.getSpellAbility().addEffect(new CribSwapEffect());
}
public CribSwap(final CribSwap card) {
super(card);
}
@Override
public CribSwap copy() {
return new CribSwap(this);
}
}
class CribSwapEffect extends OneShotEffect {
public CribSwapEffect() {
super(Outcome.Benefit);
this.staticText = "Its controller puts a 1/1 colorless Shapeshifter creature token with changeling onto the battlefield";
}
public CribSwapEffect(final CribSwapEffect effect) {
super(effect);
}
@Override
public CribSwapEffect copy() {
return new CribSwapEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
Permanent targetCreature = game.getPermanentOrLKIBattlefield(this.getTargetPointer().getFirst(game, source));
if (targetCreature != null) {
CribSwapShapeshifterWhiteToken token = new CribSwapShapeshifterWhiteToken();
return token.putOntoBattlefield(1, game, source.getSourceId(), targetCreature.getControllerId());
}
}
return false;
}
}
class CribSwapShapeshifterWhiteToken extends Token {
public CribSwapShapeshifterWhiteToken() {
super("Shapeshifter", "1/1 colorless Shapeshifter creature token with changeling");
this.setOriginalExpansionSetCode("LRW");
cardType.add(CardType.CREATURE);
subtype.add("Shapeshifter");
color.setWhite(true);
power = new MageInt(1);
toughness = new MageInt(1);
addAbility(ChangelingAbility.getInstance());
}
}

View file

@ -51,9 +51,8 @@ public class ElvishPromenade extends CardImpl {
}
public ElvishPromenade(UUID ownerId) {
super(ownerId, 208, "Elvish Promenade", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{3}{G}");
super(ownerId, 208, "Elvish Promenade", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{3}{G}");
this.expansionSetCode = "LRW";
this.supertype.add("Tribal");
this.subtype.add("Elf");
this.color.setGreen(true);
this.getSpellAbility().addEffect(new CreateTokenEffect(new ElfToken(), new PermanentsOnBattlefieldCount(filter)));

View file

@ -51,9 +51,8 @@ public class EyeblightsEnding extends CardImpl {
}
public EyeblightsEnding(UUID ownerId) {
super(ownerId, 110, "Eyeblight's Ending", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{B}");
super(ownerId, 110, "Eyeblight's Ending", Rarity.COMMON, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{2}{B}");
this.expansionSetCode = "LRW";
this.supertype.add("Tribal");
this.subtype.add("Elf");
this.color.setBlack(true);
this.getSpellAbility().addEffect(new DestroyTargetEffect());

View file

@ -51,9 +51,8 @@ public class FaerieTrickery extends CardImpl {
}
public FaerieTrickery(UUID ownerId) {
super(ownerId, 62, "Faerie Trickery", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{U}{U}");
super(ownerId, 62, "Faerie Trickery", Rarity.COMMON, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{1}{U}{U}");
this.expansionSetCode = "LRW";
this.supertype.add("Tribal");
this.subtype.add("Faerie");
this.color.setBlue(true);

View file

@ -53,9 +53,8 @@ import mage.abilities.condition.common.MyTurnCondition;
public class HoofprintsOfTheStag extends CardImpl {
public HoofprintsOfTheStag(UUID ownerId) {
super(ownerId, 21, "Hoofprints of the Stag", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}");
super(ownerId, 21, "Hoofprints of the Stag", Rarity.RARE, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{W}");
this.expansionSetCode = "LRW";
this.supertype.add("Tribal");
this.subtype.add("Elemental");
this.color.setWhite(true);
this.addAbility(new DrawCardControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.HOOFPRINT.createInstance(1)), true));

View file

@ -51,9 +51,8 @@ import mage.target.common.TargetCreaturePermanent;
public class Lignify extends CardImpl {
public Lignify(UUID ownerId) {
super(ownerId, 228, "Lignify", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}");
super(ownerId, 228, "Lignify", Rarity.COMMON, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{G}");
this.expansionSetCode = "LRW";
this.supertype.add("Tribal");
this.subtype.add("Treefolk");
this.subtype.add("Aura");

View file

@ -49,9 +49,8 @@ public class MerrowCommerce extends CardImpl {
}
public MerrowCommerce(UUID ownerId) {
super(ownerId, 72, "Merrow Commerce", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}");
super(ownerId, 72, "Merrow Commerce", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{U}");
this.expansionSetCode = "LRW";
this.supertype.add("Tribal");
this.subtype.add("Merfolk");
this.color.setBlue(true);

View file

@ -58,9 +58,8 @@ public class SummonTheSchool extends CardImpl {
}
public SummonTheSchool(UUID ownerId) {
super(ownerId, 42, "Summon the School", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{3}{W}");
super(ownerId, 42, "Summon the School", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{3}{W}");
this.expansionSetCode = "LRW";
this.supertype.add("Tribal");
this.subtype.add("Merfolk");
this.color.setWhite(true);
// Put two 1/1 blue Merfolk Wizard creature tokens onto the battlefield.

View file

@ -42,9 +42,8 @@ import java.util.UUID;
public class Tarfire extends CardImpl {
public Tarfire(UUID ownerId) {
super(ownerId, 194, "Tarfire", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{R}");
super(ownerId, 194, "Tarfire", Rarity.COMMON, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{R}");
this.expansionSetCode = "LRW";
this.supertype.add("Tribal");
this.subtype.add("Goblin");
this.color.setRed(true);
// Tarfire deals 2 damage to target creature or player.

View file

@ -46,9 +46,8 @@ import mage.target.common.TargetCreaturePermanent;
public class BoundInSilence extends CardImpl {
public BoundInSilence(UUID ownerId) {
super(ownerId, 8, "Bound in Silence", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
super(ownerId, 8, "Bound in Silence", Rarity.COMMON, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{2}{W}");
this.expansionSetCode = "MMA";
this.supertype.add("Tribal");
this.subtype.add("Rebel");
this.subtype.add("Aura");

View file

@ -51,9 +51,8 @@ import mage.target.common.TargetCreaturePermanent;
public class CrushUnderfoot extends CardImpl {
public CrushUnderfoot(UUID ownerId) {
super(ownerId, 109, "Crush Underfoot", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{R}");
super(ownerId, 109, "Crush Underfoot", Rarity.COMMON, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{1}{R}");
this.expansionSetCode = "MMA";
this.supertype.add("Tribal");
this.subtype.add("Giant");
this.color.setRed(true);

View file

@ -47,9 +47,8 @@ import mage.players.Player;
public class FeudkillersVerdict extends CardImpl {
public FeudkillersVerdict(UUID ownerId) {
super(ownerId, 15, "Feudkiller's Verdict", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{4}{W}{W}");
super(ownerId, 15, "Feudkiller's Verdict", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{4}{W}{W}");
this.expansionSetCode = "MMA";
this.supertype.add("Tribal");
this.subtype.add("Giant");
this.color.setWhite(true);

View file

@ -52,9 +52,8 @@ public class Peppersmoke extends CardImpl {
}
public Peppersmoke(UUID ownerId) {
super(ownerId, 92, "Peppersmoke", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{B}");
super(ownerId, 92, "Peppersmoke", Rarity.COMMON, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{B}");
this.expansionSetCode = "MMA";
this.supertype.add("Tribal");
this.subtype.add("Faerie");
this.color.setBlack(true);

View file

@ -55,9 +55,8 @@ public class ReachOfBranches extends CardImpl {
}
public ReachOfBranches(UUID ownerId) {
super(ownerId, 158, "Reach of Branches", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{4}{G}");
super(ownerId, 158, "Reach of Branches", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{4}{G}");
this.expansionSetCode = "MMA";
this.supertype.add("Tribal");
this.subtype.add("Treefolk");
this.color.setGreen(true);

View file

@ -63,9 +63,8 @@ import mage.target.targetpointer.FixedTarget;
public class WarrenWeirding extends CardImpl {
public WarrenWeirding(UUID ownerId) {
super(ownerId, 104, "Warren Weirding", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{1}{B}");
super(ownerId, 104, "Warren Weirding", Rarity.COMMON, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{1}{B}");
this.expansionSetCode = "MMA";
this.supertype.add("Tribal");
this.subtype.add("Goblin");
this.color.setBlack(true);

View file

@ -47,9 +47,8 @@ import mage.game.permanent.token.Token;
public class Bitterblossom extends CardImpl {
public Bitterblossom(UUID ownerId) {
super(ownerId, 58, "Bitterblossom", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}");
super(ownerId, 58, "Bitterblossom", Rarity.RARE, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{B}");
this.expansionSetCode = "MOR";
this.supertype.add("Tribal");
this.subtype.add("Faerie");
this.color.setBlack(true);

View file

@ -59,9 +59,8 @@ public class CloakAndDagger extends CardImpl {
}
public CloakAndDagger(UUID ownerId) {
super(ownerId, 141, "Cloak and Dagger", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{2}");
super(ownerId, 141, "Cloak and Dagger", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.ARTIFACT}, "{2}");
this.expansionSetCode = "MOR";
this.supertype.add("Tribal");
this.subtype.add("Rogue");
this.subtype.add("Equipment");

View file

@ -65,9 +65,8 @@ public class DivinersWand extends CardImpl {
}
public DivinersWand(UUID ownerId) {
super(ownerId, 142, "Diviner's Wand", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}");
super(ownerId, 142, "Diviner's Wand", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.ARTIFACT}, "{3}");
this.expansionSetCode = "MOR";
this.supertype.add("Tribal");
this.subtype.add("Wizard");
this.subtype.add("Equipment");

View file

@ -43,9 +43,8 @@ import mage.game.permanent.token.ElfToken;
public class HuntingTriad extends CardImpl {
public HuntingTriad(UUID ownerId) {
super(ownerId, 127, "Hunting Triad", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{3}{G}");
super(ownerId, 127, "Hunting Triad", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{3}{G}");
this.expansionSetCode = "MOR";
this.supertype.add("Tribal");
this.subtype.add("Elf");
this.color.setGreen(true);
this.getSpellAbility().addEffect(new CreateTokenEffect(new ElfToken(), 3));

View file

@ -55,9 +55,8 @@ import mage.target.TargetPlayer;
public class NogginWhack extends CardImpl {
public NogginWhack(UUID ownerId) {
super(ownerId, 70, "Noggin Whack", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{2}{B}{B}");
super(ownerId, 70, "Noggin Whack", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{2}{B}{B}");
this.expansionSetCode = "MOR";
this.supertype.add("Tribal");
this.subtype.add("Rogue");
this.color.setBlack(true);

View file

@ -59,9 +59,8 @@ public class ObsidianBattleAxe extends CardImpl {
}
public ObsidianBattleAxe(UUID ownerId) {
super(ownerId, 144, "Obsidian Battle-Axe", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}");
super(ownerId, 144, "Obsidian Battle-Axe", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.ARTIFACT}, "{3}");
this.expansionSetCode = "MOR";
this.supertype.add("Tribal");
this.subtype.add("Warrior");
this.subtype.add("Equipment");

View file

@ -44,9 +44,8 @@ import mage.filter.FilterCard;
public class ThievesFortune extends CardImpl {
public ThievesFortune(UUID ownerId) {
super(ownerId, 54, "Thieves' Fortune", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{2}{U}");
super(ownerId, 54, "Thieves' Fortune", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{2}{U}");
this.expansionSetCode = "MOR";
this.supertype.add("Tribal");
this.subtype.add("Rogue");
this.color.setBlue(true);

View file

@ -64,9 +64,8 @@ public class ThornbiteStaff extends CardImpl {
}
public ThornbiteStaff(UUID ownerId) {
super(ownerId, 145, "Thornbite Staff", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{2}");
super(ownerId, 145, "Thornbite Staff", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.ARTIFACT}, "{2}");
this.expansionSetCode = "MOR";
this.supertype.add("Tribal");
this.subtype.add("Shaman");
this.subtype.add("Equipment");

View file

@ -63,9 +63,8 @@ public class VeteransArmaments extends CardImpl {
}
public VeteransArmaments(UUID ownerId) {
super(ownerId, 146, "Veteran's Armaments", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{2}");
super(ownerId, 146, "Veteran's Armaments", Rarity.UNCOMMON, new CardType[]{CardType.TRIBAL, CardType.ARTIFACT}, "{2}");
this.expansionSetCode = "MOR";
this.supertype.add("Tribal");
this.subtype.add("Soldier");
this.subtype.add("Equipment");

View file

@ -52,9 +52,8 @@ public class VioletPall extends CardImpl {
}
public VioletPall(UUID ownerId) {
super(ownerId, 81, "Violet Pall", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{4}{B}");
super(ownerId, 81, "Violet Pall", Rarity.COMMON, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{4}{B}");
this.expansionSetCode = "MOR";
this.supertype.add("Tribal");
this.subtype.add("Faerie");
this.color.setBlack(true);
this.getSpellAbility().addEffect(new DestroyTargetEffect());

View file

@ -45,9 +45,8 @@ import mage.game.permanent.Permanent;
public class AllIsDust extends CardImpl {
public AllIsDust(UUID ownerId) {
super(ownerId, 1, "All Is Dust", Rarity.MYTHIC, new CardType[]{CardType.SORCERY}, "{7}");
super(ownerId, 1, "All Is Dust", Rarity.MYTHIC, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{7}");
this.expansionSetCode = "ROE";
this.subtype.add("Tribal");
this.subtype.add("Eldrazi");
this.getSpellAbility().addEffect(new AllIsDustEffect());
}

View file

@ -64,9 +64,8 @@ public class NotOfThisWorld extends CardImpl {
public NotOfThisWorld(UUID ownerId) {
super(ownerId, 8, "Not of This World", Rarity.UNCOMMON,
new CardType[]{CardType.INSTANT}, "{7}");
new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{7}");
this.expansionSetCode = "ROE";
this.supertype.add("Tribal");
this.subtype.add("Eldrazi");
// Counter target spell or ability that targets a permanent you control.