mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
- Fixed Demonic Hordes.
This commit is contained in:
@@ -45,7 +45,6 @@ import forge.control.input.InputSelectManyCards;
|
|||||||
import forge.game.GameState;
|
import forge.game.GameState;
|
||||||
import forge.game.player.ComputerUtil;
|
import forge.game.player.ComputerUtil;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.player.PlayerUtil;
|
|
||||||
import forge.game.zone.PlayerZone;
|
import forge.game.zone.PlayerZone;
|
||||||
import forge.game.zone.Zone;
|
import forge.game.zone.Zone;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
@@ -620,7 +619,13 @@ public class Upkeep extends Phase {
|
|||||||
|
|
||||||
final Card c = cards.get(i);
|
final Card c = cards.get(i);
|
||||||
|
|
||||||
final Ability noPay = new Ability(c, "B B B") {
|
final Ability cost = new Ability(c, "B B B") {
|
||||||
|
@Override
|
||||||
|
public void resolve() {
|
||||||
|
}
|
||||||
|
}; // end cost ability
|
||||||
|
|
||||||
|
final Ability noPay = new Ability(c, "0") {
|
||||||
@Override
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
final List<Card> playerLand = player.getLandsInPlay();
|
final List<Card> playerLand = player.getLandsInPlay();
|
||||||
@@ -628,9 +633,9 @@ public class Upkeep extends Phase {
|
|||||||
c.tap();
|
c.tap();
|
||||||
if (c.getController().isComputer()) {
|
if (c.getController().isComputer()) {
|
||||||
if (playerLand.size() > 0) {
|
if (playerLand.size() > 0) {
|
||||||
Singletons.getModel().getMatch().getInput().setInput(
|
final Card target = GuiChoose.one("Select a card to sacrifice", playerLand);
|
||||||
PlayerUtil.inputSacrificePermanent(playerLand, c.getName()
|
|
||||||
+ " - Select a land to sacrifice."));
|
Singletons.getModel().getGame().getAction().sacrifice(target, null);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
final Card target = CardFactoryUtil.getBestLandAI(playerLand);
|
final Card target = CardFactoryUtil.getBestLandAI(playerLand);
|
||||||
@@ -648,9 +653,9 @@ public class Upkeep extends Phase {
|
|||||||
@Override
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
if (Singletons.getModel().getGame().getZoneOf(c).is(ZoneType.Battlefield)) {
|
if (Singletons.getModel().getGame().getZoneOf(c).is(ZoneType.Battlefield)) {
|
||||||
final StringBuilder cost = new StringBuilder();
|
final StringBuilder coststring = new StringBuilder();
|
||||||
cost.append("Pay cost for ").append(c).append("\r\n");
|
coststring.append("Pay cost for ").append(c).append("\r\n");
|
||||||
GameActionUtil.payManaDuringAbilityResolve(cost.toString(), noPay.getManaCost(),
|
GameActionUtil.payManaDuringAbilityResolve(coststring.toString(), cost.getManaCost(),
|
||||||
Command.BLANK, Command.BLANK);
|
Command.BLANK, Command.BLANK);
|
||||||
}
|
}
|
||||||
} // end resolve()
|
} // end resolve()
|
||||||
@@ -670,18 +675,19 @@ public class Upkeep extends Phase {
|
|||||||
}
|
}
|
||||||
} // end human
|
} // end human
|
||||||
else { // computer
|
else { // computer
|
||||||
if (cp.isComputer() && ComputerUtil.canPayCost(noPay, cp)) {
|
noPay.setActivatingPlayer(cp);
|
||||||
|
if (ComputerUtil.canPayCost(cost, cp)) {
|
||||||
final Ability computerPay = new Ability(c, "0") {
|
final Ability computerPay = new Ability(c, "0") {
|
||||||
@Override
|
@Override
|
||||||
public void resolve() {
|
public void resolve() {
|
||||||
ComputerUtil.payManaCost(cp, noPay);
|
ComputerUtil.payManaCost(cp, cost);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
computerPay.setStackDescription("Computer pays Demonic Hordes upkeep cost");
|
computerPay.setStackDescription("Computer pays Demonic Hordes upkeep cost");
|
||||||
|
|
||||||
Singletons.getModel().getGame().getStack().addSimultaneousStackEntry(computerPay);
|
Singletons.getModel().getGame().getStack().addSimultaneousStackEntry(computerPay);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
noPay.setStackDescription("Demonic Hordes - Upkeep Cost");
|
||||||
Singletons.getModel().getGame().getStack().addSimultaneousStackEntry(noPay);
|
Singletons.getModel().getGame().getStack().addSimultaneousStackEntry(noPay);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user