From c67a2bd4582c6673d768976309a8d8aeca506fb6 Mon Sep 17 00:00:00 2001 From: Agetian Date: Tue, 5 Sep 2017 18:05:33 +0000 Subject: [PATCH] - Added an Explores trigger (not used anywhere yet, can be used in the upcoming Explore effect later). --- .gitattributes | 1 + .../forge/game/trigger/TriggerExplores.java | 77 +++++++++++++++++++ .../java/forge/game/trigger/TriggerType.java | 1 + 3 files changed, 79 insertions(+) create mode 100644 forge-game/src/main/java/forge/game/trigger/TriggerExplores.java diff --git a/.gitattributes b/.gitattributes index b8f91476412..e4b6dc952ac 100644 --- a/.gitattributes +++ b/.gitattributes @@ -730,6 +730,7 @@ forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java svneol=native#text forge-game/src/main/java/forge/game/trigger/TriggerEvolved.java -text forge-game/src/main/java/forge/game/trigger/TriggerExerted.java -text forge-game/src/main/java/forge/game/trigger/TriggerExploited.java -text +forge-game/src/main/java/forge/game/trigger/TriggerExplores.java -text forge-game/src/main/java/forge/game/trigger/TriggerFight.java -text forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java -text forge-game/src/main/java/forge/game/trigger/TriggerHandler.java svneol=native#text/plain diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java b/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java new file mode 100644 index 00000000000..92f63407dcc --- /dev/null +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java @@ -0,0 +1,77 @@ +/* + * Forge: Play Magic: the Gathering. + * Copyright (C) 2011 Forge Team + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package forge.game.trigger; + +import forge.game.card.Card; +import forge.game.spellability.SpellAbility; + +import java.util.Map; + +/** + *

+ * Trigger_Explores class. + *

+ * + * @author Forge + */ +public class TriggerExplores extends Trigger { + + /** + *

+ * Constructor for Trigger_Explores. + *

+ * + * @param params + * a {@link java.util.HashMap} object. + * @param host + * a {@link forge.game.card.Card} object. + * @param intrinsic + * the intrinsic + */ + public TriggerExplores(final java.util.Map params, final Card host, final boolean intrinsic) { + super(params, host, intrinsic); + } + + /** {@inheritDoc} */ + @Override + public final boolean performTest(final Map runParams2) { + if (this.mapParams.containsKey("ValidCard")) { + if (!matchesValid(runParams2.get("Explorer"), this.mapParams.get("ValidCard").split(","), + this.getHostCard())) { + return false; + } + } + + return true; + } + + /** {@inheritDoc} */ + @Override + public final void setTriggeringObjects(final SpellAbility sa) { + sa.setTriggeringObject("Explorer", this.getRunParams().get("Explorer")); + } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + + sb.append("Explorer: ").append(sa.getTriggeringObject("Explorer")); + return sb.toString(); + } +} + diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerType.java b/forge-game/src/main/java/forge/game/trigger/TriggerType.java index 43a18a84433..8ef4d17a89c 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerType.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerType.java @@ -50,6 +50,7 @@ public enum TriggerType { Evolved(TriggerEvolved.class), Exerted(TriggerExerted.class), Exploited(TriggerExploited.class), + Explores(TriggerExplores.class), Fight(TriggerFight.class), FlippedCoin(TriggerFlippedCoin.class), Investigated(TriggerInvestigated.class),