Arboria rework
- Dominant language
- Java
- Stars
- 2.7k
- Forks
- 1.1k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 163
Description
This took a while since I was looking for some synergy with existing stuff ;)
Imo you could refactor it slightly to improve _Arboria_:
> Creatures can’t attack a player unless that player cast a spell or put a nontoken permanent onto the battlefield during their last turn.
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 though.
`Player` already stores a `lastTurnNr`, 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 in `Zone` in the same way.
However there's a subtle difference:
> Arboria’s effect cares whether a player put a nontoken permanent onto the battlefield. It’s unusual for an ability to care who put a permanent onto the battlefield, as opposed to under whose control it entered.
This can matter if you look for effects like this:
> When Petradon leaves the battlefield, return the exiled cards to the battlefield under their owners’ control.
➡️ 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_
Contributor guide
Assessment
This issue has not been assessed yet.