Card-Forge / Card-Forge/forge

Arboria rework

Open
#5,137 4 comments 0 reactions 0 assignees View on GitHub
Card Patch keep
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.