Files
MagicSetEditor2/data/yugioh.mse-game/game
T
pichoro c8112ba6b8 More Updating to Yu-Gi-Oh, by artfreakwiu.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@671 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-09-08 16:27:12 +00:00

404 lines
11 KiB
Plaintext

mse version: 0.3.4
short name: Yu-Gi-Oh!
icon: card-back.png
position hint: 4
############################################################## 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 : symbols
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>" };
# Determine type of card
card_type := {
if card.type2 == "Effect<sym>]</sym>" then "effect monster"
else if card.type2 == "Fusion<sym>]</sym>" then "fusion monster"
else if card.type2 == "Fusion / Effect<sym>]</sym>" then "fusion monster"
else if card.type2 == "Fusion/Effect<sym>]</sym>" then "fusion monster"
else if card.type2 == "Ritual<sym>]</sym>" then "ritual monster"
else if card.type2 == "Ritual / Effect<sym>]</sym>" then "ritual monster"
else if card.type2 == "Ritual/Effect<sym>]</sym>" then "ritual monster"
else if card.type1 == "<sym>[</sym>Legendary Dragon" then "legendary dragon"
else if card.type1 == "<sym>[</sym>Divine-Beast" then "obelisk"
else if card.attribute == "spell" then "spell card"
else if card.level == "<sym>[</sym>Spell Card<sym>]</sym>" then "spell card"
else if card.level == "<sym>[</sym>Spell Card%<sym>]</sym>" then "spell card"
else if card.level == "<sym>[</sym>Spell Card!<sym>]</sym>" then "spell card"
else if card.level == "<sym>[</sym>Spell Card+<sym>]</sym>" then "spell card"
else if card.level == "<sym>[</sym>Spell Card&<sym>]</sym>" then "spell card"
else if card.level == "<sym>[</sym>Spell Card$<sym>]</sym>" then "spell card"
else if card.level == "<sym>[</sym>Spell Card#<sym>]</sym>" then "spell card"
else if card.attribute == "trap" then "trap card"
else if card.level == "<sym>[</sym>Trap Card<sym>]</sym>" then "trap card"
else if card.level == "<sym>[</sym>Trap Card%<sym>]</sym>" then "trap card"
else if card.level == "<sym>[</sym>Trap Card!<sym>]</sym>" then "trap card"
else if card.level == "<sym>[</sym>Trap Card+<sym>]</sym>" then "trap card"
else if card.level == "<sym>[</sym>Trap Card&<sym>]</sym>" then "trap card"
else if card.level == "<sym>[</sym>Trap Card$<sym>]</sym>" then "trap card"
else if card.level == "<sym>[</sym>Trap Card#<sym>]</sym>" then "trap card"
else "normal monster"
}
# Default 'attribute' of card
attribute := {
if is_spell_card() then "Spell"
else if is_trap_card() then "Trap"
else "none"
}
############### Type of card
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 == "fusion 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" or
card.card_type == "obelisk" or
card.card_type == "slifer" or
card.card_type == "ra" or
card.card_type == "legendary dragons"
}
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
pos_of_card := {
position(
of: card
in: set
order_by: {
card.card_type + 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.
############################# 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: fusion 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)
fusion monster: rgb(26,26,26)
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 card
############################# 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: a_and_d_filter(value)
default: "<sym>[</sym>"
editable: false
card field:
type: text
name: type2
script: a_and_d_filter(value)
default: "<sym>]</sym>"
editable: false
card field:
type: text
name: monster type
script:
# Either just monster, monster / type1
combined_editor(
field1: card.type1,
separator: " / ",
field2: card.type2,
soft_before_empty: true,
hide_when_empty: true,
)
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
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: flavor
script: flavor_text_filter(value)
editable: false
show statistics: false
card field:
type: text
name: rule text
multi line: true
save value: false
show statistics: false
script:
if is_normal_monster(value) then
combined_editor(field1: card.rules, separator: "<line>\n</>", field2: card.flavor)
else
forward_editor(field: 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: text
name: copyright
default: set.copyright
script: copyright_filter(value)
show statistics: false
############################################################## Word lists
# Doesn't do anything yet
#word list:
# name: type
# word: Dragon
# word: Spellcaster
# word: Zombie
# word: Warrior
# word: Beast-Warrior
# word: Beast
# word: Winged Beast
# word: Fiend
# word: Fiary
# word: Insect
# word: Dinosaur
# word: Reptile
# word: Fish
# word: Sea Serpent
# word: Machine
# word: Thunder
# word: Aqua
# word: Pyro
# word: Rock
# word: Plant
# word: Divine-Beast
# word: Toon
# word: Spirit
# word: Union
# word: Effect
# word: Fusion
# word: Ritual
# word: Divine