From 79f08e9904f27af17a01ca59f16ef3a178f9f5dc Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 07:27:53 +0000 Subject: [PATCH] - Added Ability_Cost and Target to Activated Ability to constructor. - Changed keywords that use abCost to send in cost and target on creation instead of forcing the code to set it afterwards. --- src/forge/Ability_Activated.java | 9 +++++++++ src/forge/CardFactory.java | 24 +++++------------------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/forge/Ability_Activated.java b/src/forge/Ability_Activated.java index ff7d758f50f..a87c3815c35 100644 --- a/src/forge/Ability_Activated.java +++ b/src/forge/Ability_Activated.java @@ -12,11 +12,20 @@ abstract public class Ability_Activated extends SpellAbility implements java.io. this(sourceCard, ""); } + // todo: remove this constructor when everything uses the abCost system public Ability_Activated(Card sourceCard, String manaCost) { super(SpellAbility.Ability, sourceCard); setManaCost(manaCost); } + public Ability_Activated(Card sourceCard, Ability_Cost abCost, Target tgt) { + super(SpellAbility.Ability, sourceCard); + setManaCost(abCost.getMana()); + setPayCosts(abCost); + if (tgt.doesTarget()) + setTarget(tgt); + } + @Override public boolean canPlay() { Card c = getSourceCard(); diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index 77b3d904abd..8b06439eab1 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -1354,7 +1354,7 @@ public class CardFactory implements NewConstants { } } - SpellAbility abAllPump = new Ability_Activated(card, abCost.getMana()) + SpellAbility abAllPump = new Ability_Activated(card, abCost, abTgt) { private static final long serialVersionUID = 7783282947592874L; @@ -1518,8 +1518,6 @@ public class CardFactory implements NewConstants { abAllPump.setDescription(abCost.toString() + spDesc[0]); abAllPump.setStackDescription(stDesc[0]); - abAllPump.setPayCosts(abCost); - abAllPump.setTarget(abTgt); card.addSpellAbility(abAllPump); } @@ -1679,7 +1677,7 @@ public class CardFactory implements NewConstants { } // start ability here: - final SpellAbility ability = new Ability_Activated(card, abCost.getMana()) { + final SpellAbility ability = new Ability_Activated(card, abCost, abTgt) { private static final long serialVersionUID = -1118592153328758083L; private int defense; @@ -1831,15 +1829,12 @@ public class CardFactory implements NewConstants { }//if (card is in play) }//resolve() };//SpellAbility - - ability.setPayCosts(abCost); + ability.setDescription(spDesc[0]); ability.setStackDescription(stDesc[0]); if(!abTgt.doesTarget()) ability.setTargetCard(card); - else - ability.setTarget(abTgt); card.addSpellAbility(ability); } @@ -2337,7 +2332,7 @@ public class CardFactory implements NewConstants { spDesc[0] = abCost.toString() + spDesc[0]; // Damage ability starts here - final SpellAbility abDamage = new Ability_Activated(card, abCost.getMana()) { + final SpellAbility abDamage = new Ability_Activated(card, abCost, abTgt) { private static final long serialVersionUID = -7560349014757367722L; private int damage; @@ -2481,8 +2476,6 @@ public class CardFactory implements NewConstants { }//resolve() };//Ability_Activated - abDamage.setPayCosts(abCost); - abDamage.setTarget(abTgt); abDamage.setDescription(spDesc[0]); abDamage.setStackDescription(stDesc[0]); @@ -2686,7 +2679,7 @@ public class CardFactory implements NewConstants { spDesc[0] = abCost.toString() + spDesc[0]; - final SpellAbility AbDstryTgt = new Ability_Activated(card, abCost.getMana()) + final SpellAbility AbDstryTgt = new Ability_Activated(card, abCost, tgtDstryTgt) { private static final long serialVersionUID = -141142183348756081L; @@ -2774,13 +2767,6 @@ public class CardFactory implements NewConstants { }; //AbDstryTgt - AbDstryTgt.setPayCosts(abCost); - - //Input InGetTarget = CardFactoryUtil.input_targetValid(AbDstryTgt, Tgts, Selec); - - //AbDstryTgt.setBeforePayMana(InGetTarget); - AbDstryTgt.setTarget(tgtDstryTgt); - AbDstryTgt.setDescription(spDesc[0]); card.addSpellAbility(AbDstryTgt);