From e5ffc94533e24e85611a8336b2816fdaaab94e79 Mon Sep 17 00:00:00 2001 From: Sol Date: Thu, 15 Oct 2015 02:52:51 +0000 Subject: [PATCH] - Display important Trigger information on the Stack --- .../src/main/java/forge/game/trigger/Trigger.java | 2 ++ .../main/java/forge/game/trigger/TriggerAlways.java | 5 +++++ .../main/java/forge/game/trigger/TriggerAttached.java | 7 +++++++ .../forge/game/trigger/TriggerAttackerBlocked.java | 8 ++++++++ .../trigger/TriggerAttackerBlockedByCreature.java | 8 ++++++++ .../forge/game/trigger/TriggerAttackerUnblocked.java | 7 +++++++ .../forge/game/trigger/TriggerAttackersDeclared.java | 7 +++++++ .../main/java/forge/game/trigger/TriggerAttacks.java | 7 +++++++ .../forge/game/trigger/TriggerBecomeMonstrous.java | 7 +++++++ .../forge/game/trigger/TriggerBecomeRenowned.java | 7 +++++++ .../java/forge/game/trigger/TriggerBecomesTarget.java | 8 ++++++++ .../forge/game/trigger/TriggerBlockersDeclared.java | 7 +++++++ .../main/java/forge/game/trigger/TriggerBlocks.java | 7 +++++++ .../java/forge/game/trigger/TriggerChampioned.java | 7 +++++++ .../forge/game/trigger/TriggerChangesController.java | 7 +++++++ .../java/forge/game/trigger/TriggerChangesZone.java | 7 +++++++ .../main/java/forge/game/trigger/TriggerClashed.java | 5 +++++ .../game/trigger/TriggerCombatDamageDoneOnce.java | 8 ++++++++ .../java/forge/game/trigger/TriggerCounterAdded.java | 7 +++++++ .../forge/game/trigger/TriggerCounterAddedOnce.java | 7 +++++++ .../forge/game/trigger/TriggerCounterRemoved.java | 7 +++++++ .../java/forge/game/trigger/TriggerCountered.java | 8 ++++++++ .../main/java/forge/game/trigger/TriggerCycled.java | 7 +++++++ .../java/forge/game/trigger/TriggerDamageDone.java | 9 +++++++++ .../game/trigger/TriggerDealtCombatDamageOnce.java | 9 +++++++++ .../java/forge/game/trigger/TriggerDestroyed.java | 8 ++++++++ .../main/java/forge/game/trigger/TriggerDevoured.java | 7 +++++++ .../java/forge/game/trigger/TriggerDiscarded.java | 8 ++++++++ .../main/java/forge/game/trigger/TriggerDrawn.java | 7 +++++++ .../main/java/forge/game/trigger/TriggerEvolved.java | 7 +++++++ .../java/forge/game/trigger/TriggerExploited.java | 8 ++++++++ .../main/java/forge/game/trigger/TriggerFight.java | 7 +++++++ .../java/forge/game/trigger/TriggerFlippedCoin.java | 7 +++++++ .../main/java/forge/game/trigger/TriggerHandler.java | 3 ++- .../java/forge/game/trigger/TriggerLandPlayed.java | 7 +++++++ .../java/forge/game/trigger/TriggerLifeGained.java | 8 ++++++++ .../main/java/forge/game/trigger/TriggerLifeLost.java | 8 ++++++++ .../java/forge/game/trigger/TriggerLosesGame.java | 7 +++++++ .../main/java/forge/game/trigger/TriggerNewGame.java | 5 +++++ .../game/trigger/TriggerPayCumulativeUpkeep.java | 7 +++++++ .../main/java/forge/game/trigger/TriggerPayEcho.java | 5 +++++ .../main/java/forge/game/trigger/TriggerPhase.java | 7 +++++++ .../main/java/forge/game/trigger/TriggerPhaseIn.java | 7 +++++++ .../main/java/forge/game/trigger/TriggerPhaseOut.java | 7 +++++++ .../java/forge/game/trigger/TriggerPlanarDice.java | 6 ++++++ .../forge/game/trigger/TriggerPlaneswalkedFrom.java | 7 +++++++ .../forge/game/trigger/TriggerPlaneswalkedTo.java | 6 ++++++ .../java/forge/game/trigger/TriggerSacrificed.java | 8 ++++++++ .../src/main/java/forge/game/trigger/TriggerScry.java | 7 +++++++ .../forge/game/trigger/TriggerSearchedLibrary.java | 7 +++++++ .../java/forge/game/trigger/TriggerSetInMotion.java | 5 +++++ .../main/java/forge/game/trigger/TriggerShuffled.java | 7 +++++++ .../forge/game/trigger/TriggerSpellAbilityCast.java | 9 +++++++++ .../src/main/java/forge/game/trigger/TriggerTaps.java | 8 ++++++++ .../java/forge/game/trigger/TriggerTapsForMana.java | 9 +++++++++ .../java/forge/game/trigger/TriggerTransformed.java | 8 ++++++++ .../java/forge/game/trigger/TriggerTurnBegin.java | 7 +++++++ .../java/forge/game/trigger/TriggerTurnFaceUp.java | 8 ++++++++ .../main/java/forge/game/trigger/TriggerUnequip.java | 9 +++++++++ .../main/java/forge/game/trigger/TriggerUntaps.java | 6 ++++++ .../src/main/java/forge/game/trigger/TriggerVote.java | 8 ++++++++ .../main/java/forge/game/trigger/WrappedAbility.java | 11 ++++++++++- 62 files changed, 439 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/trigger/Trigger.java b/forge-game/src/main/java/forge/game/trigger/Trigger.java index 157a62ee88b..cad1cb7f312 100644 --- a/forge-game/src/main/java/forge/game/trigger/Trigger.java +++ b/forge-game/src/main/java/forge/game/trigger/Trigger.java @@ -446,4 +446,6 @@ public abstract class Trigger extends TriggerReplacementBase { validPhases = phases; } + //public String getImportantStackObjects(SpellAbility sa) { return ""; }; + abstract public String getImportantStackObjects(SpellAbility sa); } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAlways.java b/forge-game/src/main/java/forge/game/trigger/TriggerAlways.java index ada1d11b2f4..371cd208e65 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAlways.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAlways.java @@ -58,4 +58,9 @@ public class TriggerAlways extends Trigger { @Override public void setTriggeringObjects(final SpellAbility sa) { } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + return ""; + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java index 4a1adceece3..614df314ef3 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java @@ -75,4 +75,11 @@ public class TriggerAttached extends Trigger { sa.setTriggeringObject("Source", this.getRunParams().get("AttachSource")); sa.setTriggeringObject("Target", this.getRunParams().get("AttachTarget")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Attachee: ").append(this.getRunParams().get("AttachTarget")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java index b5e9b74b1e4..755650f7357 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java @@ -82,4 +82,12 @@ public class TriggerAttackerBlocked extends Trigger { sa.setTriggeringObject("Blockers", this.getRunParams().get("Blockers")); sa.setTriggeringObject("NumBlockers", this.getRunParams().get("NumBlockers")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Attacker: ").append(this.getRunParams().get("Attacker")); + sb.append(" Number Blockers: ").append(this.getRunParams().get("NumBlockers")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedByCreature.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedByCreature.java index e3a8f4af21d..2b064d62504 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedByCreature.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedByCreature.java @@ -90,4 +90,12 @@ public class TriggerAttackerBlockedByCreature extends Trigger { sa.setTriggeringObject("Attacker", this.getRunParams().get("Attacker")); sa.setTriggeringObject("Blocker", this.getRunParams().get("Blocker")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Attacker: ").append(this.getRunParams().get("Attacker")); + sb.append(", Blocker: ").append(this.getRunParams().get("Blocker")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java index 7acb197fc43..93efa61e637 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java @@ -73,4 +73,11 @@ public class TriggerAttackerUnblocked extends Trigger { sa.setTriggeringObject("Defender", this.getRunParams().get("Defender")); sa.setTriggeringObject("DefendingPlayer", this.getRunParams().get("DefendingPlayer")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Attacker: ").append(this.getRunParams().get("Attacker")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java index d5a0aa1a3c6..d8ff51ecede 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java @@ -76,4 +76,11 @@ public class TriggerAttackersDeclared extends Trigger { sa.setTriggeringObject("Attackers", this.getRunParams().get("Attackers")); sa.setTriggeringObject("AttackingPlayer", this.getRunParams().get("AttackingPlayer")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Number Attackers: ").append(this.getRunParams().get("Attackers")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java index fbf729da447..6c60be77361 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java @@ -110,4 +110,11 @@ public class TriggerAttacks extends Trigger { sa.setTriggeringObject("Defender", this.getRunParams().get("Attacked")); sa.setTriggeringObject("DefendingPlayer", this.getRunParams().get("DefendingPlayer")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Attacker: ").append(this.getRunParams().get("Attacker")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonstrous.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonstrous.java index dd14a620e68..0b15791c5af 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonstrous.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonstrous.java @@ -64,4 +64,11 @@ public class TriggerBecomeMonstrous extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Monstrosity: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java index 073ea2b83f6..60e1b90bea3 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java @@ -64,4 +64,11 @@ public class TriggerBecomeRenowned extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Renowned: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java index 636e2915ca3..9fd403fd86e 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java @@ -92,4 +92,12 @@ public class TriggerBecomesTarget extends Trigger { sa.setTriggeringObject("Source", ((SpellAbility) this.getRunParams().get("SourceSA")).getHostCard()); sa.setTriggeringObject("Target", this.getRunParams().get("Target")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Source: ").append(((SpellAbility) this.getRunParams().get("SourceSA")).getHostCard()).append(", "); + sb.append("Target: ").append(this.getRunParams().get("Target")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBlockersDeclared.java b/forge-game/src/main/java/forge/game/trigger/TriggerBlockersDeclared.java index feb124a6cf8..f6a4b4b2755 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBlockersDeclared.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBlockersDeclared.java @@ -54,4 +54,11 @@ public class TriggerBlockersDeclared extends Trigger { sa.setTriggeringObject("Blockers", this.getRunParams().get("Blockers")); sa.setTriggeringObject("Attackers", this.getRunParams().get("Attackers")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Blockers: ").append(this.getRunParams().get("Blockers")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java b/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java index 68eaa10d985..84b0bebb16c 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java @@ -91,4 +91,11 @@ public class TriggerBlocks extends Trigger { sa.setTriggeringObject("Blocker", this.getRunParams().get("Blocker")); sa.setTriggeringObject("Attackers", this.getRunParams().get("Attackers")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Blocker: ").append(this.getRunParams().get("Blocker")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java b/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java index eab2fd925df..1ecdac1f310 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java @@ -74,4 +74,11 @@ public class TriggerChampioned extends Trigger { sa.setTriggeringObject("Championed", this.getRunParams().get("Championed")); sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Championed: ").append(this.getRunParams().get("Championed")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java b/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java index 0dda8cf2dbd..6275ef68861 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java @@ -72,4 +72,11 @@ public class TriggerChangesController extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Changed Controller: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java index 7cad2a61bff..aa885f04866 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java @@ -149,4 +149,11 @@ public class TriggerChangesZone extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Zone Changer: ").append(sa.getTriggeringObject("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java b/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java index 5a407a60837..8caaf85c7ef 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java @@ -72,4 +72,9 @@ public class TriggerClashed extends Trigger { public void setTriggeringObjects(final SpellAbility sa) { // No triggered-variables for you :( } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + return ""; + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCombatDamageDoneOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerCombatDamageDoneOnce.java index 51b99b81974..891444f1ae5 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCombatDamageDoneOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCombatDamageDoneOnce.java @@ -83,4 +83,12 @@ public class TriggerCombatDamageDoneOnce extends Trigger { sa.setTriggeringObject("Sources", this.getRunParams().get("DamageSources")); sa.setTriggeringObject("Target", this.getRunParams().get("DamageTarget")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Sources: ").append(this.getRunParams().get("DamageSources")).append(", "); + sb.append("Target: ").append(this.getRunParams().get("DamageTarget")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAdded.java b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAdded.java index d87e07c0613..097522d4875 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAdded.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAdded.java @@ -75,4 +75,11 @@ public class TriggerCounterAdded extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Added to: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedOnce.java index d4317c310f7..fedb470d8c0 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedOnce.java @@ -75,4 +75,11 @@ public class TriggerCounterAddedOnce extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Added once: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java b/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java index 798e8e4328b..72b00d9de70 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java @@ -84,4 +84,11 @@ public class TriggerCounterRemoved extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Removed to: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java b/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java index d92c19bdc89..e07dad8a5a0 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java @@ -82,4 +82,12 @@ public class TriggerCountered extends Trigger { sa.setTriggeringObject("Cause", this.getRunParams().get("Cause")); sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Countered: ").append(this.getRunParams().get("Card")).append(", "); + sb.append("Cause: ").append(this.getRunParams().get("Cause")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java b/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java index ec58bfc6d82..7f6c41ad5c3 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java @@ -52,6 +52,13 @@ public class TriggerCycled extends Trigger { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Cycled: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } + /** {@inheritDoc} */ @Override public final boolean performTest(final java.util.Map runParams2) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java index b937bca3886..8287687e734 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java @@ -107,4 +107,13 @@ public class TriggerDamageDone extends Trigger { // This parameter is here because LKI information related to combat doesn't work properly sa.setTriggeringObject("DefendingPlayer", this.getRunParams().get("DefendingPlayer")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Damage Source: ").append(this.getRunParams().get("DamageSource")).append(", "); + sb.append("Damaged: ").append(this.getRunParams().get("DamageTarget")).append(", "); + sb.append("Amount: ").append(this.getRunParams().get("DamageAmount")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDealtCombatDamageOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerDealtCombatDamageOnce.java index c61aaa53c95..edc19b9037b 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDealtCombatDamageOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDealtCombatDamageOnce.java @@ -102,4 +102,13 @@ public class TriggerDealtCombatDamageOnce extends Trigger { sa.setTriggeringObject("Targets", this.getRunParams().get("DamageTargets")); sa.setTriggeringObject("DamageAmount", this.getRunParams().get("DamageAmount")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Damage Source: ").append(this.getRunParams().get("DamageSource")).append(", "); + sb.append("Damaged: ").append(this.getRunParams().get("DamageTargets")).append(", "); + sb.append("Amount: ").append(this.getRunParams().get("DamageAmount")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDestroyed.java b/forge-game/src/main/java/forge/game/trigger/TriggerDestroyed.java index f9be30ccf5d..9a10f9572e0 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDestroyed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDestroyed.java @@ -70,4 +70,12 @@ public class TriggerDestroyed extends Trigger { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); sa.setTriggeringObject("Causer", this.getRunParams().get("Causer")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Destroyed: ").append(this.getRunParams().get("Card")).append(", "); + sb.append("Destroyer: ").append(this.getRunParams().get("Causer")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java b/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java index bdaf0c7969a..5f984ce4908 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java @@ -64,4 +64,11 @@ public class TriggerDevoured extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Devoured", this.getRunParams().get("Devoured")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Devoured: ").append(this.getRunParams().get("Devoured")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java b/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java index 49a6bf1dde0..fe9628099f7 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java @@ -88,4 +88,12 @@ public class TriggerDiscarded extends Trigger { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); sa.setTriggeringObject("Cause", this.getRunParams().get("Cause")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Discarded: ").append(this.getRunParams().get("Card")).append(", "); + sb.append("Cause: ").append(this.getRunParams().get("Cause")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java b/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java index f6d07ec2a21..dcb3ce8e7d1 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java @@ -73,4 +73,11 @@ public class TriggerDrawn extends Trigger { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Player: ").append(this.getRunParams().get("Player")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerEvolved.java b/forge-game/src/main/java/forge/game/trigger/TriggerEvolved.java index c719d425f78..14a366520f5 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerEvolved.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerEvolved.java @@ -64,4 +64,11 @@ public class TriggerEvolved extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Evolved: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java b/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java index edd6de43c29..8f3b1644301 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java @@ -74,4 +74,12 @@ public class TriggerExploited extends Trigger { sa.setTriggeringObject("Exploited", this.getRunParams().get("Exploited")); sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Exploited: ").append(this.getRunParams().get("Exploited")).append(", "); + sb.append("Exploiter: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerFight.java b/forge-game/src/main/java/forge/game/trigger/TriggerFight.java index fb29e739185..ea872159076 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerFight.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerFight.java @@ -66,4 +66,11 @@ public class TriggerFight extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Fighter", this.getRunParams().get("Fighter")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Fighter: ").append(this.getRunParams().get("Fighter")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java b/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java index 53c0ecacb13..5b385a21b26 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java @@ -71,4 +71,11 @@ public class TriggerFlippedCoin extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Player: ").append(this.getRunParams().get("Player")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java index 4ec7c7d016d..d8cd8f0d018 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java @@ -537,7 +537,8 @@ public class TriggerHandler { final WrappedAbility wrapperAbility = new WrappedAbility(regtrig, sa, decider); wrapperAbility.setTrigger(true); wrapperAbility.setMandatory(isMandatory); - wrapperAbility.setDescription(wrapperAbility.getStackDescription()); + //wrapperAbility.setDescription(wrapperAbility.getStackDescription()); + wrapperAbility.setDescription(wrapperAbility.toUnsuppressedString()); if (regtrig.isStatic()) { wrapperAbility.getActivatingPlayer().getController().playTrigger(host, wrapperAbility, isMandatory); diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java b/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java index b7a5528bc64..da927cc11a6 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java @@ -54,6 +54,13 @@ public class TriggerLandPlayed extends Trigger { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Land played: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } + /** {@inheritDoc} */ @Override public final boolean performTest(final java.util.Map runParams2) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java b/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java index f45364ed992..0cffd135382 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java @@ -66,4 +66,12 @@ public class TriggerLifeGained extends Trigger { sa.setTriggeringObject("LifeAmount", this.getRunParams().get("LifeAmount")); sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Player: ").append(this.getRunParams().get("Player")).append(", "); + sb.append("Gained Amount: ").append(this.getRunParams().get("LifeAmount")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLifeLost.java b/forge-game/src/main/java/forge/game/trigger/TriggerLifeLost.java index fc1ccbfcb17..d3703cf9c13 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLifeLost.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLifeLost.java @@ -65,4 +65,12 @@ public class TriggerLifeLost extends Trigger { sa.setTriggeringObject("LifeAmount", this.getRunParams().get("LifeAmount")); sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Player: ").append(this.getRunParams().get("Player")).append(", "); + sb.append("Lost Amount: ").append(this.getRunParams().get("LifeAmount")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java b/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java index a148657984c..c4fd1a966dc 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java @@ -42,4 +42,11 @@ public class TriggerLosesGame extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Player: ").append(this.getRunParams().get("Player")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerNewGame.java b/forge-game/src/main/java/forge/game/trigger/TriggerNewGame.java index 2147efbb29d..d641c0ab9e7 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerNewGame.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerNewGame.java @@ -56,4 +56,9 @@ public class TriggerNewGame extends Trigger { @Override public final void setTriggeringObjects(final SpellAbility sa) { } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + return ""; + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java b/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java index ef45b1e9ac0..dcca9564864 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java @@ -72,4 +72,11 @@ public class TriggerPayCumulativeUpkeep extends Trigger { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); sa.setTriggeringObject("PayingMana", this.getRunParams().get("PayingMana")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Mana: ").append(this.getRunParams().get("PayingMana")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java b/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java index 6de7c0bac7f..c3033fec37b 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java @@ -71,4 +71,9 @@ public class TriggerPayEcho extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + return ""; + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java b/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java index d8e85aa79c6..66dbd24fb55 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java @@ -63,4 +63,11 @@ public class TriggerPhase extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Player: ").append(this.getRunParams().get("Player")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java index 605eac13b11..c815c7b919b 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java @@ -31,4 +31,11 @@ public class TriggerPhaseIn extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Phased In: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java index aefe9952010..2c053751336 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java @@ -37,4 +37,11 @@ public class TriggerPhaseOut extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Phased Out: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java b/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java index 8949faa552e..2630cb45282 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java @@ -58,4 +58,10 @@ public class TriggerPlanarDice extends Trigger { sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Roller: ").append(this.getRunParams().get("Player")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java index be6d336d421..e021ffc52a1 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java @@ -55,4 +55,11 @@ public class TriggerPlaneswalkedFrom extends Trigger { sa.setTriggeringObject("Cards", this.getRunParams().get("Cards")); } + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Planeswalked From: ").append(this.getRunParams().get("Cards")); + return sb.toString(); + } + } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java index 3541c7e1c0b..79ef42645c0 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java @@ -55,4 +55,10 @@ public class TriggerPlaneswalkedTo extends Trigger { sa.setTriggeringObject("Cards", this.getRunParams().get("Cards")); } + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Planeswalked To: ").append(this.getRunParams().get("Cards")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java b/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java index 573e3e6af14..7b62b00e067 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java @@ -78,4 +78,12 @@ public class TriggerSacrificed extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Sacrificed: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } + } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerScry.java b/forge-game/src/main/java/forge/game/trigger/TriggerScry.java index f345c2f7947..20a21b38962 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerScry.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerScry.java @@ -65,4 +65,11 @@ public class TriggerScry extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Scryer: ").append(this.getRunParams().get("Player")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSearchedLibrary.java b/forge-game/src/main/java/forge/game/trigger/TriggerSearchedLibrary.java index b070465975f..f183a4a1c1f 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSearchedLibrary.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSearchedLibrary.java @@ -75,4 +75,11 @@ public class TriggerSearchedLibrary extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Searcher: ").append(this.getRunParams().get("Player")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java b/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java index 2f27a5f3607..0b2b4cc3267 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java @@ -65,4 +65,9 @@ public class TriggerSetInMotion extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Scheme", this.getRunParams().get("Scheme")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + return ""; + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java b/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java index b491aefa6f6..b4a441becce 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java @@ -75,4 +75,11 @@ public class TriggerShuffled extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Shuffler: ").append(this.getRunParams().get("Player")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCast.java b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCast.java index 5aac68568e2..3c3b2068b30 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCast.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCast.java @@ -240,4 +240,13 @@ public class TriggerSpellAbilityCast extends Trigger { sa.setTriggeringObject("CurrentStormCount", this.getRunParams().get("CurrentStormCount")); sa.setTriggeringObject("CastSACMC", this.getRunParams().get("CastSACMC")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Card: ").append(this.getRunParams().get("Card")).append(", "); + sb.append("Activator: ").append(this.getRunParams().get("Activator")).append(", "); + sb.append("SpellAbility: ").append(this.getRunParams().get("SpellAbility")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java b/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java index 3af6dea412a..73b695c6cbb 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java @@ -69,4 +69,12 @@ public class TriggerTaps extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Tapped: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } + } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java b/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java index a01cbf4a2dc..949397d6eda 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java @@ -108,4 +108,13 @@ public class TriggerTapsForMana extends Trigger { sa.setTriggeringObject("Player", this.getRunParams().get("Player")); sa.setTriggeringObject("Produced", this.getRunParams().get("Produced")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Tapped for Mana: ").append(this.getRunParams().get("Card")); + sb.append("Produced: ").append(this.getRunParams().get("Produced")); + return sb.toString(); + } + } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java b/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java index 501f9d9b5f0..bf220f8e54d 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java @@ -63,4 +63,12 @@ public class TriggerTransformed extends Trigger { sa.setTriggeringObject("Transformer", this.getRunParams().get("Transformer")); } + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Transformed: ").append(this.getRunParams().get("Transformer")); + return sb.toString(); + } + + } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java b/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java index 4ef79b5978e..cb722c71743 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java @@ -24,4 +24,11 @@ public class TriggerTurnBegin extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Player", this.getRunParams().get("Player")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Player: ").append(this.getRunParams().get("Player")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java b/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java index 4dfcae26468..aeffc272bd6 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java @@ -64,4 +64,12 @@ public class TriggerTurnFaceUp extends Trigger { public final void setTriggeringObjects(final SpellAbility sa) { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Turn Face up: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } + } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerUnequip.java b/forge-game/src/main/java/forge/game/trigger/TriggerUnequip.java index 2a560683232..b69053e3a5e 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerUnequip.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerUnequip.java @@ -75,4 +75,13 @@ public class TriggerUnequip extends Trigger { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); sa.setTriggeringObject("Equipment", this.getRunParams().get("Equipment")); } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Equippee: ").append(this.getRunParams().get("Card")).append(", "); + sb.append("Equipment: ").append(this.getRunParams().get("Equipment")); + return sb.toString(); + } + } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java b/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java index f67aa18392d..a697a485df5 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java @@ -69,4 +69,10 @@ public class TriggerUntaps extends Trigger { sa.setTriggeringObject("Card", this.getRunParams().get("Card")); } + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Untapped: ").append(this.getRunParams().get("Card")); + return sb.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerVote.java b/forge-game/src/main/java/forge/game/trigger/TriggerVote.java index 5b8e689f1d6..44e396306eb 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerVote.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerVote.java @@ -68,6 +68,14 @@ public class TriggerVote extends Trigger { sa.setTriggeringObject("OtherVoters", getVoters(this.getHostCard().getController(), votes, true, true)); } + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append("Voters: ").append(this.getRunParams().get("OtherVoters")); + return sb.toString(); + } + + private static FCollection getVoters(final Player player, final ListMultimap votes, final boolean isOpponent, final boolean votedOtherchoice) { diff --git a/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java b/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java index eb254aa9b89..2b3f549729c 100644 --- a/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java +++ b/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java @@ -188,9 +188,14 @@ public class WrappedAbility extends Ability { return sa.getView(); } + @Override + public String toUnsuppressedString() { + return regtrig.toString(); + } + @Override public String getStackDescription() { - final StringBuilder sb = new StringBuilder(regtrig.toString()); + final StringBuilder sb = new StringBuilder(toUnsuppressedString()); if (this.getTargetRestrictions() != null) { sb.append(" (Targeting "); for (final GameObject o : this.getTargets().getTargets()) { @@ -205,6 +210,10 @@ public class WrappedAbility extends Ability { sb.append(")"); } + sb.append(" ["); + sb.append(regtrig.getImportantStackObjects(this)); + sb.append("]"); + return sb.toString(); }