[ACR] Implement Hunter's Bow

This commit is contained in:
theelk801 2024-06-19 08:13:58 -04:00
parent daef3ef798
commit 94b6f71eac
2 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,56 @@
package mage.cards.h;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldAttachToTarget;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DamageWithPowerFromOneToAnotherTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EquipAbility;
import mage.abilities.keyword.ReachAbility;
import mage.abilities.keyword.WardAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.filter.StaticFilters;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class HuntersBow extends CardImpl {
public HuntersBow(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{G}");
// When Hunter's Bow enters the battlefield, attach it to target creature you control. That creature deals damage equal to its power to up to one target creature you don't control.
Ability ability = new EntersBattlefieldAttachToTarget();
ability.addEffect(new DamageWithPowerFromOneToAnotherTargetEffect("that creature"));
ability.addTarget(new TargetPermanent(0, 1, StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL));
this.addAbility(ability);
// Equipped creature has reach and ward {2}.
ability = new SimpleStaticAbility(new GainAbilityAttachedEffect(
ReachAbility.getInstance(), AttachmentType.EQUIPMENT
));
ability.addEffect(new GainAbilityAttachedEffect(
new WardAbility(new GenericManaCost(2)), AttachmentType.EQUIPMENT
).setText("and ward {2}"));
this.addAbility(ability);
// Equip {1}
this.addAbility(new EquipAbility(1));
}
private HuntersBow(final HuntersBow card) {
super(card);
}
@Override
public HuntersBow copy() {
return new HuntersBow(this);
}
}

View file

@ -35,6 +35,7 @@ public final class AssassinsCreed extends ExpansionSet {
cards.add(new SetCardInfo("Fiery Islet", 112, Rarity.RARE, mage.cards.f.FieryIslet.class)); cards.add(new SetCardInfo("Fiery Islet", 112, Rarity.RARE, mage.cards.f.FieryIslet.class));
cards.add(new SetCardInfo("Haystack", 5, Rarity.UNCOMMON, mage.cards.h.Haystack.class)); cards.add(new SetCardInfo("Haystack", 5, Rarity.UNCOMMON, mage.cards.h.Haystack.class));
cards.add(new SetCardInfo("Hidden Blade", 73, Rarity.UNCOMMON, mage.cards.h.HiddenBlade.class)); cards.add(new SetCardInfo("Hidden Blade", 73, Rarity.UNCOMMON, mage.cards.h.HiddenBlade.class));
cards.add(new SetCardInfo("Hunter's Bow", 41, Rarity.UNCOMMON, mage.cards.h.HuntersBow.class));
cards.add(new SetCardInfo("Mary Read and Anne Bonny", 61, Rarity.RARE, mage.cards.m.MaryReadAndAnneBonny.class)); cards.add(new SetCardInfo("Mary Read and Anne Bonny", 61, Rarity.RARE, mage.cards.m.MaryReadAndAnneBonny.class));
cards.add(new SetCardInfo("Murder", 92, Rarity.COMMON, mage.cards.m.Murder.class)); cards.add(new SetCardInfo("Murder", 92, Rarity.COMMON, mage.cards.m.Murder.class));
cards.add(new SetCardInfo("Nurturing Peatland", 114, Rarity.RARE, mage.cards.n.NurturingPeatland.class)); cards.add(new SetCardInfo("Nurturing Peatland", 114, Rarity.RARE, mage.cards.n.NurturingPeatland.class));