From c22ba4d9171373f5c85e3ee9806c562356e2d1b2 Mon Sep 17 00:00:00 2001 From: artfreakwiu Date: Fri, 26 Sep 2008 21:21:10 +0000 Subject: [PATCH] git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1214 0fc631ac-6414-0410-93d0-97cfa31319b6 --- data/vs-alter.mse-style/style | 7 + data/vs-extended-art.mse-style/style | 2 + data/vs-extended-hellboy.mse-style/style | 2 + data/vs-hellboy.mse-style/style | 2 + data/vs-insanity.mse-style/style | 2 + data/vs-new.mse-style/style | 77 ++---- data/vs-oversize.mse-style/style | 7 + .../symbol-font | 2 +- .../symbol-font | 26 +- data/vs-standard.mse-style/style | 7 + data/vs.mse-game/game | 236 ++++++++++++++---- 11 files changed, 255 insertions(+), 115 deletions(-) diff --git a/data/vs-alter.mse-style/style b/data/vs-alter.mse-style/style index 3407d2bf..3a3155be 100644 --- a/data/vs-alter.mse-style/style +++ b/data/vs-alter.mse-style/style @@ -23,8 +23,15 @@ card height: 523 card dpi: 150 ############################################################## Extra scripts +init script: + card_shape := { if styling.style_sorting then "alter ego" else "new" } ############################################################## Set info fields ############################################################## Extra style +styling field: + type: boolean + name: style sorting + description: Should this style of card sort as separate from cards of other styles? + initial: no styling field: type: package choice name: text box symbols diff --git a/data/vs-extended-art.mse-style/style b/data/vs-extended-art.mse-style/style index fe31e016..caf51ed2 100644 --- a/data/vs-extended-art.mse-style/style +++ b/data/vs-extended-art.mse-style/style @@ -26,6 +26,8 @@ card height: 523 card dpi: 150 ############################################################## Extra scripts +init script: + card_shape := { "old" } ############################################################## Set info fields ############################################################## Extra style styling field: diff --git a/data/vs-extended-hellboy.mse-style/style b/data/vs-extended-hellboy.mse-style/style index 0ff70572..58f91224 100644 --- a/data/vs-extended-hellboy.mse-style/style +++ b/data/vs-extended-hellboy.mse-style/style @@ -26,6 +26,8 @@ card height: 523 card dpi: 150 ############################################################## Extra scripts +init script: + card_shape := { "old" } ############################################################## Set info fields ############################################################## Extra style styling field: diff --git a/data/vs-hellboy.mse-style/style b/data/vs-hellboy.mse-style/style index 7ec4f585..48c1d413 100644 --- a/data/vs-hellboy.mse-style/style +++ b/data/vs-hellboy.mse-style/style @@ -26,6 +26,8 @@ card height: 523 card dpi: 150 ############################################################## Extra scripts +init script: + card_shape := { "old" } ############################################################## Set info fields ############################################################## Extra style styling field: diff --git a/data/vs-insanity.mse-style/style b/data/vs-insanity.mse-style/style index 918e2131..055c77de 100644 --- a/data/vs-insanity.mse-style/style +++ b/data/vs-insanity.mse-style/style @@ -26,6 +26,8 @@ card height: 523 card dpi: 150 ############################################################## Extra scripts +init script: + card_shape := { "old" } ############################################################## Set info fields ############################################################## Extra style styling field: diff --git a/data/vs-new.mse-style/style b/data/vs-new.mse-style/style index 82f673dd..a8a400d9 100644 --- a/data/vs-new.mse-style/style +++ b/data/vs-new.mse-style/style @@ -36,6 +36,7 @@ init script: if styling.con_optional == "c-left" then "ccoccard2.png" else "ccoccard.png" } + card_shape := { "new" } ############################################################## Set info fields ############################################################## Extra style styling field: @@ -377,59 +378,14 @@ card style: name: Eurostile size: 6 color: rgb(255,255,255) -############################################################## Extra card fields -extra card field: - type: choice - name: foil layer - choice: foil - editable: false -extra card field: - type: choice - name: playarea - choice: none - choice: visible - choice: concealed - choice: both - initial: none - show statistics: false - save value: true -extra card field: - type: choice - name: flightrange - choice: none - choice: flight - choice: range - choice: both - initial: none - show statistics: false - save value: true -extra card field: - type: choice - name: ongoing - choice: none - choice: ongoing - initial: none - script: symbol_default() - description: Symbols for this card (ongoing) -extra card field: - type: choice - name: affiliation - editable: false - initial: nones - include file: /vs-common.mse-include/watermark-names -extra card field: - type: choice - name: affiliation2 - editable: false - initial: none - include file: /vs-common.mse-include/dual-affiliation -extra card style: + ############################ For New style cards playarea: left: 320 top : 333 height: 15 width: 29 z index: 4 + visible: { is_character() or is_equipment() } render style: image list choice images: visible: visible.png @@ -457,16 +413,6 @@ extra card style: render style: image list choice images: ongoing: ongoing.png - foil layer: - left: 0 - top : 0 - width: { if styling.foils=="no" then 0 else 375 } - height: { if styling.foils=="no" then 0 else 523 } - z index: 8 - render style: image - choice images: - foil: /vs-common.mse-include/foil.png - visible: { styling.foils } affiliation: right: { 184 + card_style.team_full.content_width * -0.5 } top : 332 @@ -485,3 +431,20 @@ extra card style: alignment: middle left render style: image include file: /vs-common.mse-include/affiliations +############################################################## Extra card fields +extra card field: + type: choice + name: foil layer + choice: foil + editable: false +extra card style: + foil layer: + left: 0 + top : 0 + width: { if styling.foils=="no" then 0 else 375 } + height: { if styling.foils=="no" then 0 else 523 } + z index: 8 + render style: image + choice images: + foil: /vs-common.mse-include/foil.png + visible: { styling.foils } \ No newline at end of file diff --git a/data/vs-oversize.mse-style/style b/data/vs-oversize.mse-style/style index 3e78d7ed..9e399fb4 100644 --- a/data/vs-oversize.mse-style/style +++ b/data/vs-oversize.mse-style/style @@ -26,8 +26,15 @@ card height: 523 card dpi: 75 ############################################################## Extra scripts +init script: + card_shape := { if styling.style_sorting then "avatar" else "new" } ############################################################## Set info fields ############################################################## Extra style +styling field: + type: boolean + name: style sorting + description: Should this style of card sort as separate from cards of other styles? + initial: no styling field: type: package choice name: text box symbols diff --git a/data/vs-standard-arrow.mse-symbol-font/symbol-font b/data/vs-standard-arrow.mse-symbol-font/symbol-font index 247278ef..3e0f5bbc 100644 --- a/data/vs-standard-arrow.mse-symbol-font/symbol-font +++ b/data/vs-standard-arrow.mse-symbol-font/symbol-font @@ -15,7 +15,7 @@ symbol: code: >>> image: arrow.png symbol: - code: • + code: @ image: diamond.png symbol: code: <> diff --git a/data/vs-standard-official.mse-symbol-font/symbol-font b/data/vs-standard-official.mse-symbol-font/symbol-font index c0f709a1..ba75ca4a 100644 --- a/data/vs-standard-official.mse-symbol-font/symbol-font +++ b/data/vs-standard-official.mse-symbol-font/symbol-font @@ -23,36 +23,24 @@ symbol: symbol: code: Activate image: activate.png -symbol: - code: Horsemen of Apocalypse - image: apocalypse.png symbol: code: Avengers image: avengers.png symbol: code: B.P.R.D. image: bprd.png -symbol: - code: Brood - image: brood.png symbol: code: Brotherhood image: brotherhood.png -symbol: - code: Captain America - image: captainamerica.png symbol: code: Crime Lords image: crimelords.png symbol: - code: Marvel Defenders + code: Defenders image: defenders.png symbol: code: Doom image: doom.png -symbol: - code: Excalibur - image: excalibur.png symbol: code: Fantastic Four image: f4.png @@ -68,12 +56,21 @@ symbol: symbol: code: Heralds of Galactus image: heralds.png +symbol: + code: Horsemen of Apocalypse + image: apocalypse.png +symbol: + code: Invaders + image: invaders.png symbol: code: JLA image: jla.png symbol: code: JSA image: jsa.png +symbol: + code: Kree + image: kree symbol: code: Marvel Knights image: marvelknights.png @@ -98,6 +95,9 @@ symbol: symbol: code: Sinister Syndicate image: sinistersyndicate.png +symbol: + code: Skrull + image: skrull.png symbol: code: Speed Force image: speedforce.png diff --git a/data/vs-standard.mse-style/style b/data/vs-standard.mse-style/style index 7c92a4ae..1c67d389 100644 --- a/data/vs-standard.mse-style/style +++ b/data/vs-standard.mse-style/style @@ -26,8 +26,15 @@ card height: 523 card dpi: 150 ############################################################## Extra scripts +init script: + card_shape := { if styling.style_sorting then "old standard" else "old" } ############################################################## Set info fields ############################################################## Extra style +styling field: + type: boolean + name: style sorting + description: Should this style of card sort as separate from cards of other styles? + initial: no styling field: type: package choice name: text box symbols diff --git a/data/vs.mse-game/game b/data/vs.mse-game/game index 28bd5b5f..6463f934 100644 --- a/data/vs.mse-game/game +++ b/data/vs.mse-game/game @@ -9,11 +9,18 @@ version: 2008-09-23 depends on: package: vs-common.mse-include version: 2008-09-23 - +############ some scripts copied and altered from magic.mse-game ############################################################## Functions & filters # General functions init script: - # Index for sorting, character/concealed, equipment, location then plot twist + ############### Sorting + sort_index := { + card_type() + + (if contains(card.shape, match:"old") then "B" else "A") + + (if contains(card.shape, match:"avatar") then "C" else "A") + + (if contains(card.shape, match:"alter ego") then "D" else "A") + + ":" + } sort_index := { if contains(card.team, match: "EQUIPMENT") then "2" else if contains(card.team, match: "Equipment") then "2" @@ -24,10 +31,32 @@ init script: else if contains(card.team, match: "Planet") then "5" else if contains(card.team, match: "PLANET") then "5" else "1" - }; + } + extensive_sort := { + card.team + card.team_2_of_2 + card.team_2 + card.team_2_of_2_2 + card.name + card.version + " • " + card.team_affiliation + } + rarity_sort := { + if contains(card.shape, match: "old") then "B" + else if contains(card.shape, match: "avatar") then "C" + else if contains(card.shape, match: "alter ego") then "D" + else "A" + } + sort_name := + replace@(match: "^(The|An?) ", replace: "") + + to_lower + + ############### Determine Card Position + pos_of_card := { + position( + of: card + in: set + order_by: { rarity_sort() + sort_index() + extensive_sort() + sort_name(card.name) } + ) + 1 + } + ############################################################## Text Filters - # add symbols to text + ############### Symbol Filter symbol_filter := # step 5a : add arrow/diamond/dot symbols replace_rule( @@ -41,26 +70,36 @@ init script: replace_rule( match: "`|::", replace: "•")+ - # step 5e : trademark symbol + # step 5d : trademark symbol replace_rule( match: "TM", replace: "™")+ # step 5e : copyright symbol replace_rule( match: "CR", - replace: "©") - - # the rule text filter - # - adds -> symbols - # - adds @ symbols - # - adds :: symbols + replace: "©"); + new_symbols := + symbol_filter + + # step 5f: Majority of affiliation symbols + replace_rule( + match: "Activate|Avengers|B.P.R.D.|Brotherhood|Crime Lords|Defenders|Doom|Fantastic Four|Gotham Knights|Green Lantern|Hellfire Club|Heralds of Galactus|Horsemen of Apocalypse|Invaders|JLA|JSA|Kree|Marvel Knights|Masters of Evil|Negative Zone|Planet|Shadowpact|Shi'ar|Sinister Syndicate|Skrull|Speed Force|Spider-Friends|Team Superman|Thule Society|Thunderbolts|Teen Titans|Underworld|Warbound|X-Men", + replace: "&") + + # step 5g: SHIELD Variations + replace_rule( + match: "S.H.I.E.L.D.|SHIELD|Shield", + replace: "Shield"); + + ############### Other Text Filters + card_shape := { "new" } + # - adds all symbols + # - bolds keywords # - makes text in parentheses italic text_filter := - # step 1 : remove all automatic tags + # step 1 : Remove all automatic tags tag_remove_rule(tag: "") + tag_remove_rule(tag: "") + tag_remove_rule(tag: "") + - # step 2 : reminder text for keywords + # step 2 : Reminder text for keywords expand_keywords@( condition: { correct_case @@ -70,34 +109,34 @@ init script: }, combine: { "{keyword} ({process_english_hints(reminder)})" } ) + - # step 3 : expand shortcut words ~ and CARDNAME + # step 3 : Expand shortcut words ~ and CARDNAME replace_rule( match: "~|~THIS~|CARDNAME", in_context: "(^|[[:space:]])", replace: "&" ) + - # step 4 : fill in atom fields + # step 4 : Fill in atom fields tag_contents_rule( tag: "", contents: { if card.name=="" then "CARDNAME" else card.name } ) + # step 5 : symbols - symbol_filter + - # step 6a : Bold keywords without reminder text + if contains(card.shape, match: "old") then symbol_filter else new_symbols + + # step 7a : Bold keywords without reminder text replace_rule( match: "]*>[^<]+", replace: "&") + - # step 6b : Bold keywords with reminder text + # step 7b : Bold keywords with reminder text replace_rule( match: "]*>[^<]+", replace: "&") + - # step 7 : italic reminder text + # step 8 : Italic reminder text replace_rule( match: "[(][^)\n]*[)]?", in_context: "(^|[[:space:]])|", replace: "&") - ############### List Scripts + ############### Word List Scripts for Affiliations and Card Types type_over_list := replace_rule(match:" ?-$", replace:"") affiliation_1_filter := @@ -113,7 +152,6 @@ init script: type_over_list + { "{input}" } - ############### Determine type of card c_optional_character := filter_rule(match: "Concealed—Optional") concealed_character := filter_rule(match: "Concealed") @@ -153,9 +191,6 @@ init script: if is_character() then false else true } - # Only pass numbers - only_numbers := filter_rule(match: "[0-9XYZ!?]") - ############### Type of card is_dual := { @@ -209,17 +244,23 @@ init script: card.watermark == "DC I-M JLA" or card.watermark == "DC I-M JSA" } - ############### Determine Card Position - pos_of_card := { - position( - of: card - in: set - order_by: { - sort_index() + card.team + card.team_2_of_2 + card.team_2 + card.team_2_of_2_2 + card.name + card.version + " • " + card.team_affiliation - }) + 1 + + ############### Additional Scripts + + only_numbers := filter_text@(match: "^[0123456789]+") + + word_count := break_text@(match:"[^[:space:]]+") + length + + separator_type := { + if contains(card.shape, match:"old") then " @ " else " • " } - word_count := break_text@(match:"[^[:space:]]+") + length + only_first := replace@(match:"card.team", replace:"") + + all_affiliations := { + for each card in set do + if is_character() then "," + only_first(to_text(card.team)) + } ############################################################## Set fields set field: @@ -280,11 +321,6 @@ set field: name: automatic card numbers initial: yes description: Should card numbers be shown on the cards? -set field: - type: boolean - name: all caps affiliations - initial: no - description: Should the Affiliations be all caps like in the modern style? ############################# Default style default set style: logo: @@ -306,6 +342,19 @@ default set style: direction: vertical ############################################################## Card fields ############################# Background stuff +card field: + type: choice + name: shape + save value: false + show statistics: false + editable: false + choice: new + choice: old + choice: avatar + choice: alter ego + script: + stylesheet # indicate that this value should be updated when the stylesheet changes + card_shape() # determined by the style card field: type: choice name: card type @@ -526,16 +575,22 @@ card field: default: set.set_rarity icon: stats/rarity.png ############################# Affiliation +card field: + type: text + name: separator + script: separator_type(value) + editable: false + show statistics: false card field: type: text name: team - script: affiliation_1_filter(if set.all_caps_affiliations=="yes" then to_upper(value) else (value)) + script: affiliation_1_filter(if contains(card.shape, match: "old") then (value) else to_upper(value)) editable: false show statistics: false card field: type: text name: team 2 of 2 - script: affiliation_2_filter(if set.all_caps_affiliations=="yes" then to_upper(value) else (value)) + script: affiliation_2_filter(if contains(card.shape, match: "old") then (value) else to_upper(value)) editable: false show statistics: false card field: @@ -545,21 +600,22 @@ card field: # Either just team, or team • team 2 of 2 combined_editor( field1: card.team, - separator: " • ", + separator: card.separator, field2: card.team_2_of_2, soft_before_empty: true, - hide_when_empty: true, - type_over1: " `" + hide_when_empty: true ) description: The team of the card, use ` for a separator for dual cards card field: type: text name: team 2 + script: affiliation_1_filter(if contains(card.shape, match: "old") then (value) else to_upper(value)) editable: false show statistics: false card field: type: text name: team 2 of 2 2 + script: affiliation_2_filter(if contains(card.shape, match: "old") then (value) else to_upper(value)) editable: false show statistics: false card field: @@ -569,7 +625,7 @@ card field: # Either just team, or team 2 • team 2 of 2 2 combined_editor( field1: card.team_2, - separator: " • ", + separator: card.separator, field2: card.team_2_of_2_2, soft_before_empty: true, hide_when_empty: true, @@ -585,6 +641,11 @@ card field: choice: range choice: ongoing default: symbol_default() + script: + if card.flightrange=="flight" then "flight" + else if card.flightrange=="range" then "range" + else if card.flightrange=="both" then "flight, range" + else (value) description: Symbols for this card (flight/range/ongoing), multiple symbols can be selected show statistics: false ############################# Text box @@ -642,6 +703,60 @@ card field: default: set.copyright multi line: true show statistics: false + +############################################### +########################### For New style cards +card field: + type: choice + name: playarea + choice: none + choice: visible + choice: concealed + choice: both + initial: visible + script: + if is_character() and contains(card.rule_text, match: "Concealed—Optional") then "both" + else if contains(card.card_type, match: "hidden") then "concealed" + else if is_equipment() and contains(card.rule_text, match: "Concealed—Optional") then "both" + else if is_equipment() and contains(card.rule_text, match: "Concealed") then "concealed" + else "visible" + editable: false + show statistics: false + save value: true +card field: + type: choice + name: flightrange + choice: none + choice: flight + choice: range + choice: both + initial: none + script: + if card.symbols=="flight" then "flight" + else if card.symbols=="range" then "range" + else if card.symbols=="flight, range" then "both" + else (value) + show statistics: false + save value: true +card field: + type: choice + name: ongoing + choice: none + choice: ongoing + initial: none + script: symbol_default() +card field: + type: choice + name: affiliation + editable: false + initial: none + include file: /vs-common.mse-include/watermark-names +card field: + type: choice + name: affiliation2 + editable: false + initial: none + include file: /vs-common.mse-include/dual-affiliation ############################################################# Extra Statistics statistics dimension: name: keywords @@ -748,8 +863,12 @@ word list: name: Marvel word: name: A-E + word: Alpha Flight + word: Asgardians + word: Atlantis word: Avengers word: Crime Lords + word: Defenders word: Doom word: name: F-J @@ -758,7 +877,9 @@ word list: word: Heroes of Earth word: Hellfire Club word: Horsemen of Apocalypse + word: Infinity Watch word: Inhumans + word: Invaders word: name: K-O word: Kang Council @@ -769,8 +890,10 @@ word list: word: Morlocks word: Negative Zone word: Nextwave + word: Nova Corps word: name: P-T + word: Phalanx word: Sentinels word: The Shi'ar word: SHIELD @@ -781,10 +904,12 @@ word list: word: name: U-Z word: Underworld + word: United Front word: Villains of Earth word: X-Men word: X-Statix word: Warbound + word: Weapon X word: Wild Pack word: name: Other @@ -793,6 +918,12 @@ word list: word: Equipment word: Location word: Plot Twist + word: Planet + word: + name: Your Affiliations + word: + script: all_affiliations() + line below: true word list: name: affiliation2 word: @@ -843,8 +974,12 @@ word list: name: Marvel word: name: A-E + word: Alpha Flight + word: Asgardians + word: Atlantis word: Avengers word: Crime Lords + word: Defenders word: Doom word: name: F-J @@ -853,7 +988,9 @@ word list: word: Heroes of Earth word: Hellfire Club word: Horsemen of Apocalypse + word: Infinity Watch word: Inhumans + word: Invaders word: name: K-O word: Kang Council @@ -864,10 +1001,13 @@ word list: word: Morlocks word: Negative Zone word: Nextwave + word: Nova Corps word: name: P-T + word: Phalanx word: Sentinels word: The Shi'ar + word: SHIELD word: Sinister Syndicate word: Skrull word: Spider-Friends @@ -875,10 +1015,12 @@ word list: word: name: U-Z word: Underworld + word: United Front word: Villains of Earth word: X-Men word: X-Statix word: Warbound + word: Weapon X word: Wild Pack word: name: Other @@ -887,6 +1029,12 @@ word list: word: Equipment word: Location word: Plot Twist + word: Planet + word: + name: Your Affiliations + word: + script: all_affiliations() + line below: true ############################################################## Card pack items pack item: name: common / uncommon