diff --git a/res/cardsfolder/d/drop_of_honey.txt b/res/cardsfolder/d/drop_of_honey.txt index 1b1a2c605df..68f4e24c306 100644 --- a/res/cardsfolder/d/drop_of_honey.txt +++ b/res/cardsfolder/d/drop_of_honey.txt @@ -1,7 +1,9 @@ Name:Drop of Honey ManaCost:G Types:Enchantment -Text:At the beginning of your upkeep, destroy the creature with the least power. It can't be regenerated. If two or more creatures are tied for least power, you choose one of them. +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChooseOneToDestroy | TriggerDescription$ At the beginning of your upkeep, destroy the creature with the least power. It can't be regenerated. If two or more creatures are tied for least power, you choose one of them. +SVar:TrigChooseOneToDestroy:AB$ ChooseCard | Cost$ 0 | Choices$ Creature.leastPower+withoutIndestructible | Mandatory$ True | SubAbility$ DBDestroy +SVar:DBDestroy:DB$ Destroy | Defined$ ChosenCard | NoRegen$ True T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Creature | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When there are no creatures on the battlefield, sacrifice CARDNAME. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self SVar:NeedsToPlay:Creature.YouDontCtrl+leastPower diff --git a/res/cardsfolder/p/porphyry_nodes.txt b/res/cardsfolder/p/porphyry_nodes.txt index 911c6e1d9bd..583d70d3669 100644 --- a/res/cardsfolder/p/porphyry_nodes.txt +++ b/res/cardsfolder/p/porphyry_nodes.txt @@ -1,7 +1,9 @@ Name:Porphyry Nodes ManaCost:W Types:Enchantment -Text:At the beginning of your upkeep, destroy the creature with the least power. It can't be regenerated. If two or more creatures are tied for least power, you choose one of them. +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChooseOneToDestroy | TriggerDescription$ At the beginning of your upkeep, destroy the creature with the least power. It can't be regenerated. If two or more creatures are tied for least power, you choose one of them. +SVar:TrigChooseOneToDestroy:AB$ ChooseCard | Cost$ 0 | Choices$ Creature.leastPower+withoutIndestructible | Mandatory$ True | SubAbility$ DBDestroy +SVar:DBDestroy:DB$ Destroy | Defined$ ChosenCard | NoRegen$ True T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Creature | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When there are no creatures on the battlefield, sacrifice CARDNAME. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self SVar:NeedsToPlay:Creature.YouDontCtrl+leastPower diff --git a/src/main/java/forge/game/ai/AiController.java b/src/main/java/forge/game/ai/AiController.java index 0e42e21d37a..a82287b3416 100644 --- a/src/main/java/forge/game/ai/AiController.java +++ b/src/main/java/forge/game/ai/AiController.java @@ -649,7 +649,7 @@ public class AiController { // Abilities without api may also use this routine, However they should provide a unique mode value if ( null == api ) { if( mode != null ) switch (mode) { - case BraidOfFire: return true; + // case BraidOfFire: return true; // case Ripple: return true; } diff --git a/src/main/java/forge/game/phase/Upkeep.java b/src/main/java/forge/game/phase/Upkeep.java index 8f675685207..a1582bbcd4d 100644 --- a/src/main/java/forge/game/phase/Upkeep.java +++ b/src/main/java/forge/game/phase/Upkeep.java @@ -20,27 +20,23 @@ package forge.game.phase; import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import java.util.Map; import com.google.common.base.Predicate; import forge.Card; import forge.CardLists; 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; import forge.card.spellability.Ability; -import forge.card.spellability.AbilityManaPart; import forge.card.spellability.SpellAbility; import forge.card.trigger.TriggerType; import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.player.Player; -import forge.game.player.PlayerActionConfirmMode; import forge.game.player.PlayerController.ManaPaymentPurpose; import forge.game.zone.ZoneType; import forge.gui.input.InputSelectCards; @@ -83,7 +79,6 @@ public class Upkeep extends Phase { Upkeep.upkeepUpkeepCost(game); // sacrifice unless upkeep cost is paid Upkeep.upkeepEcho(game); - Upkeep.upkeepDropOfHoney(game); Upkeep.upkeepTangleWire(game); game.getStack().unfreezeStack(); @@ -194,55 +189,6 @@ public class Upkeep extends Phase { } // for } // upkeepCost - /** - *

- * upkeepDropOfHoney. - *

- */ - private static void upkeepDropOfHoney(final Game game) { - /* - * At the beginning of your upkeep, destroy the creature with the least - * power. It can't be regenerated. If two or more creatures are tied for - * least power, you choose one of them. - */ - final Player player = game.getPhaseHandler().getPlayerTurn(); - final List drops = player.getCardsIn(ZoneType.Battlefield, "Drop of Honey"); - drops.addAll(player.getCardsIn(ZoneType.Battlefield, "Porphyry Nodes")); - final List cards = drops; - - for (int i = 0; i < cards.size(); i++) { - final Card c = cards.get(i); - - final Ability ability = new Ability(c, ManaCost.NO_COST) { - @Override - public void resolve() { - final List creatures = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Presets.CREATURES); - if (creatures.size() > 0) { - CardLists.sortByPowerAsc(creatures); - final List lowest = new ArrayList(); - final int power = creatures.get(0).getNetAttack(); - for(Card c : creatures) { - if (c.getNetAttack() > power) break; - lowest.add(c); - } - - List toSac = player.getController().choosePermanentsToDestroy(this, 1, 1, lowest, "Select creature with power: " + power + " to destroy."); - game.getAction().destroyNoRegeneration(toSac.get(0), this); - } - } // resolve - }; // Ability - - final StringBuilder sb = new StringBuilder(); - sb.append(c.getName()).append(" - destroy 1 creature with lowest power."); - ability.setActivatingPlayer(c.getController()); - ability.setStackDescription(sb.toString()); - ability.setDescription(sb.toString()); - - game.getStack().addSimultaneousStackEntry(ability); - - } // end for - } // upkeepDropOfHoney() - /** *

* upkeepTangleWire. diff --git a/src/main/java/forge/game/player/PlayerActionConfirmMode.java b/src/main/java/forge/game/player/PlayerActionConfirmMode.java index 5ea19b56837..2bb2b7d8e89 100644 --- a/src/main/java/forge/game/player/PlayerActionConfirmMode.java +++ b/src/main/java/forge/game/player/PlayerActionConfirmMode.java @@ -6,7 +6,7 @@ package forge.game.player; */ public enum PlayerActionConfirmMode { Random, - BraidOfFire, + // BraidOfFire, FromOpeningHand; // Ripple;