dungeon fix, update stamp support

This commit is contained in:
CajunAvenger
2023-02-14 00:00:26 -06:00
parent 645b2cc858
commit 2ee67a67f2
18 changed files with 2194 additions and 39 deletions

View File

@@ -1,7 +1,6 @@
############################################################## Card fields
############################# Automatic fields
# The 'shape' of the card (flip, split, etc.)
card field:
type: choice
@@ -138,7 +137,9 @@ card field:
icon: stats/card_symbol.png
choice: none
choice: tombstone
description: Symbol for this card (tombstone)
choice: alchemy
choice: alchemy old
description: Symbol for this card
card field:
type: choice
name: type symbol
@@ -499,7 +500,7 @@ card field:
name: set code
editable: false
save value: false
script: (if is_masterpiece() then set.masterpiece_set_code else set.set_code) + " • " + set.set_language
script: (if is_masterpiece() then set.masterpiece_set_code else set.set_code) + (if set.set_language != "" then " • " + set.set_language else "")
show statistics: false
card field:
type: text
@@ -539,7 +540,18 @@ card field:
else
forward_editor(field: card.copyright)
description: Copyright of this card and cardnumber, the default value can be changed on the 'set info' tab
card field:
type: choice
name: card stamp
choice: standard
choice: none
choice: acorn
choice: universes beyond
choice: alchemy
choice: alchemy old
choice: custom
default: set.default_stamp
description: The stamp style for this card.
############################################################## Duplicate fields (split/flip cards)
# Based on flip templates by Wolfwood
# These are a direct copy of the fields above, only with a 2
@@ -633,8 +645,10 @@ card field:
icon: stats/card_symbol.png
choice: none
choice: tombstone
choice: alchemy
choice: alchemy old
show statistics: false
description: The card symbol of the card (Tombstone)
description: The card symbol of the card
card field:
type: choice
name: type symbol 2
@@ -999,7 +1013,7 @@ card field:
name: set code 2
editable: false
save value: false
script: (if is_masterpiece() then set.masterpiece_set_code else set.set_code) + " • " + set.set_language
script: (if is_masterpiece() then set.masterpiece_set_code else set.set_code) + (if set.set_language != "" then " • " + set.set_language else "")
show statistics: false
card field:
type: text
@@ -1086,6 +1100,34 @@ card field:
show statistics: false
multi line: true
description: The fifteenth level text for the card
card field:
type: text
name: level 16 text
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:"lv16")
show statistics: false
multi line: true
description: The sixteenth level text for the card
card field:
type: text
name: level 17 text
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:"lv17")
show statistics: false
multi line: true
description: The seventeenth level text for the card
card field:
type: text
name: level 18 text
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:"lv18")
show statistics: false
multi line: true
description: The eighteenth level text for the card
card field:
type: text
name: level 19 text
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:"lv19")
show statistics: false
multi line: true
description: The nineteenth level text for the card
card field:
type: text
name: level 5

View File

@@ -0,0 +1 @@
merfolk

View File

@@ -0,0 +1,176 @@
148
mana
untap/MSDRJZG
unblockable
planeswalker
noncreature
nonland
nonenchantment
nonartifact
nonwhite
nonblue
nonblack
nonred
nongreen
unblock/USDG
precombat
postcombat
scry
plainswalk
islandwalk
swampwalk
mountainwalk
forestwalk
landwalk
desertwalk
plainshome
islandhome
swamphome
mountainhome
foresthome
landhome
soulshift
ninjitsu
bushido
lifelink
gravestorm
fateseal
bloodthirst
djinn
unattach
face-down
face-up
spell's
guerrilas
mages
exit-the-battlefield
enter-the-battlefield
havok
spectre
gargadon
gargadons
Crovax
evincar
and/or
20/20
planeswalkers
Merfolk
deathtouch
noncombat
Urza
Karn
Ajani
Goldmane
Jace
Beleren
Liliana
Vess
Chandra
Nalaar
Garruk
Wildspeaker
Tezzeret
Elspeth
Tirel
Nicol
Bolas
Sarkhan
Vol
Nissa
Revane
Baltrice
Crucius
scryers
+1
etherium
-1
Kothophed
wurm
Tolaria
Weatherlight
Ertai
Barrin
Dominaria
Benalish
Benalia
Sisay
golem
Keld
Maraxus
Volrath
Mirri
Multani
maro-sorcerer
Squee
Tahngarth
Crovax
Selenia
Greven
il-Vec
Argive
Samite
Orim
Argivian
Rath
Starke
Sidar
Kondo
evincar
multiverse
Eladamri
Skyshroud
guerilla
Soltari
Lyna
Rofellos
spellcasting
Korvecdal
Vuel
Takara
self-interest
Ashnod
Mishra
Fallaji
Gix
Phyrexia
Phyrexian
supremacy
Tawnos
Argoth
Xantcha
Saproling
nontoken
mage
Ashling
Jaya
Maralen
Mornsong
non-Sliver
non-Shapeshifter
Thopter
Kraken
and/or
primordial
non-Dragon
nonpermanent
noninstant
nonplaneswalker
nonenchantment
nonsorcery
nonartifact
non-Human
Hellkite
hexproof
draughts
dwarves
sigil
dwarven
axe
earthen
hedron
thrull
arcun
merfolk
ziziziz

View File

@@ -0,0 +1 @@
merfolk

View File

@@ -0,0 +1,176 @@
148
mana
untap/MSDRJZG
unblockable
planeswalker
noncreature
nonland
nonenchantment
nonartifact
nonwhite
nonblue
nonblack
nonred
nongreen
unblock/USDG
precombat
postcombat
scry
plainswalk
islandwalk
swampwalk
mountainwalk
forestwalk
landwalk
desertwalk
plainshome
islandhome
swamphome
mountainhome
foresthome
landhome
soulshift
ninjitsu
bushido
lifelink
gravestorm
fateseal
bloodthirst
djinn
unattach
face-down
face-up
spell's
guerrilas
mages
exit-the-battlefield
enter-the-battlefield
havok
spectre
gargadon
gargadons
Crovax
evincar
and/or
20/20
planeswalkers
Merfolk
deathtouch
noncombat
Urza
Karn
Ajani
Goldmane
Jace
Beleren
Liliana
Vess
Chandra
Nalaar
Garruk
Wildspeaker
Tezzeret
Elspeth
Tirel
Nicol
Bolas
Sarkhan
Vol
Nissa
Revane
Baltrice
Crucius
scryers
+1
etherium
-1
Kothophed
wurm
Tolaria
Weatherlight
Ertai
Barrin
Dominaria
Benalish
Benalia
Sisay
golem
Keld
Maraxus
Volrath
Mirri
Multani
maro-sorcerer
Squee
Tahngarth
Crovax
Selenia
Greven
il-Vec
Argive
Samite
Orim
Argivian
Rath
Starke
Sidar
Kondo
evincar
multiverse
Eladamri
Skyshroud
guerilla
Soltari
Lyna
Rofellos
spellcasting
Korvecdal
Vuel
Takara
self-interest
Ashnod
Mishra
Fallaji
Gix
Phyrexia
Phyrexian
supremacy
Tawnos
Argoth
Xantcha
Saproling
nontoken
mage
Ashling
Jaya
Maralen
Mornsong
non-Sliver
non-Shapeshifter
Thopter
Kraken
and/or
primordial
non-Dragon
nonpermanent
noninstant
nonplaneswalker
nonenchantment
nonsorcery
nonartifact
non-Human
Hellkite
hexproof
draughts
dwarves
sigil
dwarven
axe
earthen
hedron
thrull
arcun
merfolk
ziziziz

View File

@@ -0,0 +1 @@
merfolk

View File

@@ -0,0 +1,176 @@
148
mana
untap/MSDRJZG
unblockable
planeswalker
noncreature
nonland
nonenchantment
nonartifact
nonwhite
nonblue
nonblack
nonred
nongreen
unblock/USDG
precombat
postcombat
scry
plainswalk
islandwalk
swampwalk
mountainwalk
forestwalk
landwalk
desertwalk
plainshome
islandhome
swamphome
mountainhome
foresthome
landhome
soulshift
ninjitsu
bushido
lifelink
gravestorm
fateseal
bloodthirst
djinn
unattach
face-down
face-up
spell's
guerrilas
mages
exit-the-battlefield
enter-the-battlefield
havok
spectre
gargadon
gargadons
Crovax
evincar
and/or
20/20
planeswalkers
Merfolk
deathtouch
noncombat
Urza
Karn
Ajani
Goldmane
Jace
Beleren
Liliana
Vess
Chandra
Nalaar
Garruk
Wildspeaker
Tezzeret
Elspeth
Tirel
Nicol
Bolas
Sarkhan
Vol
Nissa
Revane
Baltrice
Crucius
scryers
+1
etherium
-1
Kothophed
wurm
Tolaria
Weatherlight
Ertai
Barrin
Dominaria
Benalish
Benalia
Sisay
golem
Keld
Maraxus
Volrath
Mirri
Multani
maro-sorcerer
Squee
Tahngarth
Crovax
Selenia
Greven
il-Vec
Argive
Samite
Orim
Argivian
Rath
Starke
Sidar
Kondo
evincar
multiverse
Eladamri
Skyshroud
guerilla
Soltari
Lyna
Rofellos
spellcasting
Korvecdal
Vuel
Takara
self-interest
Ashnod
Mishra
Fallaji
Gix
Phyrexia
Phyrexian
supremacy
Tawnos
Argoth
Xantcha
Saproling
nontoken
mage
Ashling
Jaya
Maralen
Mornsong
non-Sliver
non-Shapeshifter
Thopter
Kraken
and/or
primordial
non-Dragon
nonpermanent
noninstant
nonplaneswalker
nonenchantment
nonsorcery
nonartifact
non-Human
Hellkite
hexproof
draughts
dwarves
sigil
dwarven
axe
earthen
hedron
thrull
arcun
merfolk
monocolored

View File

@@ -0,0 +1,175 @@
148
mana
untap/MSDRJZG
unblockable
planeswalker
noncreature
nonland
nonenchantment
nonartifact
nonwhite
nonblue
nonblack
nonred
nongreen
unblock/USDG
precombat
postcombat
scry
plainswalk
islandwalk
swampwalk
mountainwalk
forestwalk
landwalk
desertwalk
plainshome
islandhome
swamphome
mountainhome
foresthome
landhome
soulshift
ninjitsu
bushido
lifelink
gravestorm
fateseal
bloodthirst
djinn
unattach
face-down
face-up
spell's
guerrilas
mages
exit-the-battlefield
enter-the-battlefield
havok
spectre
gargadon
gargadons
Crovax
evincar
and/or
20/20
planeswalkers
Merfolk
deathtouch
noncombat
Urza
Karn
Ajani
Goldmane
Jace
Beleren
Liliana
Vess
Chandra
Nalaar
Garruk
Wildspeaker
Tezzeret
Elspeth
Tirel
Nicol
Bolas
Sarkhan
Vol
Nissa
Revane
Baltrice
Crucius
scryers
+1
etherium
-1
Kothophed
wurm
Tolaria
Weatherlight
Ertai
Barrin
Dominaria
Benalish
Benalia
Sisay
golem
Keld
Maraxus
Volrath
Mirri
Multani
maro-sorcerer
Squee
Tahngarth
Crovax
Selenia
Greven
il-Vec
Argive
Samite
Orim
Argivian
Rath
Starke
Sidar
Kondo
evincar
multiverse
Eladamri
Skyshroud
guerilla
Soltari
Lyna
Rofellos
spellcasting
Korvecdal
Vuel
Takara
self-interest
Ashnod
Mishra
Fallaji
Gix
Phyrexia
Phyrexian
supremacy
Tawnos
Argoth
Xantcha
Saproling
nontoken
mage
Ashling
Jaya
Maralen
Mornsong
non-Sliver
non-Shapeshifter
Thopter
Kraken
and/or
primordial
non-Dragon
nonpermanent
noninstant
nonplaneswalker
nonenchantment
nonsorcery
nonartifact
non-Human
Hellkite
hexproof
draughts
dwarves
sigil
dwarven
axe
earthen
hedron
thrull
arcun
merfolk

View File

@@ -0,0 +1,175 @@
148
mana
untap/MSDRJZG
unblockable
planeswalker
noncreature
nonland
nonenchantment
nonartifact
nonwhite
nonblue
nonblack
nonred
nongreen
unblock/USDG
precombat
postcombat
scry
plainswalk
islandwalk
swampwalk
mountainwalk
forestwalk
landwalk
desertwalk
plainshome
islandhome
swamphome
mountainhome
foresthome
landhome
soulshift
ninjitsu
bushido
lifelink
gravestorm
fateseal
bloodthirst
djinn
unattach
face-down
face-up
spell's
guerrilas
mages
exit-the-battlefield
enter-the-battlefield
havok
spectre
gargadon
gargadons
Crovax
evincar
and/or
20/20
planeswalkers
Merfolk
deathtouch
noncombat
Urza
Karn
Ajani
Goldmane
Jace
Beleren
Liliana
Vess
Chandra
Nalaar
Garruk
Wildspeaker
Tezzeret
Elspeth
Tirel
Nicol
Bolas
Sarkhan
Vol
Nissa
Revane
Baltrice
Crucius
scryers
+1
etherium
-1
Kothophed
wurm
Tolaria
Weatherlight
Ertai
Barrin
Dominaria
Benalish
Benalia
Sisay
golem
Keld
Maraxus
Volrath
Mirri
Multani
maro-sorcerer
Squee
Tahngarth
Crovax
Selenia
Greven
il-Vec
Argive
Samite
Orim
Argivian
Rath
Starke
Sidar
Kondo
evincar
multiverse
Eladamri
Skyshroud
guerilla
Soltari
Lyna
Rofellos
spellcasting
Korvecdal
Vuel
Takara
self-interest
Ashnod
Mishra
Fallaji
Gix
Phyrexia
Phyrexian
supremacy
Tawnos
Argoth
Xantcha
Saproling
nontoken
mage
Ashling
Jaya
Maralen
Mornsong
non-Sliver
non-Shapeshifter
Thopter
Kraken
and/or
primordial
non-Dragon
nonpermanent
noninstant
nonplaneswalker
nonenchantment
nonsorcery
nonartifact
non-Human
Hellkite
hexproof
draughts
dwarves
sigil
dwarven
axe
earthen
hedron
thrull
arcun
merfolk

View File

@@ -0,0 +1,175 @@
148
mana
untap/MSDRJZG
unblockable
planeswalker
noncreature
nonland
nonenchantment
nonartifact
nonwhite
nonblue
nonblack
nonred
nongreen
unblock/USDG
precombat
postcombat
scry
plainswalk
islandwalk
swampwalk
mountainwalk
forestwalk
landwalk
desertwalk
plainshome
islandhome
swamphome
mountainhome
foresthome
landhome
soulshift
ninjitsu
bushido
lifelink
gravestorm
fateseal
bloodthirst
djinn
unattach
face-down
face-up
spell's
guerrilas
mages
exit-the-battlefield
enter-the-battlefield
havok
spectre
gargadon
gargadons
Crovax
evincar
and/or
20/20
planeswalkers
Merfolk
deathtouch
noncombat
Urza
Karn
Ajani
Goldmane
Jace
Beleren
Liliana
Vess
Chandra
Nalaar
Garruk
Wildspeaker
Tezzeret
Elspeth
Tirel
Nicol
Bolas
Sarkhan
Vol
Nissa
Revane
Baltrice
Crucius
scryers
+1
etherium
-1
Kothophed
wurm
Tolaria
Weatherlight
Ertai
Barrin
Dominaria
Benalish
Benalia
Sisay
golem
Keld
Maraxus
Volrath
Mirri
Multani
maro-sorcerer
Squee
Tahngarth
Crovax
Selenia
Greven
il-Vec
Argive
Samite
Orim
Argivian
Rath
Starke
Sidar
Kondo
evincar
multiverse
Eladamri
Skyshroud
guerilla
Soltari
Lyna
Rofellos
spellcasting
Korvecdal
Vuel
Takara
self-interest
Ashnod
Mishra
Fallaji
Gix
Phyrexia
Phyrexian
supremacy
Tawnos
Argoth
Xantcha
Saproling
nontoken
mage
Ashling
Jaya
Maralen
Mornsong
non-Sliver
non-Shapeshifter
Thopter
Kraken
and/or
primordial
non-Dragon
nonpermanent
noninstant
nonplaneswalker
nonenchantment
nonsorcery
nonartifact
non-Human
Hellkite
hexproof
draughts
dwarves
sigil
dwarven
axe
earthen
hedron
thrull
arcun
merfolk

View File

@@ -0,0 +1,175 @@
148
mana
untap/MSDRJZG
unblockable
planeswalker
noncreature
nonland
nonenchantment
nonartifact
nonwhite
nonblue
nonblack
nonred
nongreen
unblock/USDG
precombat
postcombat
scry
plainswalk
islandwalk
swampwalk
mountainwalk
forestwalk
landwalk
desertwalk
plainshome
islandhome
swamphome
mountainhome
foresthome
landhome
soulshift
ninjitsu
bushido
lifelink
gravestorm
fateseal
bloodthirst
djinn
unattach
face-down
face-up
spell's
guerrilas
mages
exit-the-battlefield
enter-the-battlefield
havok
spectre
gargadon
gargadons
Crovax
evincar
and/or
20/20
planeswalkers
Merfolk
deathtouch
noncombat
Urza
Karn
Ajani
Goldmane
Jace
Beleren
Liliana
Vess
Chandra
Nalaar
Garruk
Wildspeaker
Tezzeret
Elspeth
Tirel
Nicol
Bolas
Sarkhan
Vol
Nissa
Revane
Baltrice
Crucius
scryers
+1
etherium
-1
Kothophed
wurm
Tolaria
Weatherlight
Ertai
Barrin
Dominaria
Benalish
Benalia
Sisay
golem
Keld
Maraxus
Volrath
Mirri
Multani
maro-sorcerer
Squee
Tahngarth
Crovax
Selenia
Greven
il-Vec
Argive
Samite
Orim
Argivian
Rath
Starke
Sidar
Kondo
evincar
multiverse
Eladamri
Skyshroud
guerilla
Soltari
Lyna
Rofellos
spellcasting
Korvecdal
Vuel
Takara
self-interest
Ashnod
Mishra
Fallaji
Gix
Phyrexia
Phyrexian
supremacy
Tawnos
Argoth
Xantcha
Saproling
nontoken
mage
Ashling
Jaya
Maralen
Mornsong
non-Sliver
non-Shapeshifter
Thopter
Kraken
and/or
primordial
non-Dragon
nonpermanent
noninstant
nonplaneswalker
nonenchantment
nonsorcery
nonartifact
non-Human
Hellkite
hexproof
draughts
dwarves
sigil
dwarven
axe
earthen
hedron
thrull
arcun
merfolk

View File

@@ -0,0 +1,175 @@
148
mana
untap/MSDRJZG
unblockable
planeswalker
noncreature
nonland
nonenchantment
nonartifact
nonwhite
nonblue
nonblack
nonred
nongreen
unblock/USDG
precombat
postcombat
scry
plainswalk
islandwalk
swampwalk
mountainwalk
forestwalk
landwalk
desertwalk
plainshome
islandhome
swamphome
mountainhome
foresthome
landhome
soulshift
ninjitsu
bushido
lifelink
gravestorm
fateseal
bloodthirst
djinn
unattach
face-down
face-up
spell's
guerrilas
mages
exit-the-battlefield
enter-the-battlefield
havok
spectre
gargadon
gargadons
Crovax
evincar
and/or
20/20
planeswalkers
Merfolk
deathtouch
noncombat
Urza
Karn
Ajani
Goldmane
Jace
Beleren
Liliana
Vess
Chandra
Nalaar
Garruk
Wildspeaker
Tezzeret
Elspeth
Tirel
Nicol
Bolas
Sarkhan
Vol
Nissa
Revane
Baltrice
Crucius
scryers
+1
etherium
-1
Kothophed
wurm
Tolaria
Weatherlight
Ertai
Barrin
Dominaria
Benalish
Benalia
Sisay
golem
Keld
Maraxus
Volrath
Mirri
Multani
maro-sorcerer
Squee
Tahngarth
Crovax
Selenia
Greven
il-Vec
Argive
Samite
Orim
Argivian
Rath
Starke
Sidar
Kondo
evincar
multiverse
Eladamri
Skyshroud
guerilla
Soltari
Lyna
Rofellos
spellcasting
Korvecdal
Vuel
Takara
self-interest
Ashnod
Mishra
Fallaji
Gix
Phyrexia
Phyrexian
supremacy
Tawnos
Argoth
Xantcha
Saproling
nontoken
mage
Ashling
Jaya
Maralen
Mornsong
non-Sliver
non-Shapeshifter
Thopter
Kraken
and/or
primordial
non-Dragon
nonpermanent
noninstant
nonplaneswalker
nonenchantment
nonsorcery
nonartifact
non-Human
Hellkite
hexproof
draughts
dwarves
sigil
dwarven
axe
earthen
hedron
thrull
arcun
merfolk

View File

@@ -0,0 +1,175 @@
148
mana
untap/MSDRJZG
unblockable
planeswalker
noncreature
nonland
nonenchantment
nonartifact
nonwhite
nonblue
nonblack
nonred
nongreen
unblock/USDG
precombat
postcombat
scry
plainswalk
islandwalk
swampwalk
mountainwalk
forestwalk
landwalk
desertwalk
plainshome
islandhome
swamphome
mountainhome
foresthome
landhome
soulshift
ninjitsu
bushido
lifelink
gravestorm
fateseal
bloodthirst
djinn
unattach
face-down
face-up
spell's
guerrilas
mages
exit-the-battlefield
enter-the-battlefield
havok
spectre
gargadon
gargadons
Crovax
evincar
and/or
20/20
planeswalkers
Merfolk
deathtouch
noncombat
Urza
Karn
Ajani
Goldmane
Jace
Beleren
Liliana
Vess
Chandra
Nalaar
Garruk
Wildspeaker
Tezzeret
Elspeth
Tirel
Nicol
Bolas
Sarkhan
Vol
Nissa
Revane
Baltrice
Crucius
scryers
+1
etherium
-1
Kothophed
wurm
Tolaria
Weatherlight
Ertai
Barrin
Dominaria
Benalish
Benalia
Sisay
golem
Keld
Maraxus
Volrath
Mirri
Multani
maro-sorcerer
Squee
Tahngarth
Crovax
Selenia
Greven
il-Vec
Argive
Samite
Orim
Argivian
Rath
Starke
Sidar
Kondo
evincar
multiverse
Eladamri
Skyshroud
guerilla
Soltari
Lyna
Rofellos
spellcasting
Korvecdal
Vuel
Takara
self-interest
Ashnod
Mishra
Fallaji
Gix
Phyrexia
Phyrexian
supremacy
Tawnos
Argoth
Xantcha
Saproling
nontoken
mage
Ashling
Jaya
Maralen
Mornsong
non-Sliver
non-Shapeshifter
Thopter
Kraken
and/or
primordial
non-Dragon
nonpermanent
noninstant
nonplaneswalker
nonenchantment
nonsorcery
nonartifact
non-Human
Hellkite
hexproof
draughts
dwarves
sigil
dwarven
axe
earthen
hedron
thrull
arcun
merfolk

View File

@@ -0,0 +1,175 @@
148
mana
untap/MSDRJZG
unblockable
planeswalker
noncreature
nonland
nonenchantment
nonartifact
nonwhite
nonblue
nonblack
nonred
nongreen
unblock/USDG
precombat
postcombat
scry
plainswalk
islandwalk
swampwalk
mountainwalk
forestwalk
landwalk
desertwalk
plainshome
islandhome
swamphome
mountainhome
foresthome
landhome
soulshift
ninjitsu
bushido
lifelink
gravestorm
fateseal
bloodthirst
djinn
unattach
face-down
face-up
spell's
guerrilas
mages
exit-the-battlefield
enter-the-battlefield
havok
spectre
gargadon
gargadons
Crovax
evincar
and/or
20/20
planeswalkers
Merfolk
deathtouch
noncombat
Urza
Karn
Ajani
Goldmane
Jace
Beleren
Liliana
Vess
Chandra
Nalaar
Garruk
Wildspeaker
Tezzeret
Elspeth
Tirel
Nicol
Bolas
Sarkhan
Vol
Nissa
Revane
Baltrice
Crucius
scryers
+1
etherium
-1
Kothophed
wurm
Tolaria
Weatherlight
Ertai
Barrin
Dominaria
Benalish
Benalia
Sisay
golem
Keld
Maraxus
Volrath
Mirri
Multani
maro-sorcerer
Squee
Tahngarth
Crovax
Selenia
Greven
il-Vec
Argive
Samite
Orim
Argivian
Rath
Starke
Sidar
Kondo
evincar
multiverse
Eladamri
Skyshroud
guerilla
Soltari
Lyna
Rofellos
spellcasting
Korvecdal
Vuel
Takara
self-interest
Ashnod
Mishra
Fallaji
Gix
Phyrexia
Phyrexian
supremacy
Tawnos
Argoth
Xantcha
Saproling
nontoken
mage
Ashling
Jaya
Maralen
Mornsong
non-Sliver
non-Shapeshifter
Thopter
Kraken
and/or
primordial
non-Dragon
nonpermanent
noninstant
nonplaneswalker
nonenchantment
nonsorcery
nonartifact
non-Human
Hellkite
hexproof
draughts
dwarves
sigil
dwarven
axe
earthen
hedron
thrull
arcun
merfolk

View File

@@ -0,0 +1,175 @@
148
mana
untap/MSDRJZG
unblockable
planeswalker
noncreature
nonland
nonenchantment
nonartifact
nonwhite
nonblue
nonblack
nonred
nongreen
unblock/USDG
precombat
postcombat
scry
plainswalk
islandwalk
swampwalk
mountainwalk
forestwalk
landwalk
desertwalk
plainshome
islandhome
swamphome
mountainhome
foresthome
landhome
soulshift
ninjitsu
bushido
lifelink
gravestorm
fateseal
bloodthirst
djinn
unattach
face-down
face-up
spell's
guerrilas
mages
exit-the-battlefield
enter-the-battlefield
havok
spectre
gargadon
gargadons
Crovax
evincar
and/or
20/20
planeswalkers
Merfolk
deathtouch
noncombat
Urza
Karn
Ajani
Goldmane
Jace
Beleren
Liliana
Vess
Chandra
Nalaar
Garruk
Wildspeaker
Tezzeret
Elspeth
Tirel
Nicol
Bolas
Sarkhan
Vol
Nissa
Revane
Baltrice
Crucius
scryers
+1
etherium
-1
Kothophed
wurm
Tolaria
Weatherlight
Ertai
Barrin
Dominaria
Benalish
Benalia
Sisay
golem
Keld
Maraxus
Volrath
Mirri
Multani
maro-sorcerer
Squee
Tahngarth
Crovax
Selenia
Greven
il-Vec
Argive
Samite
Orim
Argivian
Rath
Starke
Sidar
Kondo
evincar
multiverse
Eladamri
Skyshroud
guerilla
Soltari
Lyna
Rofellos
spellcasting
Korvecdal
Vuel
Takara
self-interest
Ashnod
Mishra
Fallaji
Gix
Phyrexia
Phyrexian
supremacy
Tawnos
Argoth
Xantcha
Saproling
nontoken
mage
Ashling
Jaya
Maralen
Mornsong
non-Sliver
non-Shapeshifter
Thopter
Kraken
and/or
primordial
non-Dragon
nonpermanent
noninstant
nonplaneswalker
nonenchantment
nonsorcery
nonartifact
non-Human
Hellkite
hexproof
draughts
dwarves
sigil
dwarven
axe
earthen
hedron
thrull
arcun
merfolk

View File

@@ -18,6 +18,38 @@ languages := [
is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list"
],
"English (British)": [
code : "en",
spellcheck_code : "en_GB",
pt_separator : "/",
type_separator : " — ",
subtype_separator : " ",
is_creature : match@(match: "(?i)Creature")
is_tribal : match@(match: "(?i)Tribal")
is_artifact : match@(match: "(?i)Artifact")
is_land : match@(match: "(?i)Land")
is_enchantment : match@(match: "(?i)Enchantment")
is_spell : match@(match: "(?i)Instant|Sorcery")
is_planeswalker : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list"
],
"English (Canadian)": [
code : "en",
spellcheck_code : "en_CA",
pt_separator : "/",
type_separator : " — ",
subtype_separator : " ",
is_creature : match@(match: "(?i)Creature")
is_tribal : match@(match: "(?i)Tribal")
is_artifact : match@(match: "(?i)Artifact")
is_land : match@(match: "(?i)Land")
is_enchantment : match@(match: "(?i)Enchantment")
is_spell : match@(match: "(?i)Instant|Sorcery")
is_planeswalker : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list"
],
Russian: [
code : "ru",
spellcheck_code : "ru_RU",
@@ -86,6 +118,11 @@ languages := [
# The selected language
language := { languages[set.card_language] or else languages.English }
lang_name := {
if languages[set.card_language].code or else false != false then
set.card_language
else "English"
}
spanish_number := {
input := remove_tags(input)
espanol_ones_array := ["cero", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez", "once", "doce", "trece", "catorce", "quince"]

View File

@@ -5,16 +5,16 @@ include file: language
include file: /magic-blends.mse-include/new-blends
############################################################## version check
version_date := {"2022-01-30"}
version_date := {"2023-02-21"}
############################################################## Sorting mana symbols
# correctly sort a mana symbol (no guild mana)
mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHSCAIE(WUBRG)")
mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHSFCAIE(WUBRG)")
# correctly sort wedge mana
mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHSCAIE(WBGUR)")
mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHSFCAIE(WBGUR)")
mana_unsort := sort_text@(order:"[/\\?XYZI0123456789VLHSCAIEWUBRG]")
# correctly sort guild mana
mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHSCAIEWUBRG/|]") +
mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHSFCAIEWUBRG/|]") +
replace@(
# No lookbehind :(
#match: "(?<!/)(./.|././.|./././.|.[|])(?!/)",
@@ -61,7 +61,6 @@ mana_filter_t := replace@( # Remove [] used for forcing mana symbo
replace: ""
) + { tap_reduction(tap_filter()) + mana_filter() }
############################################################## Determine card color
# Names of colors
@@ -232,9 +231,9 @@ card_color_filter := {
############################################################## Card number
# exportname
exporter_name_filter := filter_text@(match:"!exporte?r?name [^\n!]+")
exporter_name_grabber := replace@(match:"!exporte?r?name ", replace:"")
export_name := { exporter_name_grabber(exporter_name_filter(card.notes))}
exporter_name_filter := filter_text@(match:"!exporte?r?name [^\n!]+")
exporter_name_grabber := replace@(match:"!exporte?r?name ", replace:"")
export_name := { exporter_name_grabber(exporter_name_filter(card.notes))}
# Index for sorting, white cards are first, so white->A, blue->B, .. ,
# The code consists of 3 parts:
@@ -344,6 +343,15 @@ rarity_sort := {
else if set.sort_special_rarity == "with the rest" or card.rarity != "special" then " "
else "S"
}
card_partition := {"A"}
over_partition := {
my_pos := number_partition()
mn_pos := if set.last_main_partition == "" then "M" else to_upper(substring(set.last_main_partition, end:1))
posis := [my_pos, mn_pos]
higher := sort_list(posis).0
my_pos != higher
}
number_partition := { to_upper(substring(card_partition(), end:1)) }
set_filter := {
# TODO: what about rulestips?
if is_unsorted() then
@@ -359,11 +367,11 @@ set_filter := {
else if is_masterpiece() and card.shape != "token" and card.shape != "emblem" then
{ is_masterpiece() and card.shape != "token" and card.shape != "emblem" }
else if set.sort_special_rarity != "separate numbering" then
{ not is_unsorted() and card.shape != "token" and not is_masterpiece() and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist"}
{ not over_partition() and not is_unsorted() and card.shape != "token" and not is_masterpiece() and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist"}
else if card.rarity == "special" then
{ not is_unsorted() and card.shape != "token" and not is_masterpiece() and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist" and card.rarity == "special" }
{ not over_partition() and not is_unsorted() and card.shape != "token" and not is_masterpiece() and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist" and card.rarity == "special" }
else
{ not is_unsorted() and card.shape != "token" and not is_masterpiece() and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist" and card.rarity != "special" }
{ not over_partition() and not is_unsorted() and card.shape != "token" and not is_masterpiece() and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist" and card.rarity != "special" }
}
card_number_offset := {pull_comma_array(set.card_number_offsets, cell:0, end:false, default:0)}
set_number_offset := {pull_comma_array(set.card_number_offsets, cell:1, end:false, default:0)}
@@ -371,7 +379,7 @@ card_number := {
position (
of: card
in: set
order_by: { rarity_sort() + sort_index() + sort_name(card.name) + sort_name(export_name())}
order_by: { number_partition() + rarity_sort() + sort_index() + sort_name(card.name) + sort_name(export_name())}
filter: set_filter()
) + 1 + to_number(card_number_offset())
}
@@ -601,7 +609,6 @@ inserts_values := {
split_text(set.inserts+";;;;;;;;;", match:";")
}
############################################################## The text box
# Filters for the text box
# context in which mana symbols are found
mana_context :=
@@ -633,6 +640,9 @@ mana_un_context := "(converted mana costs? <match>|<match> life)"
# truncates the name of legends
legend_filter := replace@(match:"(, | of | the | \"| “).*", replace: "" )
# does this frame support Alchemy Rebalanced name symbol?
alch_compatible := {false}
# these are considered a correct 'word' for spellchecking in the text box:
additional_text_words := match@(match:
"(?ix)^(?: # match whole word
@@ -650,7 +660,9 @@ this_or_that := {
this := "this"
that := "that"
type := input
if is_creaturish(card.type) then type := "creature"
if input == "type" then type := main_type(card.type)
else if is_creaturish(card.type) then type := "creature"
if type == "" then type := "permanent"
if upper then (
this := "This"
that := "That"
@@ -878,7 +890,7 @@ text_filter :=
{ if set.mark_errors then
check_spelling(
language: language().spellcheck_code,
extra_dictionary: "/magic.mse-game/magic-words",
extra_dictionary: "/magic.mse-game/dictionary/magic-words",
extra_match: additional_text_words
)
else input
@@ -921,18 +933,17 @@ break_subtypes := split_text@(match: " +|<atom-sep>[^<]*</atom-sep>", include_em
sub_type_filter := {
input := remove_tag(tag: "<word-list-")
input := remove_tag(tag: "<soft")
lang := language()
# What word list to use?
list_type_rest := if lang.is_creature(type) then "class"
else if lang.is_land(type) then "land"
else if lang.is_artifact(type) then "artifact"
else if lang.is_enchantment(type) then "enchantment"
else if lang.is_spell(type) then "spell"
else if lang.is_planeswalker(type) then "planeswalker"
else if lang.is_plane(type) then "plane"
list_type_rest := if languages[lang_name()].is_creature(type) then "class"
else if languages[lang_name()].is_land(type) then "land"
else if languages[lang_name()].is_artifact(type) then "artifact"
else if languages[lang_name()].is_enchantment(type) then "enchantment"
else if languages[lang_name()].is_spell(type) then "spell"
else if languages[lang_name()].is_planeswalker(type) then "planeswalker"
else if languages[lang_name()].is_plane(type) then "plane"
else nil
if list_type_rest != nil then (
if lang.is_creature(type) or lang.is_tribal(type) then (
if languages[lang_name()].is_creature(type) or languages[lang_name()].is_tribal(type) then (
list_type_first := "race"
) else (
list_type_first := list_type_rest
@@ -943,11 +954,11 @@ sub_type_filter := {
if i == 0 then
"<word-list-{list_type_first}>{part}</word-list-{list_type_first}>"
else
lang.subtype_separator + "<word-list-{list_type_rest}>{part}</word-list-{list_type_rest}>"
languages[lang_name()].subtype_separator + "<word-list-{list_type_rest}>{part}</word-list-{list_type_rest}>"
) +
(if length(parts) > 0 then
# Add a new box at the end
"<soft>{lang.subtype_separator}</soft><word-list-{list_type_rest}></word-list-{list_type_rest}>"
"<soft>{languages[lang_name()].subtype_separator}</soft><word-list-{list_type_rest}></word-list-{list_type_rest}>"
else
"<word-list-{list_type_first}></word-list-{list_type_first}>"
)
@@ -1186,6 +1197,9 @@ round_up := {to_int(0.99999999999998+input)}
round_near := {to_int(0.5+input)}
to_title := replace@(match:"(^| )([A-z])([^ ]*)", replace:{_1+ to_upper(_2) + to_lower(_3)})
to_sentence := replace@(match:"(^|\n)([A-z])([^\n]*)", replace:{_1+ to_upper(_2) + to_lower(_3)})
join_arrays := {
a1 + for x from 0 to length(a2)-1 do [a2[x]]
}
join := {
string := ""
if length(input) == 2 then spacer := " "
@@ -1194,11 +1208,21 @@ 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 ")
includes := { flagged := false
for x from 0 to length(array)-1 do
if array[x] == input then flagged := true;
flagged
ar_position := {
pos := -1
dummy := for x from 0 to length(in)-1 do (
if in[x] == of then pos := x
"filler"
)
pos
}
unique_elements := {
e1 := []
e2 := []
e1 := e1 + for x from 0 to length(of)-1 do if ar_position(of:of[x], in:from) == -1 then [of[x]]
}
includes := {ar_position(of:input in:array) != -1}
pull_comma_array := {
array := split_text(input, match:divider)
length := length(comma_count(input))
@@ -1408,7 +1432,8 @@ mana_ability := {
}
main_type := {
types := main_types(input)
if includes("Creature", array:types)
if length(types) == 0 then ""
else if includes("Creature", array:types)
then "Creature"
else if includes("Land", array:types)
then "Land"
@@ -1428,6 +1453,19 @@ v_mana_name := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_
v_mana_loc := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"{v_mana_name()}\\.png", replace:"")}
v_mana_num := {max(to_number(set.number_hybrid_variants),0) or else -1}
ub_stamp := { card.card_stamp == "universes beyond" }
use_custom_stamp := {contains(set.custom_stamp_name, match:".png")}
c_stamp_name := {
if not use_custom_stamp() then ""
else if card.stamp == "custom" then set.custom_stamp_name
else if card.stamp == "custom color" then replace(set.custom_stamp_name, match:"(.+/|\\.png)", replace:"")
else ""
}
c_stamp_loc := {
if card.stamp != "custom color" or not use_custom_stamp() then ""
else replace(set.custom_stamp_name, match:"{c_stamp_name()}\\.png", replace:"")
}
searchPull := filter_text@(match:"search(name|mana|type|rules|flavor|text|notes)")
searchSnip := replace@(match:"search(name|mana|type|rules|flavor|text|notes)_", replace:"")
@@ -1784,7 +1822,15 @@ card_face := {
back := if card[input+"_2"] or else "" != "" then card[input+"_2"] else card[input]
if match(margin_code, match:"(text[2456]|lv[5678])") then back else front
}
strip_card_codes := replace@(match:"^[CURMSL][WUBRGMZACL][0-9]+ ?[-—]? ?", replace:"")
cc_filter := replace@(match:"^[CURMSL][WUBRGMZACL][0-9]+ ?[-—]? ?", replace:"")
strip_card_codes := {
save := input
input := cc_filter(input)
input := if input == "" or input == " " then save else input
if alch_compatible() and card.card_symbol == "alchemy"
then "<sym>A-</sym>" + input
else input
}
name_checker := {if not set.remove_card_codes then input else strip_card_codes(input)}
face_code := {
@@ -1793,6 +1839,9 @@ face_code := {
output := face_scripts[input](face) or else if_parse(input, face:face) or else input
output
}
flip_face := {
if input == "_2" then "" else "_2"
}
face_scripts := [
iscreature: {is_creature(card["type"+face])},
iscreaturish: {is_creaturish(card["type"+face])},
@@ -1806,6 +1855,10 @@ face_scripts := [
contains(card[field+face], match:query)
},
notcontains: {not contains(card[field+face], match:query)},
name: {card["name"+face]},
cost: {card["casting_cost"+face]},
altname: {card["name"+flip_face(face)]},
altcost: {card["casting_cost"+flip_face(face)]},
]
expand_facecodes := [
subtype: "sub_type",
@@ -1843,3 +1896,64 @@ phy_reminder := {
reminder_text := ""
reminder_text
}
# rough type_of script
# fine for nil, boolean, color, date, string, number, and array
# map and image are trickier
# if you don't care about the difference use as normal, will return "map or image"
# if you do, include key:"" parameter that's a key of the potential map
# ex if you want to know if some_object is an image or [x:1]
# use type_of(some_object, key:"x")
type_of := {
test := to_string(input) or else nil
type := "idk"
if test == "" and input == nil then type := "nil"
else if test != nil and (input == true or input == false) then type := "boolean"
else if (test != nil and test + 0 == input + 0) then (
if to_color(test) or else nil == input
then type := "color"
else if to_date(test) or else nil == input
then type := "date"
else type := "string"
)
else if test != nil then type := "number"
else if input[0] or else nil != nil then type := "array"
else if key == "" then type := "map or image"
else if input[key] or else nil == nil then type := "image"
else type := "map"
type
}@(key:"")
is_string := {
test := to_string(input) or else nil
if test == "" and input == nil then false
else if test == nil then false
else test == input
}
# mapping := ["up":"test/up.png" "down":"test/down.png" "left":"test/left.png" "right":"test/right.png"]
multi_choice_image := {
## input = option string
##img_map = map of image links
coll := split_text(input, match:", ?")
imgs := for each x in coll do if img_map[x] or else false != false then [img_map[x]]
len := length(imgs)
if len == 0 then
""
else if len == 1 then
imgs[0]
else if len == 2 then
combine_blend(image1:imgs[0] image2:imgs[1], combine:combine)
else mass_combine(imgs:imgs, combine:combine)
}@(combine:"and")
mass_combine := {
base := combine_blend(image1:imgs[0] image2:imgs[1], combine:combine)
for x from 2 to length(imgs)-1 do (
base := combine_blend(image1:base image2:imgs[x] combine:combine)
"" # this is junk output so it doesn't try to add the images as strings
)
base
}@(combine:"and")
zwsp := ""

View File

@@ -187,6 +187,8 @@ set field:
name: card language
description: Language for the cards
choice: English
choice: English (British)
choice: English (Canadian)
choice: Français
choice: Italiano
choice: Português do Brasil
@@ -238,6 +240,25 @@ set field:
type: boolean
name: use flavor bar
description: Enables the flavor bar on Mainframe templates.
set field:
type: text
name: last main partition
description: Card Number Partitions after this one aren't counted as the main part of the set, ex "301" rather than "301/300" or "301/900". Default is M.
set field:
type: choice
name: default stamp
choice: standard
choice: none
choice: acorn
choice: universes beyond
choice: alchemy
choice: alchemy old
choice: custom
description: The default stamp setup to use. Only works on new cards, not supported on all frames.
set field:
type: text
name: custom stamp name
description: The filename of the custom stamp image in magic-mainframe-extras
set field:
type: boolean
name: auto legends
@@ -261,7 +282,7 @@ set field:
set field:
type: text
name: number hybrid variants
description: Change 1/X 2/X etc to a variant symbol instead of a hybrid symbol
description: Change each number hybrid (0/X, 1/X, 2/X ... 11/X) up to this number to a specific variant instead of a hybrid symbol.
set field:
type: choice
name: mana symbol help
@@ -326,6 +347,12 @@ default set style:
fill color 2: rgb(58,7,80)
border color 1: rgb(255, 255, 255)
border color 2: rgb(255, 255, 255)
variation:
name: invertedcommon
border radius: 0.10
fill type: solid
fill color: rgb(255,255,255)
border color: rgb(0,0,0)
##purple
##fill color 1: rgb(224,170,247)
##fill color 2: rgb(58,7,80)
@@ -407,8 +434,12 @@ default set style:
render style: both
choice images:
English: /magic.mse-game/icons/language-en.png
English_(British): /magic.mse-game/icons/language-en-gb.png
English_(Canadian): /magic.mse-game/icons/language-en-ca.png
Français: /magic.mse-game/icons/language-fr.png
Italiano: /magic.mse-game/icons/language-it.png
Português_do_Brasil: /magic.mse-game/icons/language-br.png
Russian: /magic.mse-game/icons/language-ru.png
mana symbol options:
render style: checklist
direction: vertical