Files
MagicSetEditor2/data/yugioh.mse-game/script
T
pichoro fe81a40617 Yugioh Template Update Courtesy of artfreakwiu.
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1419 0fc631ac-6414-0410-93d0-97cfa31319b6
2009-08-08 14:47:53 +00:00

188 lines
6.5 KiB
Plaintext

# 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:"Dark Synchro") then "dark synchro monster"
else if contains(card.type2, match:"Dark Tuner") then "effect 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 == "dark synchro 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:"dark synchro monster", type) then "I"
else if chosen(choice:"token monster", type) then "J"
else if chosen(choice:"legendary dragons", type) then "K"
else if chosen(choice:"spell card", type) then "L"
else if chosen(choice:"trap card", type) then "M"
else "N"
}
pos_of_card := {
position(
of: card
in: set
order_by: {
type_sort() + card.monster_type + card.name + card.attribute
}) + 1
}