forked from External/mage
Token's zone change counter (ZCC) improves:
* Now token's zcc uses same logic as card's zcc: enters to battlefield with +1 zcc instead +0 zcc * It can improve support of copied spells that store zcc related data (bug example: lost kicked status for copied spell/token); * Kicker abilities - improved support with copied creature spells (example: Verazol, the Split Current, #7431, #7433); * Refactor: simplified kicker code;
This commit is contained in:
parent
3eb57eade9
commit
f38639e1db
24 changed files with 262 additions and 177 deletions
|
|
@ -328,6 +328,7 @@ public final class ZonesHandler {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!game.replaceEvent(event)) {
|
||||
Zone fromZone = event.getFromZone();
|
||||
if (event.getToZone() == Zone.BATTLEFIELD) {
|
||||
|
|
@ -382,6 +383,11 @@ public final class ZonesHandler {
|
|||
}
|
||||
}
|
||||
if (success) {
|
||||
// change ZCC on real enter
|
||||
// warning, tokens creation code uses same zcc logic as cards (+1 zcc on enter to battlefield)
|
||||
// so if you want to change zcc logic here (but I know you don't) then change token code
|
||||
// too in TokenImpl.putOntoBattlefieldHelper
|
||||
// KickerTest do many tests for token's zcc
|
||||
if (event.getToZone() == Zone.BATTLEFIELD && event.getTarget() != null) {
|
||||
event.getTarget().updateZoneChangeCounter(game, event);
|
||||
} else if (!(card instanceof Permanent)) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue