Files
MagicSetEditor2/data/yugioh.mse-game/game
T

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