diff --git a/forge-game/src/main/java/forge/game/ability/AbilityKey.java b/forge-game/src/main/java/forge/game/ability/AbilityKey.java index 96f598e30a1..bfab7a92a51 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityKey.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityKey.java @@ -63,6 +63,7 @@ public enum AbilityKey { EffectOnly("EffectOnly"), Enlisted("Enlisted"), Exploited("Exploited"), + Explored("Explored"), Explorer("Explorer"), ExtraTurn("ExtraTurn"), Event("Event"), diff --git a/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java index 218a992e8f2..b1d0469b3e3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java @@ -90,7 +90,9 @@ public class ExploreEffect extends SpellAbilityEffect { } // a creature does explore even if it isn't on the battlefield anymore - game.getTriggerHandler().runTrigger(TriggerType.Explores, AbilityKey.mapFromCard(c), false); + final Map runParams = AbilityKey.mapFromCard(c); + if (!top.isEmpty()) runParams.put(AbilityKey.Explored, top.getFirst()); + game.getTriggerHandler().runTrigger(TriggerType.Explores, runParams, false); } table.replaceCounterEffect(game, sa, true); triggerList.triggerChangesZoneAll(game, sa); diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java b/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java index 191c3c2cdee..df62815226b 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java @@ -56,6 +56,10 @@ public class TriggerExplores extends Trigger { return false; } + if (!matchesValidParam("ValidExplored", runParams.get(AbilityKey.Explored))) { + return false; + } + return true; } @@ -63,13 +67,18 @@ public class TriggerExplores extends Trigger { @Override public final void setTriggeringObjects(final SpellAbility sa, Map runParams) { sa.setTriggeringObject(AbilityKey.Explorer, runParams.get(AbilityKey.Card)); + if (runParams.containsKey(AbilityKey.Explored)) sa.setTriggeringObjectsFrom(runParams, AbilityKey.Explored); } @Override public String getImportantStackObjects(SpellAbility sa) { StringBuilder sb = new StringBuilder(); - - sb.append(Localizer.getInstance().getMessage("lblExplorer")).append(": ").append(sa.getTriggeringObject(AbilityKey.Explorer)); + sb.append(Localizer.getInstance().getMessage("lblExplorer")).append(": "); + sb.append(sa.getTriggeringObject(AbilityKey.Explorer)); + if (sa.hasTriggeringObject(AbilityKey.Explored)) { + sb.append(", ").append(Localizer.getInstance().getMessage("lblExplored")).append(": "); + sb.append(sa.getTriggeringObject(AbilityKey.Explored)); + } return sb.toString(); } } diff --git a/forge-gui/res/cardsfolder/upcoming/nicanzil_current_conductor.txt b/forge-gui/res/cardsfolder/upcoming/nicanzil_current_conductor.txt new file mode 100644 index 00000000000..89f6adc988f --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/nicanzil_current_conductor.txt @@ -0,0 +1,11 @@ +Name:Nicanzil, Current Conductor +ManaCost:G U +Types:Legendary Creature Merfolk Scout +PT:2/3 +T:Mode$ Explores | ValidCard$ Creature.YouCtrl | ValidExplored$ Land | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ Whenever a creature you control explores a land card, you may put a land card from your hand onto the battlefield tapped. +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Hand | Destination$ Battlefield | ChangeType$ Land | ChangeNum$ 1 | Tapped$ True +T:Mode$ Explores | ValidCard$ Creature.YouCtrl | ValidExplored$ Card.nonLand | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever a creature you control explores a nonland card, put a +1/+1 counter on CARDNAME. +SVar:TrigPutCounter:DB$ PutCounter | CounterType$ P1P1 +DeckHas:Ability$Counters +AI:RemoveDeck:Random +Oracle:Whenever a creature you control explores a land card, you may put a land card from your hand onto the battlefield tapped.\nWhenever a creature you control explores a nonland card, put a +1/+1 counter on Nicanzil, Current Conductor. diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index c1d90630ab4..52421f6ee88 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -1590,6 +1590,7 @@ lblExploited=Ausgeschlachtet lblExploiter=Ausschlachtender #TriggerExplores.java lblExplorer=Erforscher +lblExplored=Erforscht #TriggerFight.java lblFighter=Kämpfer #TriggerLandPlayed.java diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index b27f8384046..ff85c164be8 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -1595,6 +1595,7 @@ lblExploited=Exploited lblExploiter=Exploiter #TriggerExplores.java lblExplorer=Explorer +lblExplored=Explored #TriggerFight.java lblFighter=Fighter #TriggerLandPlayed.java diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index 46ad2e41fa8..0c2f56d5e2b 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -1593,6 +1593,7 @@ lblExploited=Explotado lblExploiter=Explotador #TriggerExplores.java lblExplorer=Explorador +lblExplored=Explorado #TriggerFight.java lblFighter=Luchador #TriggerLandPlayed.java diff --git a/forge-gui/res/languages/fr-FR.properties b/forge-gui/res/languages/fr-FR.properties index cfb28a1fde8..70917ae85c8 100644 --- a/forge-gui/res/languages/fr-FR.properties +++ b/forge-gui/res/languages/fr-FR.properties @@ -1594,6 +1594,7 @@ lblExploited=Exploité lblExploiter=Exploiteur #TriggerExplores.java lblExplorer=Explorateur +lblExplored=Exploré #TriggerFight.java lblFighter=Combattant #TriggerLandPlayed.java diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index bc9e29d03a4..ad3cc45a342 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -1591,6 +1591,7 @@ lblExploited=Sfruttato lblExploiter=Sfruttante #TriggerExplores.java lblExplorer=Esplorante +lblExplored=Esplorato #TriggerFight.java lblFighter=Che lotta #TriggerLandPlayed.java diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index 2a9c986c8dc..666f6731aa0 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -1592,6 +1592,7 @@ lblExploited=濫用した lblExploiter=濫用者 #TriggerExplores.java lblExplorer=探検した +lblExplored=検討 #TriggerFight.java lblFighter=格闘者 #TriggerLandPlayed.java diff --git a/forge-gui/res/languages/pt-BR.properties b/forge-gui/res/languages/pt-BR.properties index d45cf9c73e9..20f266e2236 100644 --- a/forge-gui/res/languages/pt-BR.properties +++ b/forge-gui/res/languages/pt-BR.properties @@ -1627,6 +1627,7 @@ lblExploited=Explorado lblExploiter=Explorador #TriggerExplores.java lblExplorer=Explorador +lblExplored=Explorado #TriggerFight.java lblFighter=Lutador #TriggerLandPlayed.java diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index de017e6a4d2..8947e5316e1 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -1595,6 +1595,7 @@ lblExploited=被榨取 lblExploiter=榨取者 #TriggerExplores.java lblExplorer=勘察者 +lblExplored=探索 #TriggerFight.java lblFighter=互斗者 #TriggerLandPlayed.java