This commit is contained in:
Alex W. Jackson 2022-02-18 11:56:44 -05:00
parent e91c6ad65c
commit 69f8e05c62
5 changed files with 16 additions and 37 deletions

View file

@ -1,4 +1,3 @@
package mage.cards.c;
import java.util.UUID;
@ -23,11 +22,7 @@ import mage.filter.common.FilterCreaturePermanent;
*/
public final class CloakAndDagger extends CardImpl {
private static final FilterPermanent filter = new FilterCreaturePermanent("a Rogue creature");
static {
filter.add(SubType.ROGUE.getPredicate());
}
private static final FilterPermanent filter = new FilterCreaturePermanent(SubType.ROGUE, "a Rogue creature");
public CloakAndDagger(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ARTIFACT}, "{2}");

View file

@ -27,25 +27,13 @@ import java.util.UUID;
*/
public final class DivinersWand extends CardImpl {
private static final FilterPermanent filter = new FilterCreaturePermanent("a Wizard creature");
static {
filter.add(SubType.WIZARD.getPredicate());
}
private static final FilterPermanent filter = new FilterCreaturePermanent(SubType.WIZARD, "a Wizard creature");
public DivinersWand(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ARTIFACT}, "{3}");
this.subtype.add(SubType.WIZARD);
this.subtype.add(SubType.EQUIPMENT);
// Whenever a Wizard creature enters the battlefield, you may attach Diviner's Wand to it.
this.addAbility(new EntersBattlefieldAllTriggeredAbility(
Zone.BATTLEFIELD, new AttachEffect(Outcome.Detriment, "attach {this} to it"),
filter, true, SetTargetPointer.PERMANENT, null));
// Equip {3}
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3)));
// Equipped creature has "Whenever you draw a card, this creature gets +1/+1 and gains flying until end of turn" and "{4}: Draw a card."
// new abilities
Ability newBoost = new DrawCardControllerTriggeredAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), false);
@ -60,6 +48,14 @@ public final class DivinersWand extends CardImpl {
Ability totalAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, effectBoost);
totalAbility.addEffect(effectDraw.concatBy("and"));
this.addAbility(totalAbility);
// Whenever a Wizard creature enters the battlefield, you may attach Diviner's Wand to it.
this.addAbility(new EntersBattlefieldAllTriggeredAbility(
Zone.BATTLEFIELD, new AttachEffect(Outcome.Detriment, "attach {this} to it"),
filter, true, SetTargetPointer.PERMANENT, null));
// Equip {3}
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3)));
}
private DivinersWand(final DivinersWand card) {

View file

@ -1,4 +1,3 @@
package mage.cards.o;
import java.util.UUID;
@ -23,10 +22,7 @@ import mage.filter.common.FilterCreaturePermanent;
*/
public final class ObsidianBattleAxe extends CardImpl {
private static final FilterPermanent filter = new FilterCreaturePermanent("a Warrior creature");
static {
filter.add(SubType.WARRIOR.getPredicate());
}
private static final FilterPermanent filter = new FilterCreaturePermanent(SubType.WARRIOR, "a Warrior creature");
public ObsidianBattleAxe(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ARTIFACT},"{3}");
@ -35,7 +31,7 @@ public final class ObsidianBattleAxe extends CardImpl {
// Equipped creature gets +2/+1 and has haste.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 1));
ability.addEffect(new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT));
ability.addEffect(new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT).setText("and has haste"));
this.addAbility(ability);
// Whenever a Warrior creature enters the battlefield, you may attach Obsidian Battle-Axe to it.
this.addAbility(new EntersBattlefieldAllTriggeredAbility(

View file

@ -1,4 +1,3 @@
package mage.cards.t;
import java.util.UUID;
@ -28,10 +27,7 @@ import mage.target.common.TargetAnyTarget;
*/
public final class ThornbiteStaff extends CardImpl {
private static final FilterPermanent filter = new FilterCreaturePermanent("a Shaman creature");
static {
filter.add(SubType.SHAMAN.getPredicate());
}
private static final FilterPermanent filter = new FilterCreaturePermanent(SubType.SHAMAN, "a Shaman creature");
public ThornbiteStaff(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ARTIFACT},"{2}");

View file

@ -1,4 +1,3 @@
package mage.cards.v;
import java.util.UUID;
@ -26,10 +25,8 @@ import mage.filter.common.FilterCreaturePermanent;
*/
public final class VeteransArmaments extends CardImpl {
private static final FilterPermanent filter = new FilterCreaturePermanent("a Soldier creature");
static {
filter.add(SubType.SOLDIER.getPredicate());
}
private static final FilterPermanent filter = new FilterCreaturePermanent(SubType.SOLDIER, "a Soldier creature");
private static final DynamicValue xValue = new AttackingCreatureCount();
public VeteransArmaments(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ARTIFACT},"{2}");
@ -37,8 +34,7 @@ public final class VeteransArmaments extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature has "Whenever this creature attacks or blocks, it gets +1/+1 until end of turn for each attacking creature."
DynamicValue attackingCreatures = new AttackingCreatureCount("attacking creature");
Ability gainedAbility = new AttacksOrBlocksTriggeredAbility(new BoostSourceEffect(attackingCreatures,attackingCreatures, Duration.EndOfTurn),false);
Ability gainedAbility = new AttacksOrBlocksTriggeredAbility(new BoostSourceEffect(xValue, xValue, Duration.EndOfTurn, true), false);
Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.EQUIPMENT);
effect.setText("Equipped creature has \"Whenever this creature attacks or blocks, it gets +1/+1 until end of turn for each attacking creature.\"");
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);