- THS: Added Flamespeaker Adept (TriggerScry)

This commit is contained in:
swordshine
2013-09-02 08:00:41 +00:00
parent 370927e489
commit 679c0fea03
10 changed files with 75 additions and 29 deletions

1
.gitattributes vendored
View File

@@ -14640,6 +14640,7 @@ src/main/java/forge/card/trigger/TriggerPlanarDice.java -text
src/main/java/forge/card/trigger/TriggerPlaneswalkedFrom.java -text src/main/java/forge/card/trigger/TriggerPlaneswalkedFrom.java -text
src/main/java/forge/card/trigger/TriggerPlaneswalkedTo.java -text src/main/java/forge/card/trigger/TriggerPlaneswalkedTo.java -text
src/main/java/forge/card/trigger/TriggerSacrificed.java svneol=native#text/plain src/main/java/forge/card/trigger/TriggerSacrificed.java svneol=native#text/plain
src/main/java/forge/card/trigger/TriggerScry.java -text
src/main/java/forge/card/trigger/TriggerSetInMotion.java -text src/main/java/forge/card/trigger/TriggerSetInMotion.java -text
src/main/java/forge/card/trigger/TriggerShuffled.java svneol=native#text/plain src/main/java/forge/card/trigger/TriggerShuffled.java svneol=native#text/plain
src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java svneol=native#text/plain src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java svneol=native#text/plain

View File

@@ -2,6 +2,7 @@ package forge.card.ability.effects;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap;
import java.util.List; import java.util.List;
import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.ImmutablePair;
@@ -11,6 +12,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.TargetRestrictions; import forge.card.spellability.TargetRestrictions;
import forge.card.trigger.TriggerType;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.PlayerZone; import forge.game.zone.PlayerZone;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -90,6 +92,9 @@ public class ScryEffect extends SpellAbilityEffect {
p.getGame().getAction().moveToLibrary(c); p.getGame().getAction().moveToLibrary(c);
} }
} }
final HashMap<String, Object> runParams = new HashMap<String, Object>();
runParams.put("Player", p);
p.getGame().getTriggerHandler().runTrigger(TriggerType.Scry, runParams, false);
} }
} }

View File

@@ -20,7 +20,6 @@ package forge.card.staticability;
import java.util.HashMap; import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.ability.AbilityUtils;
import forge.card.cardfactory.CardFactoryUtil; import forge.card.cardfactory.CardFactoryUtil;
import forge.card.mana.ManaCostBeingPaid; import forge.card.mana.ManaCostBeingPaid;
import forge.card.mana.ManaCostShard; import forge.card.mana.ManaCostShard;

View File

@@ -0,0 +1,68 @@
/*
* 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 <http://www.gnu.org/licenses/>.
*/
package forge.card.trigger;
import forge.Card;
import forge.card.spellability.SpellAbility;
/**
* <p>
* Trigger_Scry class.
* </p>
*
* @author Forge
* @version $Id: TriggerScry.java 21543 2013-05-19 21:35:20Z Max mtg $
*/
public class TriggerScry extends Trigger {
/**
* <p>
* Constructor for Trigger_Scry.
* </p>
*
* @param params
* a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/
public TriggerScry(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic);
}
/** {@inheritDoc} */
@Override
public final boolean performTest(final java.util.Map<String, Object> runParams2) {
if (this.mapParams.containsKey("ValidPlayer")) {
if (!matchesValid(runParams2.get("Player"), this.mapParams.get("ValidPlayer").split(","),
this.getHostCard())) {
return false;
}
}
return true;
}
/** {@inheritDoc} */
@Override
public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
}
}

View File

@@ -50,6 +50,7 @@ public enum TriggerType {
PlaneswalkedFrom(TriggerPlaneswalkedFrom.class), PlaneswalkedFrom(TriggerPlaneswalkedFrom.class),
PlaneswalkedTo(TriggerPlaneswalkedTo.class), PlaneswalkedTo(TriggerPlaneswalkedTo.class),
Sacrificed(TriggerSacrificed.class), Sacrificed(TriggerSacrificed.class),
Scry(TriggerScry.class),
SetInMotion(TriggerSetInMotion.class), SetInMotion(TriggerSetInMotion.class),
Shuffled(TriggerShuffled.class), Shuffled(TriggerShuffled.class),
SpellAbilityCast(TriggerSpellAbilityCast.class), SpellAbilityCast(TriggerSpellAbilityCast.class),

View File

@@ -24,7 +24,6 @@ import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Set; import java.util.Set;

View File

@@ -20,12 +20,7 @@ import forge.CardLists;
import forge.CardPredicates; import forge.CardPredicates;
import forge.GameLogEntryType; import forge.GameLogEntryType;
import forge.card.CardDb; import forge.card.CardDb;
import forge.card.ability.AbilityFactory;
import forge.card.cardfactory.CardFactoryUtil; import forge.card.cardfactory.CardFactoryUtil;
import forge.card.replacement.ReplacementEffect;
import forge.card.replacement.ReplacementHandler;
import forge.card.spellability.SpellAbility;
import forge.card.staticability.StaticAbility;
import forge.card.trigger.Trigger; import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerHandler;
import forge.deck.CardPool; import forge.deck.CardPool;

View File

@@ -39,7 +39,6 @@ import forge.gui.framework.DragCell;
import forge.gui.framework.EDocID; import forge.gui.framework.EDocID;
import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.itemmanager.CardManager; import forge.gui.toolbox.itemmanager.CardManager;
import forge.gui.toolbox.itemmanager.ItemManager;
import forge.gui.toolbox.itemmanager.SItemManagerIO; import forge.gui.toolbox.itemmanager.SItemManagerIO;
import forge.gui.toolbox.itemmanager.SItemManagerUtil; import forge.gui.toolbox.itemmanager.SItemManagerUtil;
import forge.gui.toolbox.itemmanager.SItemManagerIO.EditorPreference; import forge.gui.toolbox.itemmanager.SItemManagerIO.EditorPreference;

View File

@@ -9,15 +9,11 @@ import java.util.Random;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import forge.Command; import forge.Command;
import forge.FThreads; import forge.FThreads;
import forge.Singletons; import forge.Singletons;
import forge.control.FControl; import forge.control.FControl;
import forge.deck.Deck; import forge.deck.Deck;
import forge.deck.DeckSection;
import forge.game.GameType; import forge.game.GameType;
import forge.game.Match; import forge.game.Match;
import forge.game.RegisteredPlayer; import forge.game.RegisteredPlayer;
@@ -26,15 +22,9 @@ import forge.gui.GuiDialog;
import forge.gui.SOverlayUtils; import forge.gui.SOverlayUtils;
import forge.gui.deckeditor.CDeckEditorUI; import forge.gui.deckeditor.CDeckEditorUI;
import forge.gui.deckeditor.controllers.CEditorCommander; import forge.gui.deckeditor.controllers.CEditorCommander;
import forge.gui.deckeditor.controllers.CEditorVariant;
import forge.gui.framework.EDocID;
import forge.gui.framework.ICDoc; import forge.gui.framework.ICDoc;
import forge.gui.toolbox.special.FDeckChooser;
import forge.item.PaperCard;
import forge.net.FServer; import forge.net.FServer;
import forge.net.Lobby; import forge.net.Lobby;
import forge.properties.ForgePreferences;
import forge.properties.ForgePreferences.FPref;
import forge.util.MyRandom; import forge.util.MyRandom;
/** /**

View File

@@ -8,19 +8,13 @@ import java.util.Vector;
import javax.swing.ButtonGroup; import javax.swing.ButtonGroup;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JRadioButton; import javax.swing.JRadioButton;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants; import javax.swing.ScrollPaneConstants;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import forge.Singletons; import forge.Singletons;
import forge.card.CardDb;
import forge.deck.Deck; import forge.deck.Deck;
import forge.gui.CardDetailPanel;
import forge.gui.framework.DragCell; import forge.gui.framework.DragCell;
import forge.gui.framework.DragTab; import forge.gui.framework.DragTab;
import forge.gui.framework.EDocID; import forge.gui.framework.EDocID;
@@ -29,7 +23,6 @@ import forge.gui.home.IVSubmenu;
import forge.gui.home.LblHeader; import forge.gui.home.LblHeader;
import forge.gui.home.StartButton; import forge.gui.home.StartButton;
import forge.gui.home.VHomeUI; import forge.gui.home.VHomeUI;
import forge.gui.toolbox.FCheckBox;
import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FList; import forge.gui.toolbox.FList;
import forge.gui.toolbox.FPanel; import forge.gui.toolbox.FPanel;
@@ -37,10 +30,6 @@ import forge.gui.toolbox.FRadioButton;
import forge.gui.toolbox.FScrollPane; import forge.gui.toolbox.FScrollPane;
import forge.gui.toolbox.FSkin; import forge.gui.toolbox.FSkin;
import forge.gui.toolbox.FTabbedPane; import forge.gui.toolbox.FTabbedPane;
import forge.gui.toolbox.special.FDeckChooser;
import forge.item.PaperCard;
import forge.item.IPaperCard;
import forge.model.FModel;
/** /**
* Assembles Swing components of constructed submenu singleton. * Assembles Swing components of constructed submenu singleton.