From 69978b40e9d1232f3d3b3d65da7b153db0253ead Mon Sep 17 00:00:00 2001 From: swordshine Date: Tue, 2 Apr 2013 09:41:00 +0000 Subject: [PATCH] - Converted Karma to script --- res/cardsfolder/k/karma.txt | 4 ++- src/main/java/forge/game/phase/Upkeep.java | 41 ---------------------- 2 files changed, 3 insertions(+), 42 deletions(-) diff --git a/res/cardsfolder/k/karma.txt b/res/cardsfolder/k/karma.txt index 80220eb9e90..33ddcbfe78f 100644 --- a/res/cardsfolder/k/karma.txt +++ b/res/cardsfolder/k/karma.txt @@ -1,7 +1,9 @@ Name:Karma ManaCost:2 W W Types:Enchantment -Text:At the beginning of each player's upkeep, Karma deals damage to that player equal to the number of Swamps he or she controls. +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of each player's upkeep, CARDNAME deals damage to that player equal to the number of Swamps he or she controls. +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredPlayer | NumDmg$ X | References$ X +SVar:X:Count$Valid Swamp.ActivePlayerCtrl SVar:RemRandomDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/karma.jpg Oracle:At the beginning of each player's upkeep, Karma deals damage to that player equal to the number of Swamps he or she controls. diff --git a/src/main/java/forge/game/phase/Upkeep.java b/src/main/java/forge/game/phase/Upkeep.java index aae2ac69e82..306fe5cc6c4 100644 --- a/src/main/java/forge/game/phase/Upkeep.java +++ b/src/main/java/forge/game/phase/Upkeep.java @@ -94,7 +94,6 @@ public class Upkeep extends Phase { Upkeep.upkeepDemonicHordes(game); Upkeep.upkeepTangleWire(game); - Upkeep.upkeepKarma(game); Upkeep.upkeepOathOfDruids(game); Upkeep.upkeepOathOfGhouls(game); Upkeep.upkeepSuspend(game); @@ -875,46 +874,6 @@ public class Upkeep extends Phase { } } // Oath of Ghouls - /** - *

- * upkeepKarma. - *

- */ - private static void upkeepKarma(final GameState game) { - final Player player = game.getPhaseHandler().getPlayerTurn(); - final List karmas = - CardLists.filter(game.getCardsIn(ZoneType.Battlefield), CardPredicates.nameEquals("Karma")); - final List swamps = CardLists.getType(player.getCardsIn(ZoneType.Battlefield), "Swamp"); - - // determine how much damage to deal the current player - final int damage = swamps.size(); - - // if there are 1 or more Karmas on the - // battlefield have each of them deal damage. - if (0 < karmas.size()) { - for (final Card karma : karmas) { - final Ability ability = new Ability(karma, ManaCost.ZERO) { - @Override - public void resolve() { - if (damage > 0) { - player.addDamage(damage, karma); - } - } - }; // Ability - if (damage > 0) { - - final StringBuilder sb = new StringBuilder(); - sb.append("Karma deals ").append(damage).append(" damage to ").append(player); - ability.setStackDescription(sb.toString()); - ability.setDescription(sb.toString()); - ability.setActivatingPlayer(karma.getController()); - - game.getStack().addSimultaneousStackEntry(ability); - } - } - } // if - } // upkeepKarma() - /** *

* upkeepPowerSurge.