mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
- Vanguard: Added Ink-Eyes, Servant of Oni Avatar and Maralen of the Mornsong Avatar
This commit is contained in:
3
.gitattributes
vendored
3
.gitattributes
vendored
@@ -5280,6 +5280,7 @@ res/cardsfolder/i/initiate_of_blood_goka_the_unjust.txt -text
|
|||||||
res/cardsfolder/i/initiates_of_the_ebon_hand.txt svneol=native#text/plain
|
res/cardsfolder/i/initiates_of_the_ebon_hand.txt svneol=native#text/plain
|
||||||
res/cardsfolder/i/ink_dissolver.txt svneol=native#text/plain
|
res/cardsfolder/i/ink_dissolver.txt svneol=native#text/plain
|
||||||
res/cardsfolder/i/ink_eyes_servant_of_oni.txt svneol=native#text/plain
|
res/cardsfolder/i/ink_eyes_servant_of_oni.txt svneol=native#text/plain
|
||||||
|
res/cardsfolder/i/ink_eyes_servant_of_oni_avatar.txt -text
|
||||||
res/cardsfolder/i/inkfathom_divers.txt svneol=native#text/plain
|
res/cardsfolder/i/inkfathom_divers.txt svneol=native#text/plain
|
||||||
res/cardsfolder/i/inkfathom_infiltrator.txt svneol=native#text/plain
|
res/cardsfolder/i/inkfathom_infiltrator.txt svneol=native#text/plain
|
||||||
res/cardsfolder/i/inkfathom_witch.txt -text svneol=unset#text/plain
|
res/cardsfolder/i/inkfathom_witch.txt -text svneol=unset#text/plain
|
||||||
@@ -6427,6 +6428,7 @@ res/cardsfolder/m/manta_riders.txt svneol=native#text/plain
|
|||||||
res/cardsfolder/m/mantis_engine.txt svneol=native#text/plain
|
res/cardsfolder/m/mantis_engine.txt svneol=native#text/plain
|
||||||
res/cardsfolder/m/mantle_of_leadership.txt svneol=native#text/plain
|
res/cardsfolder/m/mantle_of_leadership.txt svneol=native#text/plain
|
||||||
res/cardsfolder/m/maralen_of_the_mornsong.txt -text
|
res/cardsfolder/m/maralen_of_the_mornsong.txt -text
|
||||||
|
res/cardsfolder/m/maralen_of_the_mornsong_avatar.txt -text
|
||||||
res/cardsfolder/m/marauding_knight.txt svneol=native#text/plain
|
res/cardsfolder/m/marauding_knight.txt svneol=native#text/plain
|
||||||
res/cardsfolder/m/maraxus.txt -text
|
res/cardsfolder/m/maraxus.txt -text
|
||||||
res/cardsfolder/m/maraxus_of_keld.txt svneol=native#text/plain
|
res/cardsfolder/m/maraxus_of_keld.txt svneol=native#text/plain
|
||||||
@@ -13890,6 +13892,7 @@ src/main/java/forge/card/trigger/TriggerLandPlayed.java svneol=native#text/plain
|
|||||||
src/main/java/forge/card/trigger/TriggerLifeGained.java svneol=native#text/plain
|
src/main/java/forge/card/trigger/TriggerLifeGained.java svneol=native#text/plain
|
||||||
src/main/java/forge/card/trigger/TriggerLifeLost.java svneol=native#text/plain
|
src/main/java/forge/card/trigger/TriggerLifeLost.java svneol=native#text/plain
|
||||||
src/main/java/forge/card/trigger/TriggerLosesGame.java -text
|
src/main/java/forge/card/trigger/TriggerLosesGame.java -text
|
||||||
|
src/main/java/forge/card/trigger/TriggerNewGame.java -text
|
||||||
src/main/java/forge/card/trigger/TriggerPhase.java svneol=native#text/plain
|
src/main/java/forge/card/trigger/TriggerPhase.java svneol=native#text/plain
|
||||||
src/main/java/forge/card/trigger/TriggerPlanarDice.java -text
|
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
|
||||||
|
|||||||
11
res/cardsfolder/i/ink_eyes_servant_of_oni_avatar.txt
Normal file
11
res/cardsfolder/i/ink_eyes_servant_of_oni_avatar.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Name:Ink-Eyes, Servant of Oni Avatar
|
||||||
|
ManaCost:no cost
|
||||||
|
Types:Vanguard
|
||||||
|
HandLifeModifier:+0/-3
|
||||||
|
T:Mode$ NewGame | Execute$ TrigDiscard | TriggerZones$ Command | TriggerDescription$ At the beginning of the game, look at target opponent's hand and choose a nonland card from it. That player discards that card.
|
||||||
|
SVar:TrigDiscard:AB$ Discard | Cost$ 0 | ValidTgts$ Opponent | Mode$ RevealYouChoose | NumCards$ 1 | DiscardValid$ Card.nonLand
|
||||||
|
A:AB$ ChangeZone | ActivationZone$ Command | Announce$ X | Cost$ X PayLife<X> | References$ X | ValidTgts$ Creature.OppOwn+cmcEQX | TgtPrompt$ Select target creature with converted mana cost X from an opponent's graveyard | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | SpellDescription$ Put target creature card with converted mana cost X from an opponent's graveyard onto the battlefield under your control.
|
||||||
|
SVar:X:Count$xPaid
|
||||||
|
SVar:Picture:http://www.cardforge.org/fpics/vgd-lq/ink_eyes_servant_of_oni_avatar.jpg
|
||||||
|
Oracle:Hand +0, life -3\nAt the beginning of the game, look at target opponent's hand and choose a nonland card from it. That player discards that card.\n{X}, Pay X life: Put target creature card with converted mana cost X from an opponent's graveyard onto the battlefield under your control.
|
||||||
|
SetInfo:VAN Special
|
||||||
16
res/cardsfolder/m/maralen_of_the_mornsong_avatar.txt
Normal file
16
res/cardsfolder/m/maralen_of_the_mornsong_avatar.txt
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Name:Maralen of the Mornsong Avatar
|
||||||
|
ManaCost:no cost
|
||||||
|
Types:Vanguard
|
||||||
|
HandLifeModifier:+0/-3
|
||||||
|
T:Mode$ NewGame | Execute$ TrigPayLife | TriggerZones$ Command | TriggerDescription$ At the beginning of the game, you may pay any amount of life.
|
||||||
|
SVar:TrigPayLife:AB$ StoreSVar | Cost$ PayLife<X> | References$ X | SVar$ LifePaidOnNewGame | Type$ CountSVar | Expression$ ChosenX
|
||||||
|
SVar:X:XChoice
|
||||||
|
SVar:LifePaidOnNewGame:Number$0
|
||||||
|
S:Mode$ Continuous | EffectZone$ Command | Affected$ You | AddKeyword$ You can't draw cards. | Description$ You can't draw cards.
|
||||||
|
T:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | TriggerZones$ Command | Execute$ TrigDig | TriggerDescription$ At the beginning of your draw step, look at the top X cards of your library, where X is the amount of life paid with CARDNAME. Put one of them into your hand, then shuffle your library.
|
||||||
|
SVar:TrigDig:AB$ Dig | Cost$ 0 | DigNum$ LifePaidOnNewGame | References$ LifePaidOnNewGame | ChangeNum$ 1 | LibraryPosition$ 0 | SubAbility$ DBShuffle
|
||||||
|
SVar:DBShuffle:DB$ Shuffle | Defined$ You
|
||||||
|
SVar:RemAIDeck:True
|
||||||
|
SVar:Picture:http://www.cardforge.org/fpics/vgd-lq/maralen_of_the_mornsong_avatar.jpg
|
||||||
|
Oracle:Hand +0, life -3\nAt the beginning of the game, you may pay any amount of life.\nYou can't draw cards.\nAt the beginning of your draw step, look at the top X cards of your library, where X is the amount of life paid with Maralen of the Mornsong Avatar. Put one of them into your hand, then shuffle your library.
|
||||||
|
SetInfo:VAN Special
|
||||||
71
src/main/java/forge/card/trigger/TriggerNewGame.java
Normal file
71
src/main/java/forge/card/trigger/TriggerNewGame.java
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
* 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_NewGame class.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Forge
|
||||||
|
* @version $Id: TriggerPhase.java 17802 2012-10-31 08:05:14Z Max mtg $
|
||||||
|
*/
|
||||||
|
public class TriggerNewGame extends Trigger {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Constructor for Trigger_NewGame.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @param params
|
||||||
|
* a {@link java.util.HashMap} object.
|
||||||
|
* @param host
|
||||||
|
* a {@link forge.Card} object.
|
||||||
|
* @param intrinsic
|
||||||
|
* the intrinsic
|
||||||
|
*/
|
||||||
|
public TriggerNewGame(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) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** {@inheritDoc} */
|
||||||
|
@Override
|
||||||
|
public final Trigger getCopy() {
|
||||||
|
final Trigger copy = new TriggerNewGame(this.getMapParams(), this.getHostCard(), this.isIntrinsic());
|
||||||
|
if (this.getOverridingAbility() != null) {
|
||||||
|
copy.setOverridingAbility(this.getOverridingAbility());
|
||||||
|
}
|
||||||
|
|
||||||
|
copyFieldsTo(copy);
|
||||||
|
return copy;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** {@inheritDoc} */
|
||||||
|
@Override
|
||||||
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -57,7 +57,8 @@ public enum TriggerType {
|
|||||||
PlanarDice(TriggerPlanarDice.class),
|
PlanarDice(TriggerPlanarDice.class),
|
||||||
PlaneswalkedTo(TriggerPlaneswalkedTo.class),
|
PlaneswalkedTo(TriggerPlaneswalkedTo.class),
|
||||||
PlaneswalkedFrom(TriggerPlaneswalkedFrom.class),
|
PlaneswalkedFrom(TriggerPlaneswalkedFrom.class),
|
||||||
SetInMotion(TriggerSetInMotion.class);
|
SetInMotion(TriggerSetInMotion.class),
|
||||||
|
NewGame(TriggerNewGame.class);
|
||||||
|
|
||||||
private final Class<? extends Trigger> classTrigger;
|
private final Class<? extends Trigger> classTrigger;
|
||||||
private TriggerType(Class<? extends Trigger> clasz) {
|
private TriggerType(Class<? extends Trigger> clasz) {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import java.util.Map.Entry;
|
|||||||
import forge.Constant.Preferences;
|
import forge.Constant.Preferences;
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
|
import forge.card.trigger.TriggerType;
|
||||||
import forge.control.FControl;
|
import forge.control.FControl;
|
||||||
import forge.control.input.InputControl;
|
import forge.control.input.InputControl;
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
@@ -346,6 +347,9 @@ public class MatchController {
|
|||||||
public void afterMulligans()
|
public void afterMulligans()
|
||||||
{
|
{
|
||||||
currentGame.getAction().handleLeylinesAndChancellors();
|
currentGame.getAction().handleLeylinesAndChancellors();
|
||||||
|
// Run Trigger beginning of the game
|
||||||
|
final HashMap<String, Object> runParams = new HashMap<String, Object>();
|
||||||
|
currentGame.getTriggerHandler().runTrigger(TriggerType.NewGame, runParams, false);
|
||||||
currentGame.setAge(GameAge.Play);
|
currentGame.setAge(GameAge.Play);
|
||||||
getInput().clearInput();
|
getInput().clearInput();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user