Open tool4ever opened 4 months ago
It might be a bit more problematic than I thought since we can't just always check for the Cause controller instead. Some cards will make different players do the moving, e. g. Second Sunrise:
Each player returns to the battlefield all...
So looks like we'll need an additional param. But I'm not sure yet if one of the cases is more common, so that making it the default one would hopefully avoid lots of script adjustments 🤔
I stumbled upon Land Equilibrium:
This effect applies no matter how the land would enter the battlefield: because an opponent plays it, or because a spell or ability allows that opponent to put it onto the battlefield. Note that it doesn’t matter whose control the land enters the battlefield under. If the opponent would put the land onto the battlefield under someone else’s control (as a result of Yavimaya Dryad’s ability, for example), that opponent will still have to sacrifice a land.
@Fulgur14 do you know any other cards that need "Card Putter" info?
@tool4ever I'm not aware of it...
Imo you could refactor it slightly to improve Arboria:
Currently both parts only work as bare minimum (static trigger counting) :/
For the casting check it might be easier to consolidate everything in a MagicStack Map <int turnNr, Spells> though.
Player
already stores alastTurnNr
, so with that you could just collect all the relevant entries?I think we can still get away with periodic cleanup for memory, just the lower bound now being the minimum of each players last turn number (instead of the global last)
For the other check I was concerned we'd need to store additional
cardsAddedLastTurn
fields inZone
in the same way. However there's a subtle difference:This can matter if you look for effects like this:
➡️ Here the trigger controller moves the cards, but they can ETB under another.
Since this seems to be also pretty unique it might be easier to have this counted simply as boolean.
While changing this PR for that obscure World would be helpful, feel free to resolve via a new issue after (or even before hehe).
WDYT?
_Originally posted by @tool4ever in https://github.com/Card-Forge/forge/pull/4900#discussion_r1559687924_