diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java index 2896cb0ada7..b4b95ef11cd 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java @@ -1002,7 +1002,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { } else if (!origin.contains(ZoneType.Library) && !origin.contains(ZoneType.Hand) && !sa.hasParam("DefinedPlayer")) { - fetchList = new CardCollection(player.getGame().getCardsIn(origin)); + fetchList = new CardCollection(game.getCardsIn(origin)); } else { fetchList = new CardCollection(player.getCardsIn(origin)); @@ -1061,7 +1061,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { } final Map runParams = AbilityKey.mapFromPlayer(decider); runParams.put(AbilityKey.Target, Lists.newArrayList(player)); - decider.getGame().getTriggerHandler().runTrigger(TriggerType.SearchedLibrary, runParams, false); + game.getTriggerHandler().runTrigger(TriggerType.SearchedLibrary, runParams, false); } if (searchedLibrary && sa.hasParam("Searched")) { searchedLibrary = false; diff --git a/forge-game/src/main/java/forge/game/ability/effects/ManifestBaseEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ManifestBaseEffect.java index ec9eb7bbd5c..d5e3f6bf49e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ManifestBaseEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ManifestBaseEffect.java @@ -31,7 +31,6 @@ public abstract class ManifestBaseEffect extends SpellAbilityEffect { } protected void manifestLoop(SpellAbility sa, Player p, final int amount) { - final Card source = sa.getHostCard(); final Player activator = sa.getActivatingPlayer(); final Game game = source.getGame(); diff --git a/forge-game/src/main/java/forge/game/card/CardDamageMap.java b/forge-game/src/main/java/forge/game/card/CardDamageMap.java index d612ec9626c..5a83811ba2b 100644 --- a/forge-game/src/main/java/forge/game/card/CardDamageMap.java +++ b/forge-game/src/main/java/forge/game/card/CardDamageMap.java @@ -143,7 +143,7 @@ public class CardDamageMap extends ForwardingTable { damaged.getKey().setHasBeenDealtExcessDamageThisTurn(true); damaged.getKey().logExcessDamage(excess); - // Run triggers + final Map runParams = AbilityKey.newMap(); runParams.put(AbilityKey.DamageTarget, damaged.getKey()); runParams.put(AbilityKey.DamageAmount, excess); @@ -158,7 +158,6 @@ public class CardDamageMap extends ForwardingTable { } if (!damagedList.isEmpty()) { - // Run triggers final Map runParams = AbilityKey.newMap(); runParams.put(AbilityKey.DamageTargets, damagedList); runParams.put(AbilityKey.IsCombatDamage, isCombat); diff --git a/forge-gui/res/cardsfolder/a/anurid_barkripper.txt b/forge-gui/res/cardsfolder/a/anurid_barkripper.txt index 067025afa36..2c48e567efe 100644 --- a/forge-gui/res/cardsfolder/a/anurid_barkripper.txt +++ b/forge-gui/res/cardsfolder/a/anurid_barkripper.txt @@ -2,6 +2,5 @@ Name:Anurid Barkripper ManaCost:1 G G Types:Creature Frog Beast PT:2/2 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 2 | CheckSVar$ X | SVarCompare$ GE7 | Description$ Threshold — CARDNAME gets +2/+2 as long as seven or more cards are in your graveyard. -SVar:X:Count$InYourYard +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 2 | Condition$ Threshold | Description$ Threshold — CARDNAME gets +2/+2 as long as seven or more cards are in your graveyard. Oracle:Threshold — Anurid Barkripper gets +2/+2 as long as seven or more cards are in your graveyard. diff --git a/forge-gui/res/cardsfolder/c/centaur_chieftain.txt b/forge-gui/res/cardsfolder/c/centaur_chieftain.txt index 472659c27cf..022a13c4059 100644 --- a/forge-gui/res/cardsfolder/c/centaur_chieftain.txt +++ b/forge-gui/res/cardsfolder/c/centaur_chieftain.txt @@ -3,6 +3,7 @@ ManaCost:3 G Types:Creature Centaur PT:3/3 K:Haste -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | Threshold$ True | TriggerDescription$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "When CARDNAME enters, creatures you control get +1/+1 and gain trample until end of turn." +S:Mode$ Continuous | Affected$ Card.Self | AddTrigger$ TrigETB | Condition$ Threshold | Description$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "When CARDNAME enters, creatures you control get +1/+1 and gain trample until end of turn." +SVar:TrigETB:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME enters, creatures you control get +1/+1 and gain trample until end of turn. SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ +1 | NumDef$ +1 | KW$ Trample Oracle:Haste\nThreshold — As long as seven or more cards are in your graveyard, Centaur Chieftain has "When Centaur Chieftain enters, creatures you control get +1/+1 and gain trample until end of turn." diff --git a/forge-gui/res/cardsfolder/c/cephalid_sage.txt b/forge-gui/res/cardsfolder/c/cephalid_sage.txt index 5728e0d975e..125ed9a6a7f 100644 --- a/forge-gui/res/cardsfolder/c/cephalid_sage.txt +++ b/forge-gui/res/cardsfolder/c/cephalid_sage.txt @@ -2,7 +2,8 @@ Name:Cephalid Sage ManaCost:3 U Types:Creature Octopus PT:2/3 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | Threshold$ True | TriggerDescription$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "When CARDNAME enters, draw three cards, then discard two cards." +S:Mode$ Continuous | Affected$ Card.Self | AddTrigger$ TrigETB | Condition$ Threshold | Description$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "When CARDNAME enters, draw three cards, then discard two cards." +SVar:TrigETB:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters, draw three cards, then discard two cards. SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 3 | SubAbility$ DBDiscard SVar:DBDiscard:DB$ Discard | NumCards$ 2 | Mode$ TgtChoose | Defined$ You Oracle:Threshold — As long as seven or more cards are in your graveyard, Cephalid Sage has "When Cephalid Sage enters, draw three cards, then discard two cards." diff --git a/forge-gui/res/cardsfolder/c/chlorophant.txt b/forge-gui/res/cardsfolder/c/chlorophant.txt index aec9f03f9bb..c537d0d5313 100644 --- a/forge-gui/res/cardsfolder/c/chlorophant.txt +++ b/forge-gui/res/cardsfolder/c/chlorophant.txt @@ -3,6 +3,7 @@ ManaCost:G G G Types:Creature Elemental PT:1/1 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ GimmeSome | TriggerDescription$ At the beginning of your upkeep, you may put a +1/+1 counter on CARDNAME. -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Threshold$ True | Execute$ GimmeSome | TriggerDescription$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "At the beginning of your upkeep, you may put another +1/+1 counter on CARDNAME." +S:Mode$ Continuous | Affected$ Card.Self | AddTrigger$ TrigCounter | Condition$ Threshold | Description$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "At the beginning of your upkeep, you may put another +1/+1 counter on CARDNAME." +SVar:TrigCounter:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ GimmeSome | TriggerDescription$ At the beginning of your upkeep, you may put another +1/+1 counter on CARDNAME. SVar:GimmeSome:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 Oracle:At the beginning of your upkeep, you may put a +1/+1 counter on Chlorophant.\nThreshold — As long as seven or more cards are in your graveyard, Chlorophant has "At the beginning of your upkeep, you may put another +1/+1 counter on Chlorophant." diff --git a/forge-gui/res/cardsfolder/g/gloomdrifter.txt b/forge-gui/res/cardsfolder/g/gloomdrifter.txt index 2765bcca2ee..a9865f35faf 100644 --- a/forge-gui/res/cardsfolder/g/gloomdrifter.txt +++ b/forge-gui/res/cardsfolder/g/gloomdrifter.txt @@ -3,7 +3,8 @@ ManaCost:3 B Types:Creature Zombie Minion PT:2/2 K:Flying -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | Threshold$ True | TriggerDescription$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "When CARDNAME enters, nonblack creatures get -2/-2 until end of turn." +S:Mode$ Continuous | Affected$ Card.Self | AddTrigger$ TrigETB | Condition$ Threshold | Description$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "When CARDNAME enters, nonblack creatures get -2/-2 until end of turn." +SVar:TrigETB:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME enters, nonblack creatures get -2/-2 until end of turn. SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.nonBlack | NumAtt$ -2 | NumDef$ -2 | IsCurse$ True SVar:PlayMain1:TRUE Oracle:Flying\nThreshold — As long as seven or more cards are in your graveyard, Gloomdrifter has "When Gloomdrifter enters, nonblack creatures get -2/-2 until end of turn." diff --git a/forge-gui/res/cardsfolder/h/hunting_grounds.txt b/forge-gui/res/cardsfolder/h/hunting_grounds.txt index dfe8637e1c1..b3686028b4d 100644 --- a/forge-gui/res/cardsfolder/h/hunting_grounds.txt +++ b/forge-gui/res/cardsfolder/h/hunting_grounds.txt @@ -1,6 +1,7 @@ Name:Hunting Grounds ManaCost:G W Types:Enchantment -T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigChangeZone | OptionalDecider$ You | Threshold$ True | TriggerDescription$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "Whenever an opponent casts a spell, you may put a creature card from your hand onto the battlefield." +S:Mode$ Continuous | Affected$ Card.Self | AddTrigger$ TrigCast | Condition$ Threshold | Description$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "Whenever an opponent casts a spell, you may put a creature card from your hand onto the battlefield." +SVar:TrigCast:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigChangeZone | OptionalDecider$ You | TriggerDescription$ Whenever an opponent casts a spell, you may put a creature card from your hand onto the battlefield. SVar:TrigChangeZone:DB$ ChangeZone | ChangeType$ Creature | ChangeNum$ 1 | Origin$ Hand | Destination$ Battlefield Oracle:Threshold — As long as seven or more cards are in your graveyard, Hunting Grounds has "Whenever an opponent casts a spell, you may put a creature card from your hand onto the battlefield." diff --git a/forge-gui/res/cardsfolder/m/mind_drill_assailant.txt b/forge-gui/res/cardsfolder/m/mind_drill_assailant.txt index 4a7168706f4..048e7e9ed9b 100644 --- a/forge-gui/res/cardsfolder/m/mind_drill_assailant.txt +++ b/forge-gui/res/cardsfolder/m/mind_drill_assailant.txt @@ -2,7 +2,6 @@ Name:Mind Drill Assailant ManaCost:2 UB UB Types:Creature Rat Warlock PT:2/5 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | CheckSVar$ X | SVarCompare$ GE7 | Description$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME gets +3/+0. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | Condition$ Threshold | Description$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME gets +3/+0. A:AB$ Surveil | Cost$ 2 UB | Amount$ 1 | SpellDescription$ Surveil 1. (Look at the top card of your library. You may put it into your graveyard.) -SVar:X:Count$InYourYard Oracle:Threshold — As long as seven or more cards are in your graveyard, Mind Drill Assailant gets +3/+0.\n{2}{U/B}: Surveil 1. (Look at the top card of your library. You may put it into your graveyard.) diff --git a/forge-gui/res/cardsfolder/n/nomad_decoy.txt b/forge-gui/res/cardsfolder/n/nomad_decoy.txt index 033b6e27baf..597d9b70f9b 100644 --- a/forge-gui/res/cardsfolder/n/nomad_decoy.txt +++ b/forge-gui/res/cardsfolder/n/nomad_decoy.txt @@ -3,7 +3,6 @@ ManaCost:2 W Types:Creature Human Nomad PT:1/2 A:AB$ Tap | Cost$ W T | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Tap target creature. -A:AB$ Tap | Cost$ W W T | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 2 | TargetMax$ 2 | CheckSVar$ X | SVarCompare$ GE7 | PrecostDesc$ Threshold — | SpellDescription$ Tap two target creatures. Activate only if seven or more cards are in your graveyard. -SVar:X:Count$InYourYard +A:AB$ Tap | Cost$ W W T | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 2 | TargetMax$ 2 | Activation$ Threshold | PrecostDesc$ Threshold — | SpellDescription$ Tap two target creatures. Activate only if seven or more cards are in your graveyard. SVar:NonCombatPriority:1 Oracle:{W}, {T}: Tap target creature.\nThreshold — {W}{W}, {T}: Tap two target creatures. Activate only if seven or more cards are in your graveyard. diff --git a/forge-gui/res/cardsfolder/p/pardic_arsonist.txt b/forge-gui/res/cardsfolder/p/pardic_arsonist.txt index 9f5c052baea..57f8e48073b 100644 --- a/forge-gui/res/cardsfolder/p/pardic_arsonist.txt +++ b/forge-gui/res/cardsfolder/p/pardic_arsonist.txt @@ -2,6 +2,7 @@ Name:Pardic Arsonist ManaCost:2 R R Types:Creature Human Barbarian PT:3/3 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | Threshold$ True | TriggerDescription$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "When CARDNAME enters, it deals 3 damage to any target." +S:Mode$ Continuous | Affected$ Card.Self | AddTrigger$ TrigETB | Condition$ Threshold | Description$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "When CARDNAME enters, it deals 3 damage to any target." +SVar:TrigETB:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters, it deals 3 damage to any target. SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ 3 Oracle:Threshold — As long as seven or more cards are in your graveyard, Pardic Arsonist has "When Pardic Arsonist enters, it deals 3 damage to any target." diff --git a/forge-gui/res/cardsfolder/p/persistent_marshstalker.txt b/forge-gui/res/cardsfolder/p/persistent_marshstalker.txt index 5bd9228d38a..cf92de8dc8a 100644 --- a/forge-gui/res/cardsfolder/p/persistent_marshstalker.txt +++ b/forge-gui/res/cardsfolder/p/persistent_marshstalker.txt @@ -3,10 +3,9 @@ ManaCost:1 B Types:Creature Rat Berserker PT:3/1 S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | Description$ CARDNAME gets +1/+0 for each other Rat you control. -T:Mode$ AttackersDeclared | ValidAttackers$ Creature.YouCtrl+Rat | TriggerZones$ Graveyard | Execute$ TrigChangeZone | CheckSVar$ Y | SVarCompare$ GE7 | TriggerDescription$ Threshold — Whenever you attack with one or more Rats, if seven of more cards are in your graveyard, you may pay {2}{B}. If you do, return CARDNAME from your graveyard to the battlefield tapped and attacking. +T:Mode$ AttackersDeclared | ValidAttackers$ Creature.YouCtrl+Rat | TriggerZones$ Graveyard | Execute$ TrigChangeZone | Threshold$ True | TriggerDescription$ Threshold — Whenever you attack with one or more Rats, if seven of more cards are in your graveyard, you may pay {2}{B}. If you do, return CARDNAME from your graveyard to the battlefield tapped and attacking. SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | Attacking$ True SVar:X:Count$Valid Rat.YouCtrl+Other -SVar:Y:Count$InYourYard SVar:SacMe:3 SVar:DiscardMe:3 SVar:BuffedBy:Rat diff --git a/forge-gui/res/cardsfolder/t/terohs_vanguard.txt b/forge-gui/res/cardsfolder/t/terohs_vanguard.txt index 896d94ab3b4..bf50c61770d 100644 --- a/forge-gui/res/cardsfolder/t/terohs_vanguard.txt +++ b/forge-gui/res/cardsfolder/t/terohs_vanguard.txt @@ -3,6 +3,7 @@ ManaCost:3 W Types:Creature Human Nomad PT:2/3 K:Flash -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPump | Threshold$ True | TriggerDescription$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "When CARDNAME enters, creatures you control gain protection from black until end of turn." +S:Mode$ Continuous | Affected$ Card.Self | AddTrigger$ TrigETB | Condition$ Threshold | Description$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME has "When CARDNAME enters, creatures you control gain protection from black until end of turn." +SVar:TrigETB:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ When CARDNAME enters, creatures you control gain protection from black until end of turn. SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Protection from black Oracle:Flash\nThreshold — As long as seven or more cards are in your graveyard, Teroh's Vanguard has "When Teroh's Vanguard enters, creatures you control gain protection from black until end of turn." diff --git a/forge-gui/res/cardsfolder/t/thought_shucker.txt b/forge-gui/res/cardsfolder/t/thought_shucker.txt index 0d9a25b5dcd..37d528e3331 100644 --- a/forge-gui/res/cardsfolder/t/thought_shucker.txt +++ b/forge-gui/res/cardsfolder/t/thought_shucker.txt @@ -2,8 +2,7 @@ Name:Thought Shucker ManaCost:1 U Types:Creature Rat Rogue PT:1/3 -A:AB$ PutCounter | Cost$ 1 U | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBDraw | CheckSVar$ X | SVarCompare$ GE7 | GameActivationLimit$ 1 | PrecostDesc$ Threshold — | SpellDescription$ Put a +1/+1 counter on CARDNAME and draw a card. Activate only if seven or more cards are in your graveyard and only once. +A:AB$ PutCounter | Cost$ 1 U | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBDraw | Activation$ Threshold | GameActivationLimit$ 1 | PrecostDesc$ Threshold — | SpellDescription$ Put a +1/+1 counter on CARDNAME and draw a card. Activate only if seven or more cards are in your graveyard and only once. SVar:DBDraw:DB$ Draw -SVar:X:Count$InYourYard DeckHas:Ability$Counters Oracle:Threshold — {1}{U}: Put a +1/+1 counter on Thought Shucker and draw a card. Activate only if seven or more cards are in your graveyard and only once. diff --git a/forge-gui/res/cardsfolder/t/tidecaller_mentor.txt b/forge-gui/res/cardsfolder/t/tidecaller_mentor.txt index a8f5d9496b4..153b0274a30 100644 --- a/forge-gui/res/cardsfolder/t/tidecaller_mentor.txt +++ b/forge-gui/res/cardsfolder/t/tidecaller_mentor.txt @@ -3,7 +3,6 @@ ManaCost:1 U B Types:Creature Rat Wizard PT:3/3 K:Menace -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigReturn | CheckSVar$ X | SVarCompare$ GE7 | TriggerDescription$ Threshold — When CARDNAME enters, if seven or more cards are in your graveyard, return up to one target nonland permanent to its owner's hand. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigReturn | Threshold$ True | TriggerDescription$ Threshold — When CARDNAME enters, if seven or more cards are in your graveyard, return up to one target nonland permanent to its owner's hand. SVar:TrigReturn:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | ValidTgts$ Permanent.nonLand | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target nonland permanent -SVar:X:Count$InYourYard Oracle:Menace\nThreshold — When Tidecaller Mentor enters, if seven or more cards are in your graveyard, return up to one target nonland permanent to its owner's hand.