Commit be32b44f authored by Blacksmith's avatar Blacksmith

Merge branch 'master' of git.cardforge.org:core-developers/forge

parents dc8e8113 e3b3db74
......@@ -261,6 +261,11 @@ public final class GameActionUtil {
final Cost cost = new Cost("Discard<1/Land>", false);
costs.add(new OptionalCostValue(OptionalCost.Retrace, cost));
}
} else if (keyword.equals("Jump-start")) {
if (source.getZone().is(ZoneType.Graveyard)) {
final Cost cost = new Cost("Discard<1/Card>", false);
costs.add(new OptionalCostValue(OptionalCost.Jumpstart, cost));
}
} else if (keyword.startsWith("MayFlashCost")) {
String[] k = keyword.split(":");
final Cost cost = new Cost(k[1], false);
......@@ -288,6 +293,7 @@ public final class GameActionUtil {
result.addConspireInstance();
break;
case Retrace:
case Jumpstart:
result.getRestrictions().setZone(ZoneType.Graveyard);
break;
case Flash:
......
......@@ -3895,25 +3895,6 @@ public class CardFactoryUtil {
sa.setIntrinsic(intrinsic);
inst.addSpellAbility(sa);
}
} else if (keyword.equals("Jump-start")) {
SpellAbility sa = card.getFirstSpellAbility();
final SpellAbility newSA = sa.copyWithDefinedCost(
sa.getPayCosts().copy().add(new Cost("Discard<1/Card>", false)));;
newSA.getMapParams().put("Secondary", "True");
newSA.setBasicSpell(false);
newSA.setJumpstart(true);
newSA.getRestrictions().setZone(ZoneType.Graveyard);
String desc = "Jump-start (" + inst.getReminderText() + ")";
newSA.setDescription(desc);
newSA.setIntrinsic(intrinsic);
newSA.setTemporary(!intrinsic);
inst.addSpellAbility(newSA);
} else if (keyword.startsWith("Level up")) {
final String[] k = keyword.split(":");
final String manacost = k[1];
......
......@@ -11,8 +11,9 @@ public enum OptionalCost {
Kicker1("Kicker"),
Kicker2("Kicker"),
Retrace("Retrace"),
AltCost(""), // used by prowl
Flash("Flash"),
Jumpstart("Jump-start"),
AltCost(""),
Flash("Flash"), // used for Pay Extra for Flash
Generic("Generic"); // used by "Dragon Presence" and pseudo-kicker cards
private String name;
......
......@@ -93,7 +93,6 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
private List<Object> triggerRemembered = Lists.newArrayList();
private boolean flashBackAbility = false;
private boolean jumpstart = false;
private boolean aftermath = false;
private boolean cycling = false;
private boolean dash = false;
......@@ -517,6 +516,10 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
return isOptionalCostPaid(OptionalCost.Entwine);
}
public boolean isJumpstart() {
return isOptionalCostPaid(OptionalCost.Jumpstart);
}
public boolean isOptionalCostPaid(OptionalCost cost) {
SpellAbility saRoot = getRootAbility();
return saRoot.optionalCosts.contains(cost);
......@@ -788,13 +791,6 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
outlast = outlast0;
}
public boolean isJumpstart() {
return jumpstart;
}
public void setJumpstart(boolean jumpstart0) {
jumpstart = jumpstart0;
}
public boolean isBlessing() {
return blessing;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment