[FIN] Implement Astrologian's Planisphere

This commit is contained in:
theelk801 2025-05-20 20:22:07 -04:00 committed by Failure
parent 95e99a3599
commit 05acb68c8d
2 changed files with 64 additions and 0 deletions

View file

@ -0,0 +1,62 @@
package mage.cards.a;
import mage.abilities.Ability;
import mage.abilities.common.DrawNthCardTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.effects.common.continuous.AddCardSubtypeAttachedEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.EquipAbility;
import mage.abilities.keyword.JobSelectAbility;
import mage.abilities.meta.OrTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.StaticFilters;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class AstrologiansPlanisphere extends CardImpl {
public AstrologiansPlanisphere(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{U}");
this.subtype.add(SubType.EQUIPMENT);
// Job select
this.addAbility(new JobSelectAbility());
// Equipped creature is a Wizard in addition to its other types and has "Whenever you cast a noncreature spell and whenever you draw your third card each turn, put a +1/+1 counter on this creature."
Ability ability = new SimpleStaticAbility(
new AddCardSubtypeAttachedEffect(SubType.WIZARD, AttachmentType.EQUIPMENT)
.setText("equipped creature is a Wizard in addition to its other types")
);
ability.addEffect(new GainAbilityAttachedEffect(new OrTriggeredAbility(
Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()),
new SpellCastControllerTriggeredAbility(null, StaticFilters.FILTER_SPELL_A_NON_CREATURE, false),
new DrawNthCardTriggeredAbility(null, false, 3)
), AttachmentType.EQUIPMENT).setText("and has \"Whenever you cast a noncreature spell " +
"and whenever you draw your third card each turn, put a +1/+1 counter on this creature.\""));
this.addAbility(ability);
// Diana -- Equip {2}
this.addAbility(new EquipAbility(2).withFlavorWord("Diana"));
}
private AstrologiansPlanisphere(final AstrologiansPlanisphere card) {
super(card);
}
@Override
public AstrologiansPlanisphere copy() {
return new AstrologiansPlanisphere(this);
}
}

View file

@ -39,6 +39,8 @@ public final class FinalFantasy extends ExpansionSet {
cards.add(new SetCardInfo("Ardyn, the Usurper", 444, Rarity.RARE, mage.cards.a.ArdynTheUsurper.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Ardyn, the Usurper", 524, Rarity.RARE, mage.cards.a.ArdynTheUsurper.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Ardyn, the Usurper", 89, Rarity.RARE, mage.cards.a.ArdynTheUsurper.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Astrologian's Planisphere", 46, Rarity.RARE, mage.cards.a.AstrologiansPlanisphere.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Astrologian's Planisphere", 581, Rarity.RARE, mage.cards.a.AstrologiansPlanisphere.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Auron's Inspiration", 8, Rarity.UNCOMMON, mage.cards.a.AuronsInspiration.class));
cards.add(new SetCardInfo("Balamb T-Rexaur", 173, Rarity.COMMON, mage.cards.b.BalambTRexaur.class));
cards.add(new SetCardInfo("Barret Wallace", 129, Rarity.UNCOMMON, mage.cards.b.BarretWallace.class, NON_FULL_USE_VARIOUS));