- Code deduplication.

This commit is contained in:
Agetian
2015-06-14 06:30:00 +00:00
parent aa586eb9bc
commit 7ed295f4fd

View File

@@ -106,12 +106,7 @@ public class CopySpellAbilityEffect extends SpellAbilityEffect {
mayChoseNewTargets = false;
for (GameEntity o : candidates) {
SpellAbility copy = CardFactory.copySpellAbilityAndSrcCard(card, chosenSA.getHostCard(), chosenSA, true);
copy.resetFirstTarget(o, targetedSA);
AbilitySub subAb = copy.getSubAbility();
while (subAb != null) {
subAb.resetFirstTarget(o, targetedSA);
subAb = subAb.getSubAbility();
}
resetFirstTargetOnCopy(copy, o, targetedSA);
copies.add(copy);
}
} else {// Precursor Golem, Ink-Treader Nephilim
@@ -128,12 +123,7 @@ public class CopySpellAbilityEffect extends SpellAbilityEffect {
mayChoseNewTargets = false;
for (Card c : valid) {
SpellAbility copy = CardFactory.copySpellAbilityAndSrcCard(card, chosenSA.getHostCard(), chosenSA, true);
copy.resetFirstTarget(c, targetedSA);
AbilitySub subAb = copy.getSubAbility();
while (subAb != null) {
subAb.resetFirstTarget(c, targetedSA);
subAb = subAb.getSubAbility();
}
resetFirstTargetOnCopy(copy, c, targetedSA);
copies.add(copy);
}
}
@@ -151,4 +141,13 @@ public class CopySpellAbilityEffect extends SpellAbilityEffect {
}
} // end resolve
private void resetFirstTargetOnCopy(SpellAbility copy, GameEntity obj, SpellAbility targetedSA) {
copy.resetFirstTarget(obj, targetedSA);
AbilitySub subAb = copy.getSubAbility();
while (subAb != null) {
subAb.resetFirstTarget(obj, targetedSA);
subAb = subAb.getSubAbility();
}
}
}