diff --git a/forge-game/src/main/java/forge/game/card/CounterEnumType.java b/forge-game/src/main/java/forge/game/card/CounterEnumType.java index 01b3751f5a5..76e8e91805c 100644 --- a/forge-game/src/main/java/forge/game/card/CounterEnumType.java +++ b/forge-game/src/main/java/forge/game/card/CounterEnumType.java @@ -91,6 +91,8 @@ public enum CounterEnumType implements CounterType { COMPONENT("COMPN", 224, 160, 48), + CONQUEROR("CONQR", 225, 210, 25), + CONTESTED("CONTES", 255, 76, 2), CORPSE("CRPSE", 230, 186, 209), diff --git a/forge-gui/res/cardsfolder/upcoming/aang_a_lot_to_learn.txt b/forge-gui/res/cardsfolder/upcoming/aang_a_lot_to_learn.txt new file mode 100644 index 00000000000..38fcba4cc73 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/aang_a_lot_to_learn.txt @@ -0,0 +1,9 @@ +Name:Aang, A Lot to Learn +ManaCost:2 GW +Types:Legendary Creature Human Avatar Ally +PT:3/2 +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Vigilance | IsPresent$ Lesson.YouOwn | PresentZone$ Graveyard | Description$ NICKNAME has vigilance as long as there's a Lesson card in your graveyard. +T:Mode$ ChangesZone | ValidCard$ Creature.Other+YouCtrl | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever another creature you control dies, put a +1/+1 counter on NICKNAME. +SVar:TrigPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 +DeckHints:Type$Lesson +Oracle:Aang has vigilance as long as there's a Lesson card in your graveyard.\nWhenever another creature you control dies, put a +1/+1 counter on Aang. diff --git a/forge-gui/res/cardsfolder/upcoming/airbenders_reversal.txt b/forge-gui/res/cardsfolder/upcoming/airbenders_reversal.txt new file mode 100644 index 00000000000..07659939ec3 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/airbenders_reversal.txt @@ -0,0 +1,7 @@ +Name:Airbender's Reversal +ManaCost:1 W +Types:Instant Lesson +A:SP$ Charm | Choices$ DBDestroy,DBAirbend +SVar:DBDestroy:DB$ Destroy | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | SpellDescription$ Destroy target attacking creature. +SVar:DBAirbend:DB$ Airbend | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | SpellDescription$ Airbend target creature you control. (Exile it. While it's exiled, its owner may cast it for {2} rather than its mana cost.) +Oracle:Choose one —\n• Destroy target attacking creature.\n• Airbend target creature you control. (Exile it. While it's exiled, its owner may cast it for {2} rather than its mana cost.) diff --git a/forge-gui/res/cardsfolder/upcoming/earthen_ally.txt b/forge-gui/res/cardsfolder/upcoming/earthen_ally.txt new file mode 100644 index 00000000000..effe8f9ad19 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/earthen_ally.txt @@ -0,0 +1,9 @@ +Name:Earthen Ally +ManaCost:G +Types:Creature Human Soldier Ally +PT:0/2 +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | Description$ This creature gets +1/+0 for each color among Allies you control. +A:AB$ Earthbend | Cost$ 2 W U B R G | Num$ 5 | SpellDescription$ Earthbend 5. (Target land you control becomes a 0/0 creature with haste that's still a land. Put five +1/+1 counters on it. When it dies or is exiled, return it to the battlefield tapped.) +SVar:X:Count$Valid Ally.YouCtrl$Colors +DeckHints:Type$Ally +Oracle:This creature gets +1/+0 for each color among Allies you control.\n{2}{W}{U}{B}{R}{G}: Earthbend 5. (Target land you control becomes a 0/0 creature with haste that's still a land. Put five +1/+1 counters on it. When it dies or is exiled, return it to the battlefield tapped.) diff --git a/forge-gui/res/cardsfolder/upcoming/foggy_swamp_hunters.txt b/forge-gui/res/cardsfolder/upcoming/foggy_swamp_hunters.txt new file mode 100644 index 00000000000..1c359c3d51e --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/foggy_swamp_hunters.txt @@ -0,0 +1,7 @@ +Name:Foggy Swamp Hunters +ManaCost:3 B +Types:Creature Human Ranger Ally +PT:3/4 +S:Mode$ Continuous | Affected$ Card.Self | CheckSVar$ X | SVarCompare$ GE2 | AddKeyword$ Lifelink & Menace | Description$ As long as you've drawn two or more cards this turn, this creature has lifelink and menace. (It can't be blocked except by two or more creatures.) +SVar:X:Count$YouDrewThisTurn +Oracle:As long as you've drawn two or more cards this turn, this creature has lifelink and menace. (It can't be blocked except by two or more creatures.) diff --git a/forge-gui/res/cardsfolder/upcoming/hook_swords.txt b/forge-gui/res/cardsfolder/upcoming/hook_swords.txt new file mode 100644 index 00000000000..0d2b0a79727 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/hook_swords.txt @@ -0,0 +1,10 @@ +Name:Hook Swords +ManaCost:2 RW +Types:Artifact Equipment +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When this Equipment enters, create a 1/1 white Ally creature token, then attach this Equipment to it. +SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_ally | TokenOwner$ You | RememberTokens$ True | SubAbility$ DBAttach +SVar:DBAttach:DB$ Attach | Defined$ Remembered | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ First Strike | Condition$ PlayerTurn | Description$ During your turn, equipped creature gets +1/+1 and has first strike. +K:Equip:3 +Oracle:When this Equipment enters, create a 1/1 white Ally creature token, then attach this Equipment to it.\nDuring your turn, equipped creature gets +1/+1 and has first strike.\nEquip {3} diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_reinforcements.txt b/forge-gui/res/cardsfolder/upcoming/invasion_reinforcements.txt new file mode 100644 index 00000000000..c224c89d3ae --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/invasion_reinforcements.txt @@ -0,0 +1,8 @@ +Name:Invasion Reinforcements +ManaCost:1 W +Types:Creature Human Warrior Ally +PT:1/1 +K:Flash +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When this creature enters, create a 1/1 white Ally creature token. +SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_ally | TokenOwner$ You +Oracle:Flash\nWhen this creature enters, create a 1/1 white Ally creature token. diff --git a/forge-gui/res/cardsfolder/upcoming/kyoshi_warriors.txt b/forge-gui/res/cardsfolder/upcoming/kyoshi_warriors.txt new file mode 100644 index 00000000000..7be5d7cd12a --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/kyoshi_warriors.txt @@ -0,0 +1,7 @@ +Name:Kyoshi Warriors +ManaCost:3 W +Types:Creature Human Warrior Ally +PT:3/3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When this creature enters, create a 1/1 white Ally creature token. +SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_ally | TokenOwner$ You +Oracle:When this creature enters, create a 1/1 white Ally creature token. diff --git a/forge-gui/res/cardsfolder/upcoming/obsessive_pursuit.txt b/forge-gui/res/cardsfolder/upcoming/obsessive_pursuit.txt new file mode 100644 index 00000000000..cc8832d861f --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/obsessive_pursuit.txt @@ -0,0 +1,12 @@ +Name:Obsessive Pursuit +ManaCost:1 B +Types:Enchantment +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigLoseLife | TriggerDescription$ When this enchantment enters and at the beginning of your upkeep, you lose 1 life and create a Clue token. (It's an artifact with "{2}, Sacrifice this token: Draw a card.") +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigLoseLife | Secondary$ True | TriggerDescription$ When this enchantment enters and at the beginning of your upkeep, you lose 1 life and create a Clue token. (It's an artifact with "{2}, Sacrifice this token: Draw a card.") +SVar:TrigLoseLife:DB$ LoseLife | LifeAmount$ 1 | SubAbility$ DBToken +SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_clue_draw | TokenOwner$ You +T:Mode$ AttackersDeclared | AttackingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you attack, put X +1/+1 counters on target attacking creature, where X is the number of permanents you've sacrificed this turn. If X is three or greater, that creature gains lifelink until end of turn. +SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | CounterType$ P1P1 | CounterNum$ X | SubAbility$ DBPump +SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ Lifelink | ConditionCheckSVar$ X | ConditionSVarCompare$ GE3 +SVar:X:PlayerCountPropertyYou$SacrificedThisTurn Permanent +Oracle:When this enchantment enters and at the beginning of your upkeep, you lose 1 life and create a Clue token. (It's an artifact with "{2}, Sacrifice this token: Draw a card.")\nWhenever you attack, put X +1/+1 counters on target attacking creature, where X is the number of permanents you've sacrificed this turn. If X is three or greater, that creature gains lifelink until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/rockalanche.txt b/forge-gui/res/cardsfolder/upcoming/rockalanche.txt new file mode 100644 index 00000000000..7ce4be2b753 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/rockalanche.txt @@ -0,0 +1,8 @@ +Name:Rockalanche +ManaCost:2 G +Types:Sorcery +A:SP$ Earthbend | Num$ X | SpellDescription$ Earthbend X, where X is the number of Forests you control. (Target land you control becomes a 0/0 creature with haste that's still a land. Put X +1/+1 counters on it. When it dies or is exiled, return it to the battlefield tapped.) +K:Flashback:5 G +SVar:X:Count$Valid Forest.YouCtrl +SVar:BuffedBy:Forest +Oracle:Earthbend X, where X is the number of Forests you control. (Target land you control becomes a 0/0 creature with haste that's still a land. Put X +1/+1 counters on it. When it dies or is exiled, return it to the battlefield tapped.)\nFlashback {5}{G} (You may cast this card from your graveyard for its flashback cost. Then exile it.) diff --git a/forge-gui/res/cardsfolder/upcoming/stand_united.txt b/forge-gui/res/cardsfolder/upcoming/stand_united.txt new file mode 100644 index 00000000000..16671a82efa --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/stand_united.txt @@ -0,0 +1,7 @@ +Name:Stand United +ManaCost:1 GW +Types:Instant +A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +2 | NumDef$ +2 | SubAbility$ DBScry | SpellDescription$ Target creature gets +2/+2 until end of turn. If it's an Ally, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom and the rest on top in any order.) +SVar:DBScry:DB$ Scry | ScryNum$ 2 | ConditionDefined$ Targeted | ConditionPresent$ Ally +DeckHints:Type$Ally +Oracle:Target creature gets +2/+2 until end of turn. If it's an Ally, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom and the rest on top in any order.) diff --git a/forge-gui/res/cardsfolder/upcoming/swampsnare_trap.txt b/forge-gui/res/cardsfolder/upcoming/swampsnare_trap.txt new file mode 100644 index 00000000000..3fb68bd842d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/swampsnare_trap.txt @@ -0,0 +1,8 @@ +Name:Swampsnare Trap +ManaCost:2 B +Types:Enchantment Aura +K:Enchant:Creature +SVar:AttachAILogic:Curse +S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 1 | ValidTarget$ Creature.withFlying | EffectZone$ All | Description$ This spell costs {1} less to cast if it targets a creature with flying. +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ -5 | AddToughness$ -3 | Description$ Enchanted creature gets -5/-3. +Oracle:This spell costs {1} less to cast if it targets a creature with flying.\nEnchant creature\nEnchanted creature gets -5/-3. diff --git a/forge-gui/res/cardsfolder/upcoming/walltop_sentries.txt b/forge-gui/res/cardsfolder/upcoming/walltop_sentries.txt new file mode 100644 index 00000000000..e38fd498cf9 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/walltop_sentries.txt @@ -0,0 +1,10 @@ +Name:Walltop Sentries +ManaCost:2 G +Types:Creature Human Soldier Ally +PT:2/3 +K:Reach +K:Deathtouch +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | CheckSVar$ X | SVarCompare$ GE1 | Execute$ TrigGainLife | TriggerDescription$ When this creature dies, if there's a Lesson card in your graveyard, you gain 2 life. +SVar:TrigGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 2 +SVar:X:Count$ValidGraveyard Lesson.YouOwn +Oracle:Reach, deathtouch\nWhen this creature dies, if there's a Lesson card in your graveyard, you gain 2 life. diff --git a/forge-gui/res/cardsfolder/upcoming/zhao_the_moon_slayer.txt b/forge-gui/res/cardsfolder/upcoming/zhao_the_moon_slayer.txt new file mode 100644 index 00000000000..04120f687f8 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/zhao_the_moon_slayer.txt @@ -0,0 +1,10 @@ +Name:Zhao, the Moon Slayer +ManaCost:1 R +Types:Legendary Creature Human Soldier +PT:2/2 +K:Menace +R:Event$ Moved | ValidCard$ Land.nonBasic | Destination$ Battlefield | ReplaceWith$ ETBTapped | ReplacementResult$ Updated | ActiveZones$ Battlefield | Description$ Nonbasic lands enter tapped. +SVar:ETBTapped:DB$ Tap | ETB$ True | Defined$ ReplacedCard +A:AB$ PutCounter | Cost$ 7 | CounterType$ CONQUEROR | CounterNum$ 1 | SpellDescription$ Put a conqueror counter on NICKNAME. +S:Mode$ Continuous | Affected$ Land.nonBasic | AddType$ Mountain | RemoveLandTypes$ True | IsPresent$ Card.Self+counters_GE1_CONQUEROR | Description$ As long as NICKNAME has a conqueror counter on him, nonbasic lands are Mountains. (They lose all other land types and abilities and have "{T}: Add {R}.") +Oracle:Menace\nNonbasic lands enter tapped.\n{7}: Put a conqueror counter on Zhao.\nAs long as Zhao has a conqueror counter on him, nonbasic lands are Mountains. (They lose all other land types and abilities and have "{T}: Add {R}.")