mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-10 04:57:00 -04:00
547 lines
14 KiB
Plaintext
547 lines
14 KiB
Plaintext
mse version: 0.3.7
|
|
short name: Yu-Gi-Oh!
|
|
installer group: Yugioh/Game Files
|
|
icon: card-back.png
|
|
position hint: 4
|
|
|
|
version: 2008-08-10
|
|
|
|
############################################################## Functions & filters
|
|
## Copied and Pasted from vs.mse-game, with a few modifications
|
|
# General functions
|
|
init script:
|
|
# the rule text filter
|
|
# - adds continuous symbols
|
|
# - adds counter symbols
|
|
# - adds equipment symbols
|
|
# - adds field symbols
|
|
# - adds quickplay symbols
|
|
# - adds ritual symbols
|
|
# - adds level symbols
|
|
# - adds infinity symbols
|
|
# - makes text in parentheses italic
|
|
text_filter :=
|
|
# step 1 : remove all automatic tags
|
|
tag_remove_rule(tag: "<sym-auto>") +
|
|
# step 2 : expand shortcut words ~ and CARDNAME
|
|
replace_rule(
|
|
match: "~|~THIS~|CARDNAME",
|
|
in_context: "(^|[[:space:]]|\\()<match>", # TODO: Allow any punctuation before
|
|
replace: "<atom-cardname></atom-cardname>"
|
|
) +
|
|
# step 3 : fill in the cardname atom field
|
|
tag_contents_rule(
|
|
tag: "<atom-cardname>",
|
|
contents: { if card.name=="" then "CARDNAME" else card.name }
|
|
) +
|
|
# step 4 : symbols
|
|
replace_rule(
|
|
match: "[|@|*|?|]",
|
|
replace: "<sym-auto>&</sym-auto>" );
|
|
level_filter :=
|
|
# step 1 : remove all automatic tags
|
|
tag_remove_rule(tag: "<sym-auto>") +
|
|
# step 2 : symbols
|
|
replace_rule(
|
|
match: "[|%|!|+|&|$|#|*|]",
|
|
replace: "<sym-auto>&</sym-auto>" );
|
|
a_and_d_filter :=
|
|
# step 1 : remove all automatic tags
|
|
tag_remove_rule(tag: "<sym-auto>") +
|
|
# step 2 : infinity
|
|
replace_rule(
|
|
match: "@",
|
|
replace: "<sym-auto>&</sym-auto>" ) +
|
|
# step 3 : question mark
|
|
replace_rule(
|
|
match: "\\?",
|
|
replace: "<sym-auto>&</sym-auto>" );
|
|
copyright_filter :=
|
|
# step 1 : trademark symbol
|
|
replace_rule(
|
|
match: "TM",
|
|
replace: "™") +
|
|
# step 2 : copyright symbol
|
|
replace_rule(
|
|
match: "CR|\\(C\\)",
|
|
replace: "©")
|
|
|
|
# the flavor text filter
|
|
flavor_text_filter :=
|
|
# step 1 : remove italic tags
|
|
tag_remove_rule(tag: "<i-flavor>") +
|
|
# step 2 : surround by <i> tags
|
|
{ "<i-flavor>" + input + "</i-flavor>" };
|
|
|
|
type_over_list := replace_rule(match:" ?-$", replace:"")
|
|
|
|
monster_type_filter :=
|
|
tag_remove_rule(tag: "<word-list-") +
|
|
type_over_list +
|
|
{ "<word-list-monster>{input}</word-list-monster>" }
|
|
|
|
space_to_wltags := replace_rule(match:"( +|<soft> </soft>)",
|
|
replace:{"</word-list-{list_type}>{_1}<word-list-{list_type}>"})
|
|
|
|
card_class_filter :=
|
|
tag_remove_rule(tag: "<word-list-") +
|
|
type_over_list +
|
|
{ "<word-list-card>{input}</word-list-card>" }
|
|
|
|
# Determine type of card
|
|
card_type := {
|
|
if card.attribute == "spell" then "spell card"
|
|
else if contains(card.level, match:"Spell Card") then "spell card"
|
|
else if card.attribute == "trap" then "trap card"
|
|
else if contains(card.level, match:"Trap Card") then "trap card"
|
|
else if card.type1 == "<word-list-monster>Divine-Beast</word-list-monster>" then "obelisk"
|
|
else if card.type1 == "<word-list-monster>Legendary Dragon</word-list-monster>" then "legendary dragons"
|
|
else if contains(card.type2, match:"Fusion") then "fusion monster"
|
|
else if contains(card.type2, match:"Ritual") then "ritual monster"
|
|
else if contains(card.type2, match:"Synchro") then "synchro monster"
|
|
else if contains(card.type2, match:"Effect") then "effect monster"
|
|
else if contains(card.type2, match:"Spirit") then "effect monster"
|
|
else if contains(card.type2, match:"Toon") then "effect monster"
|
|
else if contains(card.type2, match:"Tuner") then "effect monster"
|
|
else if contains(card.type2, match:"Union") then "effect monster"
|
|
else "normal monster"
|
|
}
|
|
# Default 'attribute' of card
|
|
attribute := {
|
|
if is_spell_card() then "Spell"
|
|
else if is_trap_card() then "Trap"
|
|
else "none"
|
|
}
|
|
# Default foil for a card
|
|
foil := {
|
|
if card.rarity == "super rare" then "holo image"
|
|
else if card.rarity == "ultra rare" then "holo image"
|
|
else if card.rarity == "secret rare" then "secret holo image"
|
|
else if card.rarity == "ultimate rare" then "holo image"
|
|
else if card.rarity == "parallel rare" then "parallel holo image"
|
|
else if card.rarity == "gold tech" then "gold tech holo image"
|
|
else if card.rarity == "promo" then "secret holo image"
|
|
else "none"
|
|
}
|
|
|
|
############### Type of card
|
|
|
|
nm_ext_querry := {
|
|
if set.gods_have_effects == "no" then is_normal_monster_extended(value)
|
|
else is_normal_monster(value)
|
|
}
|
|
is_nmonster := {
|
|
card.card_type == "spell card" or
|
|
card.card_type == "trap card"
|
|
}
|
|
is_monster := {
|
|
card.card_type == "normal monster" or
|
|
card.card_type == "effect monster" or
|
|
card.card_type == "ritual monster" or
|
|
card.card_type == "synchro monster" or
|
|
card.card_type == "fusion monster" or
|
|
card.card_type == "token monster" or
|
|
card.card_type == "obelisk" or
|
|
card.card_type == "slifer" or
|
|
card.card_type == "ra" or
|
|
card.card_type == "legendary dragons"
|
|
}
|
|
is_normal_monster_extended := {
|
|
card.card_type == "normal monster" or
|
|
card.card_type == "obelisk" or
|
|
card.card_type == "slifer" or
|
|
card.card_type == "ra" or
|
|
card.card_type == "legendary dragons"
|
|
}
|
|
is_normal_monster := {
|
|
card.card_type == "normal monster"
|
|
}
|
|
is_spell_card := {
|
|
card.card_type == "spell card" or
|
|
card.attribute == "spell" or
|
|
card.level == "Spell"
|
|
}
|
|
is_trap_card := {
|
|
card.card_type == "trap card" or
|
|
card.attribute == "trap" or
|
|
card.level == "Trap"
|
|
}
|
|
############### Determine Card Position
|
|
|
|
type_sort := {
|
|
type := card.card_type
|
|
if chosen(choice:"normal monster", type) then "A"
|
|
else if chosen(choice:"ra", type) then "B"
|
|
else if chosen(choice:"effect monster", type) then "C"
|
|
else if chosen(choice:"slifer", type) then "D"
|
|
else if chosen(choice:"ritual monster", type) then "E"
|
|
else if chosen(choice:"obelisk", type) then "F"
|
|
else if chosen(choice:"fusion monster", type) then "G"
|
|
else if chosen(choice:"synchro monster", type) then "H"
|
|
else if chosen(choice:"token monster", type) then "I"
|
|
else if chosen(choice:"legendary dragons", type) then "J"
|
|
else if chosen(choice:"spell card", type) then "K"
|
|
else if chosen(choice:"trap card", type) then "L"
|
|
else "M"
|
|
}
|
|
|
|
pos_of_card := {
|
|
position(
|
|
of: card
|
|
in: set
|
|
order_by: {
|
|
type_sort() + card.attribute + card.monster_type + card.name
|
|
}) + 1
|
|
}
|
|
|
|
############################################################## Set fields
|
|
set field:
|
|
type: info
|
|
name: Set Information
|
|
set field:
|
|
type: text
|
|
name: title
|
|
description: This information will not appear on the card.
|
|
set field:
|
|
type: text
|
|
name: code
|
|
description: Recommended only 3 Capital digits. Will appear before card number. ex: LOB-XX101
|
|
set field:
|
|
type: text
|
|
name: language
|
|
description: Recommended 2 - 3 Captital digits. Will appear before the card number, after the code. ex: XXX-EN101
|
|
set field:
|
|
type: text
|
|
name: description
|
|
multi line: true
|
|
description: This information will not appear on the card.
|
|
set field:
|
|
type: text
|
|
name: edition
|
|
description: Editting this will set 1 edition for all the cards and will appear in the edition bar below the picture. ex-> LIMITED EDITION
|
|
set field:
|
|
type: text
|
|
name: copyright
|
|
description: Copyright information. This will not appear on the card.
|
|
set field:
|
|
type: boolean
|
|
name: gods have effects
|
|
description: Should god cards have effects?
|
|
initial: yes
|
|
############################# Default style
|
|
default set style:
|
|
title:
|
|
padding left: 2
|
|
font:
|
|
size: 16
|
|
############################################################## Card fields
|
|
############################# Background stuff
|
|
card field:
|
|
type: choice
|
|
name: card type
|
|
choice: normal monster
|
|
choice: effect monster
|
|
choice: ritual monster
|
|
choice: synchro monster
|
|
choice: fusion monster
|
|
choice: token monster
|
|
choice: obelisk
|
|
choice: slifer
|
|
choice: ra
|
|
choice: legendary dragons
|
|
choice: spell card
|
|
choice: trap card
|
|
default: card_type()
|
|
choice colors cardlist:
|
|
normal monster: rgb(120,18,0)
|
|
effect monster: rgb(120,18,0)
|
|
ritual monster: rgb(26,26,26)
|
|
synchro monster: rgb(26,26,26)
|
|
fusion monster: rgb(26,26,26)
|
|
token monster: rgb(120,18,0)
|
|
obelisk: rgb(26,26,26)
|
|
slifer: rgb(26,26,26)
|
|
ra: rgb(26,26,26)
|
|
legendary dragons: rgb(26,26,26)
|
|
spell card: rgb(80,80,80)
|
|
trap card: rgb(30,110,0)
|
|
card field:
|
|
type: choice
|
|
name: foils
|
|
editable: false
|
|
choice: none
|
|
choice: holo image
|
|
choice: secret holo image
|
|
choice: parallel holo image
|
|
choice: gold tech holo image
|
|
default: foil()
|
|
############################# Name line
|
|
card field:
|
|
type: text
|
|
name: name
|
|
identifying: true
|
|
show statistics: false
|
|
card list visible: true
|
|
card list column: 1
|
|
card field:
|
|
type: choice
|
|
name: attribute
|
|
choice: none
|
|
choice: earth
|
|
choice: water
|
|
choice: fire
|
|
choice: wind
|
|
choice: light
|
|
choice: dark
|
|
choice: divine
|
|
choice: spell
|
|
choice: trap
|
|
default: attribute()
|
|
card list visible: true
|
|
card list column: 2
|
|
card field:
|
|
type: text
|
|
name: level
|
|
description: `=] * = star, % = continuous, ! = counter, + = equipment, & = field, $ = quickplay, # = ritual
|
|
script: level_filter(value)
|
|
|
|
############################# Image
|
|
card field:
|
|
type: image
|
|
name: image
|
|
show statistics: false
|
|
############################# Card type
|
|
card field:
|
|
type: text
|
|
name: type1
|
|
script: monster_type_filter(value)
|
|
default: " "
|
|
editable: false
|
|
card field:
|
|
type: text
|
|
name: separator
|
|
script: if nm_ext_querry(value) then " " else " / "
|
|
show statistics: false
|
|
editable: false
|
|
card field:
|
|
type: text
|
|
name: type2
|
|
script: card_class_filter(value)
|
|
editable: false
|
|
card field:
|
|
type: text
|
|
name: monster type
|
|
script:
|
|
# Either just monster, monster / type1
|
|
combined_editor(
|
|
field1: card.type1,
|
|
separator: card.separator,
|
|
field2: card.type2,
|
|
soft_before_empty: true,
|
|
hide_when_empty: true,
|
|
type_over1: " /",
|
|
type_over2: "/"
|
|
)
|
|
card list visible: true
|
|
card list column: 3
|
|
############################# Edition and Card ID
|
|
card field:
|
|
type: text
|
|
name: number
|
|
script:
|
|
set.code
|
|
+ "-" +
|
|
set.language +
|
|
if pos_of_card()<=9 then "00" + pos_of_card(value) else
|
|
if pos_of_card()>=9 and pos_of_card()<=99 then "0" + pos_of_card(value) else
|
|
"" + pos_of_card(value)
|
|
card list visible: true
|
|
card list column: 6
|
|
card list width: 55
|
|
card list name: #
|
|
editable: false
|
|
save value: false
|
|
show statistics: false
|
|
card field:
|
|
type: text
|
|
name: edition
|
|
default: set.edition
|
|
show statistics: false
|
|
############################# Text box
|
|
card field:
|
|
type: text
|
|
name: rules
|
|
script: text_filter(value)
|
|
editable: false
|
|
show statistics: false
|
|
card field:
|
|
type: text
|
|
name: rule text
|
|
multi line: true
|
|
save value: true
|
|
show statistics: false
|
|
script:
|
|
if nm_ext_querry(value) then flavor_text_filter(value)
|
|
else text_filter(value)
|
|
default: card.rules
|
|
############################# Attack/Defense
|
|
card field:
|
|
type: text
|
|
name: attack
|
|
save value: true
|
|
script: a_and_d_filter(value)
|
|
card list visible: true
|
|
card list column: 4
|
|
card list width: 33
|
|
card list name: ATK
|
|
card field:
|
|
type: text
|
|
name: defense
|
|
save value: true
|
|
script: a_and_d_filter(value)
|
|
card list visible: true
|
|
card list column: 5
|
|
card list width: 33
|
|
card list name: DEF
|
|
|
|
############################# Copyright stuff
|
|
card field:
|
|
type: text
|
|
name: gamecode
|
|
show statistics: false
|
|
card field:
|
|
type: choice
|
|
name: rarity
|
|
show statistics: true
|
|
choice: common
|
|
choice: rare
|
|
choice: super rare
|
|
choice: ultra rare
|
|
choice: secret rare
|
|
choice: ultimate rare
|
|
choice: parallel rare
|
|
choice: gold tech
|
|
choice: promo
|
|
card list visible: true
|
|
card list column: 7
|
|
card field:
|
|
type: choice
|
|
name: corner foil
|
|
choice: stamp
|
|
editable: false
|
|
card field:
|
|
type: text
|
|
name: copyright
|
|
default: set.copyright
|
|
script: copyright_filter(value)
|
|
show statistics: false
|
|
|
|
############################################################## Word lists
|
|
|
|
word list:
|
|
name: monster
|
|
word: Aqua
|
|
word: Beast
|
|
word: Beast-Warrior
|
|
word: Dinosaur
|
|
word: Divine-Beast
|
|
word: Dragon
|
|
word: Fairy
|
|
word: Fiend
|
|
word: Fish
|
|
word: Insect
|
|
word: Legendary Dragon
|
|
word: Machine
|
|
word: Plant
|
|
word: Pyro
|
|
word: Reptile
|
|
word: Rock
|
|
word: Sea Serpent
|
|
word: Spellcaster
|
|
word: Thunder
|
|
word: Warrior
|
|
word: Winged Beast
|
|
word: Zombie
|
|
word list:
|
|
name: card
|
|
word: Effect
|
|
word: Fusion
|
|
word: Ritual
|
|
word: Spirit
|
|
word: Synchro
|
|
word: Toon
|
|
word: Tuner
|
|
word: Union
|
|
############################################################## Card pack items
|
|
pack item:
|
|
name: rare
|
|
filter: card.rarity != "common"
|
|
pack item:
|
|
name: common
|
|
filter: card.rarity == "common"
|
|
pack item:
|
|
name: gold
|
|
filter: card.rarity == "gold tech"
|
|
pack item:
|
|
name: card
|
|
filter: card.number != ""
|
|
############################################################## Card packs
|
|
pack type:
|
|
name: booster pack
|
|
item:
|
|
name: rare
|
|
amount: 1
|
|
item:
|
|
name: common
|
|
amount: 8
|
|
pack type:
|
|
name: champion pack
|
|
item:
|
|
name: rare
|
|
amount: 1
|
|
item:
|
|
name: common
|
|
amount: 2
|
|
pack type:
|
|
name: duelist pack
|
|
item:
|
|
name: rare
|
|
amount: 1
|
|
item:
|
|
name: common
|
|
amount: 5
|
|
pack type:
|
|
name: gold series
|
|
item:
|
|
name: gold
|
|
amount: 3
|
|
item:
|
|
name: common
|
|
amount: 22
|
|
pack type:
|
|
name: movie pack
|
|
item:
|
|
name: rare
|
|
amount: 3
|
|
item:
|
|
name: common
|
|
amount: 5
|
|
pack type:
|
|
name: premium pack
|
|
item:
|
|
name: rare
|
|
amount: 5
|
|
pack type:
|
|
name: tournament pack
|
|
item:
|
|
name: card
|
|
amount: 3
|
|
pack type:
|
|
name: additional rare
|
|
item:
|
|
name: rare
|
|
pack type:
|
|
name: additional common
|
|
item:
|
|
name: common
|