From 94b8383b32952cedd9cf41fefce1ad69f7126bfd Mon Sep 17 00:00:00 2001 From: cajun Date: Sat, 4 Nov 2023 20:53:05 -0500 Subject: [PATCH] Scripts for card numbers Add partition support Add MOM card number support Add Stamp support No templates utilize these just yet --- data/magic.mse-game/script | 140 +++++++++++++-------- data/magic.mse-game/set_fields | 18 +++ data/magic.mse-game/stamps/acorn.png | Bin 0 -> 13066 bytes data/magic.mse-game/stamps/alchemy.png | Bin 0 -> 15519 bytes data/magic.mse-game/stamps/alchemy_old.png | Bin 0 -> 8762 bytes data/magic.mse-game/stamps/foil.png | Bin 0 -> 15032 bytes data/magic.mse-game/stamps/ub.png | Bin 0 -> 10364 bytes 7 files changed, 107 insertions(+), 51 deletions(-) create mode 100644 data/magic.mse-game/stamps/acorn.png create mode 100644 data/magic.mse-game/stamps/alchemy.png create mode 100644 data/magic.mse-game/stamps/alchemy_old.png create mode 100644 data/magic.mse-game/stamps/foil.png create mode 100644 data/magic.mse-game/stamps/ub.png diff --git a/data/magic.mse-game/script b/data/magic.mse-game/script index 967242d32..9072dd82d 100644 --- a/data/magic.mse-game/script +++ b/data/magic.mse-game/script @@ -1,6 +1,7 @@ ############################################################## Localization include file: language + # needed by all style files anyway include file: /magic-blends.mse-include/new-blends @@ -390,6 +391,23 @@ card_count := { #Starting with M15, zero digits in card numbers should be shown up to three. card_number_m15 := { (if card_number() < 100 then "0" else "") + (if card_number() < 10 then "0" else "") + card_number() } card_count_m15 := { (if card_count() < 100 then "0" else "") + (if card_count() < 10 then "0" else "") + card_count() } +#Starting with MOM, zero digits in card numbers should be shown up to four +card_number_mom := { (if card_number() < 1000 then "0" else "") + (if card_number() < 100 then "0" else "") + (if card_number() < 10 then "0" else "") + card_number() } + +card_number_script_core := { + if is_unsorted() or not set.automatic_card_numbers then + combined_editor(field1: card.custom_card_number, separator: " " + rarity_code() + " ", field2: card.card_code_text) + else if set.card_number_style == "0001" then + forward_editor(prefix: rarity_code() + " " + card_number_mom() + " ", field: card.card_code_text) + else if set.card_number_style == "001/099" then + forward_editor(prefix: card_number_m15() + (if over_partition() then "" else "/" + card_count_m15()) + " " + rarity_code() + " ", field: card.card_code_text) + else if set.card_number_style == "001" then + forward_editor(prefix: card_number_m15() + " " + rarity_code() + " ", field: card.card_code_text) + else if set.card_number_style == "1/99" then + forward_editor(prefix: card_number() + (if over_partition() then "" else "/" + card_count()) + " " + rarity_code() + " ", field: card.card_code_text) + else + forward_editor(prefix: card_number() + " " + rarity_code() + " ", field: card.card_code_text) +} # used by pack scripts is_token_card := { card.shape == "token" or card.shape == "rulestip" or card.shape == "counter" or card.shape == "checklist" or card.shape == "emblem"} @@ -499,61 +517,62 @@ color_to_mana := replace@(match: "white", replace: "[W]")+ replace@(match: "red", replace: "[R]")+ replace@(match: "green", replace: "[G]") +digital_map := [ + "zero": 0, + "one": 1, + "once": 1, + "a": 1, + "an": 1, + "two": 2, + "twice": 2, + "three": 3, + "thrice": 3, + "four": 4, + "five": 5, + "six": 6, + "seven": 7, + "eight": 8, + "nine": 9, + "ten": 10, + "eleven": 11, + "twelve": 12, + "thirteen": 13, + "fourteen": 14, + "fifteen": 15, + "sixteen": 16, + "seventeen": 17, + "eighteen": 18, + "nineteen": 19, + "twenty": 20, + "thirty": 30, + "forty": 40, + "fifty": 50, + "sixty": 60, + "seventy": 70, + "eighty": 80, + "ninety": 90 +] iterate_fix := remove_tags +replace@(match: "^\\.", replace:"") +replace@(match: "^,", replace:"") - +replace@(match: "^[ ]$", replace:"") -iterate_trim := replace@(match:" times", replace:""); + +replace@(match: "^[ ]", replace:"") + +replace@(match:" times", replace:"") iterate_digits := { - if iterate_trim(iterate_fix(input)) == "" then "1" - else if iterate_trim(iterate_fix(input)) == " one" then "1" - else if iterate_trim(iterate_fix(input)) == " once" then "1" - else if iterate_trim(iterate_fix(input)) == " two" then "2" - else if iterate_trim(iterate_fix(input)) == " twice" then "2" - else if iterate_trim(iterate_fix(input)) == " three" then "3" - else if iterate_trim(iterate_fix(input)) == " four" then "4" - else if iterate_trim(iterate_fix(input)) == " five" then "5" - else if iterate_trim(iterate_fix(input)) == " six" then "6" - else if iterate_trim(iterate_fix(input)) == " seven" then "7" - else if iterate_trim(iterate_fix(input)) == " eight" then "8" - else if iterate_trim(iterate_fix(input)) == " nine" then "9" - else if iterate_trim(iterate_fix(input)) == " ten" then "10" - else if iterate_trim(iterate_fix(input)) == " eleven" then "11" - else if iterate_trim(iterate_fix(input)) == " twelve" then "12" - else if iterate_trim(iterate_fix(input)) == " thirteen" then "13" - else if iterate_trim(iterate_fix(input)) == " fourteen" then "14" - else if iterate_trim(iterate_fix(input)) == " fifteen" then "15" - else if iterate_trim(iterate_fix(input)) == " sixteen" then "16" - else if iterate_trim(iterate_fix(input)) == " seventeen" then "17" - else if iterate_trim(iterate_fix(input)) == " eighteen" then "18" - else if iterate_trim(iterate_fix(input)) == " nineteen" then "19" - else if iterate_trim(iterate_fix(input)) == " twenty" then "20" - else iterate_trim(iterate_fix(input)) + trimmed := iterate_fix(input) + if trimmed == "" then 1 else digital_map[trimmed] or else trimmed } digital_number := { input := replace(input, match:"up to ", replace:"") - if input == "zero" then 0 - else if input == "one" or input == "a" or input == "an" then 1 - else if input == "two" then 2 - else if input == "three" then 3 - else if input == "four" then 4 - else if input == "five" then 5 - else if input == "six" then 6 - else if input == "seven" then 7 - else if input == "eight" then 8 - else if input == "nine" then 9 - else if input == "ten" then 10 - else if input == "eleven" then 11 - else if input == "twelve" then 12 - else if input == "thirteen" then 13 - else if input == "fourteen" then 14 - else if input == "fifteen" then 15 - else if input == "sixteen" then 16 - else if input == "seventeen" then 17 - else if input == "eighteen" then 18 - else if input == "nineteen" then 19 - else if input == "twenty" then 20 - else input + result := input + two_part := filter_text(input, match:"(twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)") + one_part := filter_text(input, match:"(zero|a|an|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)\\b") + if two_part != "" and one_part != "" then + result := (digital_map[two_part] + digital_map[one_part]) or else input + else if two_part != "" then + result := digital_map[two_part] or else input + else if one_part != "" then + result := digital_map[input] or else input + result } reverse_elements := {for element from 1 to length(input) do input[length(input) - element] + " "} ######################## Level Margins @@ -660,7 +679,7 @@ this_or_that := { this := "this" that := "that" type := input - if input == "type" then type := main_type(card.type) + if input == "type" then type := to_lower(main_type(card.type)) else if is_creaturish(card.type) then type := "creature" if type == "" then type := "permanent" if upper then ( @@ -1183,9 +1202,23 @@ ancestral_mana := { card.pt != "" and card.pt == "" } is_unsorted := {"false"} special_text := { "" } special_text2 := { "" } -exporter_name_filter := filter_text@(match:"!exporte?r?name [^\n!]+") +exporter_name_filter := filter_text@(match:"!exporte?r?name [^\n!(]+") exporter_name_grabber := replace@(match:"!exporte?r?name ", replace:"") -card_name := { replace(if exporter_name_grabber(exporter_name_filter(card.notes)) != "" then exporter_name_grabber(exporter_name_filter(card.notes)) else card.name, match:" $", replace:"") } +clean_name := remove_tags + + replace@(match:"(\n| +$|^ +)", replace:"") + + replace@(match:"’", replace:"'") + +card_name := { + test_name := exporter_name_grabber(exporter_name_filter(card.notes)) + if test_name == "" then test_name := card.name + clean_name(test_name) +} +dfc_splitter_name := { + back_name := card.name_2 + full_name := card_name() + if back_name != "" then full_name := full_name + "_" + clean_name(back_name) + full_name +} exporter_num_filter := filter_text@(match:"!num [^\n!]+") exporter_num_grabber := replace@(match:"!num ", replace:"") trim_zeroes := replace@(match: "^00?", replace: "")+ @@ -1208,6 +1241,11 @@ join := { string := string + (if x == length(input)-1 then closing else "") + input[x] + (if x == length(input)-1 then "" else spacer) string }@(spacer:", ", closing:"and ") +join2 := { + if i >= length(input) then "" + else if i == length(input)-1 then input[i] + else input[i]+sep+join2(input, i: i+1, sep: sep) +}@(i: 0) ar_position := { pos := -1 dummy := for x from 0 to length(in)-1 do ( diff --git a/data/magic.mse-game/set_fields b/data/magic.mse-game/set_fields index f1112d192..04050333e 100644 --- a/data/magic.mse-game/set_fields +++ b/data/magic.mse-game/set_fields @@ -134,6 +134,15 @@ set field: type: boolean name: automatic card numbers description: Should card numbers be shown on the cards? +set field: + type: choice + name: card number style + description: What style of automatic card numbers should be used? + choice: 0001 + choice: 001/099 + choice: 001 + choice: 1/99 + choice: 1 set field: type: text name: card number offsets @@ -447,3 +456,12 @@ default set style: mana symbol options: render style: checklist direction: vertical + default stamp: + render style: both + choice images: + standard: /magic.mse-game/stamps/foil.png + acorn: /magic.mse-game/stamps/acorn.png + universes beyond: /magic.mse-game/stamps/ub.png + alchemy: /magic.mse-game/stamps/alchemy.png + alchemy old: /magic.mse-game/stamps/alchemy_old.png + custom: {if contains(set.custom_stamp_name, match:".png") then "/magic-mainframe-extras.mse-include/"+set.custom_stamp_name else ""} diff --git a/data/magic.mse-game/stamps/acorn.png b/data/magic.mse-game/stamps/acorn.png new file mode 100644 index 0000000000000000000000000000000000000000..69ec7609407095bb4ca95e049954a7ec0d7488e2 GIT binary patch literal 13066 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 literal 0 HcmV?d00001 diff --git a/data/magic.mse-game/stamps/alchemy.png b/data/magic.mse-game/stamps/alchemy.png new file mode 100644 index 0000000000000000000000000000000000000000..0572c18c35fae402cb68d6011608bd125b4d82dd GIT binary patch literal 15519 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

~`E~Li40%!acm97u|1Dm>ZTTHn zUU6F^=U+;t#04mR*~@EeYh-TB`}^ZdLX272Id~X3z#KqE4i+{pMj$H>3nM2Rn=ua$ zI~%Jp5AZKkQZ|lG1~x|EUsNyTOy(~+V;MovR+Fe8T%7aJqc$e5MUn9GEn z6UYu`2eNYfg+jr>{G}5Nto~}%FDl~~Dpn(IRu(WPn33I>)qs(MlZ~B`2WVo#$YIRM z&B_KgFajEZe^dR+1FwjplmG=A6U#q#6s-)LOl%#jU)syu#@N=?@gGO3=GI^pCxc&M zW98!J;&^eIjh%&!=VkE^kUH4G@ukdvv9hu-v9bL=F*f3T`@(7PQf}tf2Bu(UI~&vA z2fq@-`{K?^XbpaK#|!iC{TFX|#T>u}PPPuJwzgIR6u+z``$hS?smS>MY!_ZxTch8C zzrkSRUmf>n&xsnCGXGxkGyhlM|G=bTX6tJ6f5-C==-*jH9GqNj9V`_b6bvoEMo#}V z&wmE~JCpLuv~zTFaF_aTociBz{C^azD4M_1vw*Soj|BQRwFYV0E4g@oD0XbgWGvPL1G~i-qVPxX~ z0}YMXc#OF?IRDw)|3~*YR9U%r+1PnG*#G7pKl85($lsF5|7*m`$?^U*-Tc2sFt60F zK2veFv$HY>JN$DQ{H-ni54gX`|Jj27o%mm2e@Khj+PS|BDKjSpSDXJ*{eJ@dgF)8Z z2yEkM`(K&`O9_o#pXZuUasFSw*$<7zaRLs34YCq|G}R>o9lm2!wdDlmHbQb z{dc(j9j<>V0{;^D-_`Z+aQ#aW_?N){uCD)Y;X?e!Hws{zm)ly`m+uSCs)JtsZx8@$ zC?g>bc>eX9)mD)3vV&kJspSX&ARhjDK?FpgXuoX2IZ4TZ;PxOM@P5yM<4#Q z9-!bc=@-8Ozt+oIgZ6U8d8kzXHGhwvrm|X(j{!ZOx!X?aIEgPYR%ly$M+ul$)sE`8 zNlsB8YZqRR_--@nySyJ?+iN@jc+Q9|gZnZ1V88KOq`A9WM#LclKed$fq#F-qQsf4` zRz$|9mPf;_BnWQNxIlqQmr%2rDzTP&R0V}IW-lAgeDh6);CM*tUg8Dvp$Z75CGIj$ zTNe>K%lBFvKf}x3o$8oiw+UOXxQ8PapfS*(tH9iHm=h=KUOj395{X4z_y(nfjHG`D3;5 z3@z2e#^}dgUkK!JzsfoE;(3gY<6`TLr9_ zcpe;)BvDxsJy`NXuvu+2pU;5bw;+d}paPpkxjnNVB^=|TL6+}m*FHYeF4gUkv0t!> z0OylGV8#Ck4Pm9ZfRLRs5bhAR=~M~#@m~_tJ=^q}RDq==ioh%&pi2?N(V)+%g5LYg zTO_nJc>9AxXAVRktQ_7Hvx6~((#^WntnQp!PVT%f49G}hhuTP)e;WY2!@T{`L*3e3 zh$nXeaXN4Yo13UvFUD_x9!)bSO$sS&N;kV{+d@Fly#GCC(tikISAZ4Y;8RL-boRjA z(W&|BYUAheGH8ID^~$yafxmKikiiDLlyawnkqmB<1haPugs0`fx9=*nCR-^UwvHu- z1oM@7=jDB6z^MQO9{3H4JWsyYb5Jf8!d5FG>7=v|x|fpB0vP>a0}C}3yBQk#&v8h2 z$-alPHps1#+BFGeyY(4qS7 zd|_7+pUlJfxG%Z94WWmQAU%m!nI3luUB?Vz<-!#v!7+At$L%R;*67N*PZ+*)uE0j$ zZX}S9G?U9iuETF_4?Y+yBl~W>XJB1qNarX#mdzMVLV?S7&V%wNFWQN}_YE)>(+@o5 z$S&O;PdNv5PgQ+fx}8l5{~%(G74b1#ZJ+ AivR!s literal 0 HcmV?d00001 diff --git a/data/magic.mse-game/stamps/alchemy_old.png b/data/magic.mse-game/stamps/alchemy_old.png new file mode 100644 index 0000000000000000000000000000000000000000..5f27a01b62f49e7bbc489763f0aea67dc5b020ed GIT binary patch literal 8762 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 Dxgt)M literal 0 HcmV?d00001 diff --git a/data/magic.mse-game/stamps/foil.png b/data/magic.mse-game/stamps/foil.png new file mode 100644 index 0000000000000000000000000000000000000000..6bd390401a5a42a46253d70e6a1b1e79a0453554 GIT binary patch literal 15032 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 OKv&ZUS)^_s_J05)4@Y4D literal 0 HcmV?d00001