diff --git a/res/cardsfolder/h/homarid.txt b/res/cardsfolder/h/homarid.txt index 814612ab837..e101cb77d5f 100644 --- a/res/cardsfolder/h/homarid.txt +++ b/res/cardsfolder/h/homarid.txt @@ -1,13 +1,16 @@ Name:Homarid ManaCost:2 U Types:Creature Homarid -Text:Whenever there are four tide counters on CARDNAME, remove all tide counters from it. +Text:no text PT:2/2 K:etbCounter:TIDE:1 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a tide counter on CARDNAME. S:Mode$ Continuous | Affected$ Card.Self+counters_EQ1_TIDE | AddPower$ -1 | AddToughness$ -1 | Description$ As long as there is exactly one tide counter on CARDNAME, it gets -1/-1. S:Mode$ Continuous | Affected$ Card.Self+counters_EQ3_TIDE | AddPower$ 1 | AddToughness$ 1 | Description$ As long as there are exactly three tide counters on CARDNAME, it gets +1/+1. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ TIDE | CounterNum$ 1 +T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_GE4_TIDE | Execute$ TrigRemove | TriggerDescription$ Whenever there are four tide counters on CARDNAME, remove all tide counters from it. +SVar:TrigRemove:DB$ RemoveCounter | CounterType$ TIDE | CounterNum$ All +SVar:All:Count$CardCounters.TIDE SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/homarid.jpg SetInfo:FEM|Common|http://magiccards.info/scans/en/fe/38.jpg|4 diff --git a/src/main/java/forge/GameActionUtil.java b/src/main/java/forge/GameActionUtil.java index c82a0bcbce3..e6081f78574 100644 --- a/src/main/java/forge/GameActionUtil.java +++ b/src/main/java/forge/GameActionUtil.java @@ -1549,23 +1549,6 @@ public final class GameActionUtil { } }; // Old Man of the Sea - /** Constant homarid. */ - private static Command homarid = new Command() { - private static final long serialVersionUID = 7156319758035295773L; - - @Override - public void execute() { - final CardList list = AllZoneUtil.getCardsIn(Zone.Battlefield, "Homarid"); - - for (final Card homarid : list) { - final int tide = homarid.getCounters(Counters.TIDE); - if (tide == 4) { - homarid.setCounter(Counters.TIDE, 0, true); - } - } - } // execute() - }; - /** Constant liuBei. */ private static Command liuBei = new Command() { @@ -1723,7 +1706,6 @@ public final class GameActionUtil { GameActionUtil.getCommands().put("Ajani_Avatar_Token", GameActionUtil.ajaniAvatarToken); GameActionUtil.getCommands().put("Alpha_Status", GameActionUtil.alphaStatus); GameActionUtil.getCommands().put("Coat_of_Arms", GameActionUtil.coatOfArms); - GameActionUtil.getCommands().put("Homarid", GameActionUtil.homarid); GameActionUtil.getCommands().put("Liu_Bei", GameActionUtil.liuBei); GameActionUtil.getCommands().put("Old_Man_of_the_Sea", GameActionUtil.oldManOfTheSea); diff --git a/src/main/java/forge/StaticEffects.java b/src/main/java/forge/StaticEffects.java index 7473ee97932..a487ec7df65 100644 --- a/src/main/java/forge/StaticEffects.java +++ b/src/main/java/forge/StaticEffects.java @@ -236,7 +236,6 @@ public class StaticEffects { StaticEffects.cardToEffectsList.put("Avatar", new String[] { "Ajani_Avatar_Token" }); StaticEffects.cardToEffectsList.put("Alpha Status", new String[] { "Alpha_Status" }); StaticEffects.cardToEffectsList.put("Coat of Arms", new String[] { "Coat_of_Arms" }); - StaticEffects.cardToEffectsList.put("Homarid", new String[] { "Homarid" }); StaticEffects.cardToEffectsList.put("Liu Bei, Lord of Shu", new String[] { "Liu_Bei" }); StaticEffects.cardToEffectsList.put("Old Man of the Sea", new String[] { "Old_Man_of_the_Sea" }); diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index 44086cf343f..e7119b40e3a 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -4077,78 +4077,6 @@ public class CardFactoryUtil { return ""; } - /* - * //whenever CARDNAME becomes the target of a spell or ability, ... : - * public static void checkTargetingEffects(SpellAbility sa, final Card c) { - * - * //if (AllZoneUtil.isCardInPlay(c)) //{ if (c.hasKeyword( - * "When CARDNAME becomes the target of a spell or ability, return CARDNAME to its owner's hand." - * ) ) { // || (c.isCreature() && AllZoneUtil.isCardInPlay("Cowardice")) - * SpellAbility ability = new Ability(c, "0") { public void resolve() { - * Singletons.getModel().getGameAction().moveToHand(c); } }; StringBuilder - * sb = new StringBuilder(); - * sb.append(c).append(" - return CARDNAME to its owner's hand."); - * ability.setStackDescription(sb.toString()); - * - * AllZone.getStack().add(ability); } if (c.hasKeyword( - * "When CARDNAME becomes the target of a spell or ability, destroy CARDNAME." - * ) || AllZoneUtil.isCardInPlay("Horobi, Death's Wail")) { - * - * SpellAbility ability = new Ability(c, "0") { public void resolve() { - * Singletons.getModel().getGameAction().destroy(c); } }; StringBuilder sb = - * new StringBuilder(); sb.append(c).append(" - destroy CARDNAME."); - * ability.setStackDescription(sb.toString()); - * - * AllZone.getStack().add(ability); } if (c.hasKeyword( - * "When CARDNAME becomes the target of a spell or ability, sacrifice it.")) - * { SpellAbility ability = new Ability(c, "0") { public void resolve() { - * Singletons.getModel().getGameAction().sacrifice(c); } }; StringBuilder sb - * = new StringBuilder(); sb.append(c).append(" - sacrifice CARDNAME."); - * ability.setStackDescription(sb.toString()); - * - * AllZone.getStack().add(ability); } - * - * //When enchanted creature becomes the target of a spell or ability, - * . (It can't be - * regenerated.) ArrayList auras = c.getEnchantedBy(); for(int - * a=0;a keywords = aura.getKeyword(); for(int - * i=0;i * Copies stats like power, toughness, etc. @@ -5188,7 +5116,7 @@ public class CardFactoryUtil { final int m = Integer.parseInt(parse.substring(8)); - card.addIntrinsicKeyword("etbCounter:P1P1:" + m); + card.addIntrinsicKeyword("etbCounter:P1P1:" + m + ":no Condition: "); final SpellAbility ability = new Ability(card, "0") { @Override diff --git a/src/main/java/forge/card/spellability/SpellPermanent.java b/src/main/java/forge/card/spellability/SpellPermanent.java index 293df05964c..ca897d53bbb 100644 --- a/src/main/java/forge/card/spellability/SpellPermanent.java +++ b/src/main/java/forge/card/spellability/SpellPermanent.java @@ -386,7 +386,7 @@ public class SpellPermanent extends Spell { } if (card.isCreature() && (card.getNetDefense() <= 0) && !card.hasStartOfKeyword("etbCounter") - && !card.getText().contains("Modular") && !mana.contains("X")) { + && !mana.contains("X")) { return false; }