mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
- Some fixes for ChangeZone for Known Origins.
This commit is contained in:
@@ -703,9 +703,7 @@ public class AbilityFactory_ChangeZone {
|
|||||||
String pronoun = tgts.size() > 1 ? " their " : " its ";
|
String pronoun = tgts.size() > 1 ? " their " : " its ";
|
||||||
|
|
||||||
String fromGraveyard = " from the graveyard";
|
String fromGraveyard = " from the graveyard";
|
||||||
|
|
||||||
// TODO: can Destination be Graveyard in any of these cases?
|
|
||||||
|
|
||||||
if (destination.equals("Battlefield")){
|
if (destination.equals("Battlefield")){
|
||||||
sb.append("Put").append(targetname);
|
sb.append("Put").append(targetname);
|
||||||
if (origin.equals("Graveyard"))
|
if (origin.equals("Graveyard"))
|
||||||
@@ -719,11 +717,12 @@ public class AbilityFactory_ChangeZone {
|
|||||||
sb.append(".");
|
sb.append(".");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(destination.equals("Hand"))
|
if(destination.equals("Hand")){
|
||||||
sb.append("Return").append(targetname);
|
sb.append("Return").append(targetname);
|
||||||
if (origin.equals("Graveyard"))
|
if (origin.equals("Graveyard"))
|
||||||
sb.append(fromGraveyard);
|
sb.append(fromGraveyard);
|
||||||
sb.append(" to").append(pronoun).append("owners hand.");
|
sb.append(" to").append(pronoun).append("owners hand.");
|
||||||
|
}
|
||||||
|
|
||||||
if (destination.equals("Library")){
|
if (destination.equals("Library")){
|
||||||
if (params.containsKey("Shuffle")){ // for things like Gaea's Blessing
|
if (params.containsKey("Shuffle")){ // for things like Gaea's Blessing
|
||||||
@@ -749,14 +748,20 @@ public class AbilityFactory_ChangeZone {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(destination.equals("Exile")){
|
if(destination.equals("Exile")){
|
||||||
sb.append("Exile").append(targetname);
|
sb.append("Exile ").append(targetname);
|
||||||
|
if (origin.equals("Graveyard"))
|
||||||
|
sb.append(fromGraveyard);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(destination.equals("Graveyard")){
|
||||||
|
sb.append("Put").append(targetname);
|
||||||
|
sb.append(" from ").append(origin);
|
||||||
|
sb.append(" into").append(pronoun).append("owner's graveyard.");
|
||||||
}
|
}
|
||||||
|
|
||||||
Ability_Sub abSub = sa.getSubAbility();
|
Ability_Sub abSub = sa.getSubAbility();
|
||||||
if (abSub != null) {
|
if (abSub != null) {
|
||||||
sb.append(abSub.getStackDescription());
|
sb.append(abSub.getStackDescription());
|
||||||
if (origin.equals("Graveyard"))
|
|
||||||
sb.append(fromGraveyard);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
@@ -778,6 +783,8 @@ public class AbilityFactory_ChangeZone {
|
|||||||
tgtCards.add(knownDetermineDefined(sa, params.get("Defined"), origin));
|
tgtCards.add(knownDetermineDefined(sa, params.get("Defined"), origin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Card targetCard = tgtCards.get(0);
|
||||||
|
|
||||||
for(Card tgtC : tgtCards){
|
for(Card tgtC : tgtCards){
|
||||||
PlayerZone originZone = AllZone.getZone(tgtC);
|
PlayerZone originZone = AllZone.getZone(tgtC);
|
||||||
if (!originZone.is(origin))
|
if (!originZone.is(origin))
|
||||||
@@ -830,7 +837,7 @@ public class AbilityFactory_ChangeZone {
|
|||||||
else{
|
else{
|
||||||
String DrawBack = af.getMapParams().get("SubAbility");
|
String DrawBack = af.getMapParams().get("SubAbility");
|
||||||
Card card = sa.getSourceCard();
|
Card card = sa.getSourceCard();
|
||||||
CardFactoryUtil.doDrawBack(DrawBack, 0, card.getController(), card.getController().getOpponent(), card.getController(), card, null, sa);
|
CardFactoryUtil.doDrawBack(DrawBack, 0, card.getController(), card.getController().getOpponent(), card.getController(), card, targetCard, sa);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user