Change tribal card type to kindred, update viashino and naga (#12271)

* change tribal card type to kindred

* update viashino to lizard

* update naga to snake
This commit is contained in:
Evan Kranzler 2024-06-08 13:55:52 -04:00 committed by GitHub
parent 40a1fc6c23
commit cdf91e66fb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
177 changed files with 200 additions and 213 deletions

View file

@ -533,10 +533,10 @@ public class DragCardGrid extends JPanel implements DragCardSource, DragCardTarg
return card.isBattle();
}
};
private final CardTypeCounter tribalCounter = new CardTypeCounter() {
private final CardTypeCounter kindredCounter = new CardTypeCounter() {
@Override
protected boolean is(CardView card) {
return card.isTribal();
return card.isKindred();
}
};
@ -549,7 +549,7 @@ public class DragCardGrid extends JPanel implements DragCardSource, DragCardTarg
planeswalkerCounter,
sorceryCounter,
battleCounter,
tribalCounter
kindredCounter
};
// Listener
@ -1914,8 +1914,8 @@ public class DragCardGrid extends JPanel implements DragCardSource, DragCardTarg
return planeswalkerCounter.get();
case SORCERY:
return sorceryCounter.get();
case TRIBAL:
return tribalCounter.get();
case KINDRED:
return kindredCounter.get();
default:
break;
}

View file

@ -1573,8 +1573,8 @@ public class CardView extends SimpleCardView {
return cardTypes.contains(CardType.ARTIFACT);
}
public boolean isTribal() {
return cardTypes.contains(CardType.TRIBAL);
public boolean isKindred() {
return cardTypes.contains(CardType.KINDRED);
}
public void setInViewerOnly(boolean inViewerOnly) {

View file

@ -19,7 +19,7 @@ import mage.game.permanent.Permanent;
public final class AllIsDust extends CardImpl {
public AllIsDust(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{7}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.SORCERY},"{7}");
this.subtype.add(SubType.ELDRAZI);
this.getSpellAbility().addEffect(new AllIsDustEffect());
}

View file

@ -26,7 +26,7 @@ public final class AltarOfTheGoyf extends CardImpl {
= new FilterCreaturePermanent(SubType.LHURGOYF, "Lhurgoyf creatures");
public AltarOfTheGoyf(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ARTIFACT}, "{5}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ARTIFACT}, "{5}");
this.subtype.add(SubType.LHURGOYF);

View file

@ -27,7 +27,7 @@ public final class AquitectsWill extends CardImpl {
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(filter);
public AquitectsWill(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{U}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.SORCERY}, "{U}");
this.subtype.add(SubType.MERFOLK);
// Put a flood counter on target land.

View file

@ -18,7 +18,7 @@ public final class ArchersOfQarsi extends CardImpl {
public ArchersOfQarsi(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.ARCHER);
this.power = new MageInt(5);
this.toughness = new MageInt(2);

View file

@ -20,7 +20,7 @@ import mage.game.permanent.token.FaerieRogueToken;
public final class Bitterblossom extends CardImpl {
public Bitterblossom(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{1}{B}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.ENCHANTMENT},"{1}{B}");
this.subtype.add(SubType.FAERIE);
// At the beginning of your upkeep, you lose 1 life and create a 1/1 black Faerie Rogue creature token with flying.

View file

@ -18,7 +18,7 @@ import java.util.UUID;
public final class BladesOfVelisVel extends CardImpl {
public BladesOfVelisVel(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{1}{R}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.INSTANT}, "{1}{R}");
this.subtype.add(SubType.SHAPESHIFTER);
// Changeling

View file

@ -54,7 +54,7 @@ class BloodOathEffect extends OneShotEffect {
choice.add(CardType.LAND.toString());
choice.add(CardType.PLANESWALKER.toString());
choice.add(CardType.SORCERY.toString());
choice.add(CardType.TRIBAL.toString());
choice.add(CardType.KINDRED.toString());
}
public BloodOathEffect() {
@ -97,8 +97,8 @@ class BloodOathEffect extends OneShotEffect {
type = CardType.SORCERY;
} else if (chosenType.equals(CardType.PLANESWALKER.toString())) {
type = CardType.PLANESWALKER;
} else if (chosenType.equals(CardType.TRIBAL.toString())) {
type = CardType.TRIBAL;
} else if (chosenType.equals(CardType.KINDRED.toString())) {
type = CardType.KINDRED;
}
if (type != null) {
Cards hand = opponent.getHand();

View file

@ -17,7 +17,7 @@ public final class BloodscaleProwler extends CardImpl {
public BloodscaleProwler(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}");
this.subtype.add(SubType.VIASHINO, SubType.WARRIOR);
this.subtype.add(SubType.LIZARD, SubType.WARRIOR);
this.power = new MageInt(3);
this.toughness = new MageInt(1);

View file

@ -22,7 +22,7 @@ public final class BoggartBirthRite extends CardImpl {
}
public BoggartBirthRite(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{B}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.SORCERY}, "{B}");
this.subtype.add(SubType.GOBLIN);
this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect());

View file

@ -26,7 +26,7 @@ public final class BoggartShenanigans extends CardImpl {
}
public BoggartShenanigans(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{2}{R}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ENCHANTMENT}, "{2}{R}");
this.subtype.add(SubType.GOBLIN);
// Whenever another Goblin you control dies, you may have Boggart Shenanigans deal 1 damage to target player.

View file

@ -20,7 +20,7 @@ import mage.target.common.TargetCreaturePermanent;
public final class BoundInSilence extends CardImpl {
public BoundInSilence(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{2}{W}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.ENCHANTMENT},"{2}{W}");
this.subtype.add(SubType.REBEL, SubType.AURA);

View file

@ -25,7 +25,7 @@ public final class BurningTreeBloodscale extends CardImpl {
public BurningTreeBloodscale(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}");
this.subtype.add(SubType.VIASHINO, SubType.BERSERKER);
this.subtype.add(SubType.LIZARD, SubType.BERSERKER);
this.power = new MageInt(2);
this.toughness = new MageInt(2);

View file

@ -5,7 +5,6 @@ import mage.abilities.common.DiesSourceTriggeredAbility;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@ -29,7 +28,7 @@ public final class CarrionThrash extends CardImpl {
public CarrionThrash(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{R}{G}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(4);

View file

@ -26,7 +26,7 @@ public final class ChampionOfWits extends CardImpl {
public ChampionOfWits(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(2);
this.toughness = new MageInt(1);

View file

@ -26,7 +26,7 @@ public final class CloakAndDagger extends CardImpl {
private static final FilterPermanent filter = new FilterCreaturePermanent(SubType.ROGUE, "a Rogue creature");
public CloakAndDagger(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ARTIFACT}, "{2}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ARTIFACT}, "{2}");
this.subtype.add(SubType.ROGUE);
this.subtype.add(SubType.EQUIPMENT);

View file

@ -30,7 +30,7 @@ public final class ConsumingBonfire extends CardImpl {
}
public ConsumingBonfire(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{3}{R}{R}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.SORCERY},"{3}{R}{R}");
this.subtype.add(SubType.ELEMENTAL);
// Choose one - Consuming Bonfire deals 4 damage to target non-Elemental creature;

View file

@ -23,7 +23,7 @@ public final class CorneredCrook extends CardImpl {
public CorneredCrook(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(5);
this.toughness = new MageInt(4);

View file

@ -19,7 +19,7 @@ import java.util.UUID;
public final class CribSwap extends CardImpl {
public CribSwap(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{2}{W}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.INSTANT}, "{2}{W}");
this.subtype.add(SubType.SHAPESHIFTER);
// Changeling

View file

@ -25,7 +25,7 @@ import mage.target.common.TargetCreaturePermanent;
public final class CrushUnderfoot extends CardImpl {
public CrushUnderfoot(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{1}{R}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.INSTANT},"{1}{R}");
this.subtype.add(SubType.GIANT);

View file

@ -22,7 +22,7 @@ public final class DaggerCaster extends CardImpl {
public DaggerCaster(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.ROGUE);
this.power = new MageInt(2);
this.toughness = new MageInt(3);

View file

@ -32,7 +32,7 @@ public final class DesiccatedNaga extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}");
this.subtype.add(SubType.ZOMBIE);
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.power = new MageInt(3);
this.toughness = new MageInt(2);

View file

@ -23,7 +23,7 @@ public final class DevoteeOfStrength extends CardImpl {
public DevoteeOfStrength(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(3);
this.toughness = new MageInt(2);

View file

@ -30,7 +30,7 @@ public final class DivinersWand extends CardImpl {
private static final FilterPermanent filter = new FilterCreaturePermanent(SubType.WIZARD, "a Wizard creature");
public DivinersWand(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ARTIFACT}, "{3}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ARTIFACT}, "{3}");
this.subtype.add(SubType.WIZARD);
this.subtype.add(SubType.EQUIPMENT);

View file

@ -33,7 +33,7 @@ public final class DuneDiviner extends CardImpl {
public DuneDiviner(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.CLERIC);
this.power = new MageInt(2);
this.toughness = new MageInt(3);

View file

@ -31,7 +31,7 @@ public final class EchoesOfEternity extends CardImpl {
}
public EchoesOfEternity(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{3}{C}{C}{C}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ENCHANTMENT}, "{3}{C}{C}{C}");
this.subtype.add(SubType.ELDRAZI);

View file

@ -21,7 +21,7 @@ import java.util.UUID;
public final class EgoErasure extends CardImpl {
public EgoErasure(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{2}{U}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.INSTANT}, "{2}{U}");
this.subtype.add(SubType.SHAPESHIFTER);
// Changeling

View file

@ -25,7 +25,7 @@ import mage.target.common.TargetCreaturePermanent;
public final class EldraziConscription extends CardImpl {
public EldraziConscription (UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{8}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.ENCHANTMENT},"{8}");
this.subtype.add(SubType.ELDRAZI);
this.subtype.add(SubType.AURA);

View file

@ -30,7 +30,7 @@ public final class EldritchImmunity extends CardImpl {
}
public EldritchImmunity(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{C}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.INSTANT}, "{C}");
this.subtype.add(SubType.ELDRAZI);

View file

@ -27,7 +27,7 @@ public final class ElvishPromenade extends CardImpl {
private static final DynamicValue elfCount = new PermanentsOnBattlefieldCount(filter);
public ElvishPromenade(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{3}{G}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.SORCERY}, "{3}{G}");
this.subtype.add(SubType.ELF);
this.getSpellAbility().addHint(new ValueHint("Elves you control", elfCount));

View file

@ -24,7 +24,7 @@ public final class EyeblightsEnding extends CardImpl {
}
public EyeblightsEnding(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{2}{B}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.INSTANT},"{2}{B}");
this.subtype.add(SubType.ELF);
this.getSpellAbility().addEffect(new DestroyTargetEffect());

View file

@ -28,7 +28,7 @@ public final class EyesOfTheWisent extends CardImpl {
}
public EyesOfTheWisent(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{G}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ENCHANTMENT}, "{1}{G}");
this.subtype.add(SubType.ELEMENTAL);
// Whenever an opponent casts a blue spell during your turn, you may create a 4/4 green Elemental creature token.

View file

@ -19,7 +19,7 @@ import java.util.UUID;
public final class FaerieTauntings extends CardImpl {
public FaerieTauntings(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{2}{B}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.ENCHANTMENT},"{2}{B}");
this.subtype.add(SubType.FAERIE);
// Whenever you cast a spell during an opponent's turn, you may have each opponent lose 1 life

View file

@ -24,7 +24,7 @@ public final class FaerieTrickery extends CardImpl {
}
public FaerieTrickery(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{1}{U}{U}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.INSTANT},"{1}{U}{U}");
this.subtype.add(SubType.FAERIE);

View file

@ -27,7 +27,7 @@ import mage.game.permanent.Permanent;
public final class FavorOfTheMighty extends CardImpl {
public FavorOfTheMighty(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{W}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ENCHANTMENT}, "{1}{W}");
this.subtype.add(SubType.GIANT);
// Each creature with the highest converted mana cost has protection from all colors.

View file

@ -57,7 +57,7 @@ class FertileImaginationEffect extends OneShotEffect {
choice.add(CardType.LAND.toString());
choice.add(CardType.PLANESWALKER.toString());
choice.add(CardType.SORCERY.toString());
choice.add(CardType.TRIBAL.toString());
choice.add(CardType.KINDRED.toString());
}
public FertileImaginationEffect() {
@ -100,8 +100,8 @@ class FertileImaginationEffect extends OneShotEffect {
type = CardType.SORCERY;
} else if (chosenType.equals(CardType.PLANESWALKER.toString())) {
type = CardType.PLANESWALKER;
} else if (chosenType.equals(CardType.TRIBAL.toString())) {
type = CardType.TRIBAL;
} else if (chosenType.equals(CardType.KINDRED.toString())) {
type = CardType.KINDRED;
}
if (type != null) {
Cards hand = opponent.getHand();

View file

@ -21,7 +21,7 @@ import mage.players.Player;
public final class FeudkillersVerdict extends CardImpl {
public FeudkillersVerdict(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{4}{W}{W}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.SORCERY}, "{4}{W}{W}");
this.subtype.add(SubType.GIANT);
// You gain 10 life. Then if you have more life than an opponent, create a 5/5 white Giant Warrior creature token.

View file

@ -11,8 +11,6 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
/**
@ -23,7 +21,7 @@ public final class FodderLaunch extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent(SubType.GOBLIN, "a Goblin");
public FodderLaunch(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{3}{B}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.SORCERY},"{3}{B}");
this.subtype.add(SubType.GOBLIN);
//As an additional cost to cast Fodder Launch, sacrifice a Goblin.

View file

@ -31,7 +31,7 @@ public final class GarrisonSergeant extends CardImpl {
public GarrisonSergeant(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{W}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(3);
this.toughness = new MageInt(3);

View file

@ -22,7 +22,7 @@ public final class GhorClanBloodscale extends CardImpl {
public GhorClanBloodscale(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(2);

View file

@ -26,7 +26,7 @@ public final class GiantsIre extends CardImpl {
}
public GiantsIre(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{3}{R}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.SORCERY}, "{3}{R}");
this.subtype.add(SubType.GIANT);
// Giant's Ire deals 4 damage to target player.

View file

@ -27,7 +27,7 @@ import java.util.UUID;
public final class GiltLeafAmbush extends CardImpl {
public GiltLeafAmbush(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{2}{G}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.INSTANT}, "{2}{G}");
this.subtype.add(SubType.ELF);
// Create two 1/1 green Elf Warrior creature tokens into play. Clash with an opponent. If you win, those creatures gain deathtouch until end of turn

View file

@ -20,7 +20,7 @@ public final class GloryscaleViashino extends CardImpl {
public GloryscaleViashino(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{G}{W}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(3);

View file

@ -25,7 +25,7 @@ public final class GuardianNaga extends AdventureCard {
public GuardianNaga(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, new CardType[]{CardType.INSTANT}, "{5}{W}{W}", "Banishing Coils", "{2}{W}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.power = new MageInt(5);
this.toughness = new MageInt(6);

View file

@ -19,7 +19,7 @@ public final class GurmagDrowner extends CardImpl {
public GurmagDrowner(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(2);
this.toughness = new MageInt(4);

View file

@ -17,7 +17,7 @@ public final class HarrierNaga extends CardImpl {
public HarrierNaga(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(3);
this.toughness = new MageInt(3);

View file

@ -35,7 +35,7 @@ public final class HivisOfTheScale extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.SHAMAN);
this.power = new MageInt(3);
this.toughness = new MageInt(4);

View file

@ -21,7 +21,7 @@ public final class HoodedBrawler extends CardImpl {
public HoodedBrawler(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(3);
this.toughness = new MageInt(2);

View file

@ -25,7 +25,7 @@ import java.util.UUID;
public final class HoofprintsOfTheStag extends CardImpl {
public HoofprintsOfTheStag(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{W}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ENCHANTMENT}, "{1}{W}");
this.subtype.add(SubType.ELEMENTAL);
// Whenever you draw a card, you may put a hoofprint counter on Hoofprints of the Stag.

View file

@ -17,7 +17,7 @@ import java.util.UUID;
public final class HuntingTriad extends CardImpl {
public HuntingTriad(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{3}{G}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.SORCERY}, "{3}{G}");
this.subtype.add(SubType.ELF);
this.getSpellAbility().addEffect(new CreateTokenEffect(new ElfWarriorToken(), 3));

View file

@ -36,7 +36,7 @@ public final class IdolOfFalseGods extends CardImpl {
}
public IdolOfFalseGods(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ARTIFACT}, "{2}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ARTIFACT}, "{2}");
this.subtype.add(SubType.ELDRAZI);

View file

@ -28,7 +28,7 @@ public final class IkraShidiqiTheUsurper extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{G}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(3);
this.toughness = new MageInt(7);

View file

@ -33,7 +33,7 @@ public final class ImmolationShaman extends CardImpl {
public ImmolationShaman(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.SHAMAN);
this.power = new MageInt(1);
this.toughness = new MageInt(3);

View file

@ -30,7 +30,7 @@ public final class ImotiCelebrantOfBounty extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{U}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.DRUID);
this.power = new MageInt(3);
this.toughness = new MageInt(1);

View file

@ -24,7 +24,7 @@ public final class JundSojourners extends CardImpl {
public JundSojourners(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{R}{G}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.SHAMAN);
this.power = new MageInt(3);
this.toughness = new MageInt(2);

View file

@ -43,7 +43,7 @@ public final class KadenaSlinkingSorcerer extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{G}{U}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(3);
this.toughness = new MageInt(3);

View file

@ -24,7 +24,7 @@ public final class KadenasSilencer extends CardImpl {
public KadenasSilencer(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(2);
this.toughness = new MageInt(1);

View file

@ -27,7 +27,7 @@ public final class KarsusDepthguard extends CardImpl {
public KarsusDepthguard(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(4);
this.toughness = new MageInt(3);

View file

@ -25,7 +25,7 @@ public final class KheruSpellsnatcher extends CardImpl {
public KheruSpellsnatcher(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(3);

View file

@ -24,7 +24,7 @@ import java.util.UUID;
public final class KnowledgeExploitation extends CardImpl {
public KnowledgeExploitation(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{5}{U}{U}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.SORCERY}, "{5}{U}{U}");
this.subtype.add(SubType.ROGUE);
// Prowl {3}{U}

View file

@ -32,7 +32,7 @@ import java.util.UUID;
public final class KozileksCommand extends CardImpl {
public KozileksCommand(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{X}{C}{C}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.INSTANT}, "{X}{C}{C}");
this.subtype.add(SubType.ELDRAZI);

View file

@ -35,7 +35,7 @@ public final class KyloxVisionaryInventor extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}{R}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.ARTIFICER);
this.power = new MageInt(4);
this.toughness = new MageInt(4);

View file

@ -25,7 +25,7 @@ import mage.target.common.TargetCreaturePermanent;
public final class Lignify extends CardImpl {
public Lignify(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{1}{G}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.ENCHANTMENT},"{1}{G}");
this.subtype.add(SubType.TREEFOLK);
this.subtype.add(SubType.AURA);

View file

@ -23,7 +23,7 @@ public final class MerrowCommerce extends CardImpl {
}
public MerrowCommerce(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{1}{U}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.ENCHANTMENT},"{1}{U}");
this.subtype.add(SubType.MERFOLK);

View file

@ -26,7 +26,7 @@ public final class MezzioMugger extends CardImpl {
public MezzioMugger(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.ROGUE);
this.power = new MageInt(3);
this.toughness = new MageInt(3);

View file

@ -26,7 +26,7 @@ public final class MilitiasPride extends CardImpl {
}
public MilitiasPride(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{W}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ENCHANTMENT}, "{1}{W}");
this.subtype.add(SubType.KITHKIN);
// Whenever a nontoken creature you control attacks, you may pay {W}. If you do, create a 1/1 white Kithkin Soldier creature token thats tapped and attacking.

View file

@ -26,7 +26,7 @@ public final class MindclawShaman extends CardImpl {
public MindclawShaman(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.SHAMAN);
this.power = new MageInt(2);

View file

@ -116,8 +116,8 @@ class MirrorGolemEffect extends ContinuousEffectImpl {
FilterCard filterCard;
if (cardType.equals(CardType.SORCERY)) {
filterCard = new FilterCard("sorceries");
} else if (cardType.equals(CardType.TRIBAL)) {
filterCard = new FilterCard("tribal");
} else if (cardType.equals(CardType.KINDRED)) {
filterCard = new FilterCard("kindred");
} else {
filterCard = new FilterCard(cardType.toString() + "s");
}

View file

@ -2,7 +2,6 @@ package mage.cards.m;
import mage.MageInt;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.CreateTokenCopySourceEffect;
import mage.abilities.keyword.NinjutsuAbility;
import mage.cards.CardImpl;
@ -20,7 +19,7 @@ public final class MistSyndicateNaga extends CardImpl {
public MistSyndicateNaga(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.NINJA);
this.power = new MageInt(3);
this.toughness = new MageInt(1);

View file

@ -22,7 +22,7 @@ import java.util.UUID;
public final class MorselTheft extends CardImpl {
public MorselTheft(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{2}{B}{B}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.SORCERY}, "{2}{B}{B}");
this.subtype.add(SubType.ROGUE);
// Prowl {1}{B}

View file

@ -17,7 +17,7 @@ public final class NagaEternal extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}");
this.subtype.add(SubType.ZOMBIE);
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.power = new MageInt(3);
this.toughness = new MageInt(2);
}

View file

@ -18,7 +18,7 @@ public final class NagaOracle extends CardImpl {
public NagaOracle(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.CLERIC);
this.power = new MageInt(2);
this.toughness = new MageInt(4);

View file

@ -19,7 +19,7 @@ public final class NagaVitalist extends CardImpl {
public NagaVitalist(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.DRUID);
this.power = new MageInt(1);
this.toughness = new MageInt(2);

View file

@ -20,7 +20,7 @@ import mage.target.common.TargetCreaturePermanent;
public final class NamelessInversion extends CardImpl {
public NamelessInversion(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{1}{B}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.INSTANT},"{1}{B}");
this.subtype.add(SubType.SHAPESHIFTER);

View file

@ -16,7 +16,7 @@ import java.util.UUID;
public final class NogginWhack extends CardImpl {
public NogginWhack(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{2}{B}{B}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.SORCERY}, "{2}{B}{B}");
this.subtype.add(SubType.ROGUE);
// Prowl {1}{B}

View file

@ -34,7 +34,7 @@ public final class NotOfThisWorld extends CardImpl {
}
public NotOfThisWorld(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{7}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.INSTANT}, "{7}");
this.subtype.add(SubType.ELDRAZI);
// Counter target spell or ability that targets a permanent you control.

View file

@ -27,7 +27,7 @@ import java.util.UUID;
public final class NotoriousThrong extends CardImpl {
public NotoriousThrong(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{3}{U}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.SORCERY}, "{3}{U}");
this.subtype.add(SubType.ROGUE);
// Prowl {5}{U}

View file

@ -22,7 +22,7 @@ public final class OasisRitualist extends CardImpl {
public OasisRitualist(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.DRUID);
this.power = new MageInt(2);
this.toughness = new MageInt(4);

View file

@ -26,7 +26,7 @@ public final class ObsidianBattleAxe extends CardImpl {
private static final FilterPermanent filter = new FilterCreaturePermanent(SubType.WARRIOR, "a Warrior creature");
public ObsidianBattleAxe(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ARTIFACT},"{3}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.ARTIFACT},"{3}");
this.subtype.add(SubType.WARRIOR);
this.subtype.add(SubType.EQUIPMENT);

View file

@ -31,7 +31,7 @@ public final class OgnisTheDragonsLash extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B/R}{R}{R/G}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(3);
this.toughness = new MageInt(3);

View file

@ -38,7 +38,7 @@ public final class OmarthisGhostfireInitiate extends CardImpl {
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.SPIRIT);
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.power = new MageInt(0);
this.toughness = new MageInt(0);

View file

@ -27,7 +27,7 @@ public final class Peppersmoke extends CardImpl {
}
public Peppersmoke(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{B}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.INSTANT},"{B}");
this.subtype.add(SubType.FAERIE);

View file

@ -22,7 +22,7 @@ public final class PlasmaJockey extends CardImpl {
public PlasmaJockey(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(3);
this.toughness = new MageInt(1);

View file

@ -25,7 +25,7 @@ public final class ProfanerOfTheDead extends CardImpl {
public ProfanerOfTheDead(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(3);
this.toughness = new MageInt(3);

View file

@ -27,7 +27,7 @@ public final class ProwessOfTheFair extends CardImpl {
}
public ProwessOfTheFair(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{B}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ENCHANTMENT}, "{1}{B}");
this.subtype.add(SubType.ELF);
// Whenever another nontoken Elf is put into your graveyard from the battlefield, you may create a 1/1 green Elf Warrior creature token.

View file

@ -37,7 +37,7 @@ public final class PyreSledgeArsonist extends CardImpl {
public PyreSledgeArsonist(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.SHAMAN);
this.power = new MageInt(2);
this.toughness = new MageInt(2);

View file

@ -29,7 +29,7 @@ public final class PyrotechnicPerformer extends CardImpl {
public PyrotechnicPerformer(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.ASSASSIN);
this.power = new MageInt(3);
this.toughness = new MageInt(2);

View file

@ -27,7 +27,7 @@ public final class QarsiDeceiver extends CardImpl {
public QarsiDeceiver(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(0);
this.toughness = new MageInt(4);

View file

@ -34,7 +34,7 @@ public final class RalsStaticaster extends CardImpl {
public RalsStaticaster(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(3);
this.toughness = new MageInt(3);

View file

@ -19,7 +19,7 @@ public final class RamunapExcavator extends CardImpl {
public RamunapExcavator(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
this.subtype.add(SubType.NAGA);
this.subtype.add(SubType.SNAKE);
this.subtype.add(SubType.CLERIC);
this.power = new MageInt(2);
this.toughness = new MageInt(3);

View file

@ -21,7 +21,7 @@ public final class ReachOfBranches extends CardImpl {
private static final FilterLandPermanent filter = new FilterLandPermanent(SubType.FOREST, "a Forest");
public ReachOfBranches(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{4}{G}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.INSTANT}, "{4}{G}");
this.subtype.add(SubType.TREEFOLK);
// Create a 2/5 green Treefolk Shaman creature token.

View file

@ -28,7 +28,7 @@ import java.util.stream.Collectors;
public final class RebellionOfTheFlamekin extends CardImpl {
public RebellionOfTheFlamekin(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{3}{R}");
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ENCHANTMENT}, "{3}{R}");
this.subtype.add(SubType.ELEMENTAL);
// Whenever you clash, you may pay {1}. If you do create a 3/1 Red Elemental Shaman creature token in play. If you won that token gains haste

View file

@ -19,7 +19,7 @@ public final class Retromancer extends CardImpl {
public Retromancer(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.SHAMAN);
this.power = new MageInt(3);
this.toughness = new MageInt(3);

View file

@ -38,7 +38,7 @@ public final class RivazOfTheClaw extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{R}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.WARLOCK);
this.power = new MageInt(3);
this.toughness = new MageInt(3);

View file

@ -21,7 +21,7 @@ public final class RiveteersInitiate extends CardImpl {
public RiveteersInitiate(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.CITIZEN);
this.power = new MageInt(2);
this.toughness = new MageInt(2);

View file

@ -20,7 +20,7 @@ public final class RiveteersRequisitioner extends CardImpl {
public RiveteersRequisitioner(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.ROGUE);
this.power = new MageInt(3);
this.toughness = new MageInt(1);

View file

@ -30,7 +30,7 @@ public final class Rootgrapple extends CardImpl {
}
public Rootgrapple(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{4}{G}");
super(ownerId,setInfo,new CardType[]{CardType.KINDRED,CardType.INSTANT},"{4}{G}");
this.subtype.add(SubType.TREEFOLK);
// Destroy target noncreature permanent.

View file

@ -23,7 +23,7 @@ public final class RubblebeltBraggart extends CardImpl {
public RubblebeltBraggart(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(5);
this.toughness = new MageInt(5);

View file

@ -28,7 +28,7 @@ public final class RubblebeltRunner extends CardImpl {
public RubblebeltRunner(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{G}");
this.subtype.add(SubType.VIASHINO);
this.subtype.add(SubType.LIZARD);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(3);
this.toughness = new MageInt(3);

Some files were not shown because too many files have changed in this diff Show more