fix verify failures

This commit is contained in:
theelk801 2025-09-05 21:01:40 -04:00
parent f7c239c1fe
commit 401e09830d
4 changed files with 13 additions and 15 deletions

View file

@ -2,26 +2,24 @@ package mage.cards.b;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.DealsCombatDamageTriggeredAbility; import mage.abilities.common.DealsCombatDamageTriggeredAbility;
import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.EntersBattlefieldAttachToTarget;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continuous.BoostEquippedEffect; import mage.abilities.effects.common.continuous.BoostEquippedEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EquipAbility; import mage.abilities.keyword.EquipAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.*; import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent; import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.permanent.ModifiedPredicate; import mage.filter.predicate.permanent.ModifiedPredicate;
import mage.target.common.TargetControlledCreaturePermanent;
import java.util.UUID; import java.util.UUID;
/** /**
*
* @author Jmlundeen * @author Jmlundeen
*/ */
public final class BiorganicCarapace extends CardImpl { public final class BiorganicCarapace extends CardImpl {
@ -34,13 +32,11 @@ public final class BiorganicCarapace extends CardImpl {
public BiorganicCarapace(UUID ownerId, CardSetInfo setInfo) { public BiorganicCarapace(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}{W}{U}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}{W}{U}");
this.subtype.add(SubType.EQUIPMENT); this.subtype.add(SubType.EQUIPMENT);
// When this Equipment enters, attach it to target creature you control. // When this Equipment enters, attach it to target creature you control.
Ability ability = new EntersBattlefieldAbility(new AttachEffect(Outcome.BoostCreature)); this.addAbility(new EntersBattlefieldAttachToTarget());
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
// Equipped creature gets +2/+2 and has "Whenever this creature deals combat damage to a player, draw a card for each modified creature you control." // Equipped creature gets +2/+2 and has "Whenever this creature deals combat damage to a player, draw a card for each modified creature you control."
Ability gainedAbility = new DealsCombatDamageTriggeredAbility(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter)), false); Ability gainedAbility = new DealsCombatDamageTriggeredAbility(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter)), false);

View file

@ -2,7 +2,6 @@ package mage.cards.m;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SagaAbility; import mage.abilities.common.SagaAbility;
import mage.abilities.effects.RestrictionEffect; import mage.abilities.effects.RestrictionEffect;
import mage.abilities.effects.common.DamagePlayersEffect; import mage.abilities.effects.common.DamagePlayersEffect;
@ -11,7 +10,6 @@ import mage.abilities.effects.mana.AddManaToManaPoolSourceControllerEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.*; import mage.constants.*;
import mage.filter.StaticFilters;
import mage.filter.common.FilterOpponentsCreaturePermanent; import mage.filter.common.FilterOpponentsCreaturePermanent;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
@ -19,14 +17,13 @@ import mage.game.permanent.Permanent;
import java.util.UUID; import java.util.UUID;
/** /**
*
* @author Jmlundeen * @author Jmlundeen
*/ */
public final class MaximumCarnage extends CardImpl { public final class MaximumCarnage extends CardImpl {
public MaximumCarnage(UUID ownerId, CardSetInfo setInfo) { public MaximumCarnage(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}"); super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}");
this.subtype.add(SubType.SAGA); this.subtype.add(SubType.SAGA);
// (As this Saga enters step and after your draw step, add a lore counter. Sacrifice after III.) // (As this Saga enters step and after your draw step, add a lore counter. Sacrifice after III.)
@ -39,9 +36,11 @@ public final class MaximumCarnage extends CardImpl {
// II -- Add {R}{R}{R}. // II -- Add {R}{R}{R}.
sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_II, new AddManaToManaPoolSourceControllerEffect(new Mana(ManaType.RED, 3))); sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_II, new AddManaToManaPoolSourceControllerEffect(new Mana(ManaType.RED, 3)));
// III -- This Saga deals 5 damage to each opponent. // III -- This Saga deals 5 damage to each opponent.
sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_III, new DamagePlayersEffect(5, TargetController.OPPONENT)); sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_III, new DamagePlayersEffect(5, TargetController.OPPONENT));
this.addAbility(sagaAbility);
} }
private MaximumCarnage(final MaximumCarnage card) { private MaximumCarnage(final MaximumCarnage card) {
@ -53,6 +52,7 @@ public final class MaximumCarnage extends CardImpl {
return new MaximumCarnage(this); return new MaximumCarnage(this);
} }
} }
class MaximumCarnageEffect extends RestrictionEffect { class MaximumCarnageEffect extends RestrictionEffect {
MaximumCarnageEffect() { MaximumCarnageEffect() {

View file

@ -56,7 +56,7 @@ class SuperiorSpiderManCopyEffect extends OneShotEffect {
SuperiorSpiderManCopyEffect() { SuperiorSpiderManCopyEffect() {
super(Outcome.Copy); super(Outcome.Copy);
this.staticText = "as a copy of any creature card in a graveyard, except his name is Superior Spider-Man " + this.staticText = "as a copy of any creature card in a graveyard, except his name is Superior Spider-Man " +
"and hes a 4/4 Spider Human Hero in addition to his other types. When you do, exile that card."; "and he's a 4/4 Spider Human Hero in addition to his other types. When you do, exile that card.";
} }
private SuperiorSpiderManCopyEffect(final SuperiorSpiderManCopyEffect effect) { private SuperiorSpiderManCopyEffect(final SuperiorSpiderManCopyEffect effect) {

View file

@ -170,12 +170,14 @@ public class VerifyCardDataTest {
skipListAddName(SKIP_LIST_TYPE, "UNH", "Old Fogey"); // uses summon word as a joke card skipListAddName(SKIP_LIST_TYPE, "UNH", "Old Fogey"); // uses summon word as a joke card
skipListAddName(SKIP_LIST_TYPE, "UND", "Old Fogey"); skipListAddName(SKIP_LIST_TYPE, "UND", "Old Fogey");
skipListAddName(SKIP_LIST_TYPE, "UST", "capital offense"); // uses "instant" instead "Instant" as a joke card skipListAddName(SKIP_LIST_TYPE, "UST", "capital offense"); // uses "instant" instead "Instant" as a joke card
skipListAddName(SKIP_LIST_TYPE, "SPM", "Superior Foes of Spider-Man"); // temporary
// subtype // subtype
// skipListAddName(SKIP_LIST_SUBTYPE, set, cardName); // skipListAddName(SKIP_LIST_SUBTYPE, set, cardName);
skipListAddName(SKIP_LIST_SUBTYPE, "UGL", "Miss Demeanor"); // uses multiple types as a joke card: Lady, of, Proper, Etiquette skipListAddName(SKIP_LIST_SUBTYPE, "UGL", "Miss Demeanor"); // uses multiple types as a joke card: Lady, of, Proper, Etiquette
skipListAddName(SKIP_LIST_SUBTYPE, "UGL", "Elvish Impersonators"); // subtype is "Elves" pun skipListAddName(SKIP_LIST_SUBTYPE, "UGL", "Elvish Impersonators"); // subtype is "Elves" pun
skipListAddName(SKIP_LIST_SUBTYPE, "UND", "Elvish Impersonators"); skipListAddName(SKIP_LIST_SUBTYPE, "UND", "Elvish Impersonators");
skipListAddName(SKIP_LIST_SUBTYPE, "SPM", "Superior Foes of Spider-Man"); // temporary
// number // number
// skipListAddName(SKIP_LIST_NUMBER, set, cardName); // skipListAddName(SKIP_LIST_NUMBER, set, cardName);