@Override public boolean canBeBlocked(Permanent attacker, Permanent blocker, Ability source, Game game) { if (blocker.getAbilities().containsKey(FlyingAbility.getInstance().getId()) || blocker.getAbilities().containsKey(ReachAbility.getInstance().getId())) { return true; } return false; }
public HiddenSpiderToken() { super("Spider", "3/5 Spider creature with reach"); cardType.add(CardType.CREATURE); subtype.add(SubType.SPIDER); power = new MageInt(3); toughness = new MageInt(5); this.addAbility(ReachAbility.getInstance()); } public HiddenSpiderToken(final HiddenSpiderToken token) {
public NeedleshotGourna(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(6); // Reach this.addAbility(ReachAbility.getInstance()); }
public GoliathSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); this.subtype.add(SubType.SPIDER); this.power = new MageInt(7); this.toughness = new MageInt(6); this.addAbility(ReachAbility.getInstance()); }
@Override public boolean applies(Permanent permanent, Ability source, Game game) { if (permanent.hasAbility(FlyingAbility.getInstance().getId(), game) || permanent.hasAbility(ReachAbility.getInstance().getId(), game)) { return false; } return game.getOpponents(source.getControllerId()).contains(permanent.getControllerId()); }
public ToweringIndrik(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(4); // Reach this.addAbility(ReachAbility.getInstance()); }
@Override public boolean canBeBlocked(Permanent attacker, Permanent blocker, Ability source, Game game) { return blocker.getAbilities().containsKey(FlyingAbility.getInstance().getId()) || blocker.getAbilities().containsKey(ReachAbility.getInstance().getId()) || (null != game.getContinuousEffects().asThough(blocker.getId(), AsThoughEffectType.BLOCK_DRAGON, source, blocker.getControllerId(), game) && attacker.hasSubtype(SubType.DRAGON, game)); }
public SkyrakerGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(3); // Reach this.addAbility(ReachAbility.getInstance()); }
public MammothSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); this.subtype.add(SubType.SPIDER); this.power = new MageInt(3); this.toughness = new MageInt(5); // Reach this.addAbility(ReachAbility.getInstance()); }
public RibCageSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); this.subtype.add(SubType.SPIDER); this.power = new MageInt(1); this.toughness = new MageInt(4); // Reach this.addAbility(ReachAbility.getInstance()); }
public FeiyiSnake(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); // Reach this.addAbility(ReachAbility.getInstance()); }
public CanopySpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); this.subtype.add(SubType.SPIDER); this.power = new MageInt(1); this.toughness = new MageInt(3); this.addAbility(ReachAbility.getInstance()); }
public PlatedSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); this.subtype.add(SubType.SPIDER); this.power = new MageInt(4); this.toughness = new MageInt(4); // Reach this.addAbility(ReachAbility.getInstance()); }
public GiantMantis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(4); // Reach this.addAbility(ReachAbility.getInstance()); }
public CrossbowAmbush(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{G}"); // Creatures you control gain reach until end of turn. this.getSpellAbility().addEffect(new GainAbilityControlledEffect(ReachAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent("Creatures"))); }
public AlabornMusketeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); // Reach this.addAbility(ReachAbility.getInstance()); }
public GrapplerSpider (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); this.subtype.add(SubType.SPIDER); this.color.setGreen(true); this.power = new MageInt(2); this.toughness = new MageInt(1); this.addAbility(ReachAbility.getInstance()); }
public RubbleSlinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R/G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); // Reach this.addAbility(ReachAbility.getInstance()); }
public Gloomwidow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); this.subtype.add(SubType.SPIDER); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(ReachAbility.getInstance()); // Gloomwidow can block only creatures with flying. this.addAbility(new CanBlockOnlyFlyingAbility()); }
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)); }