Some cleanup (#7493)

* Some cleanup

* Update StaticAbilityCantAttackBlock.java

* Some cleanup

---------

Co-authored-by: tool4EvEr <tool4EvEr@>
Co-authored-by: Hans Mackowiak <hanmac@gmx.de>
This commit is contained in:
tool4ever
2025-05-04 18:11:00 +02:00
committed by GitHub
parent 41efdb095a
commit becdd180f4
69 changed files with 70 additions and 119 deletions

View File

@@ -2763,16 +2763,6 @@ public class AbilityUtils {
return game.getPhaseHandler().getPlanarDiceSpecialActionThisTurn();
}
if (sq[0].equals("AllTypes")) {
List<Card> cards = getDefinedCards(c, sq[1], ctb);
int amount = countCardTypesFromList(cards, false) +
countSuperTypesFromList(cards) +
countSubTypesFromList(cards);
return doXMath(amount, expr, c, ctb);
}
if (sq[0].equals("TotalTurns")) {
return doXMath(game.getPhaseHandler().getTurn(), expr, c, ctb);
}
@@ -2918,18 +2908,6 @@ public class AbilityUtils {
return doXMath(colorSize[colorSize.length - 2], expr, c, ctb);
}
if (sq[0].startsWith("ColorsCtrl")) {
final String restriction = l[0].substring(11);
final CardCollection list = CardLists.getValidCards(player.getCardsIn(ZoneType.Battlefield), restriction, player, c, ctb);
return doXMath(CardUtil.getColorsFromCards(list).countColors(), expr, c, ctb);
}
if (sq[0].startsWith("ColorsDefined")) {
final String restriction = l[0].substring(14);
final CardCollection list = getDefinedCards(c, restriction, ctb);
return doXMath(CardUtil.getColorsFromCards(list).countColors(), expr, c, ctb);
}
// TODO move below to handlePaid
if (sq[0].startsWith("SumPower")) {
final String[] restrictions = l[0].split("_");
@@ -3776,6 +3754,10 @@ public class AbilityUtils {
return Aggregates.max(paidList, Card::getCMC);
}
if (string.equals("Colors")) {
return CardUtil.getColorsFromCards(paidList).countColors();
}
if (string.equals("DifferentColorPair")) {
final Set<ColorSet> diffPair = new HashSet<>();
for (final Card card : paidList) {
@@ -3805,6 +3787,12 @@ public class AbilityUtils {
return doXMath(num, splitString.length > 1 ? splitString[1] : null, source, ctb);
}
if (string.startsWith("AllTypes")) {
return countCardTypesFromList(paidList, false) +
countSuperTypesFromList(paidList) +
countSubTypesFromList(paidList);
}
if (string.startsWith("CardTypes")) {
return doXMath(countCardTypesFromList(paidList, string.startsWith("CardTypesPermanent")), CardFactoryUtil.extractOperators(string), source, ctb);
}

View File

@@ -1374,10 +1374,6 @@ public class CardProperty {
if (!card.isEnchanted()) {
return false;
}
} else if (property.startsWith("unenchanted")) {
if (card.isEnchanted()) {
return false;
}
} else if (property.startsWith("enchanting")) {
if (!card.isEnchanting()) {
return false;
@@ -1386,10 +1382,6 @@ public class CardProperty {
if (!card.isEquipped()) {
return false;
}
} else if (property.startsWith("unequipped")) {
if (card.isEquipped()) {
return false;
}
} else if (property.startsWith("equipping")) {
if (!card.isEquipping()) {
return false;

View File

@@ -8,8 +8,6 @@ import forge.game.zone.ZoneType;
public class StaticAbilityAttackRestrict {
static String MODE = "AttackRestrict";
static public int globalAttackRestrict(Game game) {
int max = Integer.MAX_VALUE;
for (final Card ca : game.getCardsIn(ZoneType.STATIC_ABILITIES_SOURCE_ZONES)) {

View File

@@ -6,8 +6,6 @@ import forge.game.zone.ZoneType;
public class StaticAbilityCantAttach {
static String MODE = "CantAttach";
public static boolean cantAttach(final GameEntity target, final Card card, boolean checkSBA) {
// CantTarget static abilities
for (final Card ca : target.getGame().getCardsIn(ZoneType.STATIC_ABILITIES_SOURCE_ZONES)) {

View File

@@ -25,8 +25,6 @@ import forge.game.GameEntity;
import forge.game.ability.AbilityUtils;
import forge.game.card.Card;
import forge.game.card.CardCollection;
import forge.game.card.CardCollectionView;
import forge.game.card.CardPredicates;
import forge.game.cost.Cost;
import forge.game.keyword.Keyword;
import forge.game.player.Player;
@@ -94,22 +92,6 @@ public class StaticAbilityCantAttackBlock {
}
}
if (stAb.hasParam("UnlessDefenderControls")) {
String type = stAb.getParam("UnlessDefenderControls");
CardCollectionView list = defender.getCardsIn(ZoneType.Battlefield);
if (list.anyMatch(
CardPredicates.restriction(type.split(","), hostCard.getController(), hostCard, stAb))) {
return false;
}
}
if (stAb.hasParam("IfDefenderControls")) {
String type = stAb.getParam("IfDefenderControls");
CardCollectionView list = defender.getCardsIn(ZoneType.Battlefield);
if (!list.anyMatch(
CardPredicates.restriction(type.split(","), hostCard.getController(), hostCard, stAb))) {
return false;
}
}
if (stAb.hasParam("DefenderNotNearestToYouInChosenDirection")) {
if (hostCard.getChosenDirection() == null) {
return false;

View File

@@ -7,8 +7,6 @@ import forge.game.zone.ZoneType;
public class StaticAbilityCantExile {
static String MODE = "CantExile";
public static boolean cantExile(final Card card, final SpellAbility cause, final boolean effect) {
final Game game = card.getGame();
for (final Card ca : game.getCardsIn(ZoneType.STATIC_ABILITIES_SOURCE_ZONES)) {

View File

@@ -8,8 +8,6 @@ import forge.game.zone.ZoneType;
public class StaticAbilityCantPutCounter {
static String MODE = "CantPutCounter";
public static boolean anyCantPutCounter(final Card card, final CounterType type) {
final Game game = card.getGame();
for (final Card ca : game.getCardsIn(ZoneType.STATIC_ABILITIES_SOURCE_ZONES)) {

View File

@@ -9,8 +9,6 @@ import forge.game.zone.ZoneType;
public class StaticAbilityCastWithFlash {
static String MODE = "CastWithFlash";
public static boolean anyWithFlashNeedsInfo(final SpellAbility sa, final Card card, final Player activator) {
final Game game = activator.getGame();
final CardCollection allp = new CardCollection(game.getCardsIn(ZoneType.STATIC_ABILITIES_SOURCE_ZONES));

View File

@@ -14,7 +14,6 @@ import forge.game.spellability.TargetRestrictions;
import forge.game.zone.ZoneType;
public class StaticAbilityMustTarget {
static String MODE = "MustTarget";
public static boolean filterMustTargetCards(Player targetingPlayer, List<Card> targets, final SpellAbility spellAbility) {
//Only applied when the targeting player and controller are the same

View File

@@ -3,6 +3,6 @@ ManaCost:no cost
Types:Plane Zendikar
S:Mode$ CastWithFlash | ValidCard$ Enchantment | ValidSA$ Spell | EffectZone$ Command | Caster$ Player | Description$ Players may cast enchantment spells as though they had flash.
T:Mode$ ChaosEnsues | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever chaos ensues, destroy target creature that isn't enchanted.
SVar:RolledChaos:DB$ Destroy | ValidTgts$ Creature.unenchanted | TgtPrompt$ Select target creature that isn't enchanted
SVar:RolledChaos:DB$ Destroy | ValidTgts$ Creature.!enchanted | TgtPrompt$ Select target creature that isn't enchanted
SVar:AIRollPlanarDieParams:Mode$ Always | OppHasCreatureInPlay$ True | RollInMain1$ True
Oracle:Players may cast enchantment spells as though they had flash.\nWhenever chaos ensues, destroy target creature that isn't enchanted.

View File

@@ -2,5 +2,5 @@ Name:Armored Galleon
ManaCost:4 U
Types:Creature Human Pirate
PT:5/4
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
Oracle:Armored Galleon can't attack unless defending player controls an Island.

View File

@@ -2,7 +2,7 @@ Name:Bog Serpent
ManaCost:5 B
Types:Creature Serpent
PT:5/5
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Swamp | Description$ CARDNAME can't attack unless defending player controls a Swamp.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsSwamp | Description$ CARDNAME can't attack unless defending player controls a Swamp.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Swamp.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Swamps, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice
SVar:NeedsToPlay:Swamp.YouCtrl

View File

@@ -1,6 +1,6 @@
Name:Brainspoil
ManaCost:3 B B
Types:Sorcery
A:SP$ Destroy | ValidTgts$ Creature.unenchanted | TgtPrompt$ Select target creature that isn't enchanted | NoRegen$ True | SpellDescription$ Destroy target creature that isn't enchanted. It can't be regenerated.
A:SP$ Destroy | ValidTgts$ Creature.!enchanted | TgtPrompt$ Select target creature that isn't enchanted | NoRegen$ True | SpellDescription$ Destroy target creature that isn't enchanted. It can't be regenerated.
K:Transmute:1 B B
Oracle:Destroy target creature that isn't enchanted. It can't be regenerated.\nTransmute {1}{B}{B} ({1}{B}{B}, Discard this card: Search your library for a card with the same mana value as this card, reveal it, put it into your hand, then shuffle. Transmute only as a sorcery.)

View File

@@ -2,6 +2,6 @@ Name:Branded Brawlers
ManaCost:R
Types:Creature Human Soldier
PT:2/2
S:Mode$ CantAttack | ValidCard$ Card.Self | IfDefenderControls$ Land.untapped | Description$ CARDNAME can't attack if defending player controls an untapped land.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ !controlsLand.untapped | Description$ CARDNAME can't attack if defending player controls an untapped land.
S:Mode$ CantBlock | ValidCard$ Card.Self | IsPresent$ Land.YouCtrl+untapped | Description$ CARDNAME can't block if you control an untapped land.
Oracle:Branded Brawlers can't attack if defending player controls an untapped land.\nBranded Brawlers can't block if you control an untapped land.

View File

@@ -7,5 +7,5 @@ T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | IsPresent$ Card.Self+!Is
SVar:TrigSolve:DB$ AlterAttribute | Defined$ Self | Attributes$ Solved
T:Mode$ Phase | Phase$ BeginCombat | IsPresent$ Card.Self+IsSolved | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Solved — At the beginning of combat on your turn, target creature you control gains flying, double strike, and vigilance until end of turn.
SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | KW$ Flying & Double Strike & Vigilance
SVar:X:Count$ColorsCtrl Permanent
SVar:X:Count$Valid Permanent.YouCtrl$Colors
Oracle:When this Case enters, search your library for a basic land card, reveal it, put it into your hand, then shuffle.\nTo solve — There are five colors among permanents you control. (If unsolved, solve at the beginning of your end step.)\nSolved — At the beginning of combat on your turn, target creature you control gains flying, double strike, and vigilance until end of turn.

View File

@@ -4,6 +4,6 @@ Types:Legendary Artifact
S:Mode$ ManaConvert | ValidPlayer$ You | ManaConversion$ AnyType->AnyColor | Description$ You may spend mana as though it were mana of any color.
A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 5 | SpellDescription$ Add {C}{C}{C}{C}{C}.
A:AB$ Draw | Cost$ 5 T | NumCards$ X | SpellDescription$ Draw a card for each color among permanents you control.
SVar:X:Count$ColorsCtrl Permanent
SVar:X:Count$Valid Permanent.YouCtrl$Colors
SVar:NonStackingEffect:True
Oracle:You may spend mana as though it were mana of any color.\n{T}: Add {C}{C}{C}{C}{C}.\n{5}, {T}: Draw a card for each color among permanents you control.

View File

@@ -2,7 +2,7 @@ Name:Coalition Victory
ManaCost:3 W U B R G
Types:Sorcery
A:SP$ WinsGame | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ10 | SpellDescription$ You win the game if you control a land of each basic land type and a creature of each color.
SVar:Z:Count$ColorsCtrl Creature
SVar:Z:Count$Valid Creature.YouCtrl$Colors
SVar:Y:Count$Domain
SVar:X:SVar$Y/Plus.Z
AI:RemoveDeck:Random

View File

@@ -3,6 +3,6 @@ ManaCost:2
Types:Artifact Equipment
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ X | AddToughness$ X | Description$ Equipped creature gets +1/+1 for each color among permanents you control.
S:Mode$ CantBeCast | ValidCard$ Card | Condition$ PlayerTurn | Caster$ Opponent | IsPresent$ Card.Self+AttachedTo Creature | Description$ As long as CARDNAME is attached to a creature, your opponents can't cast spells during your turn.
SVar:X:Count$ColorsCtrl Permanent
SVar:X:Count$Valid Permanent.YouCtrl$Colors
K:Equip:2
Oracle:Equipped creature gets +1/+1 for each color among permanents you control.\nAs long as Conqueror's Flail is attached to a creature, your opponents can't cast spells during your turn.\nEquip {2}

View File

@@ -2,7 +2,7 @@ Name:Dandân
ManaCost:U U
Types:Creature Fish
PT:4/1
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Island.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Islands, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice
SVar:NeedsToPlay:Island.YouCtrl

View File

@@ -2,5 +2,5 @@ Name:Deep-Sea Serpent
ManaCost:4 U U
Types:Creature Serpent
PT:5/5
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
Oracle:Deep-Sea Serpent can't attack unless defending player controls an Island.

View File

@@ -2,7 +2,7 @@ Name:Dreamwinder
ManaCost:3 U
Types:Creature Serpent
PT:4/3
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
A:AB$ Animate | Cost$ U Sac<1/Island> | ValidTgts$ Land | TgtPrompt$ Select target land | Types$ Island | RemoveLandTypes$ True | SpellDescription$ Target land becomes an Island until end of turn.
AI:RemoveDeck:All
Oracle:Dreamwinder can't attack unless defending player controls an Island.\n{U}, Sacrifice an Island: Target land becomes an Island until end of turn.

View File

@@ -2,5 +2,5 @@ Name:Embiggen
ManaCost:G
Types:Instant
A:SP$ Pump | Cost$ G | ValidTgts$ Creature.nonBrushwagg | TgtPrompt$ Select target non-Brushwagg creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Until end of turn, target non-Brushwagg creature gets +1/+1 for each supertype, card type, and subtype it has.
SVar:X:Count$AllTypes.Targeted
SVar:X:Targeted$AllTypes
Oracle:Until end of turn, target non-Brushwagg creature gets +1/+1 for each supertype, card type, and subtype it has.

View File

@@ -2,6 +2,6 @@ Name:Ethereal Whiskergill
ManaCost:3 U
Types:Creature Elemental
PT:4/3
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
K:Flying
Oracle:Flying\nEthereal Whiskergill can't attack unless defending player controls an Island.

View File

@@ -4,7 +4,7 @@ Types:Creature Treefolk Druid
PT:0/0
K:Vigilance
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each color among permanents you control.
SVar:X:Count$ColorsCtrl Permanent
SVar:X:Count$Valid Permanent.YouCtrl$Colors
A:AB$ Mana | Cost$ T | Produced$ Special EachColorAmong_Permanent.YouCtrl | SpellDescription$ For each color among permanents you control, add one mana of that color.
AI:RemoveDeck:All
Oracle:Vigilance\nFaeburrow Elder gets +1/+1 for each color among permanents you control.\n{T}: For each color among permanents you control, add one mana of that color.

View File

@@ -3,7 +3,7 @@ ManaCost:5 U
Types:Creature Elemental
PT:0/0
K:etbCounter:P1P1:6
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
A:AB$ Animate | Cost$ U SubCounter<1/P1P1> | ValidTgts$ Land | TgtPrompt$ Select target land | Types$ Island | RemoveLandTypes$ True | SpellDescription$ Target land becomes an Island until end of turn.
AI:RemoveDeck:All
Oracle:Floodchaser enters with six +1/+1 counters on it.\nFloodchaser can't attack unless defending player controls an Island.\n{U}, Remove a +1/+1 counter from Floodchaser: Target land becomes an Island until end of turn.

View File

@@ -5,5 +5,5 @@ PT:3/4
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChange | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters, you may search your library for an Ally creature card, reveal it, put it into your hand, then shuffle.
SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Creature.Ally | ChangeNum$ 1 | ShuffleNonMandatory$ True
A:AB$ PumpAll | Cost$ W U B R G | ValidCards$ Creature.Ally+YouCtrl | NumAtt$ +X | NumDef$ +X | SpellDescription$ Ally creatures you control get +X/+X until end of turn, where X is the number of colors among those creatures.
SVar:X:Count$ColorsCtrl Creature.Ally+YouCtrl
SVar:X:Count$Valid Creature.Ally+YouCtrl$Colors
Oracle:When General Tazri enters, you may search your library for an Ally creature card, reveal it, put it into your hand, then shuffle.\n{W}{U}{B}{R}{G}: Ally creatures you control get +X/+X until end of turn, where X is the number of colors among those creatures.

View File

@@ -5,7 +5,7 @@ PT:4/4
T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature.wasDealtDamageThisTurn | ValidBlocker$ Card.Self | Execute$ TrigPumpShark | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature that has been dealt damage this turn, CARDNAME gets +2/+0 and gains trample until end of turn.
T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature.wasDealtDamageThisTurn | Execute$ TrigPumpShark | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature that has been dealt damage this turn, CARDNAME gets +2/+0 and gains trample until end of turn.
SVar:TrigPumpShark:DB$ Pump | Defined$ Self | NumAtt$ +2 | KW$ Trample
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Island.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Islands, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice
SVar:NeedsToPlay:Island.YouCtrl

View File

@@ -3,6 +3,6 @@ ManaCost:2 R R
Types:Creature Goblin Mutant
PT:5/3
K:Trample
S:Mode$ CantAttack | ValidCard$ Card.Self | IfDefenderControls$ Creature.untapped+powerGE3 | Description$ CARDNAME can't attack if defending player controls an untapped creature with power 3 or greater.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ !controlsCreature.untapped+powerGE3 | Description$ CARDNAME can't attack if defending player controls an untapped creature with power 3 or greater.
S:Mode$ CantBlockBy | ValidAttacker$ Creature.powerGE3 | ValidBlocker$ Creature.Self | Description$ CARDNAME can't block creatures with power 3 or greater.
Oracle:Trample\nGoblin Mutant can't attack if defending player controls an untapped creature with power 3 or greater.\nGoblin Mutant can't block creatures with power 3 or greater.

View File

@@ -4,6 +4,6 @@ Types:Creature Goblin
PT:3/1
K:Trample
R:Event$ Untap | ActiveZones$ Battlefield | ValidCard$ Card.Self+attackedLastTurn | ValidStepTurnToController$ You | Layer$ CantHappen | Description$ CARDNAME doesn't untap during your untap step if it attacked during your last turn.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Mountain | Description$ CARDNAME can't attack unless defending player controls a Mountain.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsMountain | Description$ CARDNAME can't attack unless defending player controls a Mountain.
DeckHints:Name$Blood Moon|Magus of the Moon
Oracle:Trample\nGoblin Rock Sled doesn't untap during your untap step if it attacked during your last turn.\nGoblin Rock Sled can't attack unless defending player controls a Mountain.

View File

@@ -2,6 +2,6 @@ Name:Godhunter Octopus
ManaCost:5 U
Types:Creature Octopus
PT:5/5
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Enchantment,Permanent.enchanted | Description$ CARDNAME can't attack unless defending player controls an enchantment or an enchanted permanent.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsEnchantment,Permanent.enchanted | Description$ CARDNAME can't attack unless defending player controls an enchantment or an enchanted permanent.
AI:RemoveDeck:Random
Oracle:Godhunter Octopus can't attack unless defending player controls an enchantment or an enchanted permanent.

View File

@@ -2,7 +2,7 @@ Name:Gorilla Pack
ManaCost:2 G
Types:Creature Ape
PT:3/3
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Forest | Description$ CARDNAME can't attack unless defending player controls a Forest.
S:Mode$ CantAttack | ValidCard$ Card.Self | UUnlessDefender$ controlsForest | Description$ CARDNAME can't attack unless defending player controls a Forest.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Forest.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Forests, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice
SVar:NeedsToPlay:Forest.YouCtrl

View File

@@ -2,5 +2,5 @@ Name:Hammerhead Shark
ManaCost:1 U
Types:Creature Shark
PT:2/3
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
Oracle:Hammerhead Shark can't attack unless defending player controls an Island.

View File

@@ -6,7 +6,7 @@ SVar:TrigGainLife:DB$ GainLife | Defined$ Player | LifeAmount$ 5 | SubAbility$ D
SVar:DBDraw:DB$ Draw | Defined$ Player | NumCards$ 1
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ Z | SVarCompare$ EQ11 | LifeTotal$ You | LifeAmount$ GEW | Execute$ TrigWin | TriggerDescription$ At the beginning of your upkeep, if there are five colors among permanents you control, there are six or more card types among permanents you control and/or cards in your graveyard, and your life total is greater than or equal to your starting life total, you win the game.
SVar:TrigWin:DB$ WinsGame | Defined$ You
SVar:X:Count$ColorsCtrl Permanent/LimitMax.5
SVar:X:Count$Valid Permanent.YouCtrl$Colors/LimitMax.5
SVar:Y:Count$ValidBattlefield,Graveyard Card.YouCtrl$CardTypes/LimitMax.6
SVar:Z:SVar$X/Plus.Y
SVar:W:Count$YourStartingLife

View File

@@ -2,6 +2,6 @@ Name:Inspire Awe
ManaCost:3 G
Types:Instant
A:SP$ Effect | ReplacementEffects$ Curse | SubAbility$ DBScry | SpellDescription$ Prevent all combat damage that would be dealt this turn except combat damage that would be dealt by enchanted creatures and enchantment creatures. Scry 2.
SVar:Curse:Event$ DamageDone | Prevent$ True | IsCombat$ True | ActiveZones$ Command | ValidSource$ Creature.unenchanted+nonEnchantment | Description$ Prevent all combat damage that would be dealt this turn except by enchanted creatures and enchantment creatures.
SVar:Curse:Event$ DamageDone | Prevent$ True | IsCombat$ True | ActiveZones$ Command | ValidSource$ Creature.!enchanted+nonEnchantment | Description$ Prevent all combat damage that would be dealt this turn except by enchanted creatures and enchantment creatures.
SVar:DBScry:DB$ Scry | ScryNum$ 2
Oracle:Prevent all combat damage that would be dealt this turn except combat damage that would be dealt by enchanted creatures and enchantment creatures. Scry 2.

View File

@@ -2,7 +2,7 @@ Name:Island Fish Jasconius
ManaCost:4 U U U
Types:Creature Fish
PT:6/8
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ This creature can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ This creature can't attack unless defending player controls an Island.
R:Event$ Untap | ValidCard$ Card.Self | ValidStepTurnToController$ You | Layer$ CantHappen | Description$ This creature doesn't untap during your untap step.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Island.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Islands, sacrifice this creature.
SVar:TrigSac:DB$ Sacrifice

View File

@@ -2,7 +2,7 @@ Name:Kukemssa Serpent
ManaCost:3 U
Types:Creature Serpent
PT:4/3
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
A:AB$ Animate | Cost$ U Sac<1/Island> | ValidTgts$ Land.OppCtrl | TgtPrompt$ Select target land an opponent controls | Types$ Island | RemoveLandTypes$ True | SpellDescription$ Target land an opponent controls becomes an Island until end of turn.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Island.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Islands, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice

View File

@@ -3,6 +3,6 @@ ManaCost:3 G
Types:Creature Dragon
PT:4/4
K:Flying
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Creature.withFlying | Description$ CARDNAME can't attack unless defending player controls a creature with flying.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsCreature.withFlying | Description$ CARDNAME can't attack unless defending player controls a creature with flying.
AI:RemoveDeck:Random
Oracle:Flying\nLurking Green Dragon can't attack unless defending player controls a creature with flying.

View File

@@ -2,7 +2,7 @@ Name:Manta Ray
ManaCost:1 U U
Types:Creature Fish
PT:3/3
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantBlockBy | ValidAttacker$ Creature.Self | ValidBlocker$ Creature.nonBlue | Description$ CARDNAME can't be blocked except by blue creatures.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Island.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Islands, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice

View File

@@ -3,7 +3,7 @@ ManaCost:5 U U
Types:Creature Serpent
PT:8/8
R:Event$ Untap | ValidCard$ Card.Self | ValidStepTurnToController$ You | Layer$ CantHappen | Description$ This creature doesn't untap during your untap step.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ This creature can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ This creature can't attack unless defending player controls an Island.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Island.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Islands, sacrifice this creature.
SVar:TrigSac:DB$ Sacrifice
A:AB$ Untap | Cost$ U U Sac<1/Creature> | ActivationPhases$ Upkeep | PlayerTurn$ True | SpellDescription$ Untap this creature. Activate only during your upkeep.

View File

@@ -2,7 +2,7 @@ Name:Merchant Ship
ManaCost:U
Types:Creature Human
PT:0/2
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Island.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Islands, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice
T:Mode$ AttackerUnblocked | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ Whenever CARDNAME attacks and isn't blocked, you gain 2 life.

View File

@@ -2,5 +2,5 @@ Name:Mogg Jailer
ManaCost:1 R
Types:Creature Goblin
PT:2/2
S:Mode$ CantAttack | ValidCard$ Card.Self | IfDefenderControls$ Creature.untapped+powerLE2 | Description$ CARDNAME can't attack if defending player controls an untapped creature with power 2 or less.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ !controlsCreature.untapped+powerLE2 | Description$ CARDNAME can't attack if defending player controls an untapped creature with power 2 or less.
Oracle:Mogg Jailer can't attack if defending player controls an untapped creature with power 2 or less.

View File

@@ -8,6 +8,6 @@ SVar:TrigDraw:AB$ Draw | Cost$ Discard<0/Hand> | NumCards$ X
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME dies, it deals X damage to any target, where X is the number of colors among permanents you control.
SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ Y
SVar:X:TriggeredCard$CardNumColors
SVar:Y:Count$ColorsCtrl Permanent
SVar:Y:Count$Valid Permanent.YouCtrl$Colors
DeckHas:Ability$Discard
Oracle:Flying\nWhenever you cast a spell, you may discard your hand. If you do, draw a card for each of that spell's colors.\nWhen Moonveil Regent dies, it deals X damage to any target, where X is the number of colors among permanents you control.

View File

@@ -3,6 +3,6 @@ ManaCost:3 R R
Types:Creature Orgg
PT:6/6
K:Trample
S:Mode$ CantAttack | ValidCard$ Card.Self | IfDefenderControls$ Creature.untapped+powerGE3 | Description$ CARDNAME can't attack if defending player controls an untapped creature with power 3 or greater.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ !controlsCreature.untapped+powerGE3 | Description$ CARDNAME can't attack if defending player controls an untapped creature with power 3 or greater.
S:Mode$ CantBlockBy | ValidAttacker$ Creature.powerGE3 | ValidBlocker$ Creature.Self | Description$ CARDNAME can't block creatures with power 3 or greater.
Oracle:Trample\nOrgg can't attack if defending player controls an untapped creature with power 3 or greater.\nOrgg can't block creatures with power 3 or greater.

View File

@@ -2,7 +2,7 @@ Name:Pirate Ship
ManaCost:4 U
Types:Creature Human Pirate
PT:4/3
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Island.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Islands, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice
A:AB$ DealDamage | Cost$ T | ValidTgts$ Any | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to any target.

View File

@@ -2,5 +2,5 @@ Name:Red Cliffs Armada
ManaCost:4 U
Types:Creature Human Soldier
PT:5/4
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
Oracle:Red Cliffs Armada can't attack unless defending player controls an Island.

View File

@@ -2,7 +2,7 @@ Name:Ronom Serpent
ManaCost:5 U
Types:Snow Creature Serpent
PT:5/6
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Land.Snow | Description$ CARDNAME can't attack unless defending player controls a snow land.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsLand.Snow | Description$ CARDNAME can't attack unless defending player controls a snow land.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Land.Snow+YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no snow lands, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice
SVar:NeedsToPlay:Land.Snow+YouCtrl

View File

@@ -2,5 +2,5 @@ Name:Sea Monster
ManaCost:4 U U
Types:Creature Serpent
PT:6/6
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
Oracle:Sea Monster can't attack unless defending player controls an Island.

View File

@@ -2,7 +2,7 @@ Name:Sea Serpent
ManaCost:5 U
Types:Creature Serpent
PT:5/5
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Island.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Islands, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice
SVar:NeedsToPlay:Island.YouCtrl

View File

@@ -2,7 +2,7 @@ Name:Sealock Monster
ManaCost:3 U U
Types:Creature Octopus
PT:5/5
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
K:Monstrosity:3:5 U U
T:Mode$ BecomeMonstrous | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigAnimate | TriggerDescription$ When CARDNAME becomes monstrous, target land becomes an Island in addition to its other types.
SVar:TrigAnimate:DB$ Animate | ValidTgts$ Land | AITgts$ Land.OppCtrl | Types$ Island | Duration$ Permanent | IsCurse$ True

View File

@@ -2,7 +2,7 @@ Name:Serpent of the Endless Sea
ManaCost:4 U
Types:Creature Serpent
PT:*/*
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ Continuous | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of Islands you control.
SVar:X:Count$Valid Island.YouCtrl
SVar:BuffedBy:Island

View File

@@ -3,7 +3,7 @@ ManaCost:2 W
Types:Legendary Creature Human Soldier
PT:2/2
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each color among other legendary permanents you control.
SVar:X:Count$ColorsCtrl Permanent.Other+Legendary
SVar:X:Count$Valid Permanent.YouCtrl+Other+Legendary$Colors
A:AB$ ChangeZone | Cost$ W U B R G | Origin$ Library | Destination$ Battlefield | ChangeType$ Permanent.Legendary+cmcLTY | ChangeNum$ 1 | SpellDescription$ Search your library for a legendary permanent card with mana value less than NICKNAME's power, put that card onto the battlefield, then shuffle.
SVar:Y:Count$CardPower
DeckHints:Type$Legendary

View File

@@ -2,6 +2,6 @@ Name:Slipstream Eel
ManaCost:5 U U
Types:Creature Fish Beast
PT:6/6
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
K:Cycling:1 U
Oracle:Slipstream Eel can't attack unless defending player controls an Island.\nCycling {1}{U} ({1}{U}, Discard this card: Draw a card.)

View File

@@ -3,7 +3,7 @@ ManaCost:7 U
Types:Creature Serpent
PT:6/6
K:Morph:5 U
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Island.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Islands, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice
SVar:NeedsToPlay:Island.YouCtrl

View File

@@ -5,6 +5,6 @@ PT:6/6
K:Flying
A:AB$ Draw | Cost$ 5 U U | NumCards$ X | SpellDescription$ Draw a card for each color among permanents you control.
A:AB$ Draw | Cost$ 5 U U ExileFromGrave<1/CARDNAME> | ActivationZone$ Graveyard | NumCards$ X | SpellDescription$ Draw a card for each color among permanents you control.
SVar:X:Count$ColorsCtrl Permanent
SVar:X:Count$Valid Permanent.YouCtrl$Colors
DeckNeeds:Color$White|Red|Green|Black
Oracle:Flying\n{5}{U}{U}: Draw a card for each color among permanents you control.\n{5}{U}{U}, Exile Soul of Ravnica from your graveyard: Draw a card for each color among permanents you control.

View File

@@ -2,7 +2,7 @@ Name:Spirit of Resistance
ManaCost:2 W
Types:Enchantment
R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ You | Prevent$ True | CheckSVar$ X | SVarCompare$ EQ5 | Description$ As long as you control a permanent of each color, prevent all damage that would be dealt to you.
SVar:X:Count$ColorsCtrl Permanent
SVar:X:Count$Valid Permanent.YouCtrl$Colors
SVar:NonStackingEffect:True
AI:RemoveDeck:Random
Oracle:As long as you control a permanent of each color, prevent all damage that would be dealt to you.

View File

@@ -4,5 +4,5 @@ Types:Legendary Artifact
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters, put target legendary permanent card not named Staff of Eden, Vault's Key from a graveyard onto the battlefield under your control.
SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Permanent.Legendary+notnamedStaff of Eden; Vault's Key | GainControl$ True | ChangeNum$ 1 | Mandatory$ True | TgtPrompt$ Choose target legendary permanent card not named Staff of Eden, Vault's Key in a graveyard
A:AB$ Draw | Cost$ T | NumCards$ Count$Valid Permanent.YouCtrl+YouDontOwn | SpellDescription$ Draw a card for each permanent you control but don't own.
SVar:X:Count$ColorsCtrl Permanent
SVar:X:Count$Valid Permanent.YouCtrl$Colors
Oracle:When Staff of Eden, Vault's Key enters, put target legendary permanent card not named Staff of Eden, Vault's Key from a graveyard onto the battlefield under your control.\n{T}: Draw a card for each permanent you control but don't own.

View File

@@ -2,5 +2,5 @@ Name:Steam Frigate
ManaCost:2 U
Types:Creature Human Pirate
PT:3/3
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
Oracle:Steam Frigate can't attack unless defending player controls an Island.

View File

@@ -20,6 +20,6 @@ K:Flying
K:Vigilance
K:Haste
S:Mode$ Continuous | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of colors among the exiled cards used to craft it.
SVar:X:Count$ColorsDefined ExiledWith
SVar:X:ExiledWith$Colors
A:AB$ Mana | Cost$ T | Produced$ Special EachColorAmongDefined_ExiledWith | SpellDescription$ For each color among the exiled cards used to craft CARDNAME, add one mana of that color.
Oracle:Flying, vigilance, haste\nSunbird Effigy's power and toughness are each equal to the number of colors among the exiled cards used to craft it.\n{T}: For each color among the exiled cards used to craft Sunbird Effigy, add one mana of that color.

View File

@@ -2,7 +2,7 @@ Name:Time Elemental
ManaCost:2 U
Types:Creature Elemental
PT:0/2
A:AB$ ChangeZone | Cost$ 2 U U T | ValidTgts$ Permanent.unenchanted | TgtPrompt$ Select target unenchanted permanent | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target permanent that isn't enchanted to its owner's hand.
A:AB$ ChangeZone | Cost$ 2 U U T | ValidTgts$ Permanent.!enchanted | TgtPrompt$ Select target unenchanted permanent | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target permanent that isn't enchanted to its owner's hand.
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ DelayedTrig | TriggerDescription$ When CARDNAME attacks or blocks, at end of combat, sacrifice it and it deals 5 damage to you.
T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ DelayedTrig | Secondary$ True | TriggerDescription$ When CARDNAME attacks or blocks, at end of combat, sacrifice it and it deals 5 damage to you.
SVar:DelayedTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigSacrifice | TriggerDescription$ At end of combat, sacrifice CARDNAME and CARDNAME deals 5 damage to you.

View File

@@ -4,5 +4,5 @@ Types:Enchantment
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Opponent | TriggerZones$ Battlefield | IsPresent$ Card.Self+Enchantment | Execute$ TrigAnimate | TriggerDescription$ When an opponent casts a spell, if CARDNAME is an enchantment, CARDNAME becomes a 4/4 Serpent creature with "This creature can't attack unless defending player controls an Island."
SVar:TrigAnimate:DB$ Animate | Defined$ Self | Power$ 4 | Toughness$ 4 | staticAbilities$ VeiledSerpentST | Types$ Creature,Serpent | RemoveCardTypes$ True | RemoveCreatureTypes$ True | Duration$ Permanent
K:Cycling:2
SVar:VeiledSerpentST:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
SVar:VeiledSerpentST:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
Oracle:When an opponent casts a spell, if Veiled Serpent is an enchantment, Veiled Serpent becomes a 4/4 Serpent creature with "This creature can't attack unless defending player controls an Island."\nCycling {2} ({2}, Discard this card: Draw a card.)

View File

@@ -2,6 +2,6 @@ Name:Veteran Brawlers
ManaCost:1 R
Types:Creature Human Soldier
PT:4/4
S:Mode$ CantAttack | ValidCard$ Card.Self | IfDefenderControls$ Land.untapped | Description$ CARDNAME can't attack if defending player controls an untapped land.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ !controlsLand.untapped | Description$ CARDNAME can't attack if defending player controls an untapped land.
S:Mode$ CantBlock | ValidCard$ Card.Self | IsPresent$ Land.YouCtrl+untapped | Description$ CARDNAME can't block if you control an untapped land.
Oracle:Veteran Brawlers can't attack if defending player controls an untapped land.\nVeteran Brawlers can't block if you control an untapped land.

View File

@@ -3,7 +3,7 @@ ManaCost:1 U U
Types:Creature Merfolk Knight
PT:2/2
K:First Strike
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Island.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no Islands, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice
A:AB$ Pump | Cost$ U | Defined$ Self | KW$ Flying | SpellDescription$ CARDNAME gains flying until end of turn.

View File

@@ -2,7 +2,7 @@ Name:Vodalian Serpent
ManaCost:3 U
Types:Creature Serpent
PT:2/2
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
K:Kicker:2
K:etbCounter:P1P1:4:CheckSVar$ WasKicked:If CARDNAME was kicked, it enters with four +1/+1 counters on it.
SVar:WasKicked:Count$Kicked.1.0

View File

@@ -3,7 +3,7 @@ ManaCost:X U U
Types:Sorcery
A:SP$ Repeat | MaxRepeat$ X | RepeatSubAbility$ DBGenericChoice | AILogic$ MaxX | StackDescription$ SpellDescription | SpellDescription$ Perform X random actions.
SVar:DBGenericChoice:DB$ GenericChoice | ShowChoice$ Description | AtRandom$ True | Choices$ ToHand,Untap,Tap,Damage,Draw3,DestroyGain,DestroyAE,Gain3,Anoint,DestroyCL,Mill2,Wasp,Nevinyrral,Suleiman,Pandora,Discard,Fog,Sindbad
SVar:ToHand:DB$ ChooseCard | Choices$ Permanent.unenchanted | AtRandom$ True | SubAbility$ DBChangeZone3 | SpellDescription$ Return a permanent that isn't enchanted chosen at random to its owner's hand.
SVar:ToHand:DB$ ChooseCard | Choices$ Permanent.!enchanted | AtRandom$ True | SubAbility$ DBChangeZone3 | SpellDescription$ Return a permanent that isn't enchanted chosen at random to its owner's hand.
SVar:DBChangeZone3:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBCleanup
SVar:Untap:DB$ ChooseCard | Choices$ Artifact.tapped,Creature.tapped,Land.tapped | AtRandom$ True | SubAbility$ DBUntap4 | SpellDescription$ Untap an artifact, creature or land chosen at random.
SVar:DBUntap4:DB$ Untap | Defined$ ChosenCard | SubAbility$ DBCleanup

View File

@@ -2,5 +2,5 @@ Name:Whimwader
ManaCost:4 U
Types:Creature Elemental
PT:6/4
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Permanent.Blue | Description$ CARDNAME can't attack unless defending player controls a blue permanent.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsPermanent.Blue | Description$ CARDNAME can't attack unless defending player controls a blue permanent.
Oracle:Whimwader can't attack unless defending player controls a blue permanent.

View File

@@ -1,5 +1,5 @@
Name:Winds of Rath
ManaCost:3 W W
Types:Sorcery
A:SP$ DestroyAll | ValidCards$ Creature.unenchanted | NoRegen$ True | SpellDescription$ Destroy all creatures that aren't enchanted. They can't be regenerated.
A:SP$ DestroyAll | ValidCards$ Creature.!enchanted | NoRegen$ True | SpellDescription$ Destroy all creatures that aren't enchanted. They can't be regenerated.
Oracle:Destroy all creatures that aren't enchanted. They can't be regenerated.

View File

@@ -2,5 +2,5 @@ Name:Wu Warship
ManaCost:2 U
Types:Creature Human Soldier
PT:3/3
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
Oracle:Wu Warship can't attack unless defending player controls an Island.

View File

@@ -2,5 +2,5 @@ Name:Zhou Yu, Chief Commander
ManaCost:5 U U
Types:Legendary Creature Human Soldier
PT:8/8
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefenderControls$ Island | Description$ CARDNAME can't attack unless defending player controls an Island.
S:Mode$ CantAttack | ValidCard$ Card.Self | UnlessDefender$ controlsIsland | Description$ CARDNAME can't attack unless defending player controls an Island.
Oracle:Zhou Yu, Chief Commander can't attack unless defending player controls an Island.

View File

@@ -469,7 +469,7 @@ public final class CardScriptParser {
"gotBlockedThisTurn", "greatestPower", "yardGreatestPower",
"leastPower", "leastToughness", "greatestCMC",
"greatestRememberedCMC", "lowestRememberedCMC", "lowestCMC",
"enchanted", "unenchanted", "enchanting", "equipped", "unequipped",
"enchanted", "enchanting", "equipped",
"equipping", "modified", "token", "nonToken", "hasXCost", "suspended",
"delved", "attacking", "attackingYou", "notattacking",
"attackedBySourceThisCombat", "blocking", "blockingSource",