@Override public DiesTriggeredAbility copy() { return new SoulshiftAbility(this); }
@Override public void trigger(Game game, UUID controllerId) { this.getTargets().clear(); int intValue = amount.calculate(game, this, null); FilterCard filter = new FilterCard("Spirit card with converted mana cost " + intValue + " or less from your graveyard"); filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, intValue + 1)); filter.add(new SubtypePredicate(SubType.SPIRIT)); this.addTarget(new TargetCardInYourGraveyard(filter)); super.trigger(game, controllerId); //To change body of generated methods, choose Tools | Templates. }
public ForkedBranchGarami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); // Soulshift 4, soulshift 4 (When this creature dies, you may return up to two target Spirit cards with converted mana cost 4 or less from your graveyard to your hand.) this.addAbility(new SoulshiftAbility(4)); this.addAbility(new SoulshiftAbility(4)); }
public KamiOfEmptyGraves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(1); this.addAbility(new SoulshiftAbility(3)); }
public NightsoilKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(4); this.addAbility(new SoulshiftAbility(5)); }
public ThousandLeggedKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{G}{G}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(6); this.addAbility(new SoulshiftAbility(7)); }
public PromisedKannushi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new SoulshiftAbility(7)); }
public HarbingerOfSpring(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); // Protection from non-Spirit creatures this.addAbility(new ProtectionAbility(filter)); // Soulshift 4 this.addAbility(new SoulshiftAbility(4)); }
public ToriiWatchward(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(VigilanceAbility.getInstance()); this.addAbility(new SoulshiftAbility(4)); }
public CrawlingFilth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(FearAbility.getInstance()); this.addAbility(new SoulshiftAbility(5)); }
public VenerableKumo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); this.addAbility(ReachAbility.getInstance()); this.addAbility(new SoulshiftAbility(4)); }
public GibberingKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); this.addAbility(new SoulshiftAbility(3)); }
public BodyOfJukai(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{G}{G}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(8); this.toughness = new MageInt(5); this.addAbility(TrampleAbility.getInstance()); this.addAbility(new SoulshiftAbility(8)); }
public HundredTalonKami (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); this.addAbility(new SoulshiftAbility(4)); }
public KamiOfLunacy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); this.addAbility(new SoulshiftAbility(5)); }
public VineKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); // Menace (This creature can't be blocked except by two or more creatures.) this.addAbility(new MenaceAbility()); this.addAbility(new SoulshiftAbility(6)); }
public KamiOfTheHonoredDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(5); // Flying this.addAbility(FlyingAbility.getInstance()); // Whenever Kami of the Honored Dead is dealt damage, you gain that much life. this.addAbility(new KamiOfTheHonoredDeadTriggeredAbility()); // Soulshift 6 (When this creature dies, you may return target Spirit card with converted mana cost 6 or less from your graveyard to your hand.) this.addAbility(new SoulshiftAbility(6)); }
public KamiOfThePalaceFields(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); this.addAbility(FirstStrikeAbility.getInstance()); this.addAbility(new SoulshiftAbility(5)); }
public ElderPineOfJukai(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); // Whenever you cast a Spirit or Arcane spell, reveal the top three cards of your library. Put all land cards revealed this way into your hand and the rest on the bottom of your library in any order. this.addAbility(new SpellCastControllerTriggeredAbility(new RevealLibraryPutIntoHandEffect(3, new FilterLandCard(), Zone.LIBRARY), StaticFilters.SPIRIT_OR_ARCANE_CARD, false)); // Soulshift 2 this.addAbility(new SoulshiftAbility(2)); }
public KamiOfTheTendedGarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); // At the beginning of your upkeep, sacrifice Kami of the Tended Garden unless you pay {G}. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ColoredManaCost(ColoredManaSymbol.G)), TargetController.YOU, false)); this.addAbility(new SoulshiftAbility(3)); }