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 FirstComeFirstServed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); // Each attacking or blocking creature with the lowest collector number among attacking or blocking creatures has first strike. GainAbilityAllEffect gainEffect = new GainAbilityAllEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield, filter, false); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, gainEffect)); }
public HuntedDragonKnightToken() { super("Knight", "2/2 white Knight creature tokens with first strike"); cardType.add(CardType.CREATURE); color.setWhite(true); subtype.add(SubType.KNIGHT); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(FirstStrikeAbility.getInstance()); }
public GhituEncampmentToken() { super("Warrior", "2/1 red Warrior creature with first strike"); cardType.add(CardType.CREATURE); this.subtype.add(SubType.WARRIOR); this.color.setRed(true); power = new MageInt(2); toughness = new MageInt(1); this.addAbility(FirstStrikeAbility.getInstance()); } public GhituEncampmentToken(final GhituEncampmentToken token) {
public LightningHounds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(2); // First strike this.addAbility(FirstStrikeAbility.getInstance()); }
public AnabaBodyguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(2); this.toughness = new MageInt(3); this.addAbility(FirstStrikeAbility.getInstance()); }
public TundraWolves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); this.subtype.add(SubType.WOLF); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(FirstStrikeAbility.getInstance()); }
public YouthfulKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); this.addAbility(FirstStrikeAbility.getInstance()); }
public NantukoMonasteryToken() { super("", "4/4 green and white Insect Monk creature with first strike"); cardType.add(CardType.CREATURE); subtype.add(SubType.INSECT); subtype.add(SubType.MONK); color.setGreen(true); color.setWhite(true); power = new MageInt(4); toughness = new MageInt(4); this.addAbility(FirstStrikeAbility.getInstance()); } public NantukoMonasteryToken(final NantukoMonasteryToken token) {
public Halberdier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(3); this.toughness = new MageInt(1); // First strike this.addAbility(FirstStrikeAbility.getInstance()); }
public SerraZealot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(FirstStrikeAbility.getInstance()); }
public ViashinoSpearhunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); this.subtype.add(SubType.VIASHINO); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); this.addAbility(FirstStrikeAbility.getInstance()); }
public ShinenOfStarsLight(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); // First strike this.addAbility(FirstStrikeAbility.getInstance()); // Channel - {1}{W}, Discard Shinen of Stars' Light: Target creature gains first strike until end of turn. Ability ability = new ChannelAbility("{1}{W}", new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); }
public VampiricFury(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}"); // Vampire creatures you control get +2/+0 and gain first strike until end of turn. this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn, vampires)); this.getSpellAbility().addEffect(new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, vampires)); }
public RazorSwine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); this.subtype.add(SubType.BOAR); this.power = new MageInt(2); this.toughness = new MageInt(1); this.addAbility(FirstStrikeAbility.getInstance()); this.addAbility(InfectAbility.getInstance()); }
public BenalishKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); this.subtype.add(SubType.HUMAN, SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(FlashAbility.getInstance()); this.addAbility(FirstStrikeAbility.getInstance()); }
public Narwhal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); this.subtype.add(SubType.WHALE); this.power = new MageInt(2); this.toughness = new MageInt(2); // First strike this.addAbility(FirstStrikeAbility.getInstance()); // protection from red this.addAbility(ProtectionAbility.from(ObjectColor.RED)); }
public VoicelessSpirit(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); this.addAbility(FlyingAbility.getInstance()); this.addAbility(FirstStrikeAbility.getInstance()); }
public SilverclawGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(3); this.toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); this.addAbility(FirstStrikeAbility.getInstance()); }
public WallOfRazors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); this.subtype.add(SubType.WALL); this.power = new MageInt(4); this.toughness = new MageInt(1); // Defender this.addAbility(DefenderAbility.getInstance()); // First strike this.addAbility(FirstStrikeAbility.getInstance()); }