Adventure Overhaul +custom border +paritions (#47)

ADVENTURE OVERHAUL
* Adventures can now customize both halves of the card, allowing for two pages.
* Each side can be an Adventure page, an Adventure page with only a name, a full text page, a flattened Adventure page, a flattened page with only the name, or blank.
* A decorations field has been set up, which allows adding additional flair around the pages to help set variants apart.
* Also we have better page images now.

PARTITIONS
* Partitions are finally live!
* Frames can add the card field "partition select" to access partition code, no additional scripting is needed.
* MSE handles partitions 0-9 and A-Z. Assign cards partitions 0-9 to sort before the default count at A, B-M to sort after it, and N-Z to sort after it and not be counted in the main set count, for card numbers like 301/300.
* The Set field "last main partition" allows the user to change the behavior by putting a replacement for M in the option.
* Card numbers default to the March of the Machine numbering of "0001" now
* But 001/099, 001, 1/99, 1, and 1000/0099 are now supported, with a second option to set overcounted cards to display with or without the main set count.
* Currently this is supported on M15 Mainframe and M15 Adventures. The rest are coming soon.

EXTRA THING
* Added Custom Border support to M15 Mainframe and M15 Adventures, which let you use magic-mainframe-extras to set up an additional border frame akin to Nyx and Vehicle. This is the finalized version used for Revolution's Ruin and Colorless frames.

BACKEND STUFF
* Adventures is trying out some new backend stuff that will get expanded upon in the coming patches:
* retooled the Landless array to be less jank
* retooled the template script a little to make it easier to hook out images with complicated links, most notably user-submitted ones like custom crowns and custom borders
* blend masks are now in their own folder
* discovered that 'styling.name or else ""' is legal code in script, which means we can make adding style options to frames *way* easier. the entire custom font code is now offloaded to scripts, and templates can access it without needing to copy paste anything beyond the styling field.

---------

Co-authored-by: cajun <12363371+CajunAvenger@users.noreply.github.com>
This commit is contained in:
cajun
2024-05-11 03:08:50 -05:00
committed by GitHub
parent 3b97d6c2f0
commit e43fb95077
317 changed files with 1147 additions and 520 deletions

View File

@@ -113,126 +113,48 @@ init script:
archetype_image := {is_archetype() and contains(styling.other_options, match:"archetype image")}
use_drop_shadow := {is_weird_token() and contains(styling.other_options, match:"state drop shadow")}
# alternate rarity color
alt_rarity := {styling.alt_rarity_color}
### Customize fonts
swap_font := {styling.apply_custom_fonts}
name_font := {
swap_font_name(
src:styling.custom_name_font,
font_name: if is_archetype() then "Gotham Medium" else if is_copy() or mtgo_abil() then "Beleren Bold" else "Beleren Small Caps Bold"
)
}
name_font_size := {
swap_font_size(
src:styling.custom_name_font,
font_size: if is_archetype() then 9 else if is_copy() or mtgo_abil() then 18 else 19
) - shrink_name()
}
name_font_color := {
swap_font_color(
src: styling.custom_name_font,
font_color: if is_weird_token() then "white" else if is_m20() and card.card_color == "white" and not is_clear() then "black" else if is_m20() then "white" else rgb(255,239,128)
)
}
name_font_vertical := {
swap_font_vertical(
src: styling.custom_name_font
)
}
name_font_italic := {
swap_font_italic(
src: styling.custom_name_font
)
}
type_font := {
swap_font_name(
src:styling.custom_type_font,
font_name: "Beleren Bold"
)
}
type_font_size := {
swap_font_size(
src:styling.custom_type_font,
font_size: 14
) - shrink_type()
}
type_font_color := {
swap_font_color(
src: styling.custom_type_font,
font_color: if mtgo_abil() then rgb(255,239,128) else "black"
)
}
type_font_vertical := {
swap_font_vertical(
src: styling.custom_type_font
)
}
type_font_italic := {
swap_font_italic(
src: styling.custom_type_font
)
}
body_font := {
swap_font_name(
src:styling.custom_body_font,
font_name: if is_archetype() then "Gotham Pro" else "MPlantin"
)
}
body_font_size := {
swap_font_size(
src:styling.custom_body_font,
font_size: if styling.shrink_font_size != "" then 14 - to_number(styling.shrink_font_size) else 14
)
}
body_font_color := {
swap_font_color(
src: styling.custom_body_font,
font_color: if white_state_font() then "white" else "black"
)
}
body_font_vertical := {
swap_font_vertical(
src: styling.custom_body_font
)
}
body_font_italic := {
swap_font_italic(
src: styling.custom_body_font
)
}
pt_font := {
swap_font_name(
src:styling.custom_pt_font,
font_name: "Beleren Bold"
)
}
pt_font_size := {
swap_font_size(
src:styling.custom_pt_font,
font_size: 16
)
}
pt_font_color := {
swap_font_color(
src: styling.custom_pt_font,
font_color: if is_vehicle() then "white" else "black"
)
}
pt_font_vertical := {
swap_font_vertical(
src: styling.custom_pt_font
)
}
pt_font_italic := {
swap_font_italic(
src: styling.custom_pt_font
)
}
swap_fonts_type_default := [
name: {
if is_archetype() then "Gotham Medium"
else if is_copy() or mtgo_abil() then "Beleren Bold"
else "Beleren Small Caps Bold"
},
size: {
if is_archetype() then 9
else if is_copy() or mtgo_abil() then 18
else 19
},
color: {
if is_weird_token() then "white"
else if is_m20() and card.card_color == "white" and not is_clear() then "black"
else if is_m20() then "white"
else rgb(255,239,128)
},
vertical: {0},
italic: {""}
]
swap_fonts_type_default := [
name: {"Beleren Bold"},
size: {13},
color: {if mtgo_abil() then rgb(255,239,128) else "black"},
vertical: {0},
italic: {""}
]
swap_fonts_body_default := [
name: {if is_archetype() then "Gotham Pro" else "MPlantin"},
size: 14,
color: {if white_state_font() then "white" else "black"},
vertical: 0,
italic: "MPlantin-Italic"
]
swap_fonts_pt_default := [
name: {"Beleren Bold"},
size: {16},
color: {if is_vehicle() then "white" else "black"},
vertical: {0},
italic: {""}
]
############################################################## Set info fields
set info style:
symbol: