Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

need guideline for double sided cards #549

Closed
mmougy opened this issue Nov 23, 2024 · 8 comments · Fixed by #572
Closed

need guideline for double sided cards #549

mmougy opened this issue Nov 23, 2024 · 8 comments · Fixed by #572

Comments

@mmougy
Copy link
Contributor

mmougy commented Nov 23, 2024

Main scheme are double sided.
Some of them are described in the code as 2 different card (i mean 2 json objects)
but the display is not great, see Protect the Planet

Currently the display is much better when both sides are described in the same json object
seeThe Sentinel Factory - 1A

What is the correct guideline for main scheme?
and more generally What is the correct guideline for double sided cards?

Protect the Planet
image
image

The Sentinel Factory - 1A
image
image

this is linked to #464

@Kamalisk
Copy link
Collaborator

So the double_sided flag is when a card has the same type on both sides (and is the old original way we did scenario cards in arkham), when you use the double_sided flag, you also put the back_ fields into the json for the other side.

This worked great but did not for cards where the two sides were different card types entirely, so for those instead of using the double_sided flag, you instread create 2 entirely seperate cards (usually a and b), then link them to each other using back_link.

The issue is that people often put the double_sided flag and also use the back_link, this causes it to not display correctly at all.
Its entirely my fault for not documenting it.

as for the schemes, the "front" is A, and that is the side with the setup, and the "back" has the threat values. So I think the code is designed to flip that around, but the image names are often not the correct way around either, and it leads to a bit of a mess.

Either method is probably fine (I would stick to the double_sided method and not use back_link unless the back of the scheme is an upgrade or something).

@mmougy
Copy link
Contributor Author

mmougy commented Nov 23, 2024

Thanks for the explanation

So the easy part is to clean up the code, removing double_sided property when using back_link : #550

@mmougy
Copy link
Contributor Author

mmougy commented Nov 24, 2024

Regarding the inversions that happen often, here is what I noticed to help debug:

Most of main scheme use the double_sided method, and 100% of them use the "front" to describe the B face.
ex. Stalked by Sabretooth - 1A

Some main scheme use the back_link method, and use the "front" to describe the A face
ex. Terrestrial Invasion - 1A

I've found one card perfectly displayed: Formidable Foe
it uses the double_sided method, and use the "front" to describe the A face.
it is an environment type, maybe it explains something?

let me know if i can help

@Kamalisk
Copy link
Collaborator

It might be that it has always been the wrong way round.

@Kamalisk
Copy link
Collaborator

https://marvelcdb.com/card/01097 is displayed correctly, but that is because the side that should be A, has the image named B, so it stemmed from that I imagine, and images after the core set are named more correctly.

@mmougy
Copy link
Contributor Author

mmougy commented Nov 24, 2024

I can invert front and back, for all side schemes using double_sided method

@mmougy
Copy link
Contributor Author

mmougy commented Nov 24, 2024

The inversion behaviour is specific to main scheme type:

https://github.com/zzorba/marvelsdb/blob/e4cc2ca74fc5358c800d68112fcfe03a242c8382/src/AppBundle/Resources/views/Search/display-card.html.twig#L18
image

It is easy to fix on marvelsdb
but it will impact most pack files marvelsdb-json-data, and translation files

@mmougy
Copy link
Contributor Author

mmougy commented Nov 25, 2024

I can invert front and back, for all side schemes using double_sided method

in fact it is a bad idea because the double_sided method does not support many properties:

  • escalation_threat
  • base_threat
  • base_threat_fixed
    ...

The best solution is to use back_link method on all main schemes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants