card_fields rewrite and magic-modules.mse-include (#21)

Overhauls the card_fields file to allow for template designers more freedom in manipulating data.

Adds magic-modules.mse-include, a large scale include file for building templates in a standardized way. Applying this to existing frames will be coming in future updates.
This commit is contained in:
GenevensiS
2024-05-25 00:57:47 +02:00
committed by GitHub
parent 44b059e2f7
commit fd4b8e4c89
1195 changed files with 13325 additions and 3633 deletions

View File

@@ -0,0 +1,126 @@
mainframe_walker := { loyalty_text_field_1() <= 1 or loyalty_text_field_2() <= 1 }
mainframe_walkerb := { loyalty_text_field_1() == 2 or loyalty_text_field_2() == 2 }
mainframe_walkerc := { loyalty_text_field_1() == 3 or loyalty_text_field_2() == 3 }
mainframe_walkerd := { loyalty_text_field_1() == 4 or loyalty_text_field_2() == 4 }
mainframe_walker_text_script :=
{
if loyalty_text_field_1() <= 1 then
(
count := loyalty_abilities_count(instance: 1)
if count == 8 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text, separator6: "<line>\n</line>", field7: card.level_7_text, separator7: "<line>\n</line>", field8: card.level_8_text)
else if count == 7 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text, separator6: "<line>\n</line>", field7: card.level_7_text)
else if count == 6 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text)
else if count == 5 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text)
else if count == 4 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text)
else if count == 3 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text)
else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text)
else forward_editor(field: card.level_1_text)
)
else
(
count := loyalty_abilities_count(instance: 2)
if count == 8 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text, separator6: "<line>\n</line>", field7: card.level_15_text, separator7: "<line>\n</line>", field8: card.level_16_text)
else if count == 7 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text, separator6: "<line>\n</line>", field7: card.level_15_text)
else if count == 6 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text)
else if count == 5 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text)
else if count == 4 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text)
else if count == 3 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text)
else if count == 2 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text)
else forward_editor(field: card.level_9_text)
)
}
mainframe_walker_text_scriptb :=
{
if loyalty_text_field_1() == 2 then
(
count := loyalty_abilities_count(instance: 1)
if count == 8 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text, separator6: "<line>\n</line>", field7: card.level_7_text, separator7: "<line>\n</line>", field8: card.level_8_text)
else if count == 7 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text, separator6: "<line>\n</line>", field7: card.level_7_text)
else if count == 6 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text)
else if count == 5 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text)
else if count == 4 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text)
else if count == 3 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text)
else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text)
else forward_editor(field: card.level_1_text)
)
else
(
count := loyalty_abilities_count(instance: 2)
if count == 8 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text, separator6: "<line>\n</line>", field7: card.level_15_text, separator7: "<line>\n</line>", field8: card.level_16_text)
else if count == 7 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text, separator6: "<line>\n</line>", field7: card.level_15_text)
else if count == 6 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text)
else if count == 5 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text)
else if count == 4 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text)
else if count == 3 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text)
else if count == 2 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text)
else forward_editor(field: card.level_9_text)
)
}
mainframe_walker_text_scriptc :=
{
if loyalty_text_field_1() == 3 then
(
count := loyalty_abilities_count(instance: 1)
if count == 8 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text, separator6: "<line>\n</line>", field7: card.level_7_text, separator7: "<line>\n</line>", field8: card.level_8_text)
else if count == 7 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text, separator6: "<line>\n</line>", field7: card.level_7_text)
else if count == 6 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text)
else if count == 5 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text)
else if count == 4 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text)
else if count == 3 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text)
else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text)
else forward_editor(field: card.level_1_text)
)
else
(
count := loyalty_abilities_count(instance: 2)
if count == 8 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text, separator6: "<line>\n</line>", field7: card.level_15_text, separator7: "<line>\n</line>", field8: card.level_16_text)
else if count == 7 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text, separator6: "<line>\n</line>", field7: card.level_15_text)
else if count == 6 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text)
else if count == 5 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text)
else if count == 4 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text)
else if count == 3 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text)
else if count == 2 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text)
else forward_editor(field: card.level_9_text)
)
}
mainframe_walker_text_scriptd :=
{
if loyalty_text_field_1() == 4 then
(
count := loyalty_abilities_count(instance: 1)
if count == 8 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text, separator6: "<line>\n</line>", field7: card.level_7_text, separator7: "<line>\n</line>", field8: card.level_8_text)
else if count == 7 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text, separator6: "<line>\n</line>", field7: card.level_7_text)
else if count == 6 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text, separator5: "<line>\n</line>", field6: card.level_6_text)
else if count == 5 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text, separator4: "<line>\n</line>", field5: card.level_5_text)
else if count == 4 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text, separator3: "<line>\n</line>", field4: card.level_4_text)
else if count == 3 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text)
else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "<line>\n</line>", field2: card.level_2_text)
else forward_editor(field: card.level_1_text)
)
else
(
count := loyalty_abilities_count(instance: 2)
if count == 8 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text, separator6: "<line>\n</line>", field7: card.level_15_text, separator7: "<line>\n</line>", field8: card.level_16_text)
else if count == 7 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text, separator6: "<line>\n</line>", field7: card.level_15_text)
else if count == 6 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text, separator5: "<line>\n</line>", field6: card.level_14_text)
else if count == 5 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text, separator4: "<line>\n</line>", field5: card.level_13_text)
else if count == 4 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text, separator3: "<line>\n</line>", field4: card.level_12_text)
else if count == 3 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text, separator2: "<line>\n</line>", field3: card.level_11_text)
else if count == 2 then combined_editor(field1: card.level_9_text, separator1: "<line>\n</line>", field2: card.level_10_text)
else forward_editor(field: card.level_9_text)
)
}
margin_left :=
{
number := to_int(replace(input, match: "lv", replace: "")) or else 999
if number > 16 or card["loyalty_cost_" + number] == "" then 0 else (
instance := if number < 9 then 1 else if number < 17 then 2 else 3
to_int(190 * r_width() + (loyalty_cost_offset_left() + loyalty_cost_offset_width() + loyalty_cost_offset_text_margin()) * 10))
}
text_filter := text_filter + { apply_margins(input, name: margin_code) } + { add_spacers(input, name: margin_code) }
add_spacers :=
{
#The 'then ""' has a zero-width space inside
if input == "" and loyalty_level_is_active(name) then ""
else input
}