Remember meld and merged cards for ChangeZoneAll effect

This commit is contained in:
Lyu Zong-Hong
2021-03-06 10:15:04 +09:00
parent c721bd953b
commit 16ed4fa97a
2 changed files with 33 additions and 1 deletions

View File

@@ -199,10 +199,29 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect {
} }
if (remember != null) { if (remember != null) {
game.getCardState(source).addRemembered(movedCard); final Card newSource = game.getCardState(source);
newSource.addRemembered(movedCard);
if (!source.isRemembered(movedCard)) { if (!source.isRemembered(movedCard)) {
source.addRemembered(movedCard); source.addRemembered(movedCard);
} }
if (c.getMeldedWith() != null) {
Card meld = game.getCardState(c.getMeldedWith(), null);
if (meld != null) {
newSource.addRemembered(meld);
if (!source.isRemembered(meld)) {
source.addRemembered(meld);
}
}
}
if (c.hasMergedCard()) {
for (final Card card : c.getMergedCards()) {
if (card == c) continue;
newSource.addRemembered(card);
if (!source.isRemembered(card)) {
source.addRemembered(card);
}
}
}
} }
if (remLKI && movedCard != null) { if (remLKI && movedCard != null) {
final Card lki = CardUtil.getLKICopy(c); final Card lki = CardUtil.getLKICopy(c);

View File

@@ -1312,6 +1312,19 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
if (originZone != null) { if (originZone != null) {
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), movedCard); triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), movedCard);
if (c.getMeldedWith() != null) {
Card meld = game.getCardState(c.getMeldedWith(), null);
if (meld != null) {
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), meld);
}
}
if (c.hasMergedCard()) {
for (final Card card : c.getMergedCards()) {
if (card == c) continue;
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), card);
}
}
} }
if (champion) { if (champion) {