mse version: 0.3.1 short name: VS System icon: card-back.png position hint: 3 ############################################################## Functions & filters ## Copied and Pasted from magic-new.mse-style/style, with a few modifications # General functions init script: # add symbols to text symbol_filter := # step 5a : add arrow/diamond/dot symbols replace_rule( match: "->|@", replace: "&" ) + # step 5b : dot separator replace_rule( match: "`|::", replace: "•")+ # step 5c : longdash for keywords replace_rule( match: "--", replace: "—") # the rule text filter # - adds -> symbols # - adds @ symbols # - adds :: symbols # - makes text in parentheses italic text_filter := # step 1 : remove all automatic tags tag_remove_rule(tag: "") + tag_remove_rule(tag: "") + tag_remove_rule(tag: "") + # step 2 : reminder text for keywords #keyword_rule( # expand_reminder_game: { set.automatic_reminder_text == "yes" }, # expand_reminder_set: { set.automatic_reminder_text != "no" }, # before: " (", # after: ")" # ) + # step 3 : expand shortcut words ~ and CARDNAME replace_rule( match: "~|~THIS~|CARDNAME", in_context: "(^|[[:space:]])", replace: "" ) + # step 5 : symbols symbol_filter + # step 4 : fill in atom fields tag_contents_rule( tag: "", contents: { if card.name=="" then "CARDNAME" else card.name } ) + # step 7 : italic reminder text replace_rule( match: "[(][^)\n]*[)]?", in_context: "(^|[[:space:]])|", replace: "&") + # step 7b : Bold keywords replace_rule( match: "]*>[^<]+&") # Determine type of card dual_name := filter_rule(match: "•") card_type := { if card.team == "Location" then "location" else if card.team == "Equipment" then "equipment" else if card.team == "Plot Twist" then "plot twist" else if card.team_2 != "" then "character dual" else if dual_name(card.team) != "" then "character dual (new)" else "character" } # Default 'team' name of card team := { if is_location() then "Location" else if is_equipment() then "Equipment" else if is_plot_twist() then "Plot Twist" else "" } # Only pass numbers only_numbers := filter_rule(match: "[0-9]") ############### Type of card is_dual := { card.card_type == "character dual" or card.card_type == "concealed dual" } is_new_dual := { card.card_type == "character dual (new)" or card.card_type == "concealed dual (new)" } is_character := { card.card_type == "character" or card.card_type == "character dual" or card.card_type == "character dual (new)" or card.card_type == "concealed" or card.card_type == "concealed dual" or card.card_type == "concealed dual (new)" } is_concealed := { card.card_type == "concealed" or card.card_type == "concealed dual" or card.card_type == "concealed dual (new)" } is_equipment := { card.card_type == "equipment" } is_location := { card.card_type == "location" } is_plot_twist := { card.card_type == "plot twist" } is_ch_or_pt := { is_character() or is_plot_twist() } ############################################################## 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 default: "COD" description: Recommended only 3 Capital digits. Will appear before card number. ex: MOR-1 set field: type: text name: description multi line: true description: This information will not appear on the card. set field: type: text name: artist description: Editting this will set 1 artist for all the cards and will appear in the artist bar below the picture. set field: type: text name: copyright description: Copytight information. This information will not appear on the card. set field: type: info name: Defaults and Automation set field: type: choice name: automatic reminder text choice: yes choice: only for custom keywords choice: no initial: no description: Should reminder text be added to keywords by default? Note: you can enable/disable reminder text by right clicking the keyword. ############################# Default style default set style: title: padding left: 2 font: size: 16 automatic reminder text: render style: both choice images: yes: script: built_in_image("bool_yes") no: script: built_in_image("bool_no") ############################################################## Card fields ############################# Background stuff card field: type: choice name: card type choice: character choice: character dual choice: character dual (new) choice: concealed choice: concealed dual choice: concealed dual (new) choice: equipment choice: location choice: plot twist default: card_type() show statistics: false ############################# Name line card field: type: text name: name script: symbol_filter(value) identifying: true show statistics: false card list visible: true card list column: 1 card list width: 200 description: The name of the card, use @ for a diamond card field: type: text name: cost icon: stats/cost.png script: only_numbers(value) card list visible: true card list column: 3 card list alignment: right card list width: 37 card list name: Cost card field: type: image name: card symbol show statistics: false description: Double click to load a symbol for the card ############################# Image card field: type: image name: image show statistics: false ############################# Type Bar card field: type: text name: type text description: The type of the card card field: type: choice name: type bar choice: type bar editable: false ############################# Version card field: type: text name: version card list visible: true card list column: 2 script: symbol_filter(value) ############################# Card ID card field: type: text name: number script: set.code + "-" + format( format: "%03i" , position( of: card in: set order_by: {card.name} )) card list visible: true card list column: 6 card list width: 65 card list name: # editable: false card field: type: choice name: rarity choice: common choice: uncommon choice: rare choice: promo ############################# Affiliation card field: type: text name: team default: team() script: symbol_filter(value) description: The team of the card, use ` for a separator for dual cards card field: type: text name: team 2 script: symbol_filter(value) description: The second affiliation of the card (for dual cards) ############################# FlightRange card field: type: multiple choice name: symbols icon: stats/symbols.png choice: flight choice: range choice: ongoing description: Symbols for this card (flight/range/ongoing), multiple symbols can be selected ############################# Text box card field: type: text name: rule text script: text_filter(value) show statistics: false multi line: true description: Rule text of the card, use @ for a diamond, -> for an arrow and :: for a dot card field: type: text name: flavor text show statistics: false multi line: true ############################# Atack / Defense card field: type: text name: attack icon: stats/attack.png save value: true card list visible: true card list column: 4 card list width: 33 card list name: ATK card field: type: text name: defence icon: stats/defence.png save value: true card list visible: true card list column: 5 card list width: 33 card list name: DEF ############################# Copyright stuff card field: type: text name: illustrator default: set.artist card field: type: text name: copyright default: set.copyright multi line: true ############################################################## Word lists # Doesn't do anything yet #word list: # name: affiliation or type # word: anti-matter # word: arkham inmates # word: darkseid's elite # word: deathstroke # word: emerald enemies # word: fearsome five # word: gotham knights # word: green lantern # word: injustice gang # word: jla # word: jli # word: league of assassins # word: manhunter # word: new gods # word: revenge squad # word: secret society # word: shadowpact # word: team superman # word: teen titans # word: avengers # word: brotherhood # word: crimelords # word: doom # word: fantastic four # word: kang council # word: marvel knights # word: masters of evil # word: negative zone # word: sentinel # word: sinister syndicate # word: skrull # word: spider-friends # word: squadron supreme # word: thunderbolts # word: underworld # word: x-men # word: x-statix # word: equipment # word: location # word: plot twist ############################################################## Keywords ############################# Keyword rules has keywords: true keyword parameter type: name: no parameter keyword parameter type: name: number match: [0-9]+ keyword parameter type: name: action match: [^(,\n]+ keyword parameter type: name: name match: [^ (.,]+ ############################# All VS System keywords keyword: keyword: Concealed—Optional. match: Concealed—Optional. reminder: You may have ~THIS~ come into play in the hidden area. keyword: keyword: Concealed. match: Concealed. reminder: This character comes into play in the hidden area. keyword: keyword: Loyalty—Reveal. match: Loyalty—Reveal. reminder: If you don’t control a character that shares an affiliation with ~THIS~, then as an additional cost to recruit ~THIS~, reveal a character card from your hand or resource row that shares an affiliation with ~THIS~. keyword: keyword: Loyalty. match: Loyalty. reminder: As an additional cost to recruit ~THIS~, you must control a character that shares a team affiliation with ~THIS~. keyword: keyword: Evasion. match: Evasion. reminder: Stun ~THIS~ -> Recover ~THIS~ at the start of the recovery phase this turn. keyword: keyword: Invulnerability. match: Invulnerability. reminder: Whenever ~THIS~ becomes stunned, you do not take stun damage. Breakthrough is applied normally. keyword: keyword: Cosmic: match: Cosmic: reminder: keyword: keyword: Boost match: Boost action reminder: keyword: keyword: Willpower match: Willpower number reminder: keyword: keyword: Leader: match: Leader: reminder: keyword: keyword: Ally: match: Ally: reminder: keyword: keyword: Unique. match: Unique. reminder: keyword: keyword: Ongoing: match: Ongoing: reminder: keyword: keyword: Reservist. match: Reservist. reminder: You may recruit this card from your resource row. If you do, you may put a card from your hand face down into your resource row. keyword: keyword: Transferable. match: Transferable. reminder: During your recruit step you may unequip ~THIS~ and equip it to another character you control. keyword: keyword: Vengeance: match: Vengeance: reminder: This ability is activated whenever ~THIS~ is stunned. keyword: keyword: Backup: match: Backup: reminder: This ability can only be used during the build step.