diff --git a/data/ch-s.mse-locale/locale b/data/ch-s.mse-locale/locale index f8ff7133e..ff1844e38 100644 --- a/data/ch-s.mse-locale/locale +++ b/data/ch-s.mse-locale/locale @@ -241,11 +241,13 @@ help: number of packs: 要生成的 %ss 数量 # Preferences - app language: - 注意: 你必须重新启动MSE才能使语言修改生效 - zoom export: - (当关闭该项的时候,卡牌会按照以下规则导出: - 100%大小,不旋转) + app language: + 注意: 你必须重新启动MSE + 才能使语言修改生效 + zoom export: + (当关闭该项的时候, + 卡牌会按照以下规则导出: + 100%大小,不旋转) # apprentice export set code: 套牌代码是一个双字节代码,它能被Apprentice识别成一幅套牌 diff --git a/data/ch-t.mse-locale/locale b/data/ch-t.mse-locale/locale index 5be1fb3e7..3133c6be4 100644 --- a/data/ch-t.mse-locale/locale +++ b/data/ch-t.mse-locale/locale @@ -239,11 +239,13 @@ help: number of packs: 要產生的 %ss 數量 # Preferences - app language: - 注意: 你必須重新啟動MSE才能使語言修改生效 - zoom export: - (當關閉該項的時候,卡牌會按照以下規則導出: - 100%大小,不旋轉) + app language: + 注意: 你必須重新啟動MSE + 才能使語言修改生效 + zoom export: + (當關閉該項的時候, + 卡牌會按照以下規則導出: + 100%大小,不旋轉) # apprentice export set code: 套牌代碼是一個雙位元組代碼,它能被Apprentice識別成一幅套牌 diff --git a/data/da.mse-locale/locale b/data/da.mse-locale/locale index 73c7a7d9b..207ab6e6f 100644 --- a/data/da.mse-locale/locale +++ b/data/da.mse-locale/locale @@ -239,11 +239,14 @@ help: number of packs: Antallet af %ss genereret # Preferences - app language: - Note: Du skal genstarte MSE for at ændringerne skal træde i kraft - zoom export: - (Når slukket er kortene eksporteret - og kopieret i 100% størrelse og uden rotation) + app language: + Note: Du skal genstarte + MSE for at ændringerne + skal træde i kraft + zoom export: + (Når slukket er kortene + eksporteret og kopieret i 100% + størrelse og uden rotation) # apprentice export set code: En sætkode er to bogstaver, som Apprentice bruger til at skelne imellem sættene @@ -626,7 +629,9 @@ button: high quality: &Opløsning i høj kvalitet show lines: Vis &linier omkring felter show editing hints: Vis bokse og hints for &redigering - zoom export: Brug zoom og rotationsfunktioner under e&ksport + zoom export: + Brug zoom og rotationsfunktioner + under e&ksport spellcheck enabled: Vis stavefejl på kort check now: Tjek &Nu! always: Altid diff --git a/data/de.mse-locale/locale b/data/de.mse-locale/locale index 949360947..53938e32b 100644 --- a/data/de.mse-locale/locale +++ b/data/de.mse-locale/locale @@ -239,11 +239,12 @@ help: number of packs: Die Anzahl der zu generierenden %ss # Preferences - app language: - Bitte starten Sie MSE neu, damit die Änderungen wirksam werden. - zoom export: + app language: + Bitte starten Sie MSE neu, + damit die Änderungen wirksam werden. + zoom export: (Wenn ausgeschaltet, werden die - Karten normal exportiert) + Karten normal exportiert) # apprentice export set code: Der zweiteilige Code wird vom Rohling genutzt, um auf eine Edition zu verweisen. @@ -626,7 +627,9 @@ button: high quality: &High-quality-Rendern show lines: Hilfslinien anzeigen show editing hints: Zeigt Hilfen beim B&earbeiten an - zoom export: Zoom- und Dreheinstellungen beim Export verwenden + zoom export: + Zoom- und Dreheinstellungen + beim Export verwenden spellcheck enabled: Rechtschreibfehler auf Karten anzeigen check now: &Jetzt überprüfen always: Immer (empfohlen) diff --git a/data/en.mse-locale/locale b/data/en.mse-locale/locale index 1e2c6b0cf..b2f5f0e0c 100644 --- a/data/en.mse-locale/locale +++ b/data/en.mse-locale/locale @@ -239,11 +239,13 @@ help: number of packs: The number of %ss to generate # Preferences - app language: - Note: You must restart MSE for the changes to take effect. - zoom export: - (When off, the cards are exported - and copied at 100% size and normal rotation) + app language: + Note: You must restart MSE + for the changes to take effect. + zoom export: + (When off, the cards are + exported and copied at 100% + size and normal rotation) # apprentice export set code: A set code is a two character code that is used by Apprentice to refer to a set. @@ -626,7 +628,9 @@ button: high quality: &High quality rendering show lines: Show &lines around fields show editing hints: Show boxes and hints for &editing - zoom export: Use Viewer zoom and rotation settings when e&xporting + zoom export: + Use Viewer zoom and rotation + settings when e&xporting spellcheck enabled: Show &spelling errors on cards check now: Check &Now always: Always diff --git a/data/es.mse-locale/locale b/data/es.mse-locale/locale index 1a1445d42..edbb5dfc0 100644 --- a/data/es.mse-locale/locale +++ b/data/es.mse-locale/locale @@ -239,10 +239,13 @@ help: number of packs: Número de %ss a generar # Preferences - app language: - Note: Debes reiniciar MSE para que los cambios hagan efecto. - zoom export: - (Cuando está desactivado, las cartas se exportan en una orientación normal) + app language: + Note: Debes reiniciar MSE + para que los cambios hagan efecto. + zoom export: + (Cuando está desactivado, + las cartas se exportan en + una orientación normal) # apprentice export set code: Un código de Set es un código de dos caracteres que usa el Apprentice para referirse a un Set. @@ -627,7 +630,9 @@ button: high quality: &Renderización de alta calidad show lines: Mostrar &líneas alrededor de los campos show editing hints: Mostrar cajas y pistas para &editar - zoom export: Usar las configuraciones rotación cuando se e&xporte + zoom export: + Usar las configuraciones + rotación cuando se e&xporte spellcheck enabled: Mostrar errores de &ortografía en las cartas check now: Buscar &ahora always: Siempre diff --git a/data/fr.mse-locale/locale b/data/fr.mse-locale/locale index 864d28d25..a81aa99a8 100644 --- a/data/fr.mse-locale/locale +++ b/data/fr.mse-locale/locale @@ -239,11 +239,13 @@ help: number of packs: Le nombre de %ss à générer # Preferences - app language: - Note: Vous devez redémarrer MSE pour que le changement prenne effet. - zoom export: - (Quand l'option est décochée, les cartes sont exportées - à 100% de leur taille et dans leur rotation normale.) + app language: + Note: Vous devez redémarrer MSE + pour que le changement prenne effet. + zoom export: + (Quand l'option est décochée, les + cartes sont exportées à 100% de leur + taille et dans leur rotation normale.) # apprentice export set code: Un Set Code est un code à 2 caractères utilisé par le logiciel pour référencer le Set @@ -627,7 +629,9 @@ button: high quality: Rendu haute qualité show lines: Afficher les lignes autour des champs show editing hints: Afficher les étiquettes et les conseils pour l'edition - zoom export: Utiliser les paramètres de zoom et de rotation lors de l'exportation + zoom export: + Utiliser les paramètres de zoom et + de rotation lors de l'exportation spellcheck enabled: Afficher les fautes d'orthographe sur les cartes check now: &Vérifier maintenant always: Toujours diff --git a/data/it.mse-locale/locale b/data/it.mse-locale/locale index 1a605a005..8342070b8 100644 --- a/data/it.mse-locale/locale +++ b/data/it.mse-locale/locale @@ -239,11 +239,13 @@ help: number of packs: Il numero di %ss per generare # Preferences - app language: - Nota: Devi riavviare MSE perchè le modifiche abbiano effetto. - zoom export: - (Se disattivato, le carte sono esportate e copiate - al 100% della grandezza e con orientamento normale) + app language: + Nota: Devi riavviare MSE perchè + le modifiche abbiano effetto. + zoom export: + (Se disattivato, le carte sono + esportate e copiate al 100% della + grandezza e con orientamento normale) # apprentice export set code: Un set code è un codice di due caratteri usato da Apprentice come riferimento ad un set. @@ -626,7 +628,9 @@ button: high quality: Rendering ad alta qualità (&H) show lines: Mostra &linee attorno ai campi show editing hints: Mostra suggerimenti per le &modifiche - zoom export: usa le impostazioni di zoom e rotazione quando e&sporti + zoom export: + usa le impostazioni di zoom + e rotazione quando e&sporti spellcheck enabled: Mostra gli errori di ortografia sulle carte check now: Controlla ora (&N) always: Sempre diff --git a/data/jp.mse-locale/locale b/data/jp.mse-locale/locale index eb2a7f098..8b4bdec62 100644 --- a/data/jp.mse-locale/locale +++ b/data/jp.mse-locale/locale @@ -239,9 +239,10 @@ help: number of packs: 生成する %ss の数 # Preferences - app language: - 注: 変更を適用するためにはMagic Set Editorを再起動する必要があります。 - zoom export: + app language: + 注: 変更を適用するためにはMagic Set Editor + を再起動する必要があります。 + zoom export: (このチェック・ボックスがオフの場合、 エクスポートされる画像に回転やズームは適用されません) diff --git a/data/ko.mse-locale/locale b/data/ko.mse-locale/locale index 46b96c659..0c46f1cff 100644 --- a/data/ko.mse-locale/locale +++ b/data/ko.mse-locale/locale @@ -241,10 +241,12 @@ help: number of packs: The number of %ss to generate # Preferences - app language: - 참고: 변경 사항을 적용하려면 MSE를 다시 시작해야 합니다. - zoom export: - 끄면 카드가 100% 크기 및 일반 회전으로 내보내지고 복사됩니다. + app language: + 참고: 변경 사항을 적용하려면 + MSE를 다시 시작해야 합니다. + zoom export: + 끄면 카드가 100% 크기 및 일반 + 회전으로 내보내지고 복사됩니다. # apprentice export set code: 세트 코드는 Apprentice이 세트를 참조하는 데 사용하는 두 문자 코드입니다. @@ -627,7 +629,9 @@ button: high quality: 고품질 렌더링 show lines: 필드 주위에 선 표시 show editing hints: 편집에 대한 힌트 표시 - zoom export: 이미지를 내보낼 때 확대/축소 및 회전 옵션 사용 + zoom export: + 이미지를 내보낼 때 확대/축소 + 및 회전 옵션 사용 spellcheck enabled: 철자 오류 표시 check now: 지금 확인하세요 always: 언제나 diff --git a/data/magic.mse-game/language_map b/data/magic.mse-game/language_map index 92aba6431..67d9b90fd 100644 --- a/data/magic.mse-game/language_map +++ b/data/magic.mse-game/language_map @@ -725,7 +725,7 @@ languages := [ pt_separator : "/" supertype_separator : " " type_separator : " — " - subtype_separator : " " + subtype_separator : " " keyword_types : ["old","core","expert","pseudo","action","custom"] is_artifact : match@(match: "(?i)Artifact") @@ -1461,7 +1461,7 @@ languages := [ supertype_separator : " " type_separator : " — " super_spacer : true - subtype_separator : " " + subtype_separator : " " keyword_types : ["viejo","núcleo","experto","seudo","acción","personalizado"] is_artifact : match@(match: "(?i)Artefacto") @@ -2874,7 +2874,7 @@ languages := [ supertype_separator : " " type_separator : " — " super_spacer : true - subtype_separator : " " + subtype_separator : " " keyword_types : ["vecchio","nucleo","esperto","pseudo","azione","personalizzato"] is_artifact : match@(match: "(?i)Artefatto") @@ -3579,7 +3579,7 @@ languages := [ pt_separator : "/" supertype_separator : "" type_separator : " — " - subtype_separator : "・" + subtype_separator : "" keyword_types : ["古い","中核","習熟","疑似","アクション","パーソナライズされた"] is_artifact : match@(match: "(?i)アーティファクト") @@ -4356,7 +4356,7 @@ languages := [ supertype_separator : " " type_separator : " — " super_spacer : true - subtype_separator : " " + subtype_separator : " " keyword_types : ["늙은","핵심","숙련된","가짜","행동","맞춤형"] is_artifact : match@(match: "(?i)마법물체") @@ -5026,7 +5026,7 @@ languages := [ supertype_separator : " " type_separator : " — " super_spacer : true - subtype_separator : " " + subtype_separator : " " keyword_types : ["velho","núcleo","perito","pseudo","ação","personalizado"] is_artifact : match@(match: "(?i)Artefato") @@ -5735,7 +5735,7 @@ languages := [ supertype_separator : " " type_separator : " — " super_spacer : true - subtype_separator : " " + subtype_separator : " " keyword_types : ["старый","ядро","экспертный","псевдо","действие","персонализированный"] is_artifact : match@(match: "(?i)Артефакт") @@ -7805,7 +7805,7 @@ languages := [ pt_separator : "/" supertype_separator : " " type_separator : " — " - subtype_separator : " " + subtype_separator : " " keyword_types : ["old","core","expert","pseudo","action","custom"] ], "English (Canadian)": [ @@ -7814,7 +7814,7 @@ languages := [ pt_separator : "/" supertype_separator : " " type_separator : " — " - subtype_separator : " " + subtype_separator : " " keyword_types : ["old","core","expert","pseudo","action","custom"] ] ] diff --git a/data/magic.mse-game/script b/data/magic.mse-game/script index a5b24120a..5c85007bc 100644 --- a/data/magic.mse-game/script +++ b/data/magic.mse-game/script @@ -1106,10 +1106,9 @@ super_type_filter := { "<{tag}>{input}" } -break_subtypes := split_text@(match: " +|[^<]*", include_empty:false) +break_subtypes := split_text@(match: "[^<]*|]*>", include_empty:false) # splitting at word-list tags is for backwards compatibility, when atom-sep was not yet inserted everywhere. break_supertypes := split_text@(match: "[^<]*", include_empty:false) sub_type_filter := { - input := remove_tag(tag: "{part}" + checked_first := false + (for each part in parts do + if trim(part) == "" then "" + else if not checked_first then + (checked_first := true; "{part}") else languages[lang_name()].subtype_separator + "{part}" ) + diff --git a/data/magic.mse-game/statistics_script b/data/magic.mse-game/statistics_script index 3e1866806..1ef204eca 100644 --- a/data/magic.mse-game/statistics_script +++ b/data/magic.mse-game/statistics_script @@ -238,7 +238,7 @@ face_color_category_statistic := else if black then all_en_space_statistic(lang_setting("black")) else if red then all_en_space_statistic(lang_setting("red")) else if green then all_en_space_statistic(lang_setting("green")) - else input + else all_en_space_statistic(lang_setting("colorless")) } # Omniverse colors @@ -597,13 +597,9 @@ average_opening_hand_statistic := } global_variable_average_opening_hand_statistic := { - set_count := length(set.cards)-1 - if set_count < 0 then "" else ( - cards := for x from 0 to set_count do (if trim_from_draw_statistic(card: set.cards[x]) then [] else [set.cards[x]]) - card_count := length(cards)-1 - card_count_real := to_number(card_count+1) - if card_count < 6 then lang_setting("message_drops_no_cards") else ( + if length(set.cards) < 1 then "" else ( + card_count := 0 lands := 0 manaartifacts := 0 nonmanaartifacts := 0 @@ -614,19 +610,36 @@ global_variable_average_opening_hand_statistic := sorceries := 0 instants := 0 - for x from 0 to card_count do + is_land := lang_setting("is_land") + is_artifact := lang_setting("is_artifact") + is_enchantment := lang_setting("is_enchantment") + is_planeswalker := lang_setting("is_planeswalker") + is_battle := lang_setting("is_battle") + is_creature := lang_setting("is_creature") + is_sorcery := lang_setting("is_sorcery") + is_instant := lang_setting("is_instant") + + for each c in set.cards do ( - c := cards[x] - if has_type_statistic(card:c, "land") then lands := lands + 1 - if has_type_statistic(card:c, "artifact") then (if mana_production_list_statistic(card: c, check_type: "nonland") == "" then (nonmanaartifacts := nonmanaartifacts + 1) else (manaartifacts := manaartifacts + 1)) - if has_type_statistic(card:c, "enchantment") then enchantments := enchantments + 1 - if has_type_statistic(card:c, "planeswalker") then planeswalkers := planeswalkers + 1 - if has_type_statistic(card:c, "battle") then battles := battles + 1 - if has_type_statistic(card:c, "creature") then creatures := creatures + 1 - if has_type_statistic(card:c, "sorcery") then sorceries := sorceries + 1 - if has_type_statistic(card:c, "instant") then instants := instants + 1 + if not trim_from_draw_statistic(card:c) then + ( + type := c.type + (if check_2_statistic(card:c) then " " + c.type_2 else "") + card_count := card_count + 1 + if is_land(type) then lands := lands + 1 + if is_artifact(type) then (if mana_production_list_statistic(card: c, check_type: "nonland") == "" then (nonmanaartifacts := nonmanaartifacts + 1) else (manaartifacts := manaartifacts + 1)) + if is_enchantment(type) then enchantments := enchantments + 1 + if is_planeswalker(type) then planeswalkers := planeswalkers + 1 + if is_battle(type) then battles := battles + 1 + if is_creature(type) then creatures := creatures + 1 + if is_sorcery(type) then sorceries := sorceries + 1 + if is_instant(type) then instants := instants + 1 + ) + "" ) + if card_count < 6 then lang_setting("message_drops_no_cards") else ( + + card_count_real := to_number(card_count) lands_average := format_average_statistic(7.0 * to_number(lands) / card_count_real) manaartifacts_average := format_average_statistic(7.0 * to_number(manaartifacts) / card_count_real) nonmanaartifacts_average := format_average_statistic(7.0 * to_number(nonmanaartifacts) / card_count_real) @@ -659,10 +672,20 @@ format_average_statistic := # Rarities. rarity_statistic := { - if card.shape == "Token" or card.shape == "token" or lang_setting("is_token")(card.super_type) then all_en_space_statistic(lang_setting("token")) + if is_tokenish_statistics(card.shape) or lang_setting("is_token")(card.super_type) then all_en_space_statistic(lang_setting("token")) else if lang_setting("is_land")(card.super_type) and lang_setting("is_basic")(card.super_type) then all_en_space_statistic(lang_setting("basic_land")) else all_en_space_statistic(lang_setting(replace_space_statistic(card.rarity))) } +is_tokenish_statistics := +{ + input := to_lower(input) + contains(input, match: "token") + or contains(input, match: "emblem") + or contains(input, match: "designation") + or contains(input, match: "rulestip") + or contains(input, match: "counter") + or contains(input, match: "checklist") +} # Watermarks watermark_statistic := @@ -1078,7 +1101,7 @@ en_space_statistic := replace@(match: " ", replace: " ", in_context:"[^>]