- Fixed Essence of the Wild still making the card enter the battlefield as a copy of itself even if it's destroyed in response to a creature spell going on stack.

- This is related to the way ReplaceMoved effects are handled, currently it's a hacky solution that tries to get the best of both worlds (e.g. effects like Kalitas + Wrath of God to function correctly *and* ETB replacement effects like Essence of the Wild to function correctly). Most likely this needs some (serious) rework to get it working correctly in all cases without the need for special exclusions.
- Updated CHANGES.txt known issues accordingly.
This commit is contained in:
Agetian
2017-01-13 17:11:14 +00:00
parent c08d7e04a5
commit fe64e7b451
2 changed files with 5 additions and 2 deletions

View File

@@ -114,7 +114,10 @@ public class ReplacementHandler {
// when testing ReplaceMoved effects, make sure to check last known information since the host card
// could have been moved, e.g. via a mass removal event (e.g. Kalitas, Traitor of Ghet + Wrath of God)
Zone cardZone = replacementEffect instanceof ReplaceMoved ? game.getChangeZoneLKIInfo(crd).getLastKnownZone() : game.getZoneOf(crd);
// TODO: currently excluding ETB triggers to avoid issues like e.g. Essence of the Wild destroyed in
// response to a creature spell going on stack still making the card ETB as a copy of the Essence.
// This probably needs some rework to allow both to function correctly without the need for hacks.
Zone cardZone = replacementEffect instanceof ReplaceMoved && !"Battlefield".equals(replacementEffect.getMapParams().get("Destination")) ? game.getChangeZoneLKIInfo(crd).getLastKnownZone() : game.getZoneOf(crd);
if (!replacementEffect.hasRun()
&& replacementEffect.getLayer() == layer

View File

@@ -47,7 +47,7 @@ There is a known issue with the cost reduction for cards that have color-locked
Currently Improvise is implemented as a "clone" of Convoke keyword, which does not work correctly in corner cases (for example, together with an instance of Convoke or Delve). This is planned to be addressed soon.
Essence of the Wild works wrong in the following corner case: when a creature spell is cast and Essence of the Wild is destroyed while the creature spell is on the stack, the creature still enters the battlefield as a copy of Essence of the Wild even though the Essence is already in the graveyard.
Replacement effects that happen when a card moves from zone to zone (e.g. ETB replacement effect of Essence of the Wild; Kalitas, Traitor of Ghet replacement effect for a dying creature) need some rework to allow all of them to work in a rule-exact way without the need for special exclusions and hacks (see ReplacementHandler.java:120).
There is a known issue that allows Qasali Ambusher to be cast from any zone for its ambush ability (requires MayPlay update to be fixed). For now, a temporary measure was set up to prevent the AI from abusing this issue, but it is up to the human player to deliberately choose not to abuse this when possible.