- DTK:Added Stratus Dancer

This commit is contained in:
swordshine
2015-03-03 13:00:45 +00:00
parent 0ae7fd8d9d
commit badf7e50b5
2 changed files with 38 additions and 2 deletions

View File

@@ -1285,6 +1285,19 @@ public class Card extends GameEntity implements Comparable<Card> {
}
sbLong.append("\r\n");
}
} else if (keyword.startsWith("Megamorph")) {
sbLong.append("Megamorph");
if (keyword.contains(":")) {
final Cost mCost = new Cost(keyword.substring(10), true);
if (!mCost.isOnlyManaCost()) {
sbLong.append(" -");
}
sbLong.append(" ").append(mCost.toString()).delete(sbLong.length() - 2, sbLong.length());
if (!mCost.isOnlyManaCost()) {
sbLong.append(".");
}
sbLong.append("\r\n");
}
} else if (keyword.startsWith("Echo")) {
sbLong.append("Echo ");
final String[] upkeepCostParams = keyword.split(":");

View File

@@ -131,7 +131,7 @@ public class CardFactoryUtil {
* a {@link forge.game.cost.Cost} object.
* @return a {@link forge.game.spellability.AbilityActivated} object.
*/
public static AbilityStatic abilityMorphUp(final Card sourceCard, final Cost cost) {
public static AbilityStatic abilityMorphUp(final Card sourceCard, final Cost cost, final boolean mega) {
final AbilityStatic morphUp = new AbilityStatic(sourceCard, cost, null) {
@Override
@@ -141,6 +141,9 @@ public class CardFactoryUtil {
sourceCard.getGame().getGameLog().add(GameLogEntryType.STACK_RESOLVE, sb);
sourceCard.getGame().fireEvent(new GameEventCardStatsChanged(sourceCard));
}
if (mega) {
sourceCard.addCounter(CounterType.P1P1, 1, true);
}
}
@Override
@@ -3126,12 +3129,32 @@ public class CardFactoryUtil {
card.setState(CardStateName.FaceDown, false);
card.addSpellAbility(abilityMorphUp(card, cost));
card.addSpellAbility(abilityMorphUp(card, cost, false));
card.setSVars(sVars); // for Warbreak Trumpeter.
card.setState(CardStateName.Original, false);
}
} // Morph
if (hasKeyword(card, "Megamorph") != -1) {
final int n = hasKeyword(card, "Megamorph");
if (n != -1) {
final String parse = card.getKeywords().get(n).toString();
Map<String, String> sVars = card.getSVars();
final String[] k = parse.split(":");
final Cost cost = new Cost(k[1], true);
card.addSpellAbility(abilityMorphDown(card));
card.setState(CardStateName.FaceDown, false);
card.addSpellAbility(abilityMorphUp(card, cost, true));
card.setSVars(sVars);
card.setState(CardStateName.Original, false);
}
} // Megamorph
if (hasKeyword(card, "Madness") != -1) {
final int n = hasKeyword(card, "Madness");