mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
Merge pull request #442 from tool4ever/changeszoneall
PlayEffect: add TriggerChangesZoneAll
This commit is contained in:
@@ -25,6 +25,7 @@ import forge.game.ability.SpellAbilityEffect;
|
|||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CardCollection;
|
import forge.game.card.CardCollection;
|
||||||
import forge.game.card.CardFactoryUtil;
|
import forge.game.card.CardFactoryUtil;
|
||||||
|
import forge.game.card.CardZoneTable;
|
||||||
import forge.game.cost.Cost;
|
import forge.game.cost.Cost;
|
||||||
import forge.game.cost.CostDiscard;
|
import forge.game.cost.CostDiscard;
|
||||||
import forge.game.cost.CostPart;
|
import forge.game.cost.CostPart;
|
||||||
@@ -321,6 +322,9 @@ public class PlayEffect extends SpellAbilityEffect {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final CardZoneTable triggerList = new CardZoneTable();
|
||||||
|
final Zone originZone = tgtCard.getZone();
|
||||||
|
|
||||||
// lands will be played
|
// lands will be played
|
||||||
if (tgtSA instanceof LandAbility) {
|
if (tgtSA instanceof LandAbility) {
|
||||||
tgtSA.resolve();
|
tgtSA.resolve();
|
||||||
@@ -335,6 +339,13 @@ public class PlayEffect extends SpellAbilityEffect {
|
|||||||
if (forget) {
|
if (forget) {
|
||||||
source.removeRemembered(tgtCard);
|
source.removeRemembered(tgtCard);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Zone currentZone = game.getCardState(tgtCard).getZone();
|
||||||
|
if (!originZone.equals(currentZone)) {
|
||||||
|
triggerList.put(originZone.getZoneType(), currentZone.getZoneType(), game.getCardState(tgtCard));
|
||||||
|
}
|
||||||
|
triggerList.triggerChangesZoneAll(game, sa);
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -422,6 +433,12 @@ public class PlayEffect extends SpellAbilityEffect {
|
|||||||
if (forget) {
|
if (forget) {
|
||||||
source.removeRemembered(tgtCard);
|
source.removeRemembered(tgtCard);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Zone currentZone = game.getCardState(tgtCard).getZone();
|
||||||
|
if (!originZone.equals(currentZone)) {
|
||||||
|
triggerList.put(originZone.getZoneType(), currentZone.getZoneType(), game.getCardState(tgtCard));
|
||||||
|
}
|
||||||
|
triggerList.triggerChangesZoneAll(game, sa);
|
||||||
}
|
}
|
||||||
|
|
||||||
amount--;
|
amount--;
|
||||||
|
|||||||
Reference in New Issue
Block a user