mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
- Converted the triggered ability of Echo
This commit is contained in:
@@ -212,7 +212,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
private TreeMap<Long, Player> tempControllers = new TreeMap<Long, Player>();
|
||||
|
||||
private String text = "";
|
||||
private Cost echoCost = null;
|
||||
private String echoCost = "";
|
||||
private Cost madnessCost = null;
|
||||
private Cost miracleCost = null;
|
||||
private String chosenType = "";
|
||||
@@ -1413,11 +1413,11 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
* @param s
|
||||
* a {@link java.lang.String} object.
|
||||
*/
|
||||
public final void setEchoCost(final Cost s) {
|
||||
public final void setEchoCost(final String s) {
|
||||
this.echoCost = s;
|
||||
}
|
||||
|
||||
public final Cost getEchoCost() {
|
||||
public final String getEchoCost() {
|
||||
return this.echoCost;
|
||||
}
|
||||
|
||||
|
||||
@@ -886,7 +886,7 @@ public class AbilityUtils {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (defined.startsWith("NonReplaced")) {
|
||||
} else if (defined.startsWith("Non")) {
|
||||
players.addAll(game.getPlayers());
|
||||
players.removeAll(getDefinedPlayers(card, defined.substring(3), sa));
|
||||
} else if (defined.equals("EnchantedController")) {
|
||||
|
||||
@@ -2222,7 +2222,7 @@ public class CardFactoryUtil {
|
||||
final String[] k = card.getKeyword().get(echoPos).split(":");
|
||||
final String manacost = k[1];
|
||||
|
||||
card.setEchoCost(new Cost(manacost, false));
|
||||
card.setEchoCost(manacost);
|
||||
|
||||
final Command intoPlay = new Command() {
|
||||
|
||||
@@ -3190,7 +3190,7 @@ public class CardFactoryUtil {
|
||||
card.setSVar("CascadeCleanup", "DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True");
|
||||
final Trigger cascadeTrigger = TriggerHandler.parseTrigger(trigScript.toString(), card, true);
|
||||
|
||||
card.addTrigger(cascadeTrigger);;
|
||||
card.addTrigger(cascadeTrigger);
|
||||
} // Cascade
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ import forge.CardPredicates;
|
||||
import forge.Singletons;
|
||||
import forge.CardPredicates.Presets;
|
||||
import forge.CounterType;
|
||||
import forge.card.ability.AbilityFactory;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.mana.ManaCost;
|
||||
@@ -171,16 +172,11 @@ public class Upkeep extends Phase {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
sb.append("Echo for ").append(c).append("\n");
|
||||
|
||||
final Ability sacAbility = new Ability(c, ManaCost.ZERO) {
|
||||
@Override
|
||||
public void resolve() {
|
||||
Cost cost = c.getEchoCost();
|
||||
boolean hasPaid = c.getController().getController().payManaOptional(c, cost, this, "Echo for " + c, ManaPaymentPurpose.Echo);
|
||||
String effect = "AB$ Sacrifice | Cost$ 0 | SacValid$ Self | "
|
||||
+ "UnlessPayer$ You | UnlessCost$ " + c.getEchoCost();
|
||||
|
||||
if (!hasPaid)
|
||||
game.getAction().sacrifice(c, this);;
|
||||
}
|
||||
};
|
||||
SpellAbility sacAbility = AbilityFactory.getAbility(effect, c);
|
||||
sacAbility.setTrigger(true);
|
||||
sacAbility.setActivatingPlayer(c.getController());
|
||||
sacAbility.setStackDescription(sb.toString());
|
||||
sacAbility.setDescription(sb.toString());
|
||||
|
||||
Reference in New Issue
Block a user