- Added Edge of Malacol

This commit is contained in:
swordshine
2013-07-23 00:53:28 +00:00
parent cbe7be7d20
commit b8eff3db00
5 changed files with 94 additions and 1 deletions

2
.gitattributes vendored
View File

@@ -3169,6 +3169,7 @@ res/cardsfolder/e/echoing_decay.txt svneol=native#text/plain
res/cardsfolder/e/echoing_ruin.txt svneol=native#text/plain res/cardsfolder/e/echoing_ruin.txt svneol=native#text/plain
res/cardsfolder/e/echoing_truth.txt svneol=native#text/plain res/cardsfolder/e/echoing_truth.txt svneol=native#text/plain
res/cardsfolder/e/edge_of_autumn.txt svneol=native#text/plain res/cardsfolder/e/edge_of_autumn.txt svneol=native#text/plain
res/cardsfolder/e/edge_of_malacol.txt -text
res/cardsfolder/e/edge_of_the_divinity.txt svneol=native#text/plain res/cardsfolder/e/edge_of_the_divinity.txt svneol=native#text/plain
res/cardsfolder/e/edgewalker.txt svneol=native#text/plain res/cardsfolder/e/edgewalker.txt svneol=native#text/plain
res/cardsfolder/e/edric_spymaster_of_trest.txt svneol=native#text/plain res/cardsfolder/e/edric_spymaster_of_trest.txt svneol=native#text/plain
@@ -14486,6 +14487,7 @@ src/main/java/forge/card/replacement/ReplaceGameLoss.java -text
src/main/java/forge/card/replacement/ReplaceMoved.java -text src/main/java/forge/card/replacement/ReplaceMoved.java -text
src/main/java/forge/card/replacement/ReplaceSetInMotion.java -text src/main/java/forge/card/replacement/ReplaceSetInMotion.java -text
src/main/java/forge/card/replacement/ReplaceTurnFaceUp.java -text src/main/java/forge/card/replacement/ReplaceTurnFaceUp.java -text
src/main/java/forge/card/replacement/ReplaceUntap.java -text
src/main/java/forge/card/replacement/ReplacementEffect.java -text src/main/java/forge/card/replacement/ReplacementEffect.java -text
src/main/java/forge/card/replacement/ReplacementHandler.java -text src/main/java/forge/card/replacement/ReplacementHandler.java -text
src/main/java/forge/card/replacement/ReplacementLayer.java -text src/main/java/forge/card/replacement/ReplacementLayer.java -text

View File

@@ -0,0 +1,10 @@
Name:Edge of Malacol
ManaCost:no cost
Types:Plane Belenon
R:Event$ Untap | ActiveZones$ Command | ValidCard$ Creature.YouCtrl | ReplaceWith$ RepPutCounter | UntapStep$ True | Description$ If a creature you control would untap during your untap step, put two +1/+1 counters on it instead.
SVar:RepPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ ReplacedCard | CounterType$ P1P1 | CounterNum$ 2
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, untap each creature you control.
SVar:RolledChaos:AB$ UntapAll | Cost$ 0 | ValidCards$ Creature.YouCtrl
SVar:AIRollPlanarDieParams:Mode$ Always | HasCreatureInPlay$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/edge_of_malacol.jpg
Oracle:If a creature you control would untap during your untap step, put two +1/+1 counters on it instead.\nWhenever you roll {C}, untap each creature you control.

View File

@@ -4233,6 +4233,14 @@ public class Card extends GameEntity implements Comparable<Card> {
public final void untap() { public final void untap() {
if (this.isUntapped()) if (this.isUntapped())
return; return;
// Run Replacement effects
final HashMap<String, Object> repRunParams = new HashMap<String, Object>();
repRunParams.put("Event", "Untap");
repRunParams.put("Affected", this);
if (getGame().getReplacementHandler().run(repRunParams) != ReplacementResult.NotReplaced) {
return;
}
// Run triggers // Run triggers
final Map<String, Object> runParams = new TreeMap<String, Object>(); final Map<String, Object> runParams = new TreeMap<String, Object>();

View File

@@ -0,0 +1,72 @@
/*
* 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.replacement;
import java.util.Map;
import forge.Card;
import forge.card.spellability.SpellAbility;
import forge.game.phase.PhaseType;
/**
* TODO: Write javadoc for this type.
*
*/
public class ReplaceUntap extends ReplacementEffect {
/**
* Instantiates a new replace discard.
*
* @param params the params
* @param host the host
*/
public ReplaceUntap(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic);
}
/* (non-Javadoc)
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
*/
@Override
public boolean canReplace(Map<String, Object> runParams) {
if (!runParams.get("Event").equals("Untap")) {
return false;
}
if (this.getMapParams().containsKey("ValidCard")) {
if (!matchesValid(runParams.get("Affected"), this.getMapParams().get("ValidCard").split(","), this.getHostCard())) {
return false;
}
}
if (this.getMapParams().containsKey("UntapStep")) {
if (!this.getHostCard().getController().getGame().getPhaseHandler().is(PhaseType.UNTAP)) {
return false;
}
}
return true;
}
/* (non-Javadoc)
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
*/
@Override
public void setReplacingObjects(Map<String, Object> runParams, SpellAbility sa) {
sa.setReplacingObject("Card", runParams.get("Affected"));
}
}

View File

@@ -20,7 +20,8 @@ public enum ReplacementType {
GameLoss(ReplaceGameLoss.class), GameLoss(ReplaceGameLoss.class),
Moved(ReplaceMoved.class), Moved(ReplaceMoved.class),
SetInMotion(ReplaceSetInMotion.class), SetInMotion(ReplaceSetInMotion.class),
TurnFaceUp(ReplaceTurnFaceUp.class); TurnFaceUp(ReplaceTurnFaceUp.class),
Untap(ReplaceUntap.class);
Class<? extends ReplacementEffect> clasz; Class<? extends ReplacementEffect> clasz;
private ReplacementType(Class<? extends ReplacementEffect> cls) { private ReplacementType(Class<? extends ReplacementEffect> cls) {