Statistics Update (#12)

* Adding GenevensiS's stats page overhaul
* Update card_fields: automated stats are now disabled
* Update set_fields: added customization fields for stats
* Stats have new icons
* Updated position hint and card shape for several frames
* Added preliminary localization updates
* Added detect_custom_subtypes_statistic

---------

Co-authored-by: cajun <kajunkittyavenger@gmail.com>
This commit is contained in:
GenevensiS
2023-11-10 14:21:14 +01:00
committed by GitHub
parent 217630b275
commit 8c617b5936
65 changed files with 3928 additions and 853 deletions

View File

@@ -4,7 +4,7 @@ short name: M15 Adventures
full name: After M15 Adventures full name: After M15 Adventures
icon: card-sample.png icon: card-sample.png
installer group: magic/m15 style/split cards installer group: magic/m15 style/split cards
position hint: 043 position hint: 011
version: 2023-02-13 version: 2023-02-13
depends on: depends on:

View File

@@ -4,7 +4,7 @@ short name: M15 Aftermath
full name: After M15 Aftermath full name: After M15 Aftermath
icon: card-sample.png icon: card-sample.png
installer group: magic/m15 style/split cards/fuse installer group: magic/m15 style/split cards/fuse
position hint: 042 position hint: 011
version: 2018-06-01 version: 2018-06-01
depends on: depends on:
@@ -676,4 +676,4 @@ extra card style:
name: Matrix name: Matrix
size: 7 size: 7
color: white color: white
weight: bold weight: bold

View File

@@ -61,7 +61,7 @@ init script:
is_promo := { styling.promo } is_promo := { styling.promo }
# Declare the card shape. # Declare the card shape.
card_shape := { "augment" } card_shape := { "leveler" }
# Replacing the text_filter() from game file because all three rule text fields should call card.name # Replacing the text_filter() from game file because all three rule text fields should call card.name
card_name_replace := card_name_replace :=

View File

@@ -3,7 +3,7 @@ game: magic
short name: M15 Clear short name: M15 Clear
full name: After M15 Clear full name: After M15 Clear
icon: card-sample.png icon: card-sample.png
position hint: 006 position hint: 014
installer group: magic/m15 style/normal cards/Clear installer group: magic/m15 style/normal cards/Clear
version: 2023-02-13 version: 2023-02-13
@@ -436,4 +436,4 @@ extra card style:
z index: 6 z index: 6
render style: image render style: image
image: crown.png image: crown.png
visible: {contains(card.super_type, match:"Legendary") } visible: {contains(card.super_type, match:"Legendary") }

View File

@@ -4,7 +4,7 @@ short name: M15 Devoid
full name: Devoid Cards full name: Devoid Cards
icon: card-sample.png icon: card-sample.png
installer group: magic/m15 style/devoid cards installer group: magic/m15 style/devoid cards
position hint: 012 position hint: 014
version: 2018-02-10 version: 2018-02-10
depends on: depends on:

View File

@@ -70,7 +70,7 @@ init script:
has_pt_2 := { card.power_2 != "" or card.toughness_2 != "" } has_pt_2 := { card.power_2 != "" or card.toughness_2 != "" }
# Declare the card shape. # Declare the card shape.
card_shape := { "leveler" } card_shape := { "double faced leveler" }
has_identity := { styling.color_indicator_dot } has_identity := { styling.color_indicator_dot }
has_identity_2 := {styling.color_indicator_dot_2 } has_identity_2 := {styling.color_indicator_dot_2 }
is_unsorted := {styling.remove_from_autocount} is_unsorted := {styling.remove_from_autocount}
@@ -1429,4 +1429,4 @@ extra card style:
name: Matrix name: Matrix
size: 7 size: 7
color: white color: white
weight: bold weight: bold

View File

@@ -4,7 +4,7 @@ short name: M15 Flip
full name: M15 Style Flip Cards full name: M15 Style Flip Cards
icon: card-sample.png icon: card-sample.png
installer group: magic/m15 style/flip cards installer group: magic/m15 style/flip cards
position hint: 044 position hint: 012
version: 2018-02-09 version: 2018-02-09
depends on: depends on:

View File

@@ -155,7 +155,7 @@ init script:
} }
####### Shape things ####### Shape things
card_shape := {"double faced"} card_shape := {if contains(styling.dfc_type, match: "modal") then "modal double faced" else "transform double faced"}
a_saga := {is_saga() or is_class()} a_saga := {is_saga() or is_class()}
b_saga := {back_saga() or back_class()} b_saga := {back_saga() or back_class()}
saga_reminder := { if styling.alternate_saga_reminder != "" then styling.alternate_saga_reminder else if is_class() then "Gain the next level as a sorcery to add its ability." else "As this Saga enters and after your draw step, add a lore counter. Sacrifice after III." } saga_reminder := { if styling.alternate_saga_reminder != "" then styling.alternate_saga_reminder else if is_class() then "Gain the next level as a sorcery to add its ability." else "As this Saga enters and after your draw step, add a lore counter. Sacrifice after III." }

View File

@@ -69,7 +69,7 @@ init script:
# Is the second card face a creature? # Is the second card face a creature?
has_pt_2 := { card.power_2 != "" or card.toughness_2 != "" } has_pt_2 := { card.power_2 != "" or card.toughness_2 != "" }
card_shape := { "two-sided" } card_shape := { "double faced" }
has_identity := { styling.color_indicator_dot } has_identity := { styling.color_indicator_dot }
has_identity_2 := {styling.color_indicator_dot_2 } has_identity_2 := {styling.color_indicator_dot_2 }
is_unsorted := {styling.remove_from_autocount} is_unsorted := {styling.remove_from_autocount}
@@ -1190,4 +1190,4 @@ extra card style:
name: Matrix name: Matrix
size: 7 size: 7
color: white color: white
weight: bold weight: bold

View File

@@ -69,7 +69,7 @@ init script:
# Is the second card face a creature? # Is the second card face a creature?
has_pt_2 := { card.power_2 != "" or card.toughness_2 != "" } has_pt_2 := { card.power_2 != "" or card.toughness_2 != "" }
card_shape := { "two-sided" } card_shape := { "double faced" }
has_identity := { styling.color_indicator_dot } has_identity := { styling.color_indicator_dot }
has_identity_2 := {styling.color_indicator_dot_2 } has_identity_2 := {styling.color_indicator_dot_2 }
is_unsorted := {styling.remove_from_autocount} is_unsorted := {styling.remove_from_autocount}
@@ -851,4 +851,4 @@ extra card style:
name: Matrix name: Matrix
size: 7 size: 7
color: white color: white
weight: bold weight: bold

View File

@@ -69,7 +69,7 @@ init script:
# Is the second card face a creature? # Is the second card face a creature?
has_pt_2 := { card.power_2 != "" or card.toughness_2 != "" } has_pt_2 := { card.power_2 != "" or card.toughness_2 != "" }
card_shape := { "two-sided" } card_shape := { "double faced" }
has_identity := { styling.color_indicator_dot } has_identity := { styling.color_indicator_dot }
is_unsorted := {styling.remove_from_autocount} is_unsorted := {styling.remove_from_autocount}
############################################################## Set info fields ############################################################## Set info fields
@@ -836,4 +836,4 @@ extra card style:
name: Matrix name: Matrix
size: 7 size: 7
color: white color: white
weight: bold weight: bold

View File

@@ -4,7 +4,7 @@ short name: M15 Miracles
full name: M15 Miracle frame full name: M15 Miracle frame
icon: card-sample.png icon: card-sample.png
installer group: magic/m15 style/miracle cards installer group: magic/m15 style/miracle cards
position hint: 011 position hint: 012
version: 2018-02-09 version: 2018-02-09
depends on: depends on:
@@ -471,4 +471,4 @@ extra card style:
name: Matrix name: Matrix
size: 7 size: 7
color: white color: white
weight: bold weight: bold

View File

@@ -4,7 +4,7 @@ short name: M15 Gods
full name: Gods After M15 full name: Gods After M15
icon: card-sample.png icon: card-sample.png
installer group: magic/m15 style/god cards installer group: magic/m15 style/god cards
position hint: 011 position hint: 012
version: 2018-02-09 version: 2018-02-09
depends on: depends on:
@@ -494,4 +494,4 @@ extra card style:
name: Matrix name: Matrix
size: 7 size: 7
color: white color: white
weight: bold weight: bold

View File

@@ -78,7 +78,7 @@ init script:
else "loyalty naught" else "loyalty naught"
} }
card_shape := {"saga"} card_shape := { if contains(styling.other_options, match: "class") then "class" else "saga" }
# Is the card a promo card? # Is the card a promo card?
is_promo := { styling.promo } is_promo := { styling.promo }

View File

@@ -4,7 +4,7 @@ short name: Mainframe Splits
full name: Fusable Split Cards full name: Fusable Split Cards
icon: card-sample.png icon: card-sample.png
installer group: magic/m15 style/split cards/fuse installer group: magic/m15 style/split cards/fuse
position hint: 040 position hint: 011
version: 2018-06-01 version: 2018-06-01
depends on: depends on:

View File

@@ -4,7 +4,7 @@ short name: M15 Clear Tokens
full name: After M15 Clear Tokens full name: After M15 Clear Tokens
icon: card-sample.png icon: card-sample.png
installer group: magic/m15 style/tokens/Clear installer group: magic/m15 style/tokens/Clear
position hint: 005 position hint: 014
version: 2018-02-09 version: 2018-02-09
depends on: depends on:
@@ -402,4 +402,4 @@ extra card style:
name: Matrix name: Matrix
size: 7 size: 7
color: white color: white
weight: bold weight: bold

View File

@@ -4,7 +4,7 @@ short name: M15 Tokens
full name: Legendary full name: Legendary
icon: card-sample.png icon: card-sample.png
installer group: magic/m15 style/tokens installer group: magic/m15 style/tokens
position hint: 003 position hint: 014
version: 2018-04-28 version: 2018-04-28
depends on: depends on:
@@ -395,4 +395,4 @@ extra card style:
name: Matrix name: Matrix
size: 7 size: 7
color: white color: white
weight: bold weight: bold

View File

@@ -53,7 +53,8 @@ init script:
comma_count := filter_text@(match:",") comma_count := filter_text@(match:",")
is_token := { styling.token == "text" or styling.token == "textless" } is_token := { styling.token == "text" or styling.token == "textless" }
is_blank_token := { styling.token == "textless" } is_blank_token := { styling.token == "textless" }
has_identity := {styling.color_indicator_dot } has_identity := { false }
has_identity_2 := { false }
ancestral_mana := { styling.ancestral_mana_symbols } ancestral_mana := { styling.ancestral_mana_symbols }
bar_offset := {if styling_offset() == "-" then 0 else if styling_offset() != "" then -styling_offset() else 0} bar_offset := {if styling_offset() == "-" then 0 else if styling_offset() != "" then -styling_offset() else 0}

View File

@@ -70,6 +70,7 @@ init script:
# This will create two seperate card faces # This will create two seperate card faces
card_background2 := { color_background(type:"card2", base_hybrid:card_hybrid) } card_background2 := { color_background(type:"card2", base_hybrid:card_hybrid) }
card_ptbox2 := { color_background(type:"pt2", base_hybrid:pt_hybrid) } card_ptbox2 := { color_background(type:"pt2", base_hybrid:pt_hybrid) }
card_shape := { "double faced" }
############################################################## Set info fields ############################################################## Set info fields
set info style: set info style:

View File

@@ -67,7 +67,7 @@ init script:
# This will create two seperate card faces # This will create two seperate card faces
card_background2 := { color_background(type:"card2", base_hybrid:card_hybrid) } card_background2 := { color_background(type:"card2", base_hybrid:card_hybrid) }
card_ptbox2 := { color_background(type:"pt2", base_hybrid:pt_hybrid) } card_ptbox2 := { color_background(type:"pt2", base_hybrid:pt_hybrid) }
card_shape := { "double faced" }
############################################################## Set info fields ############################################################## Set info fields
set info style: set info style:

View File

@@ -65,7 +65,8 @@ init script:
if styling.display_border then paintbrush_color() if styling.display_border then paintbrush_color()
else styling.copyright_color else styling.copyright_color
} }
card_shape := { "planeswalker" }
############################################################## Set info fields ############################################################## Set info fields
set info style: set info style:
symbol: symbol:

View File

@@ -121,6 +121,7 @@ init script:
# Loyalty colon scripts # Loyalty colon scripts
colon := { if input != "" then ":" else ""} colon := { if input != "" then ":" else ""}
loyalty_colon := {colon(card.loyalty_cost_1)+"\n"+colon(card.loyalty_cost_2)+"\n"+colon(card.loyalty_cost_3)} loyalty_colon := {colon(card.loyalty_cost_1)+"\n"+colon(card.loyalty_cost_2)+"\n"+colon(card.loyalty_cost_3)}
card_shape := { "planeswalker" }
############################################################## Set info fields ############################################################## Set info fields
set info style: set info style:
symbol: symbol:

View File

@@ -32,7 +32,7 @@ init script:
# is text box empty? # is text box empty?
has_text := {(card.rule_text!="") or (card.flavor_text!="<i-flavor></i-flavor>")} has_text := {(card.rule_text!="") or (card.flavor_text!="<i-flavor></i-flavor>")}
card_shape := { "flip" }
############################################################## Extra style options ############################################################## Extra style options
styling field: styling field:
@@ -319,4 +319,4 @@ extra card style:
right: 142 right: 142
right width: 0 right width: 0
z index: 2 z index: 2
radius: 3 radius: 3

View File

@@ -25,7 +25,7 @@ card field:
choice: checklist choice: checklist
choice: emblem choice: emblem
choice: masterpiece choice: masterpiece
choice: nightbreak choice: nightbreak
choice: plane card choice: plane card
choice: saga choice: saga
script: script:
@@ -129,16 +129,18 @@ card field:
card list alignment: right card list alignment: right
card list width: 50 card list width: 50
card list name: CC card list name: CC
show statistics: false
description: The casting cost of the card description: The casting cost of the card
card field: card field:
type: choice type: choice
name: card symbol name: card symbol
position hint: 10 position hint: 10
icon: stats/card_symbol.png icon: stats/symbol.png
choice: none choice: none
choice: tombstone choice: tombstone
choice: alchemy choice: alchemy
choice: alchemy old choice: alchemy old
show statistics: false
description: Symbol for this card description: Symbol for this card
card field: card field:
type: choice type: choice
@@ -219,15 +221,16 @@ card field:
card field: card field:
type: text type: text
name: super type name: super type
icon: stats/card_type.png icon: stats/type.png
position hint: 30 position hint: 30
script: super_type_filter(value) script: super_type_filter(value)
show statistics: false show statistics: false
card field: card field:
type: text type: text
name: sub type name: sub type
icon: stats/creature_type.png icon: stats/type.png
position hint: 31 position hint: 31
show statistics: false
script: sub_type_filter(value, type:card.super_type) script: sub_type_filter(value, type:card.super_type)
card field: card field:
type: text type: text
@@ -308,6 +311,7 @@ card field:
icon: stats/watermark.png icon: stats/watermark.png
position hint: 200 position hint: 200
include file: /magic-watermarks.mse-include/watermark-names include file: /magic-watermarks.mse-include/watermark-names
show statistics: false
description: A watermark for below the textbox, this can be a big mana symbol used on basic lands, or a guild symbol description: A watermark for below the textbox, this can be a big mana symbol used on basic lands, or a guild symbol
###############################Leveler textboxes ###############################Leveler textboxes
card field: card field:
@@ -410,8 +414,9 @@ card field:
card field: card field:
type: text type: text
name: loyalty name: loyalty
icon: stats/toughness.png icon: stats/loyalty.png
position hint: 59 position hint: 59
show statistics: false
description: The initial loyalty of a planeswalker description: The initial loyalty of a planeswalker
card field: card field:
type: text type: text
@@ -551,6 +556,7 @@ card field:
choice: alchemy old choice: alchemy old
choice: custom choice: custom
default: set.default_stamp default: set.default_stamp
show statistics: false
description: The stamp style for this card. description: The stamp style for this card.
############################################################## Duplicate fields (split/flip cards) ############################################################## Duplicate fields (split/flip cards)
# Based on flip templates by Wolfwood # Based on flip templates by Wolfwood
@@ -560,7 +566,7 @@ card field:
card field: card field:
type: multiple choice type: multiple choice
name: card color 2 name: card color 2
icon: stats/card_color.png icon: stats/color.png
empty choice: colorless empty choice: colorless
choice: white choice: white
choice: blue choice: blue
@@ -642,7 +648,7 @@ card field:
card field: card field:
type: choice type: choice
name: card symbol 2 name: card symbol 2
icon: stats/card_symbol.png icon: stats/symbol.png
choice: none choice: none
choice: tombstone choice: tombstone
choice: alchemy choice: alchemy
@@ -707,13 +713,13 @@ card field:
card field: card field:
type: text type: text
name: super type 2 name: super type 2
icon: stats/creature_type.png icon: stats/type.png
show statistics: false show statistics: false
script: super_type_filter(value) script: super_type_filter(value)
card field: card field:
type: text type: text
name: sub type 2 name: sub type 2
icon: stats/creature_type.png icon: stats/type.png
show statistics: false show statistics: false
script: sub_type_filter(value, type:card.super_type_2) script: sub_type_filter(value, type:card.super_type_2)
card field: card field:
@@ -733,13 +739,13 @@ card field:
card field: card field:
type: text type: text
name: super type 3 name: super type 3
icon: stats/creature_type.png icon: stats/type.png
show statistics: false show statistics: false
script: super_type_filter(value) script: super_type_filter(value)
card field: card field:
type: text type: text
name: sub type 3 name: sub type 3
icon: stats/creature_type.png icon: stats/type.png
show statistics: false show statistics: false
script: sub_type_filter(value, type:card.super_type_3) script: sub_type_filter(value, type:card.super_type_3)
card field: card field:
@@ -901,7 +907,7 @@ card field:
card field: card field:
type: text type: text
name: loyalty 2 name: loyalty 2
icon: stats/toughness.png icon: stats/loyalty.png
show statistics: false show statistics: false
description: The initial loyalty of a planeswalker description: The initial loyalty of a planeswalker
card field: card field:
@@ -1358,3 +1364,16 @@ card field:
script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"unknown") script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"unknown")
default: if not b_saga() then "" else "<i-auto>(" + saga_reminderb() + ")</i-auto>" default: if not b_saga() then "" else "<i-auto>(" + saga_reminderb() + ")</i-auto>"
description: The saga reminder text description: The saga reminder text
card field:
type: choice
name: card stamp 2
choice: standard
choice: none
choice: acorn
choice: universes beyond
choice: alchemy
choice: alchemy old
choice: custom
default: set.default_stamp
show statistics: false
description: The stamp style for this card.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

View File

@@ -1,26 +1,645 @@
############# Localization Hub
############# Strings and Word Lists specific to supported languages
# Language specific strings
languages := [ languages := [
English: [ English: [
code : "en", code : "en",
spellcheck_code : "en_US", spellcheck_code : "en_US",
fallback : "English",
pt_separator : "/", pt_separator : "/",
type_separator : " — ", type_separator : " — ",
subtype_separator : " ", subtype_separator : " ",
is_battle : match@(match: "(?i)Battle")
is_creature : match@(match: "(?i)Creature") is_creature : match@(match: "(?i)Creature")
is_tribal : match@(match: "(?i)Tribal") is_dungeon : match@(match: "(?i)Dungeon")
is_tribal : match@(match: "(?i)Tribal|Kindred")
is_kindred : match@(match: "(?i)Tribal|Kindred")
is_artifact : match@(match: "(?i)Artifact") is_artifact : match@(match: "(?i)Artifact")
is_land : match@(match: "(?i)Land") is_land : match@(match: "(?i)Land")
is_enchantment : match@(match: "(?i)Enchantment") is_enchantment : match@(match: "(?i)Enchantment")
is_spell : match@(match: "(?i)Instant|Sorcery") is_spell : match@(match: "(?i)Instant|Sorcery")
is_planeswalker : match@(match: "(?i)Planeswalker|Emblem") is_instant : match@(match: "(?i)Instant")
is_sorcery : match@(match: "(?i)Sorcery")
is_planeswalker : match@(match: "(?i)Planeswalker")
is_plane : match@(match: "(?i)Plane(?!swalker)") is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list" is_nonstandard : match@(match: "(?i)(Token|Emblem|Dungeon|Hero|Conspiracy|Vanguard|Scheme|Phenomenon|Plane\\b)")
is_token : match@(match: "(?i)Token")
is_basic : match@(match: "(?i)Basic")
is_conspiracy : match@(match: "(?i)Conspiracy")
is_emblem : match@(match: "(?i)Emblem")
is_hero : match@(match: "(?i)Hero")
is_phenomenon : match@(match: "(?i)Phenomenon")
is_scheme : match@(match: "(?i)Scheme")
is_vanguard : match@(match: "(?i)Vanguard")
is_legendary : match@(match: "(?i)Legendary")
is_snow : match@(match: "(?i)Snow")
is_vehicle : match@(match: "(?i)Vehicle")
is_elite : match@(match: "(?i)Elite")
is_host : match@(match: "(?i)Host")
is_ongoing : match@(match: "(?i)Ongoing")
is_world : match@(match: "(?i)World")
is_plains : match@(match: "(?i)Plains")
is_island : match@(match: "(?i)Island")
is_swamp : match@(match: "(?i)Swamp")
is_mountain : match@(match: "(?i)Mountain")
is_forest : match@(match: "(?i)Forest")
is_wastes : match@(match: "(?i)Wastes")
get_supertypes : filter_text@(match: "(?i)(Legendary|Basic|Snow|Token|World|Ongoing|Elite|Host)\\b ?")
remove_supertypes : replace_text@(match: "(?i)(Legendary|Basic|Snow|Token|World|Ongoing|Elite|Host)\\b ?", replace:"")
base_supertypes : "Legendary|Basic|Snow|Token|World|Ongoing|Elite|Host"
mana_symbol_production : filter_text@(match:"<sym[^>]*>[^<]+<\\/sym[^>]*>", in_context:"\\b[Aa]dd [^(\n|^).]*<match>")
gold_mana_production : filter_text@(match:"(any( one)?|different|combination of) color", in_context:"\\b[Aa]dd [^(\n|^).]*<match>")
chosen_mana_production : filter_text@(match:"that color|chosen color", in_context:"\\b[Aa]dd [^(\n|^).]*<match>")
word_list : "word_list",
word_list_artifact:
"Attraction,"
+ "Blood,"
+ "Clue,"
+ "Contraption,"
+ "Equipment,"
+ "Food,"
+ "Fortification,"
+ "Gold,"
+ "Incubator,"
+ "Junk,"
+ "Map,"
+ "Powerstone,"
+ "Treasure,"
+ "Vehicle"
word_list_battle: "Siege"
word_list_dungeon: "Undercity"
word_list_land:
"Cave,"
+ "Desert,"
+ "Gate,"
+ "Lair,"
+ "Locus,"
+ "Mine,"
+ "Power-Plant,"
+ "Sphere,"
+ "Tower,"
+ "Urza's"
word_list_enchantment:
"Aura,"
+ "Background,"
+ "Cartouche,"
+ "Class,"
+ "Curse,"
+ "Role,"
+ "Rune,"
+ "Saga,"
+ "Shard,"
+ "Shrine"
word_list_spell:
"Adventure,"
+ "Arcane,"
+ "Lesson,"
+ "Trap"
word_list_planeswalker:
"Ajani,"
+ "Aminatou,"
+ "Angrath,"
+ "Arlinn,"
+ "Ashiok,"
+ "Bahamut,"
+ "Basri,"
+ "Bolas,"
+ "Calix,"
+ "Chandra,"
+ "Comet,"
+ "Dack,"
+ "Dakkon,"
+ "Daretti,"
+ "Davriel,"
+ "Dihada,"
+ "Domri,"
+ "Dovin,"
+ "Ellywick,"
+ "Elminister,"
+ "Elspeth,"
+ "Estrid,"
+ "Freyalise,"
+ "Garruk,"
+ "Gideon,"
+ "Grist,"
+ "Guff,"
+ "Huatli,"
+ "Jace,"
+ "Jared,"
+ "Jaya,"
+ "Jeska,"
+ "Kaito,"
+ "Karn,"
+ "Kasmina,"
+ "Kaya,"
+ "Kiora,"
+ "Koth,"
+ "Liliana,"
+ "Lolth,"
+ "Lukka,"
+ "Minsc,"
+ "Mordenkainen,"
+ "Nahiri,"
+ "Narset,"
+ "Niko,"
+ "Nissa,"
+ "Nixilis,"
+ "Oko,"
+ "Quintorius,"
+ "Ral,"
+ "Rowan,"
+ "Saheeli,"
+ "Samut,"
+ "Sarkhan,"
+ "Serra,"
+ "Sivitri,"
+ "Sorin,"
+ "Szat,"
+ "Tamiyo,"
+ "Tasha,"
+ "Teferi,"
+ "Teyo,"
+ "Tezzeret,"
+ "Tibalt,"
+ "Tyvar,"
+ "Ugin,"
+ "Urza,"
+ "Venser,"
+ "Vivien,"
+ "Vraska,"
+ "Vronos,"
+ "Will,"
+ "Windgrace,"
+ "Wrenn,"
+ "Xenagos,"
+ "Yanggu,"
+ "Yanling,"
+ "Zariel"
############# Very Long Word Lists
############# Split into array of strings for submenus
############# Used directly by the localized word_lists
############# Combined for the upgraded stats page
word_lists_basic: ["Plains", "Island", "Swamp", "Mountain", "Forest"]
word_lists_race: [
"Aetherborn,"
+ "Alien,"
+ "Angel,"
+ "Antelope,"
+ "Ape,"
+ "Archon,"
+ "Assembly-Worker,"
+ "Astartes,"
+ "Atog,"
+ "Aurochs,"
+ "Avatar,"
+ "Azra",
"Badger,"
+ "Balloon,"
+ "Basilisk,"
+ "Bat,"
+ "Bear,"
+ "Beast,"
+ "Beeble,"
+ "Beholder,"
+ "Bird,"
+ "Blinkmoth,"
+ "Boar,"
+ "Bringer,"
+ "Brushwagg",
"C'tan,"
+ "Camarid,"
+ "Camel,"
+ "Capybara,"
+ "Caribou,"
+ "Carrier,"
+ "Cat,"
+ "Centaur,"
+ "Cephalid,"
+ "Chimera,"
+ "Cockatrice,"
+ "Construct,"
+ "Crab,"
+ "Crocodile,"
+ "Custodes,"
+ "Cyberman,"
+ "Cyclops",
"Dalek,"
+ "Dauthi,"
+ "Demigod,"
+ "Demon,"
+ "Devil,"
+ "Dinosaur,"
+ "Djinn,"
+ "Dog,"
+ "Dragon,"
+ "Drake,"
+ "Dreadnought,"
+ "Drone,"
+ "Dryad,"
+ "Dwarf",
"Efreet,"
+ "Egg,"
+ "Eldrazi,"
+ "Elemental,"
+ "Elephant,"
+ "Elf,"
+ "Elk,"
+ "Eye",
"Faerie,"
+ "Ferret,"
+ "Fish,"
+ "Fox,"
+ "Fractal,"
+ "Frog,"
+ "Fungus",
"Gargoyle,"
+ "Germ,"
+ "Giant,"
+ "Gith,"
+ "Gnoll,"
+ "Gnome,"
+ "Goat,"
+ "Goblin,"
+ "God,"
+ "Golem,"
+ "Gorgon,"
+ "Graveborn,"
+ "Gremlin,"
+ "Griffin",
"Hag,"
+ "Halfling,"
+ "Hamster,"
+ "Harpy,"
+ "Hellion,"
+ "Hippo,"
+ "Hippogriff,"
+ "Homarid,"
+ "Homunculus,"
+ "Horror,"
+ "Horse,"
+ "Hound,"
+ "Human,"
+ "Hydra,"
+ "Hyena",
"Illusion,"
+ "Imp,"
+ "Incarnation,"
+ "Inkling,"
+ "Insect",
"Jackal,"
+ "Jellyfish,"
+ "Juggernaut",
"Kavu,"
+ "Kirin,"
+ "Kithkin,"
+ "Kobold,"
+ "Kor,"
+ "Kraken",
"Lamia,"
+ "Lammasu,"
+ "Leech,"
+ "Leviathan,"
+ "Lhurgoyf,"
+ "Licid,"
+ "Lizard,"
+ "Llama",
"Manticore,"
+ "Masticore,"
+ "Merfolk,"
+ "Metathran,"
+ "Minotaur,"
+ "Mite,"
+ "Mole,"
+ "Mongoose,"
+ "Monkey,"
+ "Moonfolk,"
+ "Mouse,"
+ "Mutant,"
+ "Myr",
"Nautilus,"
+ "Necron,"
+ "Nephilim,"
+ "Nightmare,"
+ "Nightstalker,"
+ "Noggle,"
+ "Nymph",
"Octopus,"
+ "Ogre,"
+ "Ooze,"
+ "Orb,"
+ "Orc,"
+ "Orgg,"
+ "Otter,"
+ "Ouphe,"
+ "Ox,"
+ "Oyster",
"Pangolin,"
+ "Pegasus,"
+ "Pentavite,"
+ "Pest,"
+ "Phelddagrif,"
+ "Phoenix,"
+ "Phyrexian,"
+ "Pincher,"
+ "Plant,"
+ "Prism",
"Rabbit,"
+ "Raccoon,"
+ "Rat,"
+ "Reflection,"
+ "Rhino,"
+ "Robot",
"Sable,"
+ "Salamander,"
+ "Sand,"
+ "Saproling,"
+ "Satyr,"
+ "Scarecrow,"
+ "Scorpion,"
+ "Sculpture,"
+ "Serpent,"
+ "Servo,"
+ "Shade,"
+ "Shapeshifter,"
+ "Shark,"
+ "Sheep,"
+ "Siren,"
+ "Skeleton,"
+ "Slith,"
+ "Sliver,"
+ "Slug",
"Snail,"
+ "Snake,"
+ "Soltari,"
+ "Spawn,"
+ "Specter,"
+ "Sphinx,"
+ "Spider,"
+ "Spike,"
+ "Spirit,"
+ "Splinter,"
+ "Sponge,"
+ "Squid,"
+ "Squirrel,"
+ "Starfish,"
+ "Surrakar",
"Tentacle,"
+ "Tetravite,"
+ "Thalakos,"
+ "Thopter,"
+ "Thrull,"
+ "Tiefling,"
+ "Time Lord,"
+ "Treefolk,"
+ "Trilobite,"
+ "Triskelavite,"
+ "Troll,"
+ "Turtle,"
+ "Tyranid",
"Unicorn",
"Vampire,"
+ "Vedalken,"
+ "Viashino,"
+ "Volver",
"Wall,"
+ "Walrus,"
+ "Weird,"
+ "Werewolf,"
+ "Whale,"
+ "Wolf,"
+ "Wolverine,"
+ "Wombat,"
+ "Worm,"
+ "Wraith,"
+ "Wurm",
"Yeti",
"Zombie,"
+ "Zubera"
]
word_lists_class: [
"Advisor,"
+ "Ally,"
+ "Archer,"
+ "Archon,"
+ "Army,"
+ "Artificer,"
+ "Assassin,"
+ "Barbarian,"
+ "Bard,"
+ "Beast,"
+ "Berserker,"
+ "Carrier,"
+ "Child,"
+ "Citizen,"
+ "Cleric,"
+ "Clown,"
+ "Coward",
"Deserter,"
+ "Detective,"
+ "Doctor,"
+ "Dreadnought,"
+ "Drone,"
+ "Druid,"
+ "Egg,"
+ "Elder,"
+ "Employee,"
+ "Flagbearer,"
+ "Gamer,"
+ "Guest,"
+ "Horror,"
+ "Incarnation,"
+ "Inquisitor,"
+ "Juggernaut,"
+ "Knight",
"Leviathan,"
+ "Mercenary,"
+ "Minion,"
+ "Monger,"
+ "Monk,"
+ "Mutant,"
+ "Mystic,"
+ "Ninja,"
+ "Noble,"
+ "Nomad,"
+ "Peasant,"
+ "Performer,"
+ "Pilot,"
+ "Pirate,"
+ "Praetor,"
+ "Primarch,"
+ "Processor",
"Ranger,"
+ "Rebel,"
+ "Reflection,"
+ "Rigger,"
+ "Rogue,"
+ "Samurai,"
+ "Scientist,"
+ "Scion,"
+ "Scout,"
+ "Serf,"
+ "Shaman,"
+ "Skeleton,"
+ "Soldier,"
+ "Spawn,"
+ "Spellshaper,"
+ "Spirit,"
+ "Survivor",
"Thopter,"
+ "Vampire,"
+ "Warlock,"
+ "Warrior,"
+ "Werewolf,"
+ "Wizard,"
+ "Zombie"
]
word_lists_plane: [
"Alara,"
+ "Amonkhet,"
+ "Arcavios,"
+ "Bloomburrow,"
+ "Capenna,"
+ "Dominaria,"
+ "Duskmourn,"
+ "Eldraine,"
+ "Ikoria,"
+ "Innistrad,"
+ "Ixalan,"
+ "Kaladesh,"
+ "Kaldheim,"
+ "Kamigawa,"
+ "Lorwyn,"
+ "Mercadia,"
+ "Mirrodin,"
+ "New Phyrexia,"
+ "Rath,"
+ "Ravnica,"
+ "Shadowmoor,"
+ "Tarkir,"
+ "Theros,"
+ "Thunder Junction,"
+ "Ulgrotha,"
+ "Zendikar",
"The Abyss,"
+ "Antausia,"
+ "Arkhos,"
+ "Azgol,"
+ "Belenon,"
+ "Bolas's Meditation Realm,"
+ "Cridhe,"
+ "Echoir,"
+ "Equilor,"
+ "Ergamon,"
+ "Fabacin,"
+ "Fiora,"
+ "Gargantikar,"
+ "Gobakhan,"
+ "Iquatana,"
+ "Ir,"
+ "Karsus,"
+ "Kephalai,"
+ "Kinshala,"
+ "Kolbahan,"
+ "Kylem,"
+ "Kyneth,"
+ "Luvion,"
+ "Moag,"
+ "Mongseng,"
+ "Muraganda,"
+ "Phyrexia,"
+ "Pyrulea,"
+ "Rabiah,"
+ "Regatha,"
+ "Segovia,"
+ "Serra's Realm,"
+ "Shandalar,"
+ "Shenmeng,"
+ "Valla,"
+ "Vryn,"
+ "Wildfire,"
+ "Xerex,"
+ "Zhalfir",
"Alkabah,"
+ "Aranzhur,"
+ "Diraden,"
+ "Kodisha,"
+ "Metal Island,"
+ "Skalla,"
+ "Tavelia,"
+ "Tolvada",
"Azoria,"
+ "Cabralin,"
+ "Celesta,"
+ "Gastal,"
+ "Ilcae,"
+ "Mirrankkar,"
+ "Nether Void,"
+ "Obsidias,"
+ "Torwynn,"
+ "Vatraquaz",
"Alfava Metraxis,"
+ "Androzani Minor,"
+ "Apalapucia,"
+ "The Dalek Asylum,"
+ "Darillium,"
+ "Earth,"
+ "Gallifrey,"
+ "Horsehead Nebula,"
+ "Kandoka,"
+ "The Library,"
+ "Mars,"
+ "Moon,"
+ "Necros,"
+ "New Earth,"
+ "Outside Mutter's Spiral,"
+ "Skaro,"
+ "Spacecraft,"
+ "Time,"
+ "Trenzalore,"
+ "Unknown Planet"
]
], ],
"English (British)": [ "English (British)": [
code : "en", code : "en",
spellcheck_code : "en_GB", spellcheck_code : "en_GB",
fallback : "English",
pt_separator : "/", pt_separator : "/",
type_separator : " — ", type_separator : " — ",
subtype_separator : " ", subtype_separator : " ",
@@ -30,13 +649,14 @@ languages := [
is_land : match@(match: "(?i)Land") is_land : match@(match: "(?i)Land")
is_enchantment : match@(match: "(?i)Enchantment") is_enchantment : match@(match: "(?i)Enchantment")
is_spell : match@(match: "(?i)Instant|Sorcery") is_spell : match@(match: "(?i)Instant|Sorcery")
is_planeswalker : match@(match: "(?i)Planeswalker|Emblem") is_planeswalkish : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)") is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list" word_list : "word_list"
], ],
"English (Canadian)": [ "English (Canadian)": [
code : "en", code : "en",
spellcheck_code : "en_CA", spellcheck_code : "en_CA",
fallback : "English",
pt_separator : "/", pt_separator : "/",
type_separator : " — ", type_separator : " — ",
subtype_separator : " ", subtype_separator : " ",
@@ -46,13 +666,14 @@ languages := [
is_land : match@(match: "(?i)Land") is_land : match@(match: "(?i)Land")
is_enchantment : match@(match: "(?i)Enchantment") is_enchantment : match@(match: "(?i)Enchantment")
is_spell : match@(match: "(?i)Instant|Sorcery") is_spell : match@(match: "(?i)Instant|Sorcery")
is_planeswalker : match@(match: "(?i)Planeswalker|Emblem") is_planeswalkish : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)") is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list" word_list : "word_list"
], ],
Russian: [ Russian: [
code : "ru", code : "ru",
spellcheck_code : "ru_RU", spellcheck_code : "ru_RU",
fallback : "English",
pt_separator : "/", pt_separator : "/",
type_separator : " — ", type_separator : " — ",
subtype_separator : " ", subtype_separator : " ",
@@ -62,13 +683,14 @@ languages := [
is_land : match@(match: "(?i)Земля") is_land : match@(match: "(?i)Земля")
is_enchantment : match@(match: "(?i)Чары") is_enchantment : match@(match: "(?i)Чары")
is_spell : match@(match: "(?i)Мгновенное заклинание|Волшебство") is_spell : match@(match: "(?i)Мгновенное заклинание|Волшебство")
is_planeswalker : match@(match: "(?i)Planeswalker|Emblem") is_planeswalkish : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)") is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list_ru" word_list : "word_list_ru"
], ],
Italiano: [ Italiano: [
code : "it", code : "it",
spellcheck_code : "it_IT", spellcheck_code : "it_IT",
fallback : "English",
pt_separator : "/", pt_separator : "/",
type_separator : " — ", type_separator : " — ",
subtype_separator : " ", subtype_separator : " ",
@@ -78,13 +700,14 @@ languages := [
is_land : match@(match: "(?i)Terra") is_land : match@(match: "(?i)Terra")
is_enchantment : match@(match: "(?i)Incantesimo") is_enchantment : match@(match: "(?i)Incantesimo")
is_spell : match@(match: "(?i)Istantaneo|Stregoneria") is_spell : match@(match: "(?i)Istantaneo|Stregoneria")
is_planeswalker : match@(match: "(?i)Planeswalker|Emblem") is_planeswalkish : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)") is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list_it" word_list : "word_list_it"
], ],
"Português do Brasil" : [ "Português do Brasil" : [
code : "pt-br", code : "pt-br",
spellcheck_code : "pt_BR", spellcheck_code : "pt_BR",
fallback : "English",
pt_separator : "/", pt_separator : "/",
type_separator : " — ", type_separator : " — ",
subtype_separator : " ", subtype_separator : " ",
@@ -94,13 +717,14 @@ languages := [
is_land : match@(match: "(?i)Terreno") is_land : match@(match: "(?i)Terreno")
is_enchantment : match@(match: "(?i)Encantamento") is_enchantment : match@(match: "(?i)Encantamento")
is_spell : match@(match: "(?i)Mágica Instantânea|Feitiço") is_spell : match@(match: "(?i)Mágica Instantânea|Feitiço")
is_planeswalker : match@(match: "(?i)Planeswalker|Emblem") is_planeswalkish : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)") is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list_pt" word_list : "word_list_pt"
], ],
Français: [ Français: [
code : "fr", code : "fr",
spellcheck_code : "fr_FR", spellcheck_code : "fr_FR",
fallback : "English",
pt_separator : "/", pt_separator : "/",
type_separator : " : " type_separator : " : "
subtype_separator : "<atom-sep> et </atom-sep>", subtype_separator : "<atom-sep> et </atom-sep>",
@@ -110,19 +734,50 @@ languages := [
is_land : match@(match: "(?i)Terrain") is_land : match@(match: "(?i)Terrain")
is_enchantment : match@(match: "(?i)Enchantement") is_enchantment : match@(match: "(?i)Enchantement")
is_spell : match@(match: "(?i)Éphémère|Rituel") is_spell : match@(match: "(?i)Éphémère|Rituel")
is_planeswalker : match@(match: "(?i)Planeswalker") is_planeswalkish : match@(match: "(?i)Planeswalker")
is_plane : match@(match: "(?i)Plane(?!swalker)") is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list_fr" word_list : "word_list",
word_lists_basic: ["Plaine", "Île", "Marais", "Montagne", "Forêt"]
word_list_artifact:
"Attraction,"
+ "Sang,"
+ "Indice,"
+ "Appareil,"
+ "Équipement,"
+ "Nourriture,"
+ "Fortification,"
+ "Or,"
+ "Incubateur,"
+ "Lithoforce,"
+ "Trésor,"
+ "Véhicule"
word_list_land:
"Grotte,"
+ "Désert,"
+ "Porte,"
+ "Repaire,"
+ "Site,"
+ "Mine,"
+ "Centrale énergétique,"
+ "Sphère,"
+ "Tour,"
+ "D'urza"
] ]
] ]
# The selected language # The selected language
language := { languages[set.card_language] or else languages.English } language := { languages[set.card_language] or else languages.English }
# The language's name
lang_name := { lang_name := {
if languages[set.card_language].code or else false != false then if languages[set.card_language].code or else false != false then
set.card_language set.card_language
else "English" else "English"
} }
# Get a setting from a language, or use a fallback
lang_setting := {
language()[input] or else languages[language().fallback][input] or else languages.English[input] or else ""
}
# language scripts
spanish_number := { spanish_number := {
input := remove_tags(input) input := remove_tags(input)
espanol_ones_array := ["cero", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez", "once", "doce", "trece", "catorce", "quince"] espanol_ones_array := ["cero", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez", "once", "doce", "trece", "catorce", "quince"]

View File

@@ -4,6 +4,7 @@ include file: language
# needed by all style files anyway # needed by all style files anyway
include file: /magic-blends.mse-include/new-blends include file: /magic-blends.mse-include/new-blends
include file: statistics_script
############################################################## version check ############################################################## version check
version_date := {"2023-02-21"} version_date := {"2023-02-21"}
@@ -953,16 +954,18 @@ sub_type_filter := {
input := remove_tag(tag: "<word-list-") input := remove_tag(tag: "<word-list-")
input := remove_tag(tag: "<soft") input := remove_tag(tag: "<soft")
# What word list to use? # What word list to use?
list_type_rest := if languages[lang_name()].is_creature(type) then "class" list_type_rest := if lang_setting("is_creature")(type) or lang_setting("is_kindred")(type) then "class"
else if languages[lang_name()].is_land(type) then "land" else if lang_setting("is_land")(type) then "land"
else if languages[lang_name()].is_artifact(type) then "artifact" else if lang_setting("is_artifact")(type) then "artifact"
else if languages[lang_name()].is_enchantment(type) then "enchantment" else if lang_setting("is_enchantment")(type) then "enchantment"
else if languages[lang_name()].is_spell(type) then "spell" else if lang_setting("is_spell")(type) then "spell"
else if languages[lang_name()].is_planeswalker(type) then "planeswalker" else if lang_setting("is_planeswalker")(type) or lang_setting("is_emblem")(type) then "planeswalker"
else if languages[lang_name()].is_plane(type) then "plane" else if lang_setting("is_plane")(type) then "plane"
else if lang_setting("is_battle")(type) then "battle"
else if lang_setting("is_dungeon")(type) then "dungeon"
else nil else nil
if list_type_rest != nil then ( if list_type_rest != nil then (
if languages[lang_name()].is_creature(type) or languages[lang_name()].is_tribal(type) then ( if lang_setting("is_creature")(type) or lang_setting("is_kindred")(type) then (
list_type_first := "race" list_type_first := "race"
) else ( ) else (
list_type_first := list_type_rest list_type_first := list_type_rest
@@ -1233,7 +1236,7 @@ to_sentence := replace@(match:"(^|\n)([A-z])([^\n]*)", replace:{_1+ to_upper(_2)
join_arrays := { join_arrays := {
a1 + for x from 0 to length(a2)-1 do [a2[x]] a1 + for x from 0 to length(a2)-1 do [a2[x]]
} }
join := { join_list := {
string := "" string := ""
if length(input) == 2 then spacer := " " if length(input) == 2 then spacer := " "
if length(input) == 1 then closing := "" if length(input) == 1 then closing := ""
@@ -1241,11 +1244,16 @@ join := {
string := string + (if x == length(input)-1 then closing else "") + input[x] + (if x == length(input)-1 then "" else spacer) string := string + (if x == length(input)-1 then closing else "") + input[x] + (if x == length(input)-1 then "" else spacer)
string string
}@(spacer:", ", closing:"and ") }@(spacer:", ", closing:"and ")
join2 := { join := {
if i >= length(input) then "" if i >= length(input) then ""
else if i == length(input)-1 then input[i] else if i == length(input)-1 then input[i]
else input[i]+sep+join2(input, i: i+1, sep: sep) else input[i]+sep+join(input, i: i+1, sep: sep)
}@(i: 0) }@(i: 0, sep:"")
# workaround cause position() is broken for text arrays
contains_element := {
if input == [] then false else length(filter_list(input, filter:{input == element})) > 0
}
ar_position := { ar_position := {
pos := -1 pos := -1
dummy := for x from 0 to length(in)-1 do ( dummy := for x from 0 to length(in)-1 do (

View File

@@ -1,4 +1,4 @@
############################################################## Set fields ############################################################## Set fields
set field: set field:
@@ -155,10 +155,6 @@ set field:
type: boolean type: boolean
name: rarity codes name: rarity codes
description: Show rarity codes on M15 frames? description: Show rarity codes on M15 frames?
set field:
type: boolean
name: trim statistics
description: Removes tokens, special rarity, and masterpiece rarity from most statistics.
set field: set field:
type: boolean type: boolean
name: curly quotes name: curly quotes
@@ -238,6 +234,53 @@ set field:
name: wedge mana costs name: wedge mana costs
description: Depreciated. Should three color mana costs sort in wedge order like in Khans block? description: Depreciated. Should three color mana costs sort in wedge order like in Khans block?
initial: no initial: no
set field:
type: info
name: Statistics
set field:
type: boolean
name: trim statistics
description: Removes special and masterpiece rarity cards from the statistics, as well as tokens, emblems, dungeons, heroes, conspiracies, vanguards, schemes, planes and phenomenons. Type statistics_info() in the console for detailed help.
initial: no
set field:
type: text
name: filter statistics
description: Filter cards from the statistics. Syntax is: field_name_1=="value_1", field_name_2=="value_2", etc. Use == for strict equality, != for not equal, =: for contains, !: for not contains, <= and >= for numeric comparisons. Example: color=="RG", mana_value<="4", rule_text=:"deathtouch", sub_type!:"goblin"
set field:
type: multiple choice
name: count secondary faces
description: Count the back side or secondary faces of the cards in the statistics? Type statistics_info() in the console for detailed help.
choice: MDFC
choice: TDFC
choice: Adventure
choice: Split
choice: Aftermath
choice: Flip
initial: MDFC, Adventure, Split
set field:
type: text
name: custom super types
description: Custom supertypes for the stats page, separated by commas. Do not write custom types or subtypes. Type statistics_info() in the console for detailed help.
set field:
type: text
name: custom creature races
description: Custom races for the stats page, separated by commas, or type "detect" for MSE to grab them. Type statistics_info() in the console for detailed help.
default: "detect"
script:
if value == "detect" then detect_custom_creature_subtypes_statistic() else value
set field:
type: text
name: custom creature classes
description: Custom classes for the stats page, separated by commas. Type statistics_info() in the console for detailed help.
set field:
type: text
name: card notes clauses split
description: Regex used to split the card notes in the Card Notes Clauses statistics category. Default is " *(\.|\n|;|,|(?=!)) *" which splits at each semicolon, each dot, each exclamation mark and each comma.
default: " *(\\.|\\n|;|,|(?=!)) *"
set field:
type: text
name: global_variable_average_opening_hand
script: global_variable_average_opening_hand_statistic()
set field: set field:
type: info type: info
name: Mainframe Template Options name: Mainframe Template Options
@@ -316,6 +359,8 @@ set field:
############################# Default style ############################# Default style
default set style: default set style:
global_variable_average_opening_hand:
visible: false
title: title:
padding left: 2 padding left: 2
font: font:
@@ -432,6 +477,9 @@ default set style:
automatic reminder text: automatic reminder text:
render style: checklist render style: checklist
direction: vertical direction: vertical
count secondary faces:
render style: checklist
direction: vertical
sort special rarity: sort special rarity:
render style: both render style: both
choice images: choice images:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 877 B

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 876 B

After

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 B

View File

Before

Width:  |  Height:  |  Size: 416 B

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 802 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 394 B

After

Width:  |  Height:  |  Size: 931 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 674 B

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 576 B

After

Width:  |  Height:  |  Size: 958 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1000 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 860 B

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 590 B

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 702 B

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 400 B

After

Width:  |  Height:  |  Size: 400 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1016 B

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -59,290 +59,106 @@ word list:
name: All Races name: All Races
word: word:
name: A name: A
word: Aetherborn word:
word: Alien script: lang_setting("word_lists_race").0
word: Angel
word: Antelope
word: Ape
word: Archon
word: Assembly-Worker
word: Astartes
word: Atog
word: Aurochs
word: Avatar
word: Azra
word: word:
name: B name: B
word: Badger word:
word: Balloon script: lang_setting("word_lists_race").1
word: Basilisk
word: Bat
word: Bear
word: Beast
word: Beeble
word: Beholder
word: Bird
word: Blinkmoth
word: Boar
word: Bringer
word: Brushwagg
word: word:
name: C name: C
word: C'tan word:
word: Camarid script: lang_setting("word_lists_race").2
word: Camel
word: Capybara
word: Caribou
word: Carrier
word: Cat
word: Centaur
word: Cephalid
word: Chimera
word: Cockatrice
word: Construct
word: Crab
word: Crocodile
word: Custodes
word: Cyberman
word: Cyclops
word: word:
name: D name: D
word: Dalek word:
word: Dauthi script: lang_setting("word_lists_race").3
word: Demigod
word: Demon
word: Devil
word: Dinosaur
word: Djinn
word: Dog
word: Dragon
word: Drake
word: Dreadnought
word: Drone
word: Dryad
word: Dwarf
word: word:
name: E name: E
word: Efreet word:
word: Egg script: lang_setting("word_lists_race").4
word: Eldrazi
word: Elemental
word: Elephant
word: Elf
word: Elk
word: Eye
word: word:
name: F name: F
word: Faerie word:
word: Ferret script: lang_setting("word_lists_race").5
word: Fish
word: Fox
word: Fractal
word: Frog
word: Fungus
word: word:
name: G name: G
word: Gargoyle word:
word: Germ script: lang_setting("word_lists_race").6
word: Giant
word: Gith
word: Gnoll
word: Gnome
word: Goat
word: Goblin
word: God
word: Golem
word: Gorgon
word: Graveborn
word: Gremlin
word: Griffin
word: word:
name: H name: H
word: Hag word:
word: Halfling script: lang_setting("word_lists_race").7
word: Hamster
word: Harpy
word: Hellion
word: Hippo
word: Hippogriff
word: Homarid
word: Homunculus
word: Horror
word: Horse
word: Hound
word: Human
word: Hydra
word: Hyena
word: word:
name: I name: I
word: Illusion word:
word: Imp script: lang_setting("word_lists_race").8
word: Incarnation
word: Inkling
word: Insect
word: word:
name: J name: J
word: Jackal word:
word: Jellyfish script: lang_setting("word_lists_race").9
word: Juggernaut
word: word:
name: K name: K
word: Kavu word:
word: Kirin script: lang_setting("word_lists_race").10
word: Kithkin
word: Kobold
word: Kor
word: Kraken
word: word:
name: L name: L
word: Lamia word:
word: Lammasu script: lang_setting("word_lists_race").11
word: Leech
word: Leviathan
word: Lhurgoyf
word: Licid
word: Lizard
word: Llama
word: word:
name: M name: M
word: Manticore word:
word: Masticore script: lang_setting("word_lists_race").12
word: Merfolk
word: Metathran
word: Minotaur
word: Mite
word: Mole
word: Mongoose
word: Monkey
word: Moonfolk
word: Mouse
word: Mutant
word: Myr
word: word:
name: N name: N
word: Nautilus word:
word: Necron script: lang_setting("word_lists_race").13
word: Nephilim
word: Nightmare
word: Nightstalker
word: Noggle
word: Nymph
word: word:
name: O name: O
word: Octopus word:
word: Ogre script: lang_setting("word_lists_race").14
word: Ooze
word: Orb
word: Orc
word: Orgg
word: Otter
word: Ouphe
word: Ox
word: Oyster
word: word:
name: P name: P
word: Pangolin word:
word: Pegasus script: lang_setting("word_lists_race").15
word: Pentavite
word: Pest
word: Phelddagrif
word: Phoenix
word: Phyrexian
word: Pincher
word: Plant
word: Prism
word: word:
name: R name: R
word: Rabbit word:
word: Raccoon script: lang_setting("word_lists_race").16
word: Rat
word: Reflection
word: Rhino
word: Robot
word: word:
name: S name: S
word: word:
name: Sa-Sl name: Sa-Sl
word: Sable word:
word: Salamander script: lang_setting("word_lists_race").17
word: Sand
word: Saproling
word: Satyr
word: Scarecrow
word: Scorpion
word: Sculpture
word: Serpent
word: Servo
word: Shade
word: Shapeshifter
word: Shark
word: Sheep
word: Siren
word: Skeleton
word: Slith
word: Sliver
word: Slug
word: word:
name: Sn-Sz name: Sn-Sz
word: Snail word:
word: Snake script: lang_setting("word_lists_race").18
word: Soltari
word: Spawn
word: Specter
word: Sphinx
word: Spider
word: Spike
word: Spirit
word: Splinter
word: Sponge
word: Squid
word: Squirrel
word: Starfish
word: Surrakar
word: word:
name: T name: T
word: Tentacle word:
word: Tetravite script: lang_setting("word_lists_race").19
word: Thalakos
word: Thopter
word: Thrull
word: Tiefling
word: Time Lord
word: Treefolk
word: Trilobite
word: Triskelavite
word: Troll
word: Turtle
word: Tyranid
word: word:
name: U name: U
word: Unicorn word:
script: lang_setting("word_lists_race").20
word: word:
name: V name: V
word: Vampire word:
word: Vedalken script: lang_setting("word_lists_race").21
word: Viashino
word: Volver
word: word:
name: W name: W
word: Wall word:
word: Walrus script: lang_setting("word_lists_race").22
word: Weird
word: Werewolf
word: Whale
word: Wolf
word: Wolverine
word: Wombat
word: Worm
word: Wraith
word: Wurm
word: word:
name: Y name: Y
word: Yeti word:
script: lang_setting("word_lists_race").23
word: word:
name: Z name: Z
word: Zombie word:
word: Zubera script: lang_setting("word_lists_race").24
word list: word list:
name: class name: class
@@ -363,241 +179,74 @@ word list:
name: All Classes name: All Classes
word: word:
name: A-C name: A-C
word: Advisor word:
word: Ally script: lang_setting("word_lists_class").0
word: Archer
word: Archon
word: Army
word: Artificer
word: Assassin
word: Barbarian
word: Bard
word: Beast
word: Berserker
word: Carrier
word: Child
word: Citizen
word: Cleric
word: Clown
word: Coward
word: word:
name: D-I name: D-K
word: Deserter word:
word: Detective script: lang_setting("word_lists_class").1
word: Doctor
word: Dreadnought
word: Drone
word: Druid
word: Egg
word: Elder
word: Employee
word: Flagbearer
word: Gamer
word: Guest
word: Horror
word: Incarnation
word: Inquisitor
word: word:
name: J-P name: L-P
word: Juggernaut word:
word: Knight script: lang_setting("word_lists_class").2
word: Leviathan
word: Mercenary
word: Minion
word: Monger
word: Monk
word: Mutant
word: Mystic
word: Ninja
word: Noble
word: Nomad
word: Peasant
word: Performer
word: Pilot
word: Pirate
word: Praetor
word: Primarch
word: Processor
word: word:
name: R-S name: R-S
word: Ranger word:
word: Rebel script: lang_setting("word_lists_class").3
word: Reflection
word: Rigger
word: Rogue
word: Samurai
word: Scientist
word: Scion
word: Scout
word: Serf
word: Shaman
word: Skeleton
word: Soldier
word: Spawn
word: Spellshaper
word: Spirit
word: Survivor
word: word:
name: T-Z name: T-Z
word: Thopter word:
word: Vampire script: lang_setting("word_lists_class").4
word: Warlock
word: Warrior
word: Werewolf
word: Wizard
word: Zombie
word list: word list:
name: artifact name: artifact
word: word:
script: all_sub_types(match: "Artifact") script: all_sub_types(match: "Artifact")
line below: true line below: true
word: Attraction word:
word: Blood script: lang_setting("word_list_artifact")
word: Clue
word: Contraption
word: Equipment
word: Food
word: Fortification
word: Gold
word: Incubator
word: Junk
word: Map
word: Powerstone
word: Treasure
word: Vehicle
word list: word list:
name: land name: land
word: word:
script: all_sub_types(match: "Land") script: all_sub_types(match: "Land")
line below: true line below: true
word: Plains word:
word: Island script: lang_setting("word_lists_basics").0
word: Swamp word:
word: Mountain script: lang_setting("word_lists_basics").1
word: Forest word:
word: Cave script: lang_setting("word_lists_basics").2
word: Desert word:
word: Gate script: lang_setting("word_lists_basics").3
word: Lair word:
word: Locus script: lang_setting("word_lists_basics").4
word: Mine word:
word: Power-Plant script: lang_setting("word_list_land")
word: Sphere
word: Tower
word: Urza's
word list: word list:
name: enchantment name: enchantment
word: word:
script: all_sub_types(match: "Enchantment") script: all_sub_types(match: "Enchantment")
line below: true line below: true
word: Aura word:
word: Background script: lang_setting("word_list_enchantment")
word: Cartouche
word: Class
word: Curse
word: Role
word: Rune
word: Saga
word: Shard
word: Shrine
word list: word list:
name: spell name: spell
word: word:
script: all_sub_types(match: "Instant") + "," + all_sub_types(match: "Sorcery") script: all_sub_types(match: "Instant") + "," + all_sub_types(match: "Sorcery")
line below: true line below: true
word: Adventure word:
word: Arcane script: lang_setting("word_list_spell")
word: Lesson
word: Trap
word list: word list:
name: planeswalker name: planeswalker
word: word:
script: all_sub_types(match: "Planeswalker") script: all_sub_types(match: "Planeswalker")
line below: true line below: true
word: Ajani word:
word: Aminatou script: lang_setting("word_list_planeswalker")
word: Angrath
word: Arlinn
word: Ashiok
word: Bahamut
word: Basri
word: Bolas
word: Calix
word: Chandra
word: Comet
word: Dack
word: Dakkon
word: Daretti
word: Davriel
word: Dihada
word: Domri
word: Dovin
word: Ellywick
word: Elminister
word: Elspeth
word: Estrid
word: Freyalise
word: Garruk
word: Gideon
word: Grist
word: Guff
word: Huatli
word: Jace
word: Jared
word: Jaya
word: Jeska
word: Kaito
word: Karn
word: Kasmina
word: Kaya
word: Kiora
word: Koth
word: Liliana
word: Lolth
word: Lukka
word: Minsc
word: Mordenkainen
word: Nahiri
word: Narset
word: Niko
word: Nissa
word: Nixilis
word: Oko
word: Quintorius
word: Ral
word: Rowan
word: Saheeli
word: Samut
word: Sarkhan
word: Serra
word: Sivitri
word: Sorin
word: Szat
word: Tamiyo
word: Tasha
word: Teferi
word: Teyo
word: Tezzeret
word: Tibalt
word: Tyvar
word: Ugin
word: Urza
word: Venser
word: Vivien
word: Vraska
word: Vronos
word: Will
word: Windgrace
word: Wrenn
word: Xenagos
word: Yanggu
word: Yanling
word: Zariel
word: word:
name: Last Seen on Ixalan name: Last Seen on Ixalan
word: Huatli word: Huatli
@@ -713,7 +362,13 @@ word list:
word list: word list:
name: battle name: battle
word: Siege word:
script: lang_setting("word_list_battle")
word list:
name: dungeon
word:
script: lang_setting("word_list_dungeon")
word list: word list:
name: plane name: plane
@@ -722,115 +377,21 @@ word list:
line below: true line below: true
word: word:
name: Standard Planes name: Standard Planes
word: Alara word:
word: Amonkhet script: lang_setting("word_lists_plane").0
word: Arcavios
word: Bloomburrow
word: Capenna
word: Dominaria
word: Duskmourn
word: Eldraine
word: Ikoria
word: Innistrad
word: Ixalan
word: Kaladesh
word: Kaldheim
word: Kamigawa
word: Lorwyn
word: Mercadia
word: Mirrodin
word: New Phyrexia
word: Rath
word: Ravnica
word: Shadowmoor
word: Tarkir
word: Theros
word: Thunder Junction
word: Ulgrotha
word: Zendikar
word: word:
name: Planechase Planes name: Planechase Planes
word: The Abyss word:
word: Antausia script: lang_setting("word_lists_plane").1
word: Arkhos
word: Azgol
word: Belenon
word: Bolas's Meditation Realm
word: Cridhe
word: Echoir
word: Equilor
word: Ergamon
word: Fabacin
word: Fiora
word: Gargantikar
word: Gobakhan
word: Iquatana
word: Ir
word: Karsus
word: Kephalai
word: Kinshala
word: Kolbahan
word: Kylem
word: Kyneth
word: Luvion
word: Moag
word: Mongseng
word: Muraganda
word: Phyrexia
word: Pyrulea
word: Rabiah
word: Regatha
word: Segovia
word: Serra's Realm
word: Shandalar
word: Shenmeng
word: Tavelia
word: Valla
word: Vryn
word: Wildfire
word: Xerex
word: Zhalfir
word: word:
name: Other Modern Planes name: Other Modern Planes
word: Alkabah word:
word: Aranzhur script: lang_setting("word_lists_plane").2
word: Diraden
word: Kodisha
word: Metal Island
word: Skalla
word: Tavelia
word: Tolvada
word: word:
name: Very Old Planes name: Very Old Planes
word: Azoria word:
word: Cabralin script: lang_setting("word_lists_plane").3
word: Celesta
word: Gastal
word: Ilcae
word: Mirrankkar
word: Nether Void
word: Obsidias
word: Torwynn
word: Vatraquaz
word: word:
name: Dr Who Planes name: Dr Who Planes
word: Alfava Metraxis word:
word: Androzani Minor script: lang_setting("word_lists_plane").4
word: Apalapucia
word: The Dalek Asylum
word: Darillium
word: Earth
word: Gallifrey
word: Horsehead Nebula
word: Kandoka
word: The Library
word: Mars
word: Moon
word: Necros
word: New Earth
word: Outside Mutter's Spiral
word: Skaro
word: Spacecraft
word: Time
word: Trenzalore
word: Unknown Planet