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: "") + # step 2 : expand shortcut words ~ and CARDNAME replace_rule( match: "~|~THIS~|CARDNAME", in_context: "(^|[[:space:]]|\\()", # TODO: Allow any punctuation before replace: "" ) + # step 3 : fill in the cardname atom field tag_contents_rule( tag: "", contents: { if card.name=="" then "CARDNAME" else card.name } ) + # step 4 : symbols replace_rule( match: "[|@|*|?|]", replace: "&" ); level_filter := # step 1 : remove all automatic tags tag_remove_rule(tag: "") + # step 2 : symbols replace_rule( match: "[|%|!|+|&|$|#|*|]", replace: "&" ); a_and_d_filter := # step 1 : remove all automatic tags tag_remove_rule(tag: "") + # step 2 : infinity replace_rule( match: "@", replace: "&" ) + # step 3 : question mark replace_rule( match: "\\?", replace: "&" ); 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: "") + # step 2 : surround by tags { "" + input + "" }; type_over_list := replace_rule(match:" ?-$", replace:"") monster_type_filter := tag_remove_rule(tag: "{input}" } space_to_wltags := replace_rule(match:"( +| )", replace:{"{_1}"}) card_class_filter := tag_remove_rule(tag: "{input}" } # 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 == "Divine-Beast" then "obelisk" else if card.type1 == "Legendary Dragon" 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