mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
- Cleanup of CloneEffect.
This commit is contained in:
@@ -2,7 +2,6 @@ package forge.card.abilityfactory.effects;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
@@ -23,38 +22,47 @@ public class CloneEffect extends SpellEffect {
|
|||||||
@Override
|
@Override
|
||||||
protected String getStackDescription(SpellAbility sa) {
|
protected String getStackDescription(SpellAbility sa) {
|
||||||
final StringBuilder sb = new StringBuilder();
|
final StringBuilder sb = new StringBuilder();
|
||||||
|
final Card host = sa.getSourceCard();
|
||||||
|
Card tgtCard = host;
|
||||||
|
|
||||||
final List<Card> tgts = getTargetCards(sa);
|
Card cardToCopy = host;
|
||||||
|
final Target tgt = sa.getTarget();
|
||||||
|
if (sa.hasParam("Defined")) {
|
||||||
|
ArrayList<Card> cloneSources = AbilityFactory.getDefinedCards(host, sa.getParam("Defined"), sa);
|
||||||
|
if (!cloneSources.isEmpty()) {
|
||||||
|
cardToCopy = cloneSources.get(0);
|
||||||
|
}
|
||||||
|
} else if (tgt != null) {
|
||||||
|
cardToCopy = tgt.getTargetCards().get(0);
|
||||||
|
}
|
||||||
|
|
||||||
sb.append(sa.getSourceCard());
|
ArrayList<Card> cloneTargets = AbilityFactory.getDefinedCards(host, sa.getParam("CloneTarget"), sa);
|
||||||
sb.append(" becomes a copy of ");
|
if (!cloneTargets.isEmpty()) {
|
||||||
if (!tgts.isEmpty()) {
|
tgtCard = cloneTargets.get(0);
|
||||||
sb.append(tgts.get(0)).append(".");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
sb.append("target creature.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sb.append(tgtCard);
|
||||||
|
sb.append(" becomes a copy of " + cardToCopy + ".");
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
} // end cloneStackDescription()
|
} // end cloneStackDescription()
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resolve(SpellAbility sa) {
|
public void resolve(SpellAbility sa) {
|
||||||
Card tgtCard;
|
|
||||||
final Card host = sa.getSourceCard();
|
final Card host = sa.getSourceCard();
|
||||||
|
Card tgtCard = host;
|
||||||
Map<String, String> origSVars = host.getSVars();
|
Map<String, String> origSVars = host.getSVars();
|
||||||
|
|
||||||
|
|
||||||
// find cloning source i.e. thing to be copied
|
// find cloning source i.e. thing to be copied
|
||||||
Card cardToCopy = null;
|
Card cardToCopy = null;
|
||||||
final Target tgt = sa.getTarget();
|
final Target tgt = sa.getTarget();
|
||||||
if (tgt != null) {
|
if (sa.hasParam("Defined")) {
|
||||||
cardToCopy = tgt.getTargetCards().get(0);
|
|
||||||
}
|
|
||||||
else if (sa.hasParam("Defined")) {
|
|
||||||
ArrayList<Card> cloneSources = AbilityFactory.getDefinedCards(host, sa.getParam("Defined"), sa);
|
ArrayList<Card> cloneSources = AbilityFactory.getDefinedCards(host, sa.getParam("Defined"), sa);
|
||||||
if (!cloneSources.isEmpty()) {
|
if (!cloneSources.isEmpty()) {
|
||||||
cardToCopy = cloneSources.get(0);
|
cardToCopy = cloneSources.get(0);
|
||||||
}
|
}
|
||||||
|
} else if (tgt != null) {
|
||||||
|
cardToCopy = tgt.getTargetCards().get(0);
|
||||||
}
|
}
|
||||||
if (cardToCopy == null) {
|
if (cardToCopy == null) {
|
||||||
return;
|
return;
|
||||||
@@ -73,9 +81,6 @@ public class CloneEffect extends SpellEffect {
|
|||||||
if (!cloneTargets.isEmpty()) {
|
if (!cloneTargets.isEmpty()) {
|
||||||
tgtCard = cloneTargets.get(0);
|
tgtCard = cloneTargets.get(0);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
tgtCard = host;
|
|
||||||
}
|
|
||||||
|
|
||||||
String imageFileName = host.getImageFilename();
|
String imageFileName = host.getImageFilename();
|
||||||
|
|
||||||
@@ -275,7 +280,6 @@ public class CloneEffect extends SpellEffect {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
tgtCard.addColor(shortColors, tgtCard, !sa.hasParam("OverwriteColors"), true);
|
tgtCard.addColor(shortColors, tgtCard, !sa.hasParam("OverwriteColors"), true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user