Card-Forge / Card-Forge/forge

Old border occasional wrong printings showing up

Open
#9,238 8 comments 0 reactions 0 assignees View on GitHub
Adventure keep
Dominant language
Java
Stars
2.7k
Forks
1.1k
Avg merge
1d 1h
Merged PRs (30d)
163

Description

Dear devs, *old border mod* has an issue that can't be resolved in the config folder. It's with how `allowedEditions` is processed in

`forge-core/src/main/java/forge/item/PaperCardPredicates.java` (lines 67-92)

**Method: **`printedInAnyEditions() `

**Problem: **The predicate checks if the card name was printed in any allowed edition, then allows all printings of that card to pass - including printings from disallowed editions.

**Example:** `Badlands|30A` passes because Badlands exists in 3ED (allowed), but the actual card object is from 30A (not allowed).

**Fix: **We could change line 91 from:
`return passes;`
to:
`return editions.contains(card.getEdition());`

I think this fix shouldn't affect vanilla adventure because it doesn't use `allowedEditions` and so this predicate isn't called.

I've tried to solve it by inverting and using `restrictedEditions` instead, but then for some reason the PRM (Magic Online Promos) set forces its way in, even passed the `restrictedEditions` filter. And then there is a noticable lag when entering towns, maybe because the filter list is so long and I have to manually restrict a bunch more individual cards.

For old border and other planes mods, it would be preferential to use `allowedEditions`, because then we don't have to update config.json when a new set comes out.

Maybe there's a better solution I am not seeing.

Thanks for your help!

Image

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.