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 75c68dff16b..1a8645dedad 100644 --- a/forge-game/src/main/java/forge/game/card/CounterEnumType.java +++ b/forge-game/src/main/java/forge/game/card/CounterEnumType.java @@ -327,6 +327,8 @@ public enum CounterEnumType { POLYP("POLYP", 236, 185, 198), + POSSESSION("POSSN", 60, 65, 85), + PREY("PREY", 240, 0, 0), PUPA("PUPA", 0, 223, 203), diff --git a/forge-gui/res/cardsfolder/upcoming/cult_healer.txt b/forge-gui/res/cardsfolder/upcoming/cult_healer.txt new file mode 100644 index 00000000000..70d35d3a0be --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/cult_healer.txt @@ -0,0 +1,9 @@ +Name:Cult Healer +ManaCost:2 W +Types:Creature Human Doctor +PT:3/3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gains lifelink until end of turn. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPump | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gains lifelink until end of turn. +SVar:TrigPump:DB$ Pump | Defined$ Self | KW$ Lifelink +DeckNeeds:Type$Enchantment +Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, Cult Healer gains lifelink until end of turn. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/infernal_phantom.txt b/forge-gui/res/cardsfolder/upcoming/infernal_phantom.txt new file mode 100644 index 00000000000..383a846673b --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/infernal_phantom.txt @@ -0,0 +1,12 @@ +Name:Infernal Phantom +ManaCost:3 R +Types:Creature Spirit +PT:2/3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gets +2/+0 until end of turn. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPump | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gets +2/+0 until end of turn. +SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ 2 +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ When CARDNAME dies, it deals damage equal to its power to any target. +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ X +SVar:X:TriggeredCard$CardPower +DeckNeeds:Type$Enchantment +Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, Infernal Phantom gets +2/+0 until end of turn.\nWhen Infernal Phantom dies, it deals damage equal to its power to any target. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/scrabbling_skullcrab.txt b/forge-gui/res/cardsfolder/upcoming/scrabbling_skullcrab.txt new file mode 100644 index 00000000000..c3eb6d6daf0 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/scrabbling_skullcrab.txt @@ -0,0 +1,9 @@ +Name:Scrabbling Skullcrab +ManaCost:U +Types:Creature Crab Skeleton +PT:0/3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, target player mills two cards. (They put the top two cards of their library into their graveyard.) +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigMill | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, target player mills two cards. (They put the top two cards of their library into their graveyard.) +SVar:TrigMill:DB$ Mill | NumCards$ 2 | ValidTgts$ Player | TgtPrompt$ Select target player +DeckNeeds:Type$Enchantment +Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, target player mills two cards. (They put the top two cards of their library into their graveyard.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/stalked_researcher.txt b/forge-gui/res/cardsfolder/upcoming/stalked_researcher.txt new file mode 100644 index 00000000000..c737d968208 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/stalked_researcher.txt @@ -0,0 +1,11 @@ +Name:Stalked Researcher +ManaCost:1 U +Types:Creature Human Wizard +PT:3/3 +K:Defender +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigEffect | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME can attack this turn as though it didn't have defender. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigEffect | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME can attack this turn as though it didn't have defender. +SVar:TrigEffect:DB$ Effect | StaticAbilities$ CanAttack | ForgetOnMoved$ Battlefield +SVar:CanAttack:Mode$ CanAttackDefender | ValidCard$ Card.EffectSource | Description$ EFFECTSOURCE can attack this turn as though it didn't have defender. +DeckNeeds:Type$Enchantment +Oracle:Defender\nEerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, Stalker Researcher can attack this turn as though it didn't have defender. diff --git a/forge-gui/res/cardsfolder/upcoming/unwilling_vessel.txt b/forge-gui/res/cardsfolder/upcoming/unwilling_vessel.txt new file mode 100644 index 00000000000..e68418be225 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/unwilling_vessel.txt @@ -0,0 +1,14 @@ +Name:Unwilling Vessel +ManaCost:2 U +Types:Creature Human Wizard +PT:3/2 +K:Vigilance +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, put a possession counter on CARDNAME. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPutCounter | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, put a possession counter on CARDNAME. +SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ POSSESSION | CounterNum$ 1 +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME dies, create an X/X blue Spirit creature token with flying, where X is the number of counters on CARDNAME. +SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ u_x_x_spirit_flying | TokenPower$ X | TokenToughness$ X | TokenOwner$ You +SVar:X:TriggeredCard$CardCounters.ALL +DeckHas:Ability$Token & Type$Spirit +DeckNeeds:Type$Enchantment +Oracle:Vigilance\nEerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, put a possession counter on Unwilling Vessel.\nWhen Unwilling Vessel dies, create an X/X blue Spirit creature token with flying, where X is the number of counters on Unwilling Vessel. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/victor_valgavoths_seneschal.txt b/forge-gui/res/cardsfolder/upcoming/victor_valgavoths_seneschal.txt new file mode 100644 index 00000000000..42f6853c264 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/victor_valgavoths_seneschal.txt @@ -0,0 +1,16 @@ +Name:Victor, Valgavoth's Seneschal +ManaCost:1 W B +Types:Legendary Creature Human Warlock +PT:3/3 +K:Vigilance +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigSurveil | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, surveil 2 if this is the first time this ability has resolved this turn. If it's the second time, each opponent discards a card. If it's the third time, put a creature card from a graveyard onto the battlefield under your control. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigSurveil | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, surveil 2 if this is the first time this ability has resolved this turn. If it's the second time, each opponent discards a card. If it's the third time, put a creature card from a graveyard onto the battlefield under your control. +SVar:TrigSurveil:DB$ Surveil | Amount$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBDiscard +SVar:DBDiscard:DB$ Discard | Defined$ Player.Opponent | Mode$ TgtChoose | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ2 | SubAbility$ DBChangeZone +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ 1 | Mandatory$ True | GainControl$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ3 | SelectPrompt$ Select a creature card to return to the battlefield | Hidden$ True | SubAbility$ DBLog +SVar:DBLog:DB$ StoreSVar | SVar$ X | Type$ Number | Expression$ X/Plus.1 +SVar:X:Number$0 +T:Mode$ Phase | Phase$ Cleanup | TriggerZones$ Battlefield | Execute$ DBCleanup | Static$ True +SVar:DBCleanup:DB$ StoreSVar | SVar$ X | Type$ Number | Expression$ 0 +DeckNeeds:Type$Enchantment +Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, surveil 2 if this is the first time this ability has resolved this turn. If it's the second time, each opponent discards a card. If it's the third time, put a creature card from a graveyard onto the battlefield under your control. diff --git a/forge-gui/res/cardsfolder/upcoming/zimone_mystery_unraveler.txt b/forge-gui/res/cardsfolder/upcoming/zimone_mystery_unraveler.txt index 964727cd23f..aac64b09068 100644 --- a/forge-gui/res/cardsfolder/upcoming/zimone_mystery_unraveler.txt +++ b/forge-gui/res/cardsfolder/upcoming/zimone_mystery_unraveler.txt @@ -3,7 +3,7 @@ ManaCost:2 G U Types:Legendary Creature Human Wizard PT:3/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDread | TriggerDescription$ Landfall — Whenever a land you control enters, manifest dread if this is the first time this ability has resolved this turn. Otherwise, you may turn a permanent you control face up. (To manifest dread, look at the top two cards of your library. Put one onto the battlefield face down as a 2/2 creature and the other into your graveyard. Turn it face up any time for its mana cost if it's a creature card.) -SVar:TrigDread:DB$ Manifest | Dread$ True | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBSetState +SVar:TrigDread:DB$ Manifest | Dread$ True | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBTurnFaceUp SVar:DBTurnFaceUp:DB$ SetState | Optional$ True | Choices$ Permanent.faceDown+YouCtrl | ChoiceTitle$ Select a face-down permanent you control | ConditionCheckSVar$ X | ConditionSVarCompare$ GT1 | Mode$ TurnFaceUp SVar:X:Count$ResolvedThisTurn SVar:BuffedBy:Land diff --git a/forge-gui/res/tokenscripts/u_x_x_spirit_flying.txt b/forge-gui/res/tokenscripts/u_x_x_spirit_flying.txt new file mode 100644 index 00000000000..725c7b55f28 --- /dev/null +++ b/forge-gui/res/tokenscripts/u_x_x_spirit_flying.txt @@ -0,0 +1,7 @@ +Name:Spirit Token +ManaCost:no cost +Colors:blue +Types:Creature Spirit +PT:*/* +K:Flying +Oracle:Flying \ No newline at end of file