servatrice/oracle/src
Basile Clement 42e7a8b423
Better support Double-Faced Cards (#4753)
* Better support Double-Faced Cards

This patch allows cards to be (virtually) transformed into other cards
while preserving their state, essentially implemeting the MTG mechanic
of the same name.

On the server side, this is implemented by allowing cards to be "stashed
away". A card that is stashed away is not in any zone, but is instead
owned by another card. When a token is destroyed due to a zone change,
if it had a card stashed away, that card is placed in the target zone
instead of the token.

On the database side, `attach="transform"` is used on `<reverse>` and
`<reverse-related>` to indicate that the created token should be
transformed this way.

Old servers ignore the new field in `Command_CreateToken` and will
perform a regular attachment, as currently.

* Address review comments

* Prevent tokens from being stashed

* format.sh
2023-03-03 16:54:51 +01:00
..
lzma [WIP] Basic mtgjsonv4 support (#3458) 2018-12-20 18:05:03 -05:00
qt-json Support Qt6, Min Qt5.8, Fix Win32, Fix Servatrice 2022-05-06 17:31:08 -04:00
zip remove dependency on deprecated qt5 libraries for qt6 (#4692) 2022-10-31 23:24:11 +01:00
main.cpp remove dependency on deprecated qt5 libraries for qt6 (#4692) 2022-10-31 23:24:11 +01:00
main.h workaround for foreign card arts getting priority by default (#3652) 2019-03-12 10:12:31 +01:00
oracleimporter.cpp Better support Double-Faced Cards (#4753) 2023-03-03 16:54:51 +01:00
oracleimporter.h Support MTGJSONv5 format in Oracle downloader (#4162) 2020-11-23 16:12:41 -05:00
oraclewizard.cpp Support Qt6, Min Qt5.8, Fix Win32, Fix Servatrice 2022-05-06 17:31:08 -04:00
oraclewizard.h Support Qt6, Min Qt5.8, Fix Win32, Fix Servatrice 2022-05-06 17:31:08 -04:00
pagetemplates.cpp Support MTGJSONv5 format in Oracle downloader (#4162) 2020-11-23 16:12:41 -05:00
pagetemplates.h Misc startup improvement (#3740) 2019-06-02 21:47:37 -04:00