diff --git a/forge-ai/src/main/java/forge/ai/ability/AttachAi.java b/forge-ai/src/main/java/forge/ai/ability/AttachAi.java index bb444e4fd66..5540f3fec3b 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AttachAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AttachAi.java @@ -1745,6 +1745,10 @@ public class AttachAi extends SpellAbilityAi { sa.getTargets().add(tgt); } return sa.isTargetNumberValid(); + } else if ("Remembered".equals(sa.getParam("Defined")) && sa.getParent() != null + && sa.getParent().getApi() == ApiType.Token && sa.getParent().hasParam("RememberTokens")) { + // Living Weapon or similar + return true; } return false; } diff --git a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java index 2c22a67411d..9eb152ca4a0 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java @@ -2,6 +2,8 @@ package forge.ai.ability; import java.util.*; +import forge.game.card.*; +import forge.game.keyword.Keyword; import org.apache.commons.lang3.StringUtils; import com.google.common.base.Predicate; @@ -32,14 +34,7 @@ import forge.game.GlobalRuleChange; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.Card; -import forge.game.card.CardCollection; -import forge.game.card.CardCollectionView; -import forge.game.card.CardLists; -import forge.game.card.CardPredicates; import forge.game.card.CardPredicates.Presets; -import forge.game.card.CardUtil; -import forge.game.card.CounterEnumType; import forge.game.combat.Combat; import forge.game.cost.Cost; import forge.game.cost.CostDiscard; @@ -1397,6 +1392,57 @@ public class ChangeZoneAi extends SpellAbilityAi { } } } + // Reload Undying and Persist, get rid of -1/-1 counters, get rid of enemy auras if able + Card bestChoice = null; + int bestEval = 0; + for (Card c : aiPermanents) { + if (c.isCreature()) { + boolean hasValuableAttachments = false; + boolean hasOppAttachments = false; + int numNegativeCounters = 0; + int numTotalCounters = 0; + for (Card attached : c.getAttachedCards()) { + if (attached.isAura()) { + if (attached.getController() == c.getController()) { + hasValuableAttachments = true; + } else if (attached.getController().isOpponentOf(c.getController())) { + hasOppAttachments = true; + } + } + } + Map counters = c.getCounters(); + for (CounterType ct : counters.keySet()) { + int amount = counters.get(ct); + if (ComputerUtil.isNegativeCounter(ct, c)) { + numNegativeCounters += amount; + } + numTotalCounters += amount; + } + if (hasValuableAttachments || (ComputerUtilCard.isUselessCreature(ai, c) && !hasOppAttachments)) { + continue; + } + + Card considered = null; + if ((c.hasKeyword(Keyword.PERSIST) || c.hasKeyword(Keyword.UNDYING)) + && !ComputerUtilCard.hasActiveUndyingOrPersist(c)) { + considered = c; + } else if (hasOppAttachments || (numTotalCounters > 0 && numNegativeCounters > numTotalCounters / 2)) { + considered = c; + } + + if (considered != null) { + int eval = ComputerUtilCard.evaluateCreature(c); + if (eval > bestEval) { + bestEval = eval; + bestChoice = considered; + } + } + } + } + if (bestChoice != null) { + return bestChoice; + } + return null; } diff --git a/forge-game/src/main/java/forge/game/card/CardPredicates.java b/forge-game/src/main/java/forge/game/card/CardPredicates.java index 0ed368fdecd..736e629647b 100644 --- a/forge-game/src/main/java/forge/game/card/CardPredicates.java +++ b/forge-game/src/main/java/forge/game/card/CardPredicates.java @@ -197,6 +197,15 @@ public final class CardPredicates { }; } + public static Predicate sharesLandTypeWith(final Card card) { + return new Predicate() { + @Override + public boolean apply(final Card c) { + return c.sharesLandTypeWith(card); + } + }; + } + public static final Predicate possibleBlockers(final Card attacker) { return new Predicate() { @Override diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index 98cfe6cd7d9..8efc6986776 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -825,6 +825,11 @@ public class CardProperty { } } } + } else if (property.startsWith("sharesLandTypeWith")) { + final String restriction = property.split("sharesLandTypeWith ")[1]; + if (!Iterables.any(AbilityUtils.getDefinedCards(source, restriction, spellAbility), CardPredicates.sharesLandTypeWith(card))) { + return false; + } } else if (property.equals("sharesPermanentTypeWith")) { if (!card.sharesPermanentTypeWith(source)) { return false; diff --git a/forge-game/src/main/java/forge/game/cost/Cost.java b/forge-game/src/main/java/forge/game/cost/Cost.java index ab62db3a7d3..84f2e52229c 100644 --- a/forge-game/src/main/java/forge/game/cost/Cost.java +++ b/forge-game/src/main/java/forge/game/cost/Cost.java @@ -832,12 +832,7 @@ public class Cost implements Serializable { sb.append(Cost.NUM_NAMES[i]); } - sb.append(" "); - char firstChar = type.charAt(0); - if (Character.isUpperCase(firstChar)) { //fix case of type before appending - type = Character.toLowerCase(firstChar) + type.substring(1); - } - sb.append(type); + sb.append(" ").append(type); if (1 != i) { sb.append("s"); } diff --git a/forge-gui/res/cardsfolder/d/demonic_tutor.txt b/forge-gui/res/cardsfolder/d/demonic_tutor.txt index 467678aacce..e920eb4c323 100644 --- a/forge-gui/res/cardsfolder/d/demonic_tutor.txt +++ b/forge-gui/res/cardsfolder/d/demonic_tutor.txt @@ -1,8 +1,7 @@ Name:Demonic Tutor ManaCost:1 B Types:Sorcery -A:SP$ ChangeZone | Cost$ 1 B | Origin$ Library | Destination$ Hand | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True | SpellDescription$ Search your library for a card, put that card into your hand, then shuffle. +A:SP$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True | StackDescription$ SpellDescription | SpellDescription$ Search your library for a card, put that card into your hand, then shuffle. #TODO: Improve the tutoring logic for the AI. Currently will generally look for the most expensive castable thing in the library (which can, of course, be used to advantage in properly constructed AI decks). AI:RemoveDeck:Random -SVar:Picture:http://resources.wizards.com/magic/cards/3e/en-us/card1155.jpg Oracle:Search your library for a card, put that card into your hand, then shuffle. diff --git a/forge-gui/res/cardsfolder/d/diligent_farmhand.txt b/forge-gui/res/cardsfolder/d/diligent_farmhand.txt index 9f601d50012..6265dd8ac75 100644 --- a/forge-gui/res/cardsfolder/d/diligent_farmhand.txt +++ b/forge-gui/res/cardsfolder/d/diligent_farmhand.txt @@ -3,7 +3,7 @@ ManaCost:G Types:Creature Human Druid PT:1/1 A:AB$ ChangeZone | Cost$ 1 G Sac<1/CARDNAME> | Origin$ Library | Destination$ Battlefield | Tapped$ True | ChangeType$ Land.Basic | ChangeNum$ 1 | SpellDescription$ Search your library for a basic land card, put it onto the battlefield tapped, then shuffle. -S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Graveyard | AddHiddenKeyword$ CARDNAME count as Muscle Burst. | Description$ If CARDNAME is in a graveyard, effects from spells named Muscle Burst count it as a card named Muscle Burst. +S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Graveyard | AffectedZone$ Graveyard | AddHiddenKeyword$ CARDNAME count as Muscle Burst. | Description$ If CARDNAME is in a graveyard, effects from spells named Muscle Burst count it as a card named Muscle Burst. DeckHints:Name$Diligent Farmhand|Muscle Burst SVar:Picture:http://www.wizards.com/global/images/magic/general/diligent_farmhand.jpg Oracle:{1}{G}, Sacrifice Diligent Farmhand: Search your library for a basic land card, put that card onto the battlefield tapped, then shuffle.\nIf Diligent Farmhand is in a graveyard, effects from spells named Muscle Burst count it as a card named Muscle Burst. diff --git a/forge-gui/res/cardsfolder/f/followed_footsteps.txt b/forge-gui/res/cardsfolder/f/followed_footsteps.txt index 936b1af41c2..ce02d3e03a9 100644 --- a/forge-gui/res/cardsfolder/f/followed_footsteps.txt +++ b/forge-gui/res/cardsfolder/f/followed_footsteps.txt @@ -2,8 +2,7 @@ Name:Followed Footsteps ManaCost:3 U U Types:Enchantment Aura K:Enchant creature -A:SP$ Attach | Cost$ 3 U U | ValidTgts$ Creature | AILogic$ Curse +A:SP$ Attach | ValidTgts$ Creature | AILogic$ HighestEvaluation T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigCopy | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, create a token that's a copy of enchanted creature. -SVar:TrigCopy:DB$ CopyPermanent | Defined$ Enchanted | SpellDescription$ At the beginning of your upkeep, put a token that's a copy of enchanted creature onto the battlefield. -SVar:Picture:http://www.wizards.com/global/images/magic/general/followed_footsteps.jpg +SVar:TrigCopy:DB$ CopyPermanent | Defined$ Enchanted | SpellDescription$ At the beginning of your upkeep, create a token that's a copy of enchanted creature. Oracle:Enchant creature\nAt the beginning of your upkeep, create a token that's a copy of enchanted creature. diff --git a/forge-gui/res/cardsfolder/m/magda_brazen_outlaw.txt b/forge-gui/res/cardsfolder/m/magda_brazen_outlaw.txt index bf4eec8f373..79cb7d22cdd 100644 --- a/forge-gui/res/cardsfolder/m/magda_brazen_outlaw.txt +++ b/forge-gui/res/cardsfolder/m/magda_brazen_outlaw.txt @@ -5,7 +5,7 @@ PT:2/1 S:Mode$ Continuous | Affected$ Dwarf.Other+YouCtrl | AddPower$ 1 | Description$ Other Dwarves you control get +1/+0. T:Mode$ Taps | ValidCard$ Dwarf.YouCtrl | Execute$ TrigToken | TriggerZones$ Battlefield | TriggerDescription$ Whenever a Dwarf you control becomes tapped, create a Treasure token. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_treasure_sac | TokenOwner$ You -A:AB$ ChangeZone | Cost$ Sac<5/Treasure> | CostDesc$ Sacrifice five Treasures: | Origin$ Library | Destination$ Battlefield | ChangeType$ Card.Artifact,Card.Dragon | ChangeNum$ 1 | Mandatory$ True | StackDescription$ {p:You} searches their library for an Artifact or Dragon card, puts that card onto the battlefield, then shuffles their library. | SpellDescription$ Search your library for an artifact or Dragon card, put that card onto the battlefield, then shuffle. +A:AB$ ChangeZone | Cost$ Sac<5/Treasure> | Origin$ Library | Destination$ Battlefield | ChangeType$ Card.Artifact,Card.Dragon | ChangeNum$ 1 | Mandatory$ True | StackDescription$ {p:You} searches their library for an Artifact or Dragon card, puts that card onto the battlefield, then shuffles their library. | SpellDescription$ Search your library for an artifact or Dragon card, put that card onto the battlefield, then shuffle. SVar:BuffedBy:Dwarf SVar:PlayMain1:TRUE DeckNeeds:Type$Dwarf diff --git a/forge-gui/res/cardsfolder/p/pardic_firecat.txt b/forge-gui/res/cardsfolder/p/pardic_firecat.txt index 6eba5248653..5d6394eadbd 100644 --- a/forge-gui/res/cardsfolder/p/pardic_firecat.txt +++ b/forge-gui/res/cardsfolder/p/pardic_firecat.txt @@ -3,7 +3,7 @@ ManaCost:3 R Types:Creature Elemental Cat PT:2/3 K:Haste -S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Graveyard | AddHiddenKeyword$ CARDNAME count as Flame Burst. | Description$ If CARDNAME is in a graveyard, effects from spells named Flame Burst count it as a card named Flame Burst. +S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Graveyard | AffectedZone$ Graveyard | AddHiddenKeyword$ CARDNAME count as Flame Burst. | Description$ If CARDNAME is in a graveyard, effects from spells named Flame Burst count it as a card named Flame Burst. DeckHints:Name$Flame Burst|Pardic Firecat SVar:Picture:http://www.wizards.com/global/images/magic/general/pardic_firecat.jpg Oracle:Haste\nIf Pardic Firecat is in a graveyard, effects from spells named Flame Burst count it as a card named Flame Burst. diff --git a/forge-gui/res/cardsfolder/r/restoration_angel.txt b/forge-gui/res/cardsfolder/r/restoration_angel.txt index 4768ef5fc76..96811a8d1e2 100644 --- a/forge-gui/res/cardsfolder/r/restoration_angel.txt +++ b/forge-gui/res/cardsfolder/r/restoration_angel.txt @@ -5,7 +5,7 @@ PT:3/4 K:Flash K:Flying T:Mode$ ChangesZone | ValidCard$ Creature.Self | Origin$ Any | Destination$ Battlefield | Execute$ RestorationExile | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may exile target non-Angel creature you control, then return that creature to the battlefield under your control. -SVar:RestorationExile:DB$ ChangeZone | ValidTgts$ Creature.nonAngel+YouCtrl | TgtPrompt$ Select target non-Angel creature you control | Origin$ Battlefield | Destination$ Exile | RememberTargets$ True | ForgetOtherTargets$ True | AILogic$ BounceOnce | SubAbility$ RestorationReturn +SVar:RestorationExile:DB$ ChangeZone | ValidTgts$ Creature.nonAngel+YouCtrl | TgtPrompt$ Select target non-Angel creature you control | Origin$ Battlefield | Destination$ Exile | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ RestorationReturn SVar:RestorationReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield | GainControl$ True SVar:Picture:http://www.wizards.com/global/images/magic/general/restoration_angel.jpg Oracle:Flash\nFlying\nWhen Restoration Angel enters the battlefield, you may exile target non-Angel creature you control, then return that card to the battlefield under your control. diff --git a/forge-gui/res/cardsfolder/s/suspicious_stowaway_seafaring_werewolf.txt b/forge-gui/res/cardsfolder/s/suspicious_stowaway_seafaring_werewolf.txt index 3fa1167dc45..8b04f582145 100644 --- a/forge-gui/res/cardsfolder/s/suspicious_stowaway_seafaring_werewolf.txt +++ b/forge-gui/res/cardsfolder/s/suspicious_stowaway_seafaring_werewolf.txt @@ -19,7 +19,7 @@ Colors:green Types:Creature Werewolf PT:2/1 K:Unblockable -T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigDrawN | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, draw a card, then discard a card. +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigDrawN | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, draw a card. SVar:TrigDrawN:DB$ Draw | NumCards$ 1 | Defined$ You K:Nightbound Oracle:Seafaring Werewolf can't be blocked.\nWhenever Seafaring Werewolf deals combat damage to a player, draw a card.\nNightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) diff --git a/forge-gui/res/cardsfolder/upcoming/alluring_suitor_deadly_dancer.txt b/forge-gui/res/cardsfolder/upcoming/alluring_suitor_deadly_dancer.txt new file mode 100644 index 00000000000..e2ef867f1b5 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/alluring_suitor_deadly_dancer.txt @@ -0,0 +1,22 @@ +Name:Alluring Suitor +ManaCost:2 R +Types:Creature Vampire +PT:2/3 +T:Mode$ AttackersDeclared | Execute$ TrigTransform | IsPresent$ Creature.attacking | PresentCompare$ EQ2 | NoResolvingCheck$ True | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ When you attack with exactly two creatures, transform CARDNAME. +SVar:TrigTransform:DB$ SetState | Defined$ Self | Mode$ Transform +AlternateMode:DoubleFaced +Oracle:When you attack with exactly two creatures, transform Alluring Suitor. + +ALTERNATE + +Name:Deadly Dancer +ManaCost:no cost +Colors:red +Types:Creature Vampire +PT:3/3 +K:Trample +T:Mode$ Transformed | ValidCard$ Card.Self | Execute$ TrigMana | TriggerDescription$ When this creature transforms into CARDNAME, add {R}{R}. Until end of turn, you don't lose this mana as steps and phases end. +SVar:TrigMana:DB$ Mana | Produced$ R | Amount$ 2 | PersistentMana$ True +A:AB$ Pump | Cost$ R R | Defined$ Self | NumAtt$ +1 | SubAbility$ DBPump | StackDescription$ CARDNAME and | SpellDescription$ CARDNAME and another target creature each get +1/+0 until end of turn. +SVar:DBPump:DB$ Pump | ValidTgts$ Creature.Other | TgtPrompt$ Select another target creature | NumAtt$ +1 | StackDescription$ {c:Targeted} each get +1/+0 until end of turn. +Oracle:Trample\nWhen this creature transforms into Deadly Dancer, add {R}{R}. Until end of turn, you don't lose this mana as steps and phases end.\n{R}{R}: Deadly Dancer and another target creature each get +1/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/ancient_lumberknot.txt b/forge-gui/res/cardsfolder/upcoming/ancient_lumberknot.txt new file mode 100644 index 00000000000..48f7d04ea4d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/ancient_lumberknot.txt @@ -0,0 +1,6 @@ +Name:Ancient Lumberknot +ManaCost:2 B G +Types:Creature Treefolk +PT:1/4 +S:Mode$ Continuous | Affected$ Creature.powerLTtoughness+YouCtrl | AddHiddenKeyword$ CARDNAME assigns combat damage equal to its toughness rather than its power | Description$ Each creature you control with toughness greater than its power assigns combat damage equal to its toughness rather than its power. +Oracle:Each creature you control with toughness greater than its power assigns combat damage equal to its toughness rather than its power. diff --git a/forge-gui/res/cardsfolder/upcoming/arm_the_cathars.txt b/forge-gui/res/cardsfolder/upcoming/arm_the_cathars.txt new file mode 100644 index 00000000000..f9301006cd2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/arm_the_cathars.txt @@ -0,0 +1,8 @@ +Name:Arm the Cathars +ManaCost:1 W W +Types:Sorcery +A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature (+3/+3) | NumAtt$ 3 | NumDef$ 3 | KW$ Vigilance | SubAbility$ DBPump | StackDescription$ Until end of turn, {c:ThisTargetedCard} gets +3/+3, | SpellDescription$ Until end of turn, target creature gets +3/+3, +SVar:DBPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select up to one other target creature (+2/+2) | TargetMin$ 0 | TargetMax$ 1 | NumAtt$ 2 | NumDef$ 2 | KW$ Vigilance | TargetUnique$ True | SubAbility$ DBPump2 | StackDescription$ SpellDescription | SpellDescription$ up to one other target creature gets +2/+2, +SVar:DBPump2:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select up to one other target creature (+1/+1) | TargetMin$ 0 | TargetMax$ 1 | NumAtt$ 1 | NumDef$ 1 | KW$ Vigilance | TargetUnique$ True | SubAbility$ DBPump3 | StackDescription$ SpellDescription | SpellDescription$ and up to one other target creature gets +1/1. +SVar:DBPump3:DB$ Pump | Defined$ Targeted | KW$ Vigilance | StackDescription$ SpellDescription | SpellDescription$ Those creatures gain vigilance until end of turn. +Oracle:Until end of turn, target creature gets +3/+3, up to one other target creature gets +2/+2, and up to one other target creature gets +1/+1. Those creatures gain vigilance until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/ascendant_packleader.txt b/forge-gui/res/cardsfolder/upcoming/ascendant_packleader.txt new file mode 100644 index 00000000000..5264d0fde28 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/ascendant_packleader.txt @@ -0,0 +1,10 @@ +Name:Ascendant Packleader +ManaCost:G +Types:Creature Wolf +PT:2/1 +K:etbCounter:P1P1:1:IsPresent$ Permanent.YouCtrl+cmcGE4:CARDNAME enters the battlefield with a +1/+1 counter on it if you control a permanent with mana value 4 or greater. +T:Mode$ SpellCast | ValidCard$ Card.cmcGE4 | ValidActivatingPlayer$ You | Execute$ TrigCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a spell with mana value 4 or greater, put a +1/+1 counter on CARDNAME. +SVar:TrigCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 +DeckHas:Ability$Counters +SVar:BuffedBy:Permanent.cmcGE4 +Oracle:Ascendant Packleader enters the battlefield with a +1/+1 counter on it if you control a permanent with mana value 4 or greater.\nWhenever you cast a spell with mana value 4 or greater, put a +1/+1 counter on Ascendant Packleader. diff --git a/forge-gui/res/cardsfolder/upcoming/belligerent_guest.txt b/forge-gui/res/cardsfolder/upcoming/belligerent_guest.txt new file mode 100644 index 00000000000..582bf5d0f67 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/belligerent_guest.txt @@ -0,0 +1,9 @@ +Name:Belligerent Guest +ManaCost:2 R +Types:Creature Vampire +PT:3/2 +K:Trample +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") +SVar:TrigToken:DB$ Token | TokenScript$ c_a_blood_draw +DeckHas:Ability$Token & Ability$Sacrifice & Type$Blood +Oracle:Trample\nWhenever Belligerent Guest deals combat damage to a player, create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") diff --git a/forge-gui/res/cardsfolder/upcoming/blood_hypnotist.txt b/forge-gui/res/cardsfolder/upcoming/blood_hypnotist.txt new file mode 100644 index 00000000000..a87f420e7c6 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/blood_hypnotist.txt @@ -0,0 +1,9 @@ +Name:Blood Hypnotist +ManaCost:2 R +Types:Creature Vampire +PT:3/3 +K:CARDNAME can't block. +T:Mode$ Sacrificed | ValidCard$ Blood.token+YouCtrl | TriggerZone$ Battlefield | Execute$ TrigPump | ActivationLimit$ 1 | TriggerDescription$ Whenever you sacrifice one or more Blood tokens, target creature can't block this turn. This ability triggers only once each turn. +SVar:TrigPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME can't block. | IsCurse$ True +DeckNeeds:Type$Blood +Oracle:Blood Hypnotist can't block.\nWhenever you sacrifice one or more Blood tokens, target creature can't block this turn. This ability triggers only once each turn. diff --git a/forge-gui/res/cardsfolder/upcoming/bloodtithe_harvester.txt b/forge-gui/res/cardsfolder/upcoming/bloodtithe_harvester.txt new file mode 100644 index 00000000000..40bd3cfbc91 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/bloodtithe_harvester.txt @@ -0,0 +1,10 @@ +Name:Bloodtithe Harvester +ManaCost:B R +Types:Creature Vampire +PT:3/2 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") +SVar:TrigToken:DB$ Token | TokenScript$ c_a_blood_draw +A:AB$ Pump | Cost$ T Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | SorcerySpeed$ True | AILogic$ Curse | SpellDescription$ Target creature gets -X/-X until end of turn, where X is twice the number of Blood tokens you control. Activate only as a sorcery. +SVar:X:Count$Valid Blood.token+YouCtrl/Twice +DeckHas:Ability$Token & Ability$Sacrifice & Type$Blood +Oracle:When Bloodtithe Harvester enters the battlefield, create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.")\n{T}, Sacrifice Bloodtithe Harvester: Target creature gets -X/-X until end of turn, where X is twice the number of Blood tokens you control. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/upcoming/bloodvial_purveyor.txt b/forge-gui/res/cardsfolder/upcoming/bloodvial_purveyor.txt new file mode 100644 index 00000000000..86f4b915622 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/bloodvial_purveyor.txt @@ -0,0 +1,13 @@ +Name:Bloodvial Purveyor +ManaCost:2 B B +Types:Creature Vampire +PT:5/6 +K:Flying +K:Trample +T:Mode$ SpellCast | ValidActivatingPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever an opponent casts a spell, that player creates a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") +SVar:TrigToken:DB$ Token | TokenScript$ c_a_blood_draw | TokenOwner$ TriggeredActivator +T:Mode$ Attacks | ValidCard$ Card.Self | IsPresent$ Blood.token+DefendingPlayerCtrl | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +1/+0 until end of turn for each Blood token defending player controls. +SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ X +SVar:X:Count$Valid Blood.token+DefendingPlayerCtrl +SVar:HasAttackEffect:TRUE +Oracle:Flying, trample\nWhenever an opponent casts a spell, that player creates a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.")\nWhenever Bloodvial Purveyor attacks, it gets +1/+0 until end of turn for each Blood token defending player controls. diff --git a/forge-gui/res/cardsfolder/upcoming/boarded_window.txt b/forge-gui/res/cardsfolder/upcoming/boarded_window.txt new file mode 100644 index 00000000000..15bd91760d8 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/boarded_window.txt @@ -0,0 +1,8 @@ +Name:Boarded Window +ManaCost:3 +Types:Artifact +S:Mode$ Continuous | Affected$ Creature.attackingYou | AddPower$ -1 | Description$ Creatures attacking you get -1/-0. +T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE4 | Execute$ TrigExile | TriggerDescription$ At the beginning of each end step, if you were dealt 4 or more damage this turn, exile CARDNAME. +SVar:TrigExile:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile +SVar:X:Count$LifeYouLostThisTurn +Oracle:Creatures attacking you get -1/-0.\nAt the beginning of each end step, if you were dealt 4 or more damage this turn, exile Boarded Window. diff --git a/forge-gui/res/cardsfolder/upcoming/bramble_wurm.txt b/forge-gui/res/cardsfolder/upcoming/bramble_wurm.txt new file mode 100644 index 00000000000..85186be8fa5 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/bramble_wurm.txt @@ -0,0 +1,11 @@ +Name:Bramble Wurm +ManaCost:6 G +Types:Creature Wurm +PT:7/6 +K:Reach +K:Trample +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 5 life. +SVar:TrigGainLife:DB$ GainLife | LifeAmount$ 5 +A:AB$ GainLife | Cost$ 2 G ExileFromGrave<1/CARDNAME> | ActivationZone$ Graveyard | LifeAmount$ 5 | SpellDescription$ You gain 5 life. +DeckHas:Ability$LifeGain +Oracle:Reach, trample\nWhen Bramble Wurm enters the battlefield, you gain 5 life.\n{2}{G}, Exile Bramble Wurm from your graveyard: You gain 5 life. diff --git a/forge-gui/res/cardsfolder/upcoming/breathkeeper_seraph.txt b/forge-gui/res/cardsfolder/upcoming/breathkeeper_seraph.txt new file mode 100644 index 00000000000..36318a7a6d4 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/breathkeeper_seraph.txt @@ -0,0 +1,11 @@ +Name:Breathkeeper Seraph +ManaCost:4 W W +Types:Creature Angel +PT:4/4 +K:Flying +K:Soulbond +S:Mode$ Continuous | Affected$ Creature.PairedWith,Creature.Self+Paired | AddTrigger$ DeathTrigger | AddSVar$ DelayedReturn,TrigReturn | Description$ As long as CARDNAME is paired with another creature, each of those creatures have "When this creature dies, you may return it to the battlefield under its owner's control at the beginning of your next upkeep." +SVar:DeathTrigger:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ DelayedReturn | TriggerDescription$ When this creature dies, you may return it to the battlefield under its owner's control at the beginning of your next upkeep. +SVar:DelayedReturn:DB$ DelayedTrigger | Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | OptionalDecider$ You | Execute$ TrigReturn | RememberObjects$ TriggeredNewCardLKICopy | TriggerDescription$ You may return it to the battlefield under its owner's control at the beginning of your next upkeep. +SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Graveyard | Destination$ Battlefield +Oracle:Flying, soulbond (You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)\nAs long as Breathkeeper Seraph is paired with another creature, each of those creatures has "When this creature dies, you may return it to the battlefield under its owner's control at the beginning of your next upkeep." diff --git a/forge-gui/res/cardsfolder/upcoming/cemetery_protector.txt b/forge-gui/res/cardsfolder/upcoming/cemetery_protector.txt index b4b85814bea..913eea7fe6e 100644 --- a/forge-gui/res/cardsfolder/upcoming/cemetery_protector.txt +++ b/forge-gui/res/cardsfolder/upcoming/cemetery_protector.txt @@ -11,4 +11,5 @@ SVar:TrigToken:DB$ Token | TokenScript$ w_1_1_human T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True SVar:DBCleanup:DB$ Cleanup | ClearImprinted$ True DeckHas:Ability$Token +DeckHints:Ability$Graveyard & Ability$Discard Oracle:Flash\nWhen Cemetery Protector enters the battlefield, exile a card from a graveyard.\nWhenever you play a land or cast a spell, if it shares a card type with the exiled card, create a 1/1 white Human creature token. diff --git a/forge-gui/res/cardsfolder/upcoming/chandra_dressed_to_kill.txt b/forge-gui/res/cardsfolder/upcoming/chandra_dressed_to_kill.txt new file mode 100644 index 00000000000..d9977f7a496 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/chandra_dressed_to_kill.txt @@ -0,0 +1,19 @@ +Name:Chandra, Dressed to Kill +ManaCost:1 R R +Types:Legendary Planeswalker Chandra +Loyalty:3 +A:AB$ Mana | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Produced$ R | SubAbility$ DBDealDamage | SpellDescription$ Add {R}. CARDNAME deals 1 damage to up to one target player or planeswalker. +SVar:DBDealDamage:DB$ DealDamage | ValidTgts$ Player,Planeswalker | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target player or planeswalker | NumDmg$ 1 +A:AB$ Dig | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Defined$ You | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | StackDescription$ SpellDescription | SpellDescription$ Exile the top card of your library. If it's red, you may cast it this turn. +SVar:DBEffect:DB$ Effect | ConditionDefined$ Remembered | ConditionPresent$ Card.Red | ConditionCompare$ GE1 | RememberObjects$ RememberedCard | StaticAbilities$ STPlay | SubAbility$ DBCleanup | ForgetOnMoved$ Exile +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:STPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered+nonLand | AffectedZone$ Exile | Description$ You may cast the exiled card this turn. +A:AB$ Dig | Cost$ SubCounter<7/LOYALTY> | Planeswalker$ True | Ultimate$ True | Defined$ You | DigNum$ 5 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect2 | StackDescription$ SpellDescription | SpellDescription$ Exile the top five cards of your library. You may cast red spells from among them this turn. You get an emblem with "Whenever you cast a red spell, this emblem deals X damage to any target, where X is the amount of mana spent to cast that spell." +SVar:DBEffect2:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ STPlay2 | SubAbility$ DBEffect3 | ForgetOnMoved$ Exile +SVar:DBEffect3:DB$ Effect | Name$ Emblem - Chandra, Dressed to Kill | Triggers$ TRSpellCast | Duration$ Permanent | SubAbility$ DBCleanup +SVar:STPlay2:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered+Red+nonLand | AffectedZone$ Exile | Description$ You may cast red spells from among the exiled cards this turn. +SVar:TRSpellCast:Mode$ SpellCast | ValidCard$ Card.Red | ValidActivatingPlayer$ You | TriggerZones$ Command | Execute$ TrigDealDamage | TriggerDescription$ Whenever you cast a red spell, this emblem deals X damage to any target, where X is the amount of mana spent to cast that spell." +SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X +SVar:X:Count$TriggeredManaSpent +SVar:BuffedBy:Card.Red +Oracle:[+1]: Add {R}. Chandra, Dressed to Kill deals 1 damage to up to one target player or planeswalker.\n[+1]: Exile the top card of your library. If it's red, you may cast it this turn.\n[-7]: Exile the top five cards of your library. You may cast red spells from among them this turn. You get an emblem with "Whenever you cast a red spell, this emblem deals X damage to any target, where X is the amount of mana spent to cast that spell." diff --git a/forge-gui/res/cardsfolder/upcoming/child_of_the_pack_savage_packmate.txt b/forge-gui/res/cardsfolder/upcoming/child_of_the_pack_savage_packmate.txt new file mode 100644 index 00000000000..54fd2a38655 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/child_of_the_pack_savage_packmate.txt @@ -0,0 +1,21 @@ +Name:Child of the Pack +ManaCost:2 R G +Types:Creature Human Werewolf +PT:2/5 +A:AB$ Token | Cost$ 2 R G | TokenScript$ g_2_2_wolf | StackDescription$ SpellDescription | SpellDescription$ Create a 2/2 green Wolf creature token. +K:Daybound +AlternateMode:DoubleFaced +DeckHas:Ability$Token & Type$Wolf +Oracle:{2}{R}{G}: Create a 2/2 green Wolf creature token.\nDaybound (If a player casts no spells during their own turn, it becomes night next turn.) + +ALTERNATE + +Name:Savage Packmate +ManaCost:no cost +Colors:red,green +Types:Creature Werewolf +PT:5/5 +K:Trample +S:Mode$ Continuous | Affected$ Creature.Other+YouCtrl | AddPower$ 1 | Description$ Other creatures you control get +1/+0. +K:Nightbound +Oracle:Trample\nOther creatures you control get +1/+0.\nNightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) diff --git a/forge-gui/res/cardsfolder/upcoming/concealing_curtains_revealing_eye.txt b/forge-gui/res/cardsfolder/upcoming/concealing_curtains_revealing_eye.txt new file mode 100644 index 00000000000..48128627453 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/concealing_curtains_revealing_eye.txt @@ -0,0 +1,25 @@ +Name:Concealing Curtains +ManaCost:B +Types:Creature Wall +PT:0/4 +K:Defender +A:AB$ SetState | Cost$ 2 B | Defined$ Self | Mode$ Transform | SorcerySpeed$ True | SpellDescription$ Transform CARDNAME. Activate only as a sorcery. +AlternateMode:DoubleFaced +Oracle:Defender\n{2}{B}: Transform Concealing Curtains. Activate only as a sorcery. + +ALTERNATE + +Name:Revealing Eye +ManaCost:no cost +Colors:black +Types:Creature Eye Horror +PT:3/4 +K:Menace +T:Mode$ Transformed | ValidCard$ Card.Self | Execute$ TrigReveal | TriggerDescription$ When this creature transforms into CARDNAME, target opponent reveals their hand. You may choose a nonland card from it. If you do, that player discards that card, then draws a card. +SVar:TrigReveal:DB$ RevealHand | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | RememberRevealed$ True | SubAbility$ DBChoose +SVar:DBChoose:DB$ ChooseCard | ChoiceZone$ Hand | Amount$ 1 | Choices$ Card.nonLand+IsRemembered | SubAbility$ DBDiscard | ChoiceTitle$ You may choose a nonland card +SVar:DBDiscard:DB$ Discard | DefinedCards$ ChosenCard | Defined$ Targeted | Mode$ Defined | ConditionDefined$ ChosenCard | ConditionPresent$ Card | ConditionCompare$ EQ1 | SubAbility$ DBDraw +SVar:DBDraw:DB$ Draw | Defined$ Targeted | NumCards$ 1 | ConditionDefined$ ChosenCard | ConditionPresent$ Card | ConditionCompare$ EQ1 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True +DeckHas:Ability$Discard +Oracle:Menace\nWhen this creature transforms into Revealing Eye, target opponent reveals their hand. You may choose a nonland card from it. If you do, that player discards that card, then draws a card. diff --git a/forge-gui/res/cardsfolder/upcoming/consuming_tide.txt b/forge-gui/res/cardsfolder/upcoming/consuming_tide.txt new file mode 100644 index 00000000000..79d30e9e8b5 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/consuming_tide.txt @@ -0,0 +1,11 @@ +Name:Consuming Tide +ManaCost:2 U U +Types:Sorcery +A:SP$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBChooseCard | SubAbility$ DBReturnAll | SpellDescription$ Each player chooses a nonland permanent they control. Return all nonland permanents not chosen this way to their owners' hands. Then you draw a card for each opponent who has more cards in their hand than you. +SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Permanent.nonLand+RememberedPlayerCtrl | ChoiceTitle$ Choose a nonland permanent you control | RememberChosen$ True | AILogic$ BestCard +SVar:DBReturnAll:DB$ ChangeZoneAll | ChangeType$ Permanent.nonLand+IsNotRemembered | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBDraw +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | StackDescription$ None | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:PlayerCountOpponents$HasPropertyHasCardsInHand_Card_GTY +SVar:Y:Count$CardsInYourHand +Oracle:Each player chooses a nonland permanent they control. Return all nonland permanents not chosen this way to their owners' hands. Then you draw a card for each opponent who has more cards in their hand than you. diff --git a/forge-gui/res/cardsfolder/upcoming/cultivator_colossus.txt b/forge-gui/res/cardsfolder/upcoming/cultivator_colossus.txt new file mode 100644 index 00000000000..7a7196f519a --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/cultivator_colossus.txt @@ -0,0 +1,15 @@ +Name:Cultivator Colossus +ManaCost:4 G G G +Types:Creature Plant Beast +PT:*/* +K:Trample +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of lands you control. +SVar:X:Count$Valid Land.YouCtrl +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigRepeat | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may put a land card from your hand onto the battlefield tapped. If you do, draw a card and repeat this process. +SVar:TrigRepeat:DB$ Repeat | RepeatSubAbility$ DBClear | RepeatDefined$ Remembered | RepeatPresent$ Card | RepeatSVarCompare$ EQ1 | SubAbility$ DBCleanup +SVar:DBClear:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBChangeZone +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Hand | Destination$ Battlefield | Tapped$ True | ChangeType$ Land.YouOwn | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBDraw +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:BuffedBy:Land +Oracle:Trample\nCultivator Colossus's power and toughness are each equal to the number of lands you control.\nWhen Cultivator Colossus enters the battlefield, you may put a land card from your hand onto the battlefield tapped. If you do, draw a card and repeat this process. diff --git a/forge-gui/res/cardsfolder/upcoming/distracting_geist_clever_distraction.txt b/forge-gui/res/cardsfolder/upcoming/distracting_geist_clever_distraction.txt new file mode 100644 index 00000000000..04c3f04a297 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/distracting_geist_clever_distraction.txt @@ -0,0 +1,27 @@ +Name:Distracting Geist +ManaCost:2 W +Types:Creature Spirit +PT:2/1 +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigTap | TriggerDescription$ Whenever CARDNAME attacks, tap target creature defending player controls. +SVar:TrigTap:DB$ Tap | ValidTgts$ Creature.ControlledBy TriggeredDefendingPlayer | TgtPrompt$ Select target creature defending player controls +SVar:HasAttackEffect:TRUE +K:Disturb:4 W +AlternateMode:DoubleFaced +DeckHas:Ability$Graveyard +Oracle:Whenever Distracting Geist attacks, tap target creature defending player controls.\nDisturb {4}{W} (You may cast this card from your graveyard transformed for its disturb cost.) + +ALTERNATE + +Name:Clever Distraction +ManaCost:no cost +Colors:white +Types:Enchantment Aura +K:Enchant creature +A:SP$ Attach | ValidTgts$ Creature | TgtPrompt$ Select target creature | AILogic$ Pump +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddTrigger$ AttackTrigger | AddSVar$ AE | Description$ Enchanted creature has "Whenever this creature attacks, tap target creature defending player controls." +SVar:AttackTrigger:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigTap | TriggerDescription$ Whenever CARDNAME attacks, tap target creature defending player controls. +SVar:TrigTap:DB$ Tap | ValidTgts$ Creature.ControlledBy TriggeredDefendingPlayer | TgtPrompt$ Select target creature defending player controls +SVar:AE:SVar:HasAttackEffect:TRUE +R:Event$ Moved | ValidCard$ Card.Self | Destination$ Graveyard | ReplaceWith$ Exile | Description$ If CARDNAME would be put into a graveyard from anywhere, exile it instead. +SVar:Exile:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard +Oracle:Enchant creature\nEnchanted creature has "Whenever this creature attacks, tap target creature defending player controls." If Clever Distraction would be put into a graveyard from anywhere, exile it instead. diff --git a/forge-gui/res/cardsfolder/upcoming/diver_skaab.txt b/forge-gui/res/cardsfolder/upcoming/diver_skaab.txt new file mode 100644 index 00000000000..1620ab76ade --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/diver_skaab.txt @@ -0,0 +1,9 @@ +Name:Diver Skaab +ManaCost:3 U U +Types:Creature Zombie +PT:3/5 +K:Exploit +T:Mode$ Exploited | ValidCard$ Creature | ValidSource$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigSubmerge | TriggerDescription$ When CARDNAME exploits a creature, target creature's owner puts it on the top or bottom of their library. +SVar:TrigSubmerge:DB$ ChangeZone | ValidTgts$ Creature | TgtPrompt$ Select target creature | AlternativeDecider$ TargetedController | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | DestinationAlternative$ Library | LibraryPositionAlternative$ -1 | AlternativeDestinationMessage$ Would you like to put the card on the top of your library (and not on the bottom)? +DeckHas:Ability$Sacrifice +Oracle:Exploit (When this creature enters the battlefield, you may sacrifice a creature.)\nWhen Diver Skaab exploits a creature, target creature's owner puts it on the top or bottom of their library. diff --git a/forge-gui/res/cardsfolder/upcoming/dollhouse_of_horrors.txt b/forge-gui/res/cardsfolder/upcoming/dollhouse_of_horrors.txt new file mode 100644 index 00000000000..b95d6d1ef97 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/dollhouse_of_horrors.txt @@ -0,0 +1,10 @@ +Name:Dollhouse of Horrors +ManaCost:5 +Types:Artifact +A:AB$ CopyPermanent | Cost$ 1 T ExileFromGrave<1/Creature> | Defined$ Exiled | SetPower$ 0 | SetToughness$ 0 | AddTypes$ Construct & Artifact | AddStaticAbilities$ ConstructBuff | SorcerySpeed$ True | SubAbility$ DBPump | StackDescription$ Create a token that's a copy of {c:Exiled}, except it's a 0/0 Construct artifact in addition to its other types and it has "This creature gets +1/+1 for each Construct you control." | SpellDescription$ Create a token that's a copy of the exiled card, except it's a 0/0 Construct artifact in addition to its other types and it has "This creature gets +1/+1 for each Construct you control." +SVar:DBPump:DB$ Pump | Defined$ Exiled | StackDescription$ That creature gains haste until end of turn. | SpellDescription$ That creature gains haste until end of turn. Activate only as a sorcery. +SVar:ConstructBuff:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ This creature gets +1/+1 for each Construct you control. +SVar:X:Count$Valid Construct.YouCtrl +DeckHas:Ability$Token & Ability$Graveyard & Type$Artifact +DeckHints:Type$Construct +Oracle:{1}, {T}: Exile a creature card from your graveyard: Create a token that's a copy of the exiled card, except it's a 0/0 Construct artifact in addition to its other types and it has "This creature gets +1/+1 for each Construct you control." That creature gains haste until end of turn. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/upcoming/dreamshackle_geist.txt b/forge-gui/res/cardsfolder/upcoming/dreamshackle_geist.txt new file mode 100644 index 00000000000..29644fa782b --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/dreamshackle_geist.txt @@ -0,0 +1,10 @@ +Name:Dreamshackle Geist +ManaCost:1 U U +Types:Creature Spirit +PT:3/1 +K:Flying +T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigCharm | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, ABILITY +SVar:TrigCharm:DB$ Charm | Choices$ Tap,Freeze | CharmNum$ 1 +SVar:Tap:DB$ Tap | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Tap target creature. +SVar:Freeze:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN This card doesn't untap during your next untap step. | Duration$ Permanent | IsCurse$ True | SpellDescription$ Target creature doesn't untap during its controller's next untap step. +Oracle:Flying\nAt the beginning of combat on your turn, choose up to one —\n• Tap target creature.\n• Target creature doesn't untap during its controller's next untap step. diff --git a/forge-gui/res/cardsfolder/upcoming/dying_to_serve.txt b/forge-gui/res/cardsfolder/upcoming/dying_to_serve.txt new file mode 100644 index 00000000000..731fe77d5b8 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/dying_to_serve.txt @@ -0,0 +1,8 @@ +Name:Dying to Serve +ManaCost:2 B +Types:Enchantment +T:Mode$ DiscardedAll | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | ActivationLimit$ 1 | TriggerDescription$ Whenever you discard one or more cards, create a tapped 2/2 black Zombie creature token. This ability triggers only once each turn. +SVar:TrigToken:DB$ Token | TokenTapped$ True | TokenScript$ b_2_2_zombie +DeckHas:Ability$Token & Type$Zombie +DeckHints:Ability$Discard & Ability$Graveyard +Oracle:Whenever you discard one or more cards, create a tapped 2/2 black Zombie creature token. This ability triggers only once each turn. diff --git a/forge-gui/res/cardsfolder/upcoming/edgars_awakening.txt b/forge-gui/res/cardsfolder/upcoming/edgars_awakening.txt new file mode 100644 index 00000000000..25cefb617a0 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/edgars_awakening.txt @@ -0,0 +1,10 @@ +Name:Edgar's Awakening +ManaCost:3 B B +Types:Sorcery +A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Select target creature card in your graveyard | ValidTgts$ Creature.YouOwn | SpellDescription$ Return target creature card from your graveyard to the battlefield. +T:Mode$ Discarded | ValidCard$ Card.Self | Execute$ TrigImmediateTrig | TriggerController$ TriggeredCardController | TriggerDescription$ When you discard CARDNAME, you may pay {B}. When you do, return target creature card from your graveyard to your hand. +SVar:TrigImmediateTrig:AB$ ImmediateTrigger | Cost$ B | Execute$ TrigReturn | TriggerDescription$ When you do, return target creature card from your graveyard to your hand. +SVar:TrigReturn:DB$ ChangeZone | TgtPrompt$ Select target creature card in your graveyard | ValidTgts$ Creature.YouOwn | Origin$ Graveyard | Destination$ Hand +DeckHints:Ability$Discard +DeckHas:Ability$Graveyard +Oracle:Return target creature card from your graveyard to the battlefield.\nWhen you discard Edgar's Awakening, you may pay {B}. When you do, return target creature card from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/upcoming/falkenrath_forebear.txt b/forge-gui/res/cardsfolder/upcoming/falkenrath_forebear.txt new file mode 100644 index 00000000000..56eed23a8dc --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/falkenrath_forebear.txt @@ -0,0 +1,11 @@ +Name:Falkenrath Forebear +ManaCost:2 B +Types:Creature Vampire +PT:3/1 +K:Flying +K:CARDNAME can't block. +T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigToken | CombatDamage$ True | ValidTarget$ Player | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, create a Blood token. +SVar:TrigToken:DB$ Token | TokenScript$ c_a_blood_draw +A:AB$ ChangeZone | Cost$ B Sac<2/Blood.token/Blood token> | Origin$ Graveyard | Destination$ Battlefield | ActivationZone$ Graveyard | SpellDescription$ Return CARDNAME from your graveyard to the battlefield. +DeckHas:Ability$Token & Ability$Sacrifice & Ability$Graveyard & Type$Blood +Oracle:Flying\nFalkenrath Forebear can't block.\nWhenever Falkenrath Forebear deals combat damage to a player, create a Blood token.\n{B}, Sacrifice two Blood tokens: Return Falkenrath Forebear from your graveyard to the battlefield. diff --git a/forge-gui/res/cardsfolder/upcoming/glorious_sunrise.txt b/forge-gui/res/cardsfolder/upcoming/glorious_sunrise.txt new file mode 100644 index 00000000000..af2a9588ab2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/glorious_sunrise.txt @@ -0,0 +1,12 @@ +Name:Glorious Sunrise +ManaCost:3 G G +Types:Enchantment +T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigCharm | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, ABILITY +SVar:TrigCharm:DB$ Charm | Choices$ PumpAll,Animate,Draw,Gain | CharmNum$ 1 +SVar:PumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Trample | NumAtt$ +1 | NumDef$ +1 | SpellDescription$ Creatures you control get +1/+1 and gain trample until end of turn. +SVar:Animate:DB$ Animate | ValidTgts$ Land | TgtPrompt$ Select target land | Abilities$ ThreeG | SpellDescription$ Target land gains "{T}: Add {G}{G}{G}" until end of turn. +SVar:ThreeG:AB$ Mana | Cost$ T | Produced$ G | Amount$ 3 | SpellDescription$ Add {G}{G}{G} +SVar:Draw:DB$ Draw | Defined$ You | NumCards$ 1 | ConditionPresent$ Creature.YouCtrl+powerGE3 | SpellDescription$ Draw a card if you control a creature with power 3 or greater. +SVar:Gain:DB$ GainLife | LifeAmount$ 3 | SpellDescription$ You gain 3 life. +DeckHas:Ability$LifeGain +Oracle:At the beginning of combat on your turn, choose one —\n• Creatures you control get +1/+1 and gain trample until end of turn.\n• Target land gains "{T}: Add {G}{G}{G}" until end of turn.\n• Draw a card if you control a creature with power 3 or greater.\n• You gain 3 life. diff --git a/forge-gui/res/cardsfolder/upcoming/graf_reaver.txt b/forge-gui/res/cardsfolder/upcoming/graf_reaver.txt new file mode 100644 index 00000000000..78be73efa2b --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/graf_reaver.txt @@ -0,0 +1,11 @@ +Name:Graf Reaver +ManaCost:1 B +Types:Creature Zombie Warrior +PT:3/3 +K:Exploit +T:Mode$ Exploited | ValidCard$ Creature | ValidSource$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME exploits a creature, destroy target planeswalker. +SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Planeswalker | TgtPrompt$ Select target planeswalker +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ At the beginning of your upkeep, CARDNAME deals 1 damage to you. +SVar:TrigDealDamage:DB$ DealDamage | Defined$ You | NumDmg$ 1 +AI:RemoveDeck:Random +Oracle:Exploit (When this creature enters the battlefield, you may sacrifice a creature.)\nWhen Graf Reaver exploits a creature, destroy target planeswalker.\nAt the beginning of your upkeep, Graf Reaver deals 1 damage to you. diff --git a/forge-gui/res/cardsfolder/upcoming/hamlet_vanguard.txt b/forge-gui/res/cardsfolder/upcoming/hamlet_vanguard.txt new file mode 100644 index 00000000000..622fa53e9f4 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/hamlet_vanguard.txt @@ -0,0 +1,10 @@ +Name:Hamlet Vanguard +ManaCost:2 G +Types:Creature Human Warrior +PT:1/1 +K:Ward:2 +K:etbCounter:P1P1:X:no Condition:CARDNAME enters the battlefield with two +1/+1 counters on it for each other nontoken Human you control. +SVar:X:Count$Valid Human.nonToken+YouCtrl/Times.2 +DeckNeeds:Type$Human +DeckHas:Ability$Counters +Oracle:Ward {2} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {2}.)\nHamlet Vanguard enters the battlefield with two +1/+1 counters on it for each other nontoken Human you control. diff --git a/forge-gui/res/cardsfolder/upcoming/headless_rider.txt b/forge-gui/res/cardsfolder/upcoming/headless_rider.txt new file mode 100644 index 00000000000..17eea2fdfb5 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/headless_rider.txt @@ -0,0 +1,10 @@ +Name:Headless Rider +ManaCost:2 B +Types:Creature Zombie +PT:3/1 +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Zombie.nonToken+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME or another nontoken Zombie you control dies, create a 2/2 black Zombie creature token. +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | Secondary$ True | TriggerDescription$ Whenever CARDNAME or another nontoken Zombie you control dies, create a 2/2 black Zombie creature token. +SVar:TrigToken:DB$ Token | TokenScript$ b_2_2_zombie +DeckHas:Ability$Token +DeckHints:Type$Zombie +Oracle:Whenever Headless Rider or another nontoken Zombie you control dies, create a 2/2 black Zombie creature token. diff --git a/forge-gui/res/cardsfolder/upcoming/henrika_domnathi_henrika_infernal_seer.txt b/forge-gui/res/cardsfolder/upcoming/henrika_domnathi_henrika_infernal_seer.txt new file mode 100644 index 00000000000..76c447f6f42 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/henrika_domnathi_henrika_infernal_seer.txt @@ -0,0 +1,28 @@ +Name:Henrika Domnathi +ManaCost:2 B B +Types:Legendary Creature Vampire +PT:1/3 +K:Flying +T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigCharm | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, ABILITY +SVar:TrigCharm:DB$ Charm | Choices$ SacDom,DrawDom,TransDom | ChoiceRestriction$ ThisGame | CharmNum$ 1 +SVar:SacDom:DB$ Sacrifice | Amount$ 1 | SacValid$ Creature | Defined$ Player | SpellDescription$ Each player sacrifices a creature. +SVar:DrawDom:DB$ Draw | Defined$ You | NumCards$ 1 | SubAbility$ DBLoseLife | SpellDescription$ You draw a card and you lose 1 life. +SVar:DBLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ 1 | StackDescription$ None +SVar:TransDom:DB$ SetState | Defined$ Self | Mode$ Transform | SpellDescription$ Transform CARDNAME. +AlternateMode:DoubleFaced +DeckHas:Ability$Sacrifice +Oracle:Flying\nAt the beginning of combat on your turn, choose one that hasn't been chosen –\n• Each player sacrifices a creature.\n• You draw a card and you lose 1 life.\n•Transform Henrika Domnathi. + +ALTERNATE + +Name:Henrika, Infernal Seer +ManaCost:no cost +Colors:black +Types:Legendary Creature Vampire +PT:3/4 +K:Flying +K:Deathtouch +K:Lifelink +A:AB$ PumpAll | Cost$ 1 B B | ValidCards$ Creature.YouCtrl+withFlying,Creature.YouCtrl+withLifelink,Creature.YouCtrl+withDeathtouch | NumAtt$ +1 | SpellDescription$ Each creature you control with flying, deathtouch and/or lifelink gets +1/+0 until end of turn. +DeckHas:Ability$LifeGain +Oracle:Flying, deathtouch, lifelink\n{1}{B}{B}: Each creature you control with flying, deathtouch and/or lifelink gets +1/+0 until end of turn. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/hiveheart_shaman.txt b/forge-gui/res/cardsfolder/upcoming/hiveheart_shaman.txt new file mode 100644 index 00000000000..60550258cff --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/hiveheart_shaman.txt @@ -0,0 +1,15 @@ +Name:Hiveheart Shaman +ManaCost:3 G +Types:Creature Human Shaman +PT:3/5 +T:Mode$ Attacks | ValidCard$ Card.Self | OptionalDecider$ You | Execute$ TrigChange | TriggerDescription$ Whenever CARDNAME attacks, you may search your library for a basic land card that doesn't share a land type with a land you control, put that card onto the battlefield, then shuffle. +SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Land.Basic+!sharesLandTypeWith Valid Land.YouCtrl | ChangeNum$ 1 | ShuffleNonMandatory$ True +A:AB$ Token | Cost$ 5 G | TokenScript$ g_1_1_insect | RememberTokens$ True | SorcerySpeed$ True | SubAbility$ DBCounters | StackDescription$ SpellDescription | SpellDescription$ Create a 1/1 green Insect creature token. Put X +1/+1 counters on it, where X is the number of basic land types among lands you control. +SVar:DBCounters:DB$ PutCounter | Defined$ Remembered | CounterType$ P1P1 | CounterNum$ X | StackDescription$ None | SubAbility$ DBCleanup | SpellDescription$ Activate only as a sorcery. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Count$Domain +SVar:BuffedBy:Plains,Island,Swamp,Mountain,Forest +SVar:HasAttackEffect:TRUE +DeckHints:Color$White|Blue|Red|Black +DeckHas:Ability$Token & Ability$Counters +Oracle:Whenever Hiveheart Shaman attacks, you may search your library for a basic land card that doesn't share a land type with a land you control, put that card onto the battlefield, then shuffle.\n{5}{G}: Create a 1/1 green Insect creature token. Put X +1/+1 counters on it, where X is the number of basic land types among lands you control. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/upcoming/honeymoon_hearse.txt b/forge-gui/res/cardsfolder/upcoming/honeymoon_hearse.txt new file mode 100644 index 00000000000..2889a417b94 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/honeymoon_hearse.txt @@ -0,0 +1,7 @@ +Name:Honeymoon Hearse +ManaCost:2 R +Types:Artifact Vehicle +PT:5/5 +K:Trample +A:AB$ Animate | Cost$ tapXType<2/Creature/creature> | Types$ Artifact,Creature | RemoveCardTypes$ True | StackDescription$ SpellDescription | SpellDescription$ CARDNAME becomes an artifact creature until end of turn. +Oracle:Trample\nTap two untapped creatures you control: Honeymoon Hearse becomes an artifact creature until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/honored_heirloom.txt b/forge-gui/res/cardsfolder/upcoming/honored_heirloom.txt new file mode 100644 index 00000000000..f562cb8bbe9 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/honored_heirloom.txt @@ -0,0 +1,5 @@ +Name:Honored Heirloom +Types:Artifact +A:AB$ Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color. +A:AB$ ChangeZone | Cost$ 2 T | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Select target card in a graveyard | ValidTgts$ Card | SpellDescription$ Exile target card from a graveyard. +Oracle:{T}: Add one mana of any color.\n{2}, {T}: Exile target card from a graveyard. diff --git a/forge-gui/res/cardsfolder/upcoming/howlpack_piper_wildsong_howler.txt b/forge-gui/res/cardsfolder/upcoming/howlpack_piper_wildsong_howler.txt new file mode 100644 index 00000000000..bff1a2b379b --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/howlpack_piper_wildsong_howler.txt @@ -0,0 +1,25 @@ +Name:Howlpack Piper +ManaCost:3 G +Types:Creature Human Werewolf +PT:2/2 +K:CARDNAME can't be countered. +A:AB$ ChangeZone | Cost$ 1 G T | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ 1 | SorcerySpeed$ True | RememberChanged$ True | SubAbility$ DBUntap | StackDescription$ You may put a creature card from your hand onto the battlefield. If it's a Wolf or Werewolf, untap CARDNAME. | SpellDescription$ You may put a creature card from your hand onto the battlefield. If it's a Wolf or Werewolf, untap CARDNAME. Activate only as a sorcery. +SVar:DBUntap:DB$ Untap | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Wolf,Werewolf | ConditionCompare$ EQ1 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +K:Daybound +AlternateMode:DoubleFaced +DeckHints:Type$Wolf|Werewolf +Oracle:This spell can't be countered.\n{1}{G}, {T}: You may put a creature card from your hand onto the battlefield. If it's a Wolf or Werewolf, untap Howlpack Piper. Activate only as a sorcery.\nDaybound (If a player casts no spells during their own turn, it becomes night next turn.) + +ALTERNATE + +Name:Wildsong Howler +ManaCost:no cost +Colors:green +Types:Creature Werewolf +PT:4/4 +T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDig | TriggerDescription$ Whenever this creature enters the battlefield or transforms into CARDNAME, look at the top six cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. +T:Mode$ Transformed | ValidCard$ Card.Self | Execute$ TrigDig | Secondary$ True | TriggerDescription$ Whenever this creature enters the battlefield or transforms into CARDNAME, look at the top six cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. +SVar:TrigDig:DB$ Dig | DigNum$ 6 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Card.Creature | RestRandomOrder$ True | ForceRevealToController$ True +K:Nightbound +Oracle:Whenever this creature enters the battlefield or transforms into Wildsong Howler, look at the top six cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.\nNightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) diff --git a/forge-gui/res/cardsfolder/upcoming/inspired_idea.txt b/forge-gui/res/cardsfolder/upcoming/inspired_idea.txt new file mode 100644 index 00000000000..f5adfe28c7c --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/inspired_idea.txt @@ -0,0 +1,8 @@ +Name:Inspired Idea +ManaCost:2 U +Types:Sorcery +A:SP$ Draw | NumCards$ 3 | SubAbility$ DBEffect | SpellDescription$ Draw three cards. [Your maximum hand size is reduced by three for the rest of the game.] +SVar:DBEffect:DB$ Effect | StaticAbilities$ ReduceHand | Duration$ Permanent +SVar:ReduceHand:Mode$ Continuous | Affected$ You | RaiseMaxHandSize$ -3 | Description$ Your maximum hand size is reduced by three for the rest of the game. +A:SP$ Draw | Cost$ 3 U U | NumCards$ 3 | PrecostDesc$ Cleave | CostDesc$ {3}{U}{U} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its cleave cost. If you do, remove the words in square brackets.) +Oracle:Cleave {3}{U}{U} (You may cast this spell for its cleave cost. If you do, remove the words in square brackets.)\nDraw three cards. [Your maximum hand size is reduced by three for the rest of the game.] diff --git a/forge-gui/res/cardsfolder/upcoming/into_the_night.txt b/forge-gui/res/cardsfolder/upcoming/into_the_night.txt new file mode 100644 index 00000000000..28f74d88108 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/into_the_night.txt @@ -0,0 +1,9 @@ +Name:Into the Night +ManaCost:3 R +Types:Sorcery +A:SP$ DayTime | Value$ Night | SubAbility$ DBDiscard | SpellDescription$ It becomes night. +SVar:DBDiscard:DB$ Discard | AnyNumber$ True | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBDraw | StackDescription$ {p:You} discards any number of cards, | SpellDescription$ Discard any number of cards, +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ Y | SubAbility$ DBCleanup | StackDescription$ then draws that many cards plus one. | SpellDescription$ then draw that many cards plus one. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:Y:Remembered$Amount.Plus.1 +Oracle:It becomes night. Discard any number of cards, then draw that many cards plus one. diff --git a/forge-gui/res/cardsfolder/upcoming/laid_to_rest.txt b/forge-gui/res/cardsfolder/upcoming/laid_to_rest.txt new file mode 100644 index 00000000000..2ba70d54e82 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/laid_to_rest.txt @@ -0,0 +1,10 @@ +Name:Laid to Rest +ManaCost:3 G +Types:Enchantment +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Human.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever a Human you control dies, draw a card. +SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 1 +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | ValidCard$ Creature.YouCtrl+counters_GE1_P1P1 | Execute$ DBGainLife | TriggerDescription$ Whenever a creature you control with a +1/+1 counter on it dies, you gain 2 life. +SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 2 +DeckNeeds:Type$Human & Ability$Counters +DeckHas:Ability$LifeGain +Oracle:Whenever a Human you control dies, draw a card.\nWhenever a creature you control with a +1/+1 counter on it dies, you gain 2 life. diff --git a/forge-gui/res/cardsfolder/upcoming/lantern_bearer_lanterns_lift.txt b/forge-gui/res/cardsfolder/upcoming/lantern_bearer_lanterns_lift.txt new file mode 100644 index 00000000000..9d44901737b --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/lantern_bearer_lanterns_lift.txt @@ -0,0 +1,22 @@ +Name:Lantern Bearer +ManaCost:U +Types:Creature Spirit +PT:1/1 +K:Flying +K:Disturb:2 U +AlternateMode:DoubleFaced +DeckHas:Ability$Graveyard +Oracle:Flying\nDisturb {2}{U} (You may cast this card from your graveyard transformed for its disturb cost.) + +ALTERNATE + +Name:Lanterns' Lift +ManaCost:no cost +Colors:blue +Types:Enchantment Aura +K:Enchant creature +A:SP$ Attach | ValidTgts$ Creature | TgtPrompt$ Select target creature | AILogic$ Pump +S:Mode$ Continuous | Affected$ Card.EnchantedBy | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Flying | Description$ Enchanted creature gets +1/+1 and has flying. +R:Event$ Moved | ValidCard$ Card.Self | Destination$ Graveyard | ReplaceWith$ Exile | Description$ If CARDNAME would be put into a graveyard from anywhere, exile it instead. +SVar:Exile:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard +Oracle:Enchant creature\nEnchanted creature gets +1/+1 and has flying.\nIf Lanterns' Lift would be put into a graveyard from anywhere, exile it instead. diff --git a/forge-gui/res/cardsfolder/upcoming/lantern_flare.txt b/forge-gui/res/cardsfolder/upcoming/lantern_flare.txt new file mode 100644 index 00000000000..a8af859f7e3 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/lantern_flare.txt @@ -0,0 +1,11 @@ +Name:Lantern Flare +ManaCost:1 W +Types:Instant +A:SP$ DealDamage | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ Y | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals X damage to target creature or planeswalker and you gain X life. [X is the number of creatures you control.] +SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ Y +A:SP$ DealDamage | Cost$ X R W | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ X | PrecostDesc$ Cleave | SubAbility$ DBGainLifeC | CostDesc$ {X}{R}{W} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its cleave cost. If you do, remove the words in square brackets.) +SVar:DBGainLifeC:DB$ GainLife | Defined$ You | LifeAmount$ X +SVar:X:Count$xPaid +SVar:Y:Count$TypeYouCtrl.Creature +DeckHas:Ability$LifeGain +Oracle:Cleave {X}{R}{W} (You may cast this spell for its cleave cost. If you do, remove the words in square brackets.)\nLantern Flare deals X damage to target creature or planeswalker and you gain X life. [X is the number of creatures you control.] diff --git a/forge-gui/res/cardsfolder/upcoming/magma_pummeler.txt b/forge-gui/res/cardsfolder/upcoming/magma_pummeler.txt new file mode 100644 index 00000000000..038e0fb97dd --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/magma_pummeler.txt @@ -0,0 +1,15 @@ +Name:Magma Pummeler +ManaCost:X R R +Types:Creature Elemental +PT:0/0 +K:etbCounter:P1P1:X +SVar:X:Count$xPaid +R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ Card.Self+counters_GE1_P1P1 | ReplaceWith$ Counters | PreventionEffect$ True | AlwaysReplace$ True | Description$ If damage would be dealt to CARDNAME while it has a +1/+1 counter on it, prevent that damage and remove that many +1/+1 counters from it. When one or more counters are removed from Magma Pummeler this way, it deals that much damage to any target. +SVar:Counters:DB$ RemoveCounter | Defined$ ReplacedTarget | CounterType$ P1P1 | CounterNum$ Y | RememberRemoved$ True | SubAbility$ DBImmediateTrigger +SVar:Y:ReplaceCount$DamageAmount +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | Execute$ TrigDamage | SubAbility$ DBCleanup | TriggerDescription$ When one or more counters are removed from CARDNAME this way, it deals that much damage to any target. +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ Z +SVar:Z:Count$RememberedSize +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Counters +Oracle:Magma Pummeler enters the battlefield with X +1/+1 counters on it.\nIf damage would be dealt to Magma Pummeler while it has a +1/+1 counter on it, prevent that damage and remove that many +1/+1 counters from it. When one or more counters are removed from Magma Pummeler this way, it deals that much damage to any target. diff --git a/forge-gui/res/cardsfolder/upcoming/markov_purifier.txt b/forge-gui/res/cardsfolder/upcoming/markov_purifier.txt new file mode 100644 index 00000000000..2f73ba6b2a3 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/markov_purifier.txt @@ -0,0 +1,11 @@ +Name:Markov Purifier +ManaCost:1 W B +Types:Creature Vampire Cleric +PT:2/3 +K:Lifelink +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | Execute$ TrigDraw | TriggerDescription$ At the beginning of your end step, if you gained life this turn, you may pay {2}. If you do, draw a card. +SVar:TrigDraw:AB$ Draw | Cost$ 2 | NumCards$ 1 | SpellDescription$ Draw a card. +SVar:X:Count$LifeYouGainedThisTurn +DeckHas:Ability$LifeGain +DeckHints:Ability$LifeGain +Oracle:Lifelink\nAt the beginning of your end step, if you gained life this turn, you may pay {2}. If you do, draw a card. diff --git a/forge-gui/res/cardsfolder/upcoming/markov_retribution.txt b/forge-gui/res/cardsfolder/upcoming/markov_retribution.txt new file mode 100644 index 00000000000..6004c6a844c --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/markov_retribution.txt @@ -0,0 +1,10 @@ +Name:Markov Retribution +ManaCost:2 R +Types:Sorcery +A:SP$ Charm | MinCharmNum$ 1 | CharmNum$ 2 | Choices$ DBPumpAll,DBBite +SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ +1 | SpellDescription$ Creatures you control get +1/+0 until end of turn. +SVar:DBBite:DB$ Pump | ValidTgts$ Vampire.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target Vampire you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target Vampire you control deals damage equal to its power to another target creature. +SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Creature | AILogic$ PowerDmg | TgtPrompt$ Select another target creature | TargetUnique$ True | NumDmg$ X | DamageSource$ ParentTarget | StackDescription$ {c:ParentTarget} deals damage equal to its power to {c:ThisTargetedCard}. +SVar:X:ParentTargeted$CardPower +DeckHints:Type$Vampire +Oracle:Choose one or both —\n• Creatures you control get +1/+0 until end of turn.\n• Target Vampire you control deals damage equal to its power to another target creature. diff --git a/forge-gui/res/cardsfolder/upcoming/markov_waltzer.txt b/forge-gui/res/cardsfolder/upcoming/markov_waltzer.txt new file mode 100644 index 00000000000..589ece30792 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/markov_waltzer.txt @@ -0,0 +1,9 @@ +Name:Markov Waltzer +ManaCost:2 R W +Types:Creature Vampire +PT:1/3 +K:Flying +K:Haste +T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, up to two target creatures you control each get +1/+0 until end of turn. +SVar:TrigPump:DB$ Pump | TargetMin$ 0 | TargetMax$ 2 | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select up to two target creatures you control | NumAtt$ +1 +Oracle:Flying, haste\nAt the beginning of combat on your turn, up to two target creatures you control each get +1/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/mirrorhall_mimic_ghastly_mimicry.txt b/forge-gui/res/cardsfolder/upcoming/mirrorhall_mimic_ghastly_mimicry.txt new file mode 100644 index 00000000000..493b98516f8 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mirrorhall_mimic_ghastly_mimicry.txt @@ -0,0 +1,25 @@ +Name:Mirrorhall Mimic +ManaCost:3 U +Types:Creature Spirit +PT:0/0 +K:ETBReplacement:Copy:DBCopy:Optional +SVar:DBCopy:DB$ Clone | Choices$ Creature.Other | ChoiceTitle$ Choose a creature on the battlefield to copy | AddTypes$ Spirit | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield, except it's an Spirit in addition to its other types. +K:Disturb:3 U U +AlternateMode:DoubleFaced +DeckHas:Ability$Graveyard +Oracle:You may have Mirrorhall Mimic enter the battlefield as a copy of any creature on the battlefield, except it's a Spirit in addition to its other types.\nDisturb {3}{U}{U} (You may cast this card from your graveyard transformed for its disturb cost.) + +ALTERNATE + +Name:Ghastly Mimicry +ManaCost:no cost +Colors:blue +Types:Enchantment Aura +K:Enchant creature +A:SP$ Attach | ValidTgts$ Creature | TgtPrompt$ Select target creature | AILogic$ HighestEvaluation +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigCopy | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, create a token that's a copy of enchanted creature, except it's a Spirit in addition to its other types. +SVar:TrigCopy:DB$ CopyPermanent | Defined$ Enchanted | AddTypes$ Spirit | SpellDescription$ At the beginning of your upkeep, create a token that's a copy of enchanted creature, except it's a Spirit in addition to its other types. +R:Event$ Moved | ValidCard$ Card.Self | Destination$ Graveyard | ReplaceWith$ Exile | Description$ If CARDNAME would be put into a graveyard from anywhere, exile it instead. +SVar:Exile:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard +DeckHas:Ability$Token +Oracle:Enchant creature\nAt the beginning of your upkeep, create a token that's a copy of enchanted creature, except it's a Spirit in addition to its other types.\nIf Ghastly Mimicry would be put into a graveyard from anywhere, exile it instead. diff --git a/forge-gui/res/cardsfolder/upcoming/mischievous_catgeist_catlike_curiosity.txt b/forge-gui/res/cardsfolder/upcoming/mischievous_catgeist_catlike_curiosity.txt new file mode 100644 index 00000000000..0a4f8ebe170 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mischievous_catgeist_catlike_curiosity.txt @@ -0,0 +1,24 @@ +Name:Mischievous Catgeist +ManaCost:1 U +Types:Creature Cat Spirit +PT:1/1 +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, draw a card. +SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 1 +K:Disturb:2 U +AlternateMode:DoubleFaced +DeckHas:Ability$Graveyard +Oracle:Whenever Mischievous Catgeist deals combat damage to a player, draw card.\nDisturb {2}{U} (You may cast this card from your graveyard transformed for its disturb cost.) + +ALTERNATE + +Name:Catlike Curiosity +ManaCost:no cost +Colors:blue +Types:Enchantment Aura +K:Enchant creature +A:SP$ Attach | ValidTgts$ Creature | TgtPrompt$ Select target creature | AILogic$ Pump +T:Mode$ DamageDone | ValidSource$ Card.AttachedBy | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigDraw | TriggerZones$ Battlefield | TriggerDescription$ Whenever enchanted creature deals combat damage to a player, draw a card. +SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 1 +R:Event$ Moved | ValidCard$ Card.Self | Destination$ Graveyard | ReplaceWith$ Exile | Description$ If CARDNAME would be put into a graveyard from anywhere, exile it instead. +SVar:Exile:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard +Oracle:Enchant creature\nWhenever enchanted creature deals combat damage to a player, draw a card.\nIf Catlike Curiosity would be put into a graveyard from anywhere, exile it instead. diff --git a/forge-gui/res/cardsfolder/upcoming/ollenbock_escort.txt b/forge-gui/res/cardsfolder/upcoming/ollenbock_escort.txt new file mode 100644 index 00000000000..cbcfdb7ecd3 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/ollenbock_escort.txt @@ -0,0 +1,10 @@ +Name:Ollenbock Escort +ManaCost:W +Types:Creature Human Cleric +PT:1/1 +K:Vigilance +A:AB$ Pump | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature.YouCtrl+counters_GE1_P1P1 | TgtPrompt$ Select target creature you control with a +1/+1 counter on it | KW$ Lifelink & Indestructible | SpellDescription$ Target creature you control with a +1/+1 counter on it gains lifelink and indestructible until end of turn. +AI:RemoveDeck:Random +DeckNeeds:Ability$Counters +DeckHas:Ability$Sacrifice & Ability$LifeGain +Oracle:Vigilance\nSacrifice Ollenbock Escort: Target creature you control with a +1/+1 counter on it gains lifelink and indestructible until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/parasitic_grasp.txt b/forge-gui/res/cardsfolder/upcoming/parasitic_grasp.txt new file mode 100644 index 00000000000..8c805304c94 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/parasitic_grasp.txt @@ -0,0 +1,8 @@ +Name:Parasitic Grasp +ManaCost:1 B +Types:Instant +A:SP$ DealDamage | NumDmg$ 3 | ValidTgts$ Creature.Human | TgtPrompt$ Select target Human creature | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals 3 damage to target [Human] creature. +SVar:DBGainLife:DB$ GainLife | LifeAmount$ 3 | SpellDescription$ You gain 3 life. +A:SP$ DealDamage | Cost$ 1 B B | NumDmg$ 3 | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBGainLife | PrecostDesc$ Cleave | CostDesc$ {1}{B}{B} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its cleave cost. If you do, remove the words in square brackets.) +DeckHas:Ability$LifeGain +Oracle:Cleave {1}{B}{B} (You may cast this spell for its cleave cost. If you do, remove the words in square brackets.)\nParasitic Grasp deals 3 damage to target [Human] creature. You gain 3 life. diff --git a/forge-gui/res/cardsfolder/upcoming/patchwork_crawler.txt b/forge-gui/res/cardsfolder/upcoming/patchwork_crawler.txt new file mode 100644 index 00000000000..2c3c9a4317a --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/patchwork_crawler.txt @@ -0,0 +1,12 @@ +Name:Patchwork Crawler +ManaCost:1 U +Types:Creature Zombie Horror +PT:1/2 +A:AB$ ChangeZone | Cost$ 2 U | ValidTgts$ Creature.YouOwn | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Select target creature from your graveyard | SubAbility$ DBCounter | SpellDescription$ Exile target creature from your graveyard and put a +1/+1 counter on CARDNAME. +SVar:DBCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 | Defined$ Self +T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Battlefield | GainsAbilitiesOf$ Creature.ExiledWithSource | GainsAbilitiesOfZones$ Exile | Description$ CARDNAME has all activated abilities of all creature cards exiled with it. +DeckHas:Ability$Counters & Ability$Graveyard +DeckHints:Ability$Discard +Oracle:{2}{U}: Exile target creature card from your graveyard and put a +1/+1 counter on Patchwork Crawler.\nPatchwork Crawler has all activated abilities of all creature cards exiled with it. diff --git a/forge-gui/res/cardsfolder/upcoming/reckless_impulse.txt b/forge-gui/res/cardsfolder/upcoming/reckless_impulse.txt new file mode 100644 index 00000000000..f3289a7a5ab --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/reckless_impulse.txt @@ -0,0 +1,8 @@ +Name:Reckless Impulse +ManaCost:1 R +Types:Sorcery +A:SP$ Dig | Defined$ You | DigNum$ 2 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | Imprint$ True | SubAbility$ DBEffect | StackDescription$ SpellDescription | SpellDescription$ Exile the top two cards of your library. +SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ STPlay | SubAbility$ DBCleanup | ForgetOnMoved$ Exile | Duration$ UntilTheEndOfYourNextTurn | StackDescription$ SpellDescription | SpellDescription$ Until the end of your next turn, you may play those cards. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:STPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ Until the end of your next turn, you may play the exiled cards. +Oracle:Exile the top two cards of your library. Until the end of your next turn, you may play those cards. diff --git a/forge-gui/res/cardsfolder/upcoming/reclusive_taxidermist.txt b/forge-gui/res/cardsfolder/upcoming/reclusive_taxidermist.txt new file mode 100644 index 00000000000..4d55a7c4807 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/reclusive_taxidermist.txt @@ -0,0 +1,8 @@ +Name:Reclusive Taxidermist +ManaCost:1 G +Types:Creature Human Druid +PT:1/2 +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | AddToughness$ 2 | IsPresent$ Creature | PresentCompare$ GE4 | PresentZone$ Graveyard | Description$ CARDNAME gets +3/+2 as long as there are four or more creature cards in your graveyard. +A:AB$ Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color. +DeckHints:Ability$Graveyard & Ability$Discard +Oracle:Reclusive Taxidermist gets +3/+2 as long as there are four or more creature cards in your graveyard.\n{T}: Add one mana of any color. diff --git a/forge-gui/res/cardsfolder/upcoming/resistance_squad.txt b/forge-gui/res/cardsfolder/upcoming/resistance_squad.txt new file mode 100644 index 00000000000..ba74e33c079 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/resistance_squad.txt @@ -0,0 +1,8 @@ +Name:Resistance Squad +ManaCost:2 W +Types:Creature Human Soldier +PT:3/2 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | IsPresent$ Human.Other+YouCtrl | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, if you control another Human, draw a card. +SVar:TrigDraw:DB$ Draw | NumCards$ 1 +DeckNeeds:Type$Human +Oracle:When Resistance Squad enters the battlefield, if you control another Human, draw a card. diff --git a/forge-gui/res/cardsfolder/upcoming/retrieve.txt b/forge-gui/res/cardsfolder/upcoming/retrieve.txt new file mode 100644 index 00000000000..1aa9072c706 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/retrieve.txt @@ -0,0 +1,7 @@ +Name:Retrieve +ManaCost:2 G +Types:Sorcery +A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Select up to one target creature card in your graveyard | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Creature.YouOwn | SubAbility$ DBReturn | StackDescription$ SpellDescription | SpellDescription$ Return up to one target creature card +SVar:DBReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Land.YouOwn | TgtPrompt$ Select up to one target noncreature permanent card in your graveyard | SubAbility$ DBExile | StackDescription$ SpellDescription | SpellDescription$ and up to one target noncreature permanent card +SVar:DBExile:DB$ ChangeZone | Origin$ Stack | Destination$ Exile | StackDescription$ SpellDescription | SpellDescription$ to your hand. Exile CARDNAME. +Oracle:Return up to one target creature card and up to one target noncreature permanent card from your graveyard to your hand. Exile Retrieve. diff --git a/forge-gui/res/cardsfolder/upcoming/runebound_wolf.txt b/forge-gui/res/cardsfolder/upcoming/runebound_wolf.txt new file mode 100644 index 00000000000..805cdf38265 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/runebound_wolf.txt @@ -0,0 +1,8 @@ +Name:Runebound Wolf +ManaCost:1 R +Types:Creature Wolf +PT:2/2 +A:AB$ DealDamage | Cost$ 3 R T | NumDmg$ X | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SpellDescription$ CARDNAME deals damage equal to the number of Wolves and Werewolves you control to target opponent. +SVar:X:Count$Valid Wolf.YouCtrl,Werewolf.YouCtrl +DeckHints:Type$Wolf|Werewolf +Oracle:{3}{R}, {T}: Runebound Wolf deals damage equal to the number of Wolves and Werewolves you control to target opponent. diff --git a/forge-gui/res/cardsfolder/upcoming/sanctify.txt b/forge-gui/res/cardsfolder/upcoming/sanctify.txt new file mode 100644 index 00000000000..f1082f6ec75 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/sanctify.txt @@ -0,0 +1,8 @@ +Name:Sanctify +ManaCost:1 W +Types:Sorcery +A:SP$ Destroy | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | SubAbility$ DBGainLife | SpellDescription$ Destroy target artifact or enchantment. You gain 3 life. +SVar:DBGainLife:DB$ GainLife | LifeAmount$ 3 +DeckHas:Ability$LifeGain +AI:RemoveDeck:Random +Oracle:Destroy target artifact or enchantment. You gain 3 life. diff --git a/forge-gui/res/cardsfolder/upcoming/scattered_thoughts.txt b/forge-gui/res/cardsfolder/upcoming/scattered_thoughts.txt new file mode 100644 index 00000000000..3631dbe3f42 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/scattered_thoughts.txt @@ -0,0 +1,6 @@ +Name:Scattered Thoughts +ManaCost:3 U +Types:Instant +A:SP$ Dig | DigNum$ 4 | ChangeNum$ 2 | DestinationZone2$ Graveyard | StackDescription$ SpellDescription | SpellDescription$ Look at the top four cards of your library. Put two of those cards into your hand and the rest into your graveyard. +DeckHas:Ability$Graveyard +Oracle:Look at the top four cards of your library. Put two of those cards into your hand and the rest into your graveyard. diff --git a/forge-gui/res/cardsfolder/upcoming/screaming_swarm.txt b/forge-gui/res/cardsfolder/upcoming/screaming_swarm.txt new file mode 100644 index 00000000000..b532bf245df --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/screaming_swarm.txt @@ -0,0 +1,12 @@ +Name:Screaming Swarm +ManaCost:5 U +Types:Creature Bird Horror +PT:4/4 +K:Flying +Oracle:Flying +T:Mode$ AttackersDeclared | ValidAttackers$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ Whenever you attack with one or more creatures, target player mills that many cards. (To mill a card, a player puts the top card of their library into their graveyard.) +SVar:TrigMill:DB$ Mill | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player +SVar:X:TriggerObjectsAttackers$Valid Creature.YouCtrl +A:AB$ ChangeZone | Cost$ 2 U | Origin$ Graveyard | Destination$ Library | LibraryPosition$ 1 | ActivationZone$ Graveyard | StackDescription$ SpellDescription | SpellDescription$ Put CARDNAME from your graveyard into your library second from the top. +DeckHas:Ability$Mill & Ability$Graveyard +Oracle:Whenever you attack with one or more creatures, target player mills that many cards. (To mill a card, a player puts the top card of their library into their graveyard.)\n{2}{U}: Put Screaming Swarm from your graveyard into your library second from the top. diff --git a/forge-gui/res/cardsfolder/upcoming/sigardas_imprisonment.txt b/forge-gui/res/cardsfolder/upcoming/sigardas_imprisonment.txt new file mode 100644 index 00000000000..ffc534c6b77 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/sigardas_imprisonment.txt @@ -0,0 +1,11 @@ +Name:Sigarda's Imprisonment +ManaCost:2 W +Types:Enchantment Aura +K:Enchant creature +A:SP$ Attach | ValidTgts$ Creature | TgtPrompt$ Select target creature | AILogic$ Curse +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddHiddenKeyword$ CARDNAME can't attack or block. | Description$ Enchanted creature can't attack or block. +A:AB$ ChangeZone | Cost$ 4 W | Defined$ Enchanted | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBToken | SpellDescription$ Exile enchanted creature. +SVar:DBToken:DB$ Token | TokenScript$ c_a_blood_draw | SpellDescription$ Create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") +SVar:NonStackingAttachEffect:True +DeckHas:Ability$Token & Ability$Sacrifice & Type$Blood +Oracle:Enchant creature\nEnchanted creature can't attack or block.\n{4}{W}: Exile enchanted creature. Create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") diff --git a/forge-gui/res/cardsfolder/upcoming/sigardian_paladin.txt b/forge-gui/res/cardsfolder/upcoming/sigardian_paladin.txt new file mode 100644 index 00000000000..a31376d48aa --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/sigardian_paladin.txt @@ -0,0 +1,10 @@ +Name:Sigardian Paladin +ManaCost:2 G W +Types:Creature Human Knight +PT:4/4 +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Trample & Lifelink | CheckSVar$ X | Description$ As long as you've put one or more +1/+1 counters on a creature this turn, Sigardian Paladin has trample and lifelink. +SVar:X:Count$CountersAddedThisTurn P1P1 You Creature +A:AB$ Pump | Cost$ 1 G W | ValidTgts$ Creature.YouCtrl+counters_GE1_P1P1 | TgtPrompt$ Select target creature with a +1/+1 counter on it | KW$ Trample & Lifelink | SpellDescription$ Target creature you control with a +1/+1 counter on it gains trample and lifelink until end of turn. +DeckNeeds:Ability$Counters +DeckHas:Ability$LifeGain +Oracle:As long as you've put one or more +1/+1 counters on a creature this turn, Sigardian Paladin has trample and lifelink.\n{1}{G}{W}: Target creature you control with a +1/+1 counter on it gains trample and lifelink until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/skull_skaab.txt b/forge-gui/res/cardsfolder/upcoming/skull_skaab.txt new file mode 100644 index 00000000000..81808e83cb0 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/skull_skaab.txt @@ -0,0 +1,10 @@ +Name:Skull Skaab +ManaCost:U B +Types:Creature Zombie +PT:2/2 +K:Exploit +T:Mode$ Exploited | ValidCard$ Creature.nonToken | ValidSource$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever a creature you control exploits a nontoken creature, create a 2/2 black Zombie creature token. +SVar:TrigToken:DB$ Token | TokenScript$ b_2_2_zombie +DeckHas:Ability$Token & Ability$Sacrifice +DeckHints:Keyword$Exploit +Oracle:Exploit (When this creature enters the battlefield, you may sacrifice a creature.)\nWhenever a creature you control exploits a nontoken creature, create a 2/2 black Zombie creature token. diff --git a/forge-gui/res/cardsfolder/upcoming/spiked_ripsaw.txt b/forge-gui/res/cardsfolder/upcoming/spiked_ripsaw.txt new file mode 100644 index 00000000000..c70c48aea79 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/spiked_ripsaw.txt @@ -0,0 +1,9 @@ +Name:Spiked Ripsaw +ManaCost:2 G +Types:Artifact Equipment +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 3 | AddToughness$ 3 | AddSVar$ AE | Description$ Equipped creature gets +3/+3. +T:Mode$ Attacks | ValidCard$ Creature.EquippedBy | Execute$ TrigPump | TriggerDescription$ Whenever equipped creature attacks, you may sacrifice a Forest. If you do, that creature gains trample until end of turn. +SVar:TrigPump:AB$ Pump | Cost$ Sac<1/Forest> | Defined$ TriggeredAttacker | KW$ Trample +K:Equip:3 +SVar:AE:SVar:HasAttackEffect:TRUE +Oracle:Equipped creature gets +3/+3.\nWhenever equipped creature attacks, you may sacrifice a Forest. If you do, that creature gains trample until end of turn.\nEquip {3} ({3}: Attach to target creature you control. Equip only as a sorcery.) diff --git a/forge-gui/res/cardsfolder/upcoming/strefan_maurer_progenitor.txt b/forge-gui/res/cardsfolder/upcoming/strefan_maurer_progenitor.txt index cd5b95581c2..a1207c697b4 100644 --- a/forge-gui/res/cardsfolder/upcoming/strefan_maurer_progenitor.txt +++ b/forge-gui/res/cardsfolder/upcoming/strefan_maurer_progenitor.txt @@ -8,7 +8,7 @@ SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenScript$ c_a_blood_draw SVar:X:PlayerCountPlayers$HasPropertyLostLifeThisTurn T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigChangeZone | OptionalDecider$ You | TriggerDescription$ Whenever NICKNAME attacks, you may sacrifice two Blood tokens. If you do, you may put a Vampire card from your hand onto the battlefield tapped and attacking. It gains indestructible until end of turn. SVar:TrigChangeZone:AB$ ChangeZone | Cost$ Sac<2/Blood.token/Blood token> | Origin$ Hand | Destination$ Battlefield | SelectPrompt$ You may select a Vampire card from your hand | ChangeType$ Vampire | Tapped$ True | Attacking$ True | RememberChanged$ True | SubAbility$ DBPump -SVar:DBPump:DB$ Pump | Defined$ Self | KW$ Indestructible | SubAbility$ DBCleanup +SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ Indestructible | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:HasAttackEffect:TRUE DeckHas:Ability$Token & Ability$Sacrifice diff --git a/forge-gui/res/cardsfolder/upcoming/undead_butler.txt b/forge-gui/res/cardsfolder/upcoming/undead_butler.txt new file mode 100644 index 00000000000..5a5d43dca2e --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/undead_butler.txt @@ -0,0 +1,12 @@ +Name:Undead Butler +ManaCost:1 B +Types:Creature Zombie +PT:1/2 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMill | TriggerDescription$ When CARDNAME enters the battlefield, mill three cards. (Put the top three cards of your library into your graveyard.) +SVar:TrigMill:DB$ Mill | NumCards$ 3 | Defined$ You +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigExile | OptionalDecider$ TriggeredCardController | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, you may exile it. When you do, return target creature card from your graveyard to your hand. +SVar:TrigExile:DB$ ChangeZone | Destination$ Exile | Defined$ TriggeredNewCardLKICopy | RememberChanged$ True | SubAbility$ DBImmediateTrig +SVar:DBImmediateTrig:DB$ ImmediateTrigger | Execute$ TrigReturn | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBCleanup | TriggerDescription$ When you do, return target creature card from your graveyard to your hand. +SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.YouOwn | TgtPrompt$ Select target creature card in your graveyard +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +Oracle:When Undead Butler enters the battlefield, mill three cards. (Put the top three cards of your library into your graveyard.)\nWhen Undead Butler dies, you may exile it. When you do, return target creature card from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/upcoming/voice_of_the_blessed.txt b/forge-gui/res/cardsfolder/upcoming/voice_of_the_blessed.txt new file mode 100644 index 00000000000..46f428fb2d3 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/voice_of_the_blessed.txt @@ -0,0 +1,11 @@ +Name:Voice of the Blessed +ManaCost:W W +Types:Creature Spirit Cleric +PT:2/2 +T:Mode$ LifeGained | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you gain life, put a +1/+1 counter on CARDNAME. +SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 +S:Mode$ Continuous | Affected$ Card.Self+counters_GE4_P1P1 | AddKeyword$ Flying & Vigilance | Description$ As long as CARDNAME has four or more +1/+1 counters on it, it has flying and vigilance. +S:Mode$ Continuous | Affected$ Card.Self+counters_GE10_P1P1 | AddKeyword$ Indestructible | Description$ As long as CARDNAME has ten or more +1/+1 counters on it, it has indestructible. +DeckHints:Ability$LifeGain +DeckHas:Ability$Counters +Oracle:Whenever you gain life, put a +1/+1 counter on Voice of the Blessed.\nAs long as Voice of the Blessed has four or more +1/+1 counters on it, it has flying and vigilance.\nAs long as Voice of the Blessed has ten or more +1/+1 counters on it, it has indestructible. diff --git a/forge-gui/res/cardsfolder/upcoming/voltaic_visionary_volt_charged_berserker.txt b/forge-gui/res/cardsfolder/upcoming/voltaic_visionary_volt_charged_berserker.txt new file mode 100644 index 00000000000..59bb7222dcc --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/voltaic_visionary_volt_charged_berserker.txt @@ -0,0 +1,28 @@ +Name:Voltaic Visionary +ManaCost:1 R +Types:Creature Human Wizard +PT:3/1 +A:AB$ DealDamage | Cost$ T | NumDmg$ 2 | Defined$ You | SorcerySpeed$ True | SubAbility$ DBExile | SpellDescription$ CARDNAME deals 2 damage to you. +SVar:DBExile:DB$ Dig | Defined$ You | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | Imprint$ True | SubAbility$ DBEffect | StackDescription$ SpellDescription | SpellDescription$ Exile the top card of your library. +SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ STPlay | SubAbility$ DBCleanup | ForgetOnMoved$ Exile | StackDescription$ SpellDescription | SpellDescription$ You may play that card this turn. Activate only as a sorcery. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:STPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play the exiled card this turn. +T:Mode$ SpellCast | ValidCard$ Card.IsImprinted | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigTransform | TriggerDescription$ Whenever you play a card exiled with CARDNAME, transform it. +T:Mode$ LandPlayed | ValidCard$ Land.IsImprinted+YouCtrl | Execute$ TrigTransform | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Whenever you play a card exiled with CARDNAME, transform it. +SVar:TrigTransform:DB$ SetState | Defined$ Self | Mode$ Transform +T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBClear | Static$ True +SVar:DBClear:DB$ Cleanup | ClearImprinted$ True +T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsImprinted+ExiledWithSource | Execute$ DBForget +SVar:DBForget:DB$ Pump | ForgetImprinted$ TriggeredCard +AlternateMode:DoubleFaced +Oracle:{T}: Voltaic Visionary deals 2 damage to you. Exile the top card of your library. You may play that card this turn. Activate only as a sorcery.\nWhenever you play a card exiled with Voltaic Visionary, transform it. + +ALTERNATE + +Name:Volt-Charged Berserker +ManaCost:no cost +Colors:red +Types:Creature Human Berserker +PT:4/3 +K:CARDNAME can't block. +Oracle:Volt-Charged Berserker can't block. diff --git a/forge-gui/res/cardsfolder/upcoming/wandering_mind.txt b/forge-gui/res/cardsfolder/upcoming/wandering_mind.txt new file mode 100644 index 00000000000..da5868dee0c --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/wandering_mind.txt @@ -0,0 +1,8 @@ +Name:Wandering Mind +ManaCost:1 U R +Types:Creature Horror +PT:2/1 +K:Flying +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigDig | TriggerDescription$ When CARDNAME enters the battlefield, look at the top six cards of your library. You may reveal a noncreature, nonland card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. +SVar:TrigDig:DB$ Dig | DigNum$ 6 | ChangeNum$ 1 | Optional$ True | ForceRevealToController$ True | ChangeValid$ Card.nonCreature+nonLand | RestRandomOrder$ True +Oracle:Flying\nWhen Wandering Mind enters the battlefield, look at the top six cards of your library. You may reveal a noncreature, nonland card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. diff --git a/forge-gui/res/cardsfolder/upcoming/weaver_of_blossoms_blossom_clad_werewolf.txt b/forge-gui/res/cardsfolder/upcoming/weaver_of_blossoms_blossom_clad_werewolf.txt new file mode 100644 index 00000000000..66dec84cb53 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/weaver_of_blossoms_blossom_clad_werewolf.txt @@ -0,0 +1,19 @@ +Name:Weaver of Blossoms +ManaCost:2 G +Types:Creature Human Werewolf +PT:2/3 +A:AB$ Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color. +K:Daybound +AlternateMode:DoubleFaced +Oracle:{T}: Add one mana of any color.\nDaybound (If a player casts no spells during their own turn, it becomes night next turn.) + +ALTERNATE + +Name:Blossom-Clad Werewolf +ManaCost:no cost +Colors:green +Types:Creature Werewolf +PT:3/4 +A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 2 | SpellDescription$ Add two mana of any one color. +K:Nightbound +Oracle:{T}: Add two mana of any one color.\nNightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) diff --git a/forge-gui/res/cardsfolder/upcoming/wedding_security.txt b/forge-gui/res/cardsfolder/upcoming/wedding_security.txt new file mode 100644 index 00000000000..12c6cc951d9 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/wedding_security.txt @@ -0,0 +1,11 @@ +Name:Wedding Security +ManaCost:3 B B +Types:Creature Vampire Soldier +PT:4/4 +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPutCounter | IsPresent$ Blood.token+YouCtrl | TriggerDescription$ Whenever CARDNAME attacks, you may sacrifice a Blood token. If you do, put a +1/+1 counter on CARDNAME and draw a card. +SVar:TrigPutCounter:AB$ PutCounter | Cost$ Sac<1/Blood.token/Blood token> | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBDraw +SVar:DBDraw:DB$ Draw | NumCards$ 1 +DeckNeeds:Type$Blood +DeckHas:Ability$Counters & Ability$Sacrifice +SVar:HasAttackEffect:TRUE +Oracle:Whenever Wedding Security attacks, you may sacrifice a Blood token. If you do, put a +1/+1 counter on Wedding Security and draw a card. diff --git a/forge-gui/res/cardsfolder/upcoming/whispering_wizard.txt b/forge-gui/res/cardsfolder/upcoming/whispering_wizard.txt new file mode 100644 index 00000000000..67533617bc2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/whispering_wizard.txt @@ -0,0 +1,9 @@ +Name:Whispering Wizard +ManaCost:3 U +Types:Creature Human Wizard +PT:3/2 +T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | ActivationLimit$ 1 | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever you cast a noncreature spell, create a 1/1 white Spirit creature token with flying. This ability triggers only once each turn. +SVar:TrigToken:DB$ Token | TokenScript$ w_1_1_spirit_flying +SVar:BuffedBy:Card.nonLand+nonCreature +DeckHas:Ability$Token +Oracle:Whenever you cast a noncreature spell, create a 1/1 white Spirit creature token with flying. This ability triggers only once each turn. diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 535797c52b3..234cba4564b 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -111,8 +111,7 @@ cbpGameLogEntryType=Spielberichtsumfang cbpCloseAction=Beenden cbpDefaultFontSize=Standard Schriftgröße cbpCardArtFormat=Kartenbildformat -cbpSoundSets=Sound Set -cbpMusicSets=Music Set +cbpSoundSets=Sound-Set cbpAiProfiles=KI Persönlichkeit cbpStackAdditions=Nachricht bei Stapeländerung cbpDisplayCurrentCardColors=Zeige detaillierte Kartenfarben @@ -143,7 +142,7 @@ nlCompactMainMenu=Aktiviere, um im Seitenmenü platzsparend immer nur eine Menü nlUseSentry=Aktiviere, um automatische Fehlerberichte an die Entwickler zu senden. GamePlay=Spiel nlpMulliganRule=Wähle die Version der Mulligan Regel -nlpSoundSets=Choose the sound set from the ones present in the "sound" folder in your Forge cache directory +nlpSoundSets=Wähle eines der Sound-Sets aus dem "Sound"-Ordner in deinem Forge-Cache-Verzeichnis. nlpMusicSets=Choose the music set from the ones present in the "music" folder in your Forge cache directory nlpAiProfiles=Wähle die Spielweise deines KI-Gegners. nlpStackAdditions=Wähle, wann du über Änderungen am Stapel benachrichtigt werden möchtest: Niemals, immer oder nur für durch andere Spieler ausgelöste Effekte und Fähigkeiten diff --git a/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java b/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java index 4c148d3fa7e..f374adc7930 100644 --- a/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java +++ b/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java @@ -451,7 +451,7 @@ public final class CardScriptParser { "ControllerControls", "AttachedTo", "EnchantedBy", "NotEnchantedBy", "TopGraveyard", "SharesColorWith", "MostProminentColor", "notSharesColorWith", - "sharesCreatureTypeWith", "sharesCardTypeWith", + "sharesCreatureTypeWith", "sharesCardTypeWith", "sharesLandTypeWith", "sharesNameWith", "doesNotShareNameWith", "sharesControllerWith", "sharesOwnerWith", "ThisTurnEntered", "ControlledByPlayerInTheDirection",