[FIN] Implement Bard's Bow

This commit is contained in:
theelk801 2025-05-27 18:40:59 -04:00 committed by Failure
parent 43ce42e488
commit a7d9685ffd
2 changed files with 55 additions and 0 deletions

View file

@ -0,0 +1,54 @@
package mage.cards.b;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.continuous.AddCardSubtypeAttachedEffect;
import mage.abilities.effects.common.continuous.BoostEquippedEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EquipAbility;
import mage.abilities.keyword.JobSelectAbility;
import mage.abilities.keyword.ReachAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.SubType;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class BardsBow extends CardImpl {
public BardsBow(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}{G}");
this.subtype.add(SubType.EQUIPMENT);
// Job select
this.addAbility(new JobSelectAbility());
// Equipped creature gets +2/+2, has reach, and is a Bard in addition to its other types.
Ability ability = new SimpleStaticAbility(new BoostEquippedEffect(2, 2));
ability.addEffect(new GainAbilityAttachedEffect(
ReachAbility.getInstance(), AttachmentType.EQUIPMENT
).setText(", has reach"));
ability.addEffect(new AddCardSubtypeAttachedEffect(
SubType.BARD, AttachmentType.EQUIPMENT
).setText(", and is a Bard in addition to its other types"));
this.addAbility(ability);
// Perseus's Bow-- Equip {6}
this.addAbility(new EquipAbility(6).withFlavorWord("Perseus's Bow"));
}
private BardsBow(final BardsBow card) {
super(card);
}
@Override
public BardsBow copy() {
return new BardsBow(this);
}
}

View file

@ -68,6 +68,7 @@ public final class FinalFantasy extends ExpansionSet {
cards.add(new SetCardInfo("Balthier and Fran", 393, Rarity.RARE, mage.cards.b.BalthierAndFran.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Balthier and Fran", 477, Rarity.RARE, mage.cards.b.BalthierAndFran.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Balthier and Fran", 538, Rarity.RARE, mage.cards.b.BalthierAndFran.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Bard's Bow", 174, Rarity.COMMON, mage.cards.b.BardsBow.class));
cards.add(new SetCardInfo("Baron, Airship Kingdom", 273, Rarity.COMMON, mage.cards.b.BaronAirshipKingdom.class));
cards.add(new SetCardInfo("Barret Wallace", 129, Rarity.UNCOMMON, mage.cards.b.BarretWallace.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Barret Wallace", 584, Rarity.UNCOMMON, mage.cards.b.BarretWallace.class, NON_FULL_USE_VARIOUS));