public DauthiMarauder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); this.subtype.add(SubType.DAUTHI); this.subtype.add(SubType.MINION); this.power = new MageInt(3); this.toughness = new MageInt(1); // Shadow this.addAbility(ShadowAbility.getInstance()); }
private ShadowAbility() { this.addEffect(new ShadowEffect()); }
@Override public boolean applies(Permanent permanent, Ability source, Game game) { return permanent.getAbilities().containsKey(ShadowAbility.getInstance().getId()); }
public ThalakosSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); this.subtype.add(SubType.THALAKOS); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); // Shadow this.addAbility(ShadowAbility.getInstance()); }
@Override public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { return attacker.getAbilities().containsKey(ShadowAbility.getInstance().getId()); }
public SoltariFootSoldier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); this.subtype.add(SubType.SOLTARI); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); // Shadow this.addAbility(ShadowAbility.getInstance()); }
@Override public boolean canBeBlocked(Permanent attacker, Permanent blocker, Ability source, Game game) { return blocker.getAbilities().containsKey(ShadowAbility.getInstance().getId()) || null != game.getContinuousEffects().asThough(blocker.getId(), AsThoughEffectType.BLOCK_SHADOW, source, blocker.getControllerId(), game); }
public SpiritEnDal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); // Shadow this.addAbility(ShadowAbility.getInstance()); // Forecast - {1}{W}, Reveal Spirit en-Dal from your hand: Target creature gains shadow until end of turn. Ability ability = new ForecastAbility(new GainAbilityTargetEffect(ShadowAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{W}")); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); }
public ShadowSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); // All Sliver creatures have shadow. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect( ShadowAbility.getInstance(), Duration.WhileOnBattlefield, filter, "All Sliver creatures have shadow."))); }
public SoltariPriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); this.subtype.add(SubType.SOLTARI); this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); // Protection from red this.addAbility(ProtectionAbility.from(ObjectColor.RED)); // Shadow this.addAbility(ShadowAbility.getInstance()); }
public DauthiSlayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); this.subtype.add(SubType.DAUTHI); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); // Shadow this.addAbility(ShadowAbility.getInstance()); // Dauthi Slayer attacks each turn if able. this.addAbility(new AttacksEachCombatStaticAbility()); }
public SoltariVisionary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); this.subtype.add(SubType.SOLTARI); this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); // Shadow this.addAbility(ShadowAbility.getInstance()); // Whenever Soltari Visionary deals damage to a player, destroy target enchantment that player controls. this.addAbility(new SoltariVisionaryTriggeredAbility()); }
public SoltariMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); this.subtype.add(SubType.SOLTARI); this.subtype.add(SubType.MONK); this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); // Protection from black this.addAbility(ProtectionAbility.from(ObjectColor.BLACK)); // Shadow this.addAbility(ShadowAbility.getInstance()); }
public StrongholdRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(1); // Shadow this.addAbility(ShadowAbility.getInstance()); // Whenever Stronghold Rats deals combat damage to a player, each player discards a card. this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DiscardEachPlayerEffect(), false)); }
public DauthiEmbrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); // {B}{B}: Target creature gains shadow until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(ShadowAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{B}{B}")); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); }
public NetherTraitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); // Haste this.addAbility(HasteAbility.getInstance()); // Shadow this.addAbility(ShadowAbility.getInstance()); // Whenever another creature is put into your graveyard from the battlefield, you may pay {B}. If you do, return Nether Traitor from your graveyard to the battlefield. this.addAbility(new NetherTraitorTriggeredAbility()); }
public RealityAnchor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{G}"); // Target creature loses shadow until end of turn. this.getSpellAbility().addEffect(new LoseAbilityTargetEffect(ShadowAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // Draw a card. this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); }
public SoltariTrooper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); this.subtype.add(SubType.SOLTARI); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); // Shadow this.addAbility(ShadowAbility.getInstance()); // Whenever Soltari Trooper attacks, it gets +1/+1 until end of turn. this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(1,1,Duration.EndOfTurn), false)); }
public SoltariChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); this.subtype.add(SubType.SOLTARI); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); // Shadow this.addAbility(ShadowAbility.getInstance()); // Whenever Soltari Champion attacks, other creatures you control get +1/+1 until end of turn. this.addAbility(new AttacksTriggeredAbility(new BoostControlledEffect(1, 1, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES, true), false)); }
public InfiltratorIlKor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); this.subtype.add(SubType.KOR); this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(1); // Shadow this.addAbility(ShadowAbility.getInstance()); // Suspend 2-{1}{U} this.addAbility(new SuspendAbility(2, new ManaCostsImpl("{1}{U}"), this)); }