diff --git a/forge-game/src/main/java/forge/game/cost/CostPart.java b/forge-game/src/main/java/forge/game/cost/CostPart.java index 134006ff767..776fe634781 100644 --- a/forge-game/src/main/java/forge/game/cost/CostPart.java +++ b/forge-game/src/main/java/forge/game/cost/CostPart.java @@ -111,7 +111,7 @@ public abstract class CostPart implements Comparable, Cloneable, Seria String typeDesc = this.getTypeDescription(); if (typeDesc == null) { String typeS = this.getType(); - typeDesc = CardType.CoreType.isValidEnum(typeS) ? typeS.toLowerCase() : typeS; + typeDesc = CardType.CoreType.isValidEnum(typeS) || typeS.equals("Card") ? typeS.toLowerCase() : typeS; } return typeDesc; } diff --git a/forge-gui/res/cardsfolder/r/reaper_from_the_abyss.txt b/forge-gui/res/cardsfolder/r/reaper_from_the_abyss.txt index cd8a2a01c6d..a10957c7f2e 100644 --- a/forge-gui/res/cardsfolder/r/reaper_from_the_abyss.txt +++ b/forge-gui/res/cardsfolder/r/reaper_from_the_abyss.txt @@ -4,6 +4,6 @@ Types:Creature Demon PT:6/6 K:Flying T:Mode$ Phase | Phase$ End of Turn | CheckSVar$ Morbid | SVarCompare$ GE1 | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Morbid — At the beginning of each end step, if a creature died this turn, destroy target non-demon creature. -SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.nonDemon | TgtPrompt$ Select target non-demon creature +SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.nonDemon | TgtPrompt$ Select target non-Demon creature SVar:Morbid:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature Oracle:Flying\nMorbid — At the beginning of each end step, if a creature died this turn, destroy target non-Demon creature. diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_of_karsus_refraction_elemental.txt b/forge-gui/res/cardsfolder/upcoming/invasion_of_karsus_refraction_elemental.txt new file mode 100644 index 00000000000..b79ccb2ae8d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/invasion_of_karsus_refraction_elemental.txt @@ -0,0 +1,20 @@ +Name:Invasion of Karsus +ManaCost:2 R R +Types:Battle Siege +Defense:4 +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals 3 damage to each creature and each planeswalker. +SVar:TrigDamage:DB$ DamageAll | ValidCards$ Creature,Planeswalker | NumDmg$ 3 +AlternateMode:DoubleFaced +Oracle:(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)\nWhen Invasion of Karsus enters the battlefield, it deals 3 damage to each creature and each planeswalker. + +ALTERNATE + +Name:Refraction Elemental +Colors:red +Types:Creature Elemental +PT:4/4 +K:Ward:PayLife<2> +T:Mode$ SpellCast | TriggerZones$ Battlefield | ValidActivatingPlayer$ You | Execute$ TrigDamage | TriggerDescription$ Whenever you cast a spell, CARDNAME deals 2 damage to each opponent. +SVar:TrigDamage:DB$ DealDamage | Defined$ Opponent | NumDmg$ 2 +DeckHints:Type$Instant|Sorcery +Oracle:Ward—Pay 2 life.\nWhenever you cast a spell, Refraction Elemental deals 2 damage to each opponent. diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_of_lorwyn_winnowing_forces.txt b/forge-gui/res/cardsfolder/upcoming/invasion_of_lorwyn_winnowing_forces.txt new file mode 100644 index 00000000000..c6068190598 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/invasion_of_lorwyn_winnowing_forces.txt @@ -0,0 +1,21 @@ +Name:Invasion of Lorwyn +ManaCost:4 B G +Types:Battle Siege +Defense:5 +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy target non-Elf creature an opponent controls with power X or less, where X is the number of lands you control. +SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Creature.nonElf+OppCtrl+powerLEX | TgtPrompt$ Select target non-Elf creature an opponent controls with power X or less, where X is the number of lands you control +SVar:X:Count$Valid Land.YouCtrl +AlternateMode:DoubleFaced +Oracle:(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)\nWhen Invasion of Lorwyn enters the battlefield, destroy target non-Elf creature an opponent controls with power X or less, where X is the number of lands you control. + +ALTERNATE + +Name:Winnowing Forces +ManaCost:no cost +Colors:black,green +Types:Creature Elf Warrior +PT:*/* +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 +SVar:BuffedBy:Land +Oracle:Winnowing Forces's power and toughness are each equal to the number of lands you control. diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_of_mercadia_kyren_flamewright.txt b/forge-gui/res/cardsfolder/upcoming/invasion_of_mercadia_kyren_flamewright.txt new file mode 100644 index 00000000000..4f6d8333134 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/invasion_of_mercadia_kyren_flamewright.txt @@ -0,0 +1,21 @@ +Name:Invasion of Mercadia +ManaCost:1 R +Types:Battle Siege +Defense:4 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, you may discard a card. If you do, draw two cards. +SVar:TrigDiscard:AB$ Draw | Cost$ Discard<1/Card> | NumCards$ 2 +DeckHas:Ability$Discard +AlternateMode:DoubleFaced +Oracle:(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)\nWhen Invasion of Mercadia enters the battlefield, you may discard a card. If you do, draw two cards. + +ALTERNATE + +Name:Kyren Flamewright +ManaCost:no cost +Colors:red +Types:Creature Goblin Spellshaper +PT:3/3 +A:AB$ Token | Cost$ 2 R T Discard<1/Card> | TokenAmount$ 2 | TokenScript$ ur_1_1_elemental | SubAbility$ DBPump | SpellDescription$ Create two 1/1 blue and red Elemental creature tokens. +SVar:DBPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ +1 | KW$ Haste | SpellDescription$ Creatures you control get +1/+0 and gain haste until end of turn. +DeckHas:Ability$Token & Color$Blue & Type$Elemental +Oracle:{2}{R}, {T}, Discard a card: Create two 1/1 blue and red Elemental creature tokens. Creatures you control get +1/+0 and gain haste until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_of_moag_bloomwielder_dryads.txt b/forge-gui/res/cardsfolder/upcoming/invasion_of_moag_bloomwielder_dryads.txt new file mode 100644 index 00000000000..61cce114e0d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/invasion_of_moag_bloomwielder_dryads.txt @@ -0,0 +1,21 @@ +Name:Invasion of Moag +ManaCost:2 G W +Types:Battle Siege +Defense:5 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPutCounters | TriggerDescription$ When CARDNAME enters the battlefield, put a +1/+1 counter on each creature you control. +SVar:TrigPutCounters:DB$ PutCounterAll | ValidCards$ Creature.YouCtrl | CounterType$ P1P1 +DeckHas:Ability$Counters +AlternateMode:DoubleFaced +Oracle:(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)\nWhen Invasion of Moag enters the battlefield, put a +1/+1 counter on each creature you control. + +ALTERNATE + +Name:Bloomwielder Dryads +ManaCost:no cost +Colors:white,green +Types:Creature Dryad +PT:3/3 +K:Ward:2 +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your end step, put a +1/+1 counter on target creature you control. +SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | CounterType$ P1P1 +Oracle:Ward {2} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {2}.)\nAt the beginning of your end step, put a +1/+1 counter on target creature you control. diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_of_new_capenna_holy_frazzle_cannon.txt b/forge-gui/res/cardsfolder/upcoming/invasion_of_new_capenna_holy_frazzle_cannon.txt new file mode 100644 index 00000000000..020bc69e322 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/invasion_of_new_capenna_holy_frazzle_cannon.txt @@ -0,0 +1,24 @@ +Name:Invasion of New Capenna +ManaCost:W B +Types:Battle Siege +Defense:4 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigImmediateTrig | TriggerDescription$ When CARDNAME enters the battlefield, you may sacrifice an artifact or creature. When you do, exile target artifact or creature an opponent controls. +SVar:TrigImmediateTrig:AB$ ImmediateTrigger | Cost$ Sac<1/Artifact;Creature/artifact or creature> | Execute$ TrigExile | TriggerDescription$ When you do, exile target artifact or creature an opponent controls. +SVar:TrigExile:DB$ ChangeZone | ValidTgts$ Artifact.OppCtrl,Creature.OppCtrl | TgtPrompt$ Select target artifact or creature an opponent controls | Origin$ Battlefield | Destination$ Exile +DeckHas:Ability$Sacrifice +AlternateMode:DoubleFaced +Oracle:(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)\nWhen Invasion of New Capenna enters the battlefield, you may sacrifice an artifact or creature. When you do, exile target artifact or creature an opponent controls. + +ALTERNATE + +Name:Holy Frazzle-Cannon +ManaCost:no cost +Colors:white,black +Types:Artifact Equipment +T:Mode$ Attacks | ValidCard$ Creature.EquippedBy | Execute$ TrigPutCounters | TriggerDescription$ Whenever equipped creature attacks, put a +1/+1 counter on that creature and each other creature you control that shares a creature type with it. +SVar:TrigPutCounters:DB$ PutCounterAll | ValidCards$ Creature.EquippedBy,Creature.!Equippedby+sharesCreatureTypeWith Equipped | CounterType$ P1P1 +DeckHas:Ability$Counters +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddSVar$ AE +SVar:AE:SVar:HasAttackEffect:TRUE +K:Equip:1 +Oracle:Whenever equipped creature attacks, put a +1/+1 counter on that creature and each other creature you control that shares a creature type with it.\nEquip {1} diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_of_regatha_disciples_of_the_inferno.txt b/forge-gui/res/cardsfolder/upcoming/invasion_of_regatha_disciples_of_the_inferno.txt new file mode 100644 index 00000000000..12e20dc3e63 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/invasion_of_regatha_disciples_of_the_inferno.txt @@ -0,0 +1,23 @@ +Name:Invasion of Regatha +ManaCost:2 R +Types:Battle Siege +Defense:5 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals 4 damage to another target battle or opponent and 1 damage to up to one target creature. +SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Battle.Other,Opponent | TgtPrompt$ Select another target battle or opponent | NumDmg$ 4 | SubAbility$ DBDealDamage +SVar:DBDealDamage:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select up to one target creature | TargetMin$ 0 | TargetMax$ 1 | NumDmg$ 1 +AlternateMode:DoubleFaced +Oracle:(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)\nWhen Invasion of Regatha enters the battlefield, it deals 4 damage to another target battle or opponent and 1 damage to up to one target creature. + +ALTERNATE + +Name:Disciples of the Inferno +ManaCost:no cost +Colors:red +Types:Creature Human Monk +PT:4/4 +K:Prowess +R:Event$ DamageDone | ValidSource$ Card.YouCtrl+nonCreature,Emblem.YouCtrl | ValidTarget$ Creature,Battle,Opponent | ReplaceWith$ DmgPlus2 | Description$ If a noncreature source you control would deal damage to a creature, battle, or opponent, it deals that much damage plus 2 instead. +SVar:DmgPlus2:DB$ ReplaceEffect | VarName$ DamageAmount | VarValue$ X +SVar:X:ReplaceCount$DamageAmount/Plus.2 +SVar:BuffedBy:Card.nonCreature +Oracle:Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.)\nIf a noncreature source you control would deal damage to a creature, battle, or opponent, it deals that much damage plus 2 instead. diff --git a/forge-gui/res/cardsfolder/v/viashino_racketeer.txt b/forge-gui/res/cardsfolder/v/viashino_racketeer.txt index d0af6571971..9e815c7db3e 100644 --- a/forge-gui/res/cardsfolder/v/viashino_racketeer.txt +++ b/forge-gui/res/cardsfolder/v/viashino_racketeer.txt @@ -3,6 +3,6 @@ ManaCost:2 R Types:Creature Viashino Rogue PT:2/1 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, you may discard a card. If you do, draw a card. -SVar:TrigDiscard:AB$ Draw | NumCards$ 1 | Cost$ Discard<1/Card> -SVar:X:Remembered$Amount +SVar:TrigDiscard:AB$ Draw | Cost$ Discard<1/Card> +DeckHas:Ability$Discard Oracle:When Viashino Racketeer enters the battlefield, you may discard a card. If you do, draw a card.