mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
ChangeZoneEffect: add Meld and Mutate for TriggerChangesZoneAll
This commit is contained in:
@@ -223,6 +223,19 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect {
|
|||||||
|
|
||||||
if (!movedCard.getZone().equals(originZone)) {
|
if (!movedCard.getZone().equals(originZone)) {
|
||||||
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 cm : c.getMergedCards()) {
|
||||||
|
if (cm == c) continue;
|
||||||
|
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), cm);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -728,16 +728,28 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!movedCard.getZone().equals(originZone)) {
|
if (!movedCard.getZone().equals(originZone)) {
|
||||||
|
Card meld = null;
|
||||||
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), movedCard);
|
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), movedCard);
|
||||||
|
|
||||||
|
if (gameCard.getMeldedWith() != null) {
|
||||||
|
meld = game.getCardState(gameCard.getMeldedWith(), null);
|
||||||
|
if (meld != null) {
|
||||||
|
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), meld);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (gameCard.hasMergedCard()) {
|
||||||
|
for (final Card c : gameCard.getMergedCards()) {
|
||||||
|
if (c == gameCard) continue;
|
||||||
|
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (remember != null) {
|
if (remember != null) {
|
||||||
hostCard.addRemembered(movedCard);
|
hostCard.addRemembered(movedCard);
|
||||||
// addRememberedFromCardState ?
|
// addRememberedFromCardState ?
|
||||||
if (gameCard.getMeldedWith() != null) {
|
if (meld != null) {
|
||||||
Card meld = game.getCardState(gameCard.getMeldedWith(), null);
|
hostCard.addRemembered(meld);
|
||||||
if (meld != null) {
|
|
||||||
hostCard.addRemembered(meld);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (gameCard.hasMergedCard()) {
|
if (gameCard.hasMergedCard()) {
|
||||||
for (final Card c : gameCard.getMergedCards()) {
|
for (final Card c : gameCard.getMergedCards()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user