- 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.
This commit is contained in:
jendave
2011-08-06 07:27:53 +00:00
parent 265a25c561
commit 79f08e9904
2 changed files with 14 additions and 19 deletions

View File

@@ -12,11 +12,20 @@ abstract public class Ability_Activated extends SpellAbility implements java.io.
this(sourceCard, ""); this(sourceCard, "");
} }
// todo: remove this constructor when everything uses the abCost system
public Ability_Activated(Card sourceCard, String manaCost) { public Ability_Activated(Card sourceCard, String manaCost) {
super(SpellAbility.Ability, sourceCard); super(SpellAbility.Ability, sourceCard);
setManaCost(manaCost); 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 @Override
public boolean canPlay() { public boolean canPlay() {
Card c = getSourceCard(); Card c = getSourceCard();

View File

@@ -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; private static final long serialVersionUID = 7783282947592874L;
@@ -1518,8 +1518,6 @@ public class CardFactory implements NewConstants {
abAllPump.setDescription(abCost.toString() + spDesc[0]); abAllPump.setDescription(abCost.toString() + spDesc[0]);
abAllPump.setStackDescription(stDesc[0]); abAllPump.setStackDescription(stDesc[0]);
abAllPump.setPayCosts(abCost);
abAllPump.setTarget(abTgt);
card.addSpellAbility(abAllPump); card.addSpellAbility(abAllPump);
} }
@@ -1679,7 +1677,7 @@ public class CardFactory implements NewConstants {
} }
// start ability here: // 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 static final long serialVersionUID = -1118592153328758083L;
private int defense; private int defense;
@@ -1831,15 +1829,12 @@ public class CardFactory implements NewConstants {
}//if (card is in play) }//if (card is in play)
}//resolve() }//resolve()
};//SpellAbility };//SpellAbility
ability.setPayCosts(abCost);
ability.setDescription(spDesc[0]); ability.setDescription(spDesc[0]);
ability.setStackDescription(stDesc[0]); ability.setStackDescription(stDesc[0]);
if(!abTgt.doesTarget()) if(!abTgt.doesTarget())
ability.setTargetCard(card); ability.setTargetCard(card);
else
ability.setTarget(abTgt);
card.addSpellAbility(ability); card.addSpellAbility(ability);
} }
@@ -2337,7 +2332,7 @@ public class CardFactory implements NewConstants {
spDesc[0] = abCost.toString() + spDesc[0]; spDesc[0] = abCost.toString() + spDesc[0];
// Damage ability starts here // 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 static final long serialVersionUID = -7560349014757367722L;
private int damage; private int damage;
@@ -2481,8 +2476,6 @@ public class CardFactory implements NewConstants {
}//resolve() }//resolve()
};//Ability_Activated };//Ability_Activated
abDamage.setPayCosts(abCost);
abDamage.setTarget(abTgt);
abDamage.setDescription(spDesc[0]); abDamage.setDescription(spDesc[0]);
abDamage.setStackDescription(stDesc[0]); abDamage.setStackDescription(stDesc[0]);
@@ -2686,7 +2679,7 @@ public class CardFactory implements NewConstants {
spDesc[0] = abCost.toString() + spDesc[0]; 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; private static final long serialVersionUID = -141142183348756081L;
@@ -2774,13 +2767,6 @@ public class CardFactory implements NewConstants {
}; //AbDstryTgt }; //AbDstryTgt
AbDstryTgt.setPayCosts(abCost);
//Input InGetTarget = CardFactoryUtil.input_targetValid(AbDstryTgt, Tgts, Selec);
//AbDstryTgt.setBeforePayMana(InGetTarget);
AbDstryTgt.setTarget(tgtDstryTgt);
AbDstryTgt.setDescription(spDesc[0]); AbDstryTgt.setDescription(spDesc[0]);
card.addSpellAbility(AbDstryTgt); card.addSpellAbility(AbDstryTgt);