private boolean hasDoubleStrike(Permanent perm) { return perm.getAbilities().containsKey(DoubleStrikeAbility.getInstance().getId()); }
public AtarkaWorldRenderEffect() { super(Zone.BATTLEFIELD, new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn)); }
public RafiqOfTheManyAbility() { super(Zone.BATTLEFIELD, new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn)); }
public CleaverRiot(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{R}"); // Creatures you control gain double strike until end of turn. this.getSpellAbility().addEffect(new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, false)); }
private boolean hasFirstOrDoubleStrike(Permanent perm) { return perm.getAbilities().containsKey(FirstStrikeAbility.getInstance().getId()) || perm.getAbilities().containsKey(DoubleStrikeAbility.getInstance().getId()); }
public BorosSwiftblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); this.subtype.add(SubType.HUMAN, SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); this.addAbility(DoubleStrikeAbility.getInstance()); }
public CreatureSimulator(Permanent permanent) { this.id = permanent.getId(); this.damage = permanent.getDamage(); this.power = permanent.getPower().getValue(); this.toughness = permanent.getToughness().getValue(); this.hasDoubleStrike = permanent.getAbilities().containsKey(DoubleStrikeAbility.getInstance().getId()); this.hasFirstStrike = permanent.getAbilities().containsKey(FirstStrikeAbility.getInstance().getId()); this.hasTrample = permanent.getAbilities().containsKey(TrampleAbility.getInstance().getId()); }
public TwoHeadedCerberus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); this.subtype.add(SubType.HOUND); this.power = new MageInt(1); this.toughness = new MageInt(2); // Double strike this.addAbility(DoubleStrikeAbility.getInstance()); }
protected int combatPotential(Permanent creature, Game game) { log.debug("combatPotential"); if (!creature.canAttack(null, game)) { return 0; } int potential = creature.getPower().getValue(); potential += creature.getAbilities().getEvasionAbilities().size(); potential += creature.getAbilities().getProtectionAbilities().size(); potential += creature.getAbilities().containsKey(FirstStrikeAbility.getInstance().getId()) ? 1 : 0; potential += creature.getAbilities().containsKey(DoubleStrikeAbility.getInstance().getId()) ? 2 : 0; potential += creature.getAbilities().containsKey(TrampleAbility.getInstance().getId()) ? 1 : 0; return potential; }
public RageReflection(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}{R}"); // Creatures you control have double strike. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE, false))); }
public GoringCeratops(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}{W}"); this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(3); this.toughness = new MageInt(3); // Double Strike this.addAbility(DoubleStrikeAbility.getInstance()); // Whenever Goring Ceratops attacks, other creatures you control gain double strike until end of turn. Effect effect = new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, true); effect.setText("other creatures you control gain double strike until end of turn"); Ability ability = new AttacksTriggeredAbility(effect, false); this.addAbility(ability); }
public NeedleSpiresToken() { super("", "2/1 red and white Elemental creature with double strike"); cardType.add(CardType.CREATURE); subtype.add(SubType.ELEMENTAL); color.setRed(true); color.setWhite(true); power = new MageInt(2); toughness = new MageInt(1); addAbility(DoubleStrikeAbility.getInstance()); } public NeedleSpiresToken(final NeedleSpiresToken token) {
public FencingAce(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(1); this.toughness = new MageInt(1); // Double Strike this.addAbility(DoubleStrikeAbility.getInstance()); }
public BerserkersOnslaught(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{R}{R}"); // Attacking creatures you control have double strike. GainAbilityControlledEffect gainEffect = new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, new FilterAttackingCreature("Attacking creatures"), false); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, gainEffect)); }
public HearthfireHobgoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/W}{R/W}{R/W}"); this.subtype.add(SubType.GOBLIN); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(DoubleStrikeAbility.getInstance()); }
public IroassChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); // Double strike this.addAbility(DoubleStrikeAbility.getInstance()); }
public RidgetopRaptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); this.subtype.add(SubType.DINOSAUR); this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(1); // Double strike this.addAbility(DoubleStrikeAbility.getInstance()); }
public MarisisTwinclaws (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/W}{G}"); this.subtype.add(SubType.CAT); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(4); this.addAbility(DoubleStrikeAbility.getInstance()); }
public WreckingOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); this.subtype.add(SubType.OGRE); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); // Double strike this.addAbility(DoubleStrikeAbility.getInstance()); // Bloodrush - {3}{R}{R}, Discard Wrecking Ogre: Target attacking creature gets +3/+3 and gains double strike until end of turn. Ability ability = new BloodrushAbility("{3}{R}{R}", new BoostTargetEffect(3, 3, Duration.EndOfTurn)); ability.addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn)); this.addAbility(ability); }
public ArashinForemost(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); // Double strike this.addAbility(DoubleStrikeAbility.getInstance()); // Whenever Arashin Foremost enters the battlefield or attacks, another target Warrior creature you control gains double strike until end of turn. Ability ability = new EntersBattlefieldOrAttacksSourceTriggeredAbility(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn)); ability.addTarget(new TargetControlledCreaturePermanent(filter)); this.addAbility(ability); }