Commit 7786d376 authored by artfreakwiu's avatar artfreakwiu

No commit message

No commit message
parent 71d77259
......@@ -207,21 +207,21 @@ card style:
z index: 3
############################# Type Bar
type text full:
left: 19
left: 22
top: 317
width: { if card.card_type=="planet" then 0 else 339 }
width: { if card.card_type=="planet" then 0 else 332 }
height: { if card.card_type=="planet" then 0 else 12 }
font:
name: BankGothic Md BT
size: 8
color: rgb(0,0,0)
visible: { is_character() }
alignment: middle center
visible: { is_character() or is_equipment() }
alignment: middle center shrink-overflow
z index: 3
type bar:
left: 19
top: 317
width: { if card.card_type=="planet" then 0 else 339 }
width: { if card.card_type=="planet" then 0 else 338 }
height: { if card.card_type=="planet" then 0 else 13 }
visible: { card.type_text != "" }
render style: image
......@@ -234,7 +234,7 @@ card style:
top : 51
width: 230
height: 18
alignment: middle center
alignment: middle center shrink-overflow
z index: 4
font:
name: Percolator Expert TM
......@@ -321,7 +321,7 @@ card style:
left: { if card.card_type=="planet" then 72 else 20 }
top : { if card.card_type=="planet" then 123 else 353 }
width: { if card.card_type=="planet" then 236 else 335 }
height: { if card.card_type=="planet" then 305 else if card.flavor_text!="" then 80 else 100 }
height: { if card.card_type=="planet" then 305 else if card.flavor_text!="" then 95 else 100 }
font:
name: Eurostile
italic name: EurostileObl-Normal
......@@ -337,13 +337,13 @@ card style:
padding left: 3
padding top: 5
padding right: 2
padding bottom: 2
padding bottom: 6
line height hard: 1.4
flavor text:
left: 90
top : 435
top : 449
width: { if card.card_type=="planet" then 0 else 225 }
height: { if card.card_type=="planet" then 0 else 40 }
height: { if card.card_type=="planet" then 0 else 25 }
font:
name: EurostileObl-Normal
size: 10
......@@ -353,7 +353,7 @@ card style:
z index: 3
visible: { card.card_type!="planet" }
padding left: 2
padding top: 2
padding top: 0
padding right: 2
padding bottom: 2
line height hard: 1
......

############################################################## Auto replace
# Do we need categories?
#auto replace category: text box
#auto replace category: copyright
#auto replace category: everywhere
auto replace:
match: (C)
replace: ©
auto replace:
match: CR
replace: ©
auto replace:
match: AE
replace: Æ
whole word: false
auto replace:
match: TM
replace: ™
whole word: false
auto replace:
match: --
replace: —
auto replace:
# note the spaces
match:
-
replace:
auto replace:
match: `
replace: •
auto replace:
match: ::
replace: •
auto replace:
match: @
replace: <sym>@</sym>
This diff is collapsed.
This diff is collapsed.
############################################################## Keywords
############################# Keyword rules
has keywords: true
keyword match script: text_filter(value)
keyword mode:
is default: true
name: custom
description: Custom keywords.
keyword mode:
name: real
description: Actual keywords.
keyword parameter type:
name: number
match: [0-9XYZ?!]+
keyword parameter type:
name: action
match:
[^
(.,]+
keyword parameter type:
name: name
match:
[^
(.,]+
############################# All VS System keywords
keyword:
keyword: Concealed—Optional
match: Concealed—Optional
mode: real
reminder: This card may come into play in the hidden area.
keyword:
keyword: Concealed
match: Concealed
mode: real
reminder: This card comes into play in the hidden area.
keyword:
keyword: Loyalty—Reveal
match: Loyalty—Reveal
mode: real
reminder: If you don’t control a character that shares an affiliation with this character, then as an additional cost to recruit this character, reveal a character card from your hand or resource row that shares an affiliation with this character.
keyword:
keyword: Loyalty
match: Loyalty
mode: real
reminder: Recruit this character only if you control a character that shares at least one team affiliation with this character.
keyword:
keyword: Evasion
match: Evasion
mode: real
reminder: Stun this character -> Recover this character at the start of the recovery phase this turn.
keyword:
keyword: Invulnerability
match: Invulnerability
mode: real
reminder: Whenever this character becomes stunned, you do not take stun damage. Breakthrough is applied normally.
keyword:
keyword: Cosmic—Surge:
match: Cosmic—Surge: <atom-param>action</atom-param>
mode: real
reminder: This character does not come into play with a cosmic counter. At the start of the recovery phase each turn, put a cosmic counter on this character.
keyword:
keyword: Cosmic:
match: Cosmic: <atom-param>action</atom-param>
mode: real
reminder: This character comes into play with a cosmic counter on it. While this character has a cosmic counter on it, it has this ability in addition to any other text it has.
keyword:
keyword: Cosmic
match: Cosmic
mode: real
reminder: This character comes into play with a cosmic counter on it.
keyword:
keyword: Boost
match: Boost <atom-param>number</atom-param>
mode: real
reminder: As an additional cost to play this card, you may pay its boost cost. If you pay, this card has this this this ability in addition to any other text it has this turn.
keyword:
keyword: Willpower
match: Willpower <atom-param>number</atom-param>
mode: real
reminder: This character has willpower equal to <param1>.
keyword:
keyword: Leader:
match: Leader: <atom-param>action</atom-param>
mode: real
reminder: The designated characters are affected by this text.
keyword:
keyword: Ally:
match: Ally: <atom-param>action</atom-param>
mode: real
reminder: This character's ally power is activated whenever a character becomes powered-up.
keyword:
keyword: Unique
match: Unique
mode: real
reminder: You may only have one copy of this card in play at a time.
keyword:
keyword: Ongoing:
match: Ongoing <atom-param>action</atom-param>
mode: real
reminder: As long as this card remains face-up in your resource row, this text is active.
keyword:
keyword: Reservist
match: Reservist
mode: real
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: Press
match: Press
mode: real
reminder: When you recruit this card, your next character costs 1 less to recruit this turn for each press card you recruited this turn, but no less than 1.
keyword:
keyword: Terraform
match: Terraform
mode: real
reminder: Reveal this card -> You may return a face-down resource you control to its owner's hand. If you do, put this card face-down into your resource row. Use this power only if this card is in your hand and only during your recruit step.
keyword:
keyword: Transferable
match: Transferable
mode: real
reminder: At the start of the formation step, you may transfer this card.
keyword:
keyword: Vengeance:
match: Vengeance: <atom-param>action</atom-param>
mode: real
reminder: This ability is activated whenever this character is stunned.
keyword:
keyword: Backup:
match: Backup: <atom-param>action</atom-param>
mode: real
reminder: This ability can only be used during the build phase.
keyword:
keyword: Dual Loyalty
match: Dual Loyalty
mode: real
reminder: Recruit this card only if both its printed affiliations are among the affiliations of characters you control.
keyword:
keyword: Substitute
match: Substitute
mode: real
reminder: Reveal this card -> You may remove from the game a ready character you control with cost greater than or equal to the cost of this card. If you do, put this card into play. Use only if this card is in your hand and only during your recruit step."
keyword:
keyword: Insanity:
match: Insanity: <atom-param>action</atom-param>
mode: real
reminder: You may not have more than one copy of this card in your deck.

############################################################## Card pack items
pack item:
name: rare
filter: card.rarity == "rare"
pack item:
name: uncommon
filter: card.rarity == "uncommon"
pack item:
name: common
filter: card.rarity == "common"
pack item:
name: promo
filter: card.rarity == "promo"
pack item:
name: random non-rare foil
filter: card.rarity == "common" or card.rarity == "uncommon"
############################################################## Card packs
pack type:
name: booster pack
item:
name: rare
amount: 1
item:
name: uncommon
amount: 3
item:
name: common
amount: 9
item:
name: random non-rare foil
amount: 1
pack type:
name: additional promo
item:
name: promo
pack type:
name: additional rare
item:
name: rare
pack type:
name: additional uncommon
item:
name: uncommon
pack type:
name: additional common
item:
name: common
pack type:
name: additional random non-rare foil
item:
name: random non-rare foil
\ No newline at end of file

############### Sorting
sort_index := {
if contains(card.team_full, match: "<word-list-affiliation1></word-list-affiliation1>") then "2"
else if contains(card.card_type, match: "equipment") then "3"
else if card.card_type=="location" then "4"
else if card.card_type=="plot twist" then "5"
else if card.card_type=="planet" then "6"
else "1"
}
extensive_sort := {
card.team_full + card.full_name + card.version_full
}
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"
}
############### Determine Card Position
pos_of_card := {
position(
of: card
in: set
order_by: { rarity_sort() + sort_index() + extensive_sort() }
) + 1
}
############################################################## Text Filters
card_shape := { "new" }
# - adds all symbols
# - bolds keywords
# - makes text in parentheses italic
text_filter :=
# step 1 : Remove all automatic tags
tag_remove_rule(tag: "<sym-auto>") +
tag_remove_rule(tag: "<i-auto>") +
tag_remove_rule(tag: "<b-auto>") +
# step 2 : Reminder text for keywords
expand_keywords@(
condition: {
correct_case
}
default_expand: {
chosen(choice:if correct_case then mode else "lower case", set.automatic_reminder_text)
},
combine: { "<b-auto>{keyword}</b-auto><atom-reminder-{mode}> ({process_english_hints(reminder)})</atom-reminder-{mode}>" }
) +
# step 3 : Expand shortcut words ~ and CARDNAME
replace_rule(
match: "~|~THIS~|CARDNAME",
in_context: "(^|[[:space:]])<match>",
replace: "<atom-cardname>&</atom-cardname>"
) +
# step 4 : Fill in atom fields
tag_contents_rule(
tag: "<atom-cardname>",
contents: { if card.name=="" then "CARDNAME" else card.name }
) +
# step 5a: add arrow & diamond symbols
replace_rule(
match: "->|>>>|@|<>|•",
replace: "<sym-auto>&</sym-auto>") +
#X#if contains(card.shape, match:"old") then symbol_filter else new_symbols
# step 7a : Bold keywords without reminder text
replace_rule(
match: "<kw[^>]*>[^<]+</kw-a>",
replace: "<b-auto>&</b-auto>") +
# step 7b : Bold keywords with reminder text
replace_rule(
match: "<kw[^>]*>[^<]+</kw-A>",
replace: "<b-auto>&</b-auto>") +
# step 8 : Italic reminder text
replace_rule(
match: "[(][^)\n]*[)]?",
in_context: "(^|[[:space:]])<match>|<atom-keyword><match>",
replace: "<i-auto>&</i-auto>")
############### Word List Scripts for Affiliations and Card Types
type_over_list := replace_rule(match:" ?-$", replace:"")
affiliation_1_filter :=
tag_remove_rule(tag: "<word-list-") +
tag_remove_rule(tag: "<WORD-LIST-AFFILIATION1>") +
tag_remove_rule(tag: "</WORD-LIST-AFFILIATION1>") +
type_over_list +
{ "<word-list-affiliation1>{if contains(card.shape, match: "old") then (input) else to_upper(input)}</word-list-affiliation1>" }
space_to_wltags := replace_rule(match:"( +|<soft> </soft>)",
replace:{"</word-list-{list_type}>{_1}<word-list-{list_type}>"})
affiliation_2_filter :=
tag_remove_rule(tag: "<word-list-") +
tag_remove_rule(tag: "<WORD-LIST-AFFILIATION2>") +
tag_remove_rule(tag: "</WORD-LIST-AFFILIATION2>") +
type_over_list +
{ "<word-list-affiliation2>{if contains(card.shape, match: "old") then (input) else to_upper(input)}</word-list-affiliation2>" }
############### Determine type of card
c_optional_character := filter_rule(match: "Concealed—Optional")
concealed_character := filter_rule(match: "Concealed")
keyword_sort_equipment := filter_rule(match: "Transferable")
keyword_sort_location := filter_rule(match: "Terraform")
keyword_sort_plot_twist := filter_rule(match: "Ongoing:")
card_type := {
if contains(card.team, match: "Location") then "location"
else if contains(card.team, match: "LOCATION") then "location"
else if keyword_sort_location(card.rule_text) != "" then "location"
else if card.team=="Planet" then "planet"
else if card.team=="PLANET" then "planet"
else if contains(card.team, match: "Equipment") then "equipment visible equipment"
else if contains(card.team, match: "EQUIPMENT") then "equipment visible equipment"
else if keyword_sort_equipment(card.rule_text) != "" then "equipment visible equipment"
else if contains(card.team, match: "Plot Twist") then "plot twist"
else if contains(card.team, match: "PLOT TWIST") then "plot twist"
else if keyword_sort_plot_twist(card.rule_text) != "" then "plot twist"
else if card.symbols == "ongoing" then "plot twist"
else if c_optional_character(card.rule_text) != "" then "characters concealed-optional concealed-optional character"
else if concealed_character(card.rule_text) != "" then "characters hidden concealed"
else "characters visible character"
}
# Default symbols
flightrange_detect := { if card.flightrange == "flight" then "flight"
else if card.flightrange == "range" then "range"
else if card.flightrange == "both" then "flight, range"
else ""
}
ongoing_detect := {
if keyword_sort_plot_twist(card.rule_text) != "" then "ongoing"
else ""
}
symbol_default := { flightrange_detect() + (if flightrange_detect() != "" then ", " else " ") + ongoing_detect() }
# 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 ""
}
true_pass := {
if is_character() then false else true
}
############### Type of card
is_dual := {
card.card_type == "characters visible character dual" or
card.card_type == "characters hidden concealed dual" or
card.card_type == "characters concealed-optional concealed-optional dual"
}
is_new_dual := {
card.card_type == "characters visible character dual (new)" or
card.card_type == "characters hidden concealed dual (new)" or
card.card_type == "characters concealed-optional concealed-optional dual (new)"
}
is_not_new_dual := {
card.card_type == "characters visible character" or
card.card_type == "characters visible character dual" or
card.card_type == "characters hidden character concealed" or
card.card_type == "characters hidden character concealed dual" or
card.card_type == "characters concealed-optional concealed-optional character" or
card.card_type == "characters concealed-optional concealed-optional dual"
}
is_character := { contains(card.card_type, match: "characters")
}
is_concealed_optional := { contains(card.card_type, match: "concealed-optional") or
contains(card.rule_text, match: "Concealed—Optional")
}
is_concealed := { contains(card.card_type, match: "hidden") or
contains(card.rule_text, match: "Concealed")
}
is_equipment := { contains(card.card_type, match: "equipment")
}
is_location := {
card.card_type == "location"
}
is_plot_twist := {
card.card_type == "plot twist"
}
is_ch_or_eq := {
is_character() or is_equipment()
}
is_ch_or_pt := {
is_character() or is_plot_twist()
}
############### Watermark Scripts
watermark_narrow := {
card.watermark == "Marvel A-C Brood" or
card.watermark == "Marvel A-C Brotherhood" or
card.watermark == "Marvel D-H Hellfire Club" or
card.watermark == "DC A-C Anti-Matter" or
card.watermark == "DC A-C Arkham Inmates" or
card.watermark == "DC N-S Shadowpact"
}
watermark_wide := {
card.watermark == "Marvel D-H Horsemen of Apocalypse" or
card.watermark == "DC I-M JLA" or
card.watermark == "DC I-M JSA"
}
############### Additional Scripts
only_numbers := filter_text@(match: "^[0123456789]+")
word_count := break_text@(match:"[^[:space:]]+") + length
name_sep := {
if contains(set.logo, match: "Marvel") then (
if is_character() and card.identity=="" then "™"
else if is_character() and card.identity!="" then "™ <sym>•</sym> "
else if is_equipment() and card.identity=="" then " "
else if is_equipment() and card.identity!="" then " <sym>•</sym> "
else ""
)
else if is_character() and card.identity=="" then " "
else if is_character() and card.identity!="" then " <sym>•</sym> "
else if is_equipment() and card.identity=="" then " "
else if is_equipment() and card.identity!="" then " <sym>•</sym> "
else ""
}
separator_type := {
if contains(card.shape, match:"old") then (
if team2 != "<word-list-affiliation2></word-list-affiliation2>" then " <sym>•</sym> "
else " "
)
else " • "
}
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))
}
\ No newline at end of file

############################################################## 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: description
multi line: true
description: This information will not appear on the card.
set field:
type: info
name: Set Logo Options
set field:
type: choice
name: logo
choice: none
choice: Marvel
choice: DC-new
choice: DC-old
choice: Hellboy
choice: Other...
initial: none
save value: true
description: The logo for the company.
set field:
type: image
name: custom logo
save value: true
description: This is where you load custom logos that will appear on all your cards.
set field:
type: info
name: Other Default Options
set field:
type: text
name: code
description: Recommended only 3 Capital digits. Will appear before card number. ex: MOR-1
set field:
type: text
name: artist
description: Editting this will set 1 artist for all the cards and will appear in the illustrator area.
set field:
type: text
name: copyright
description: Copytight information. This information will appear in the copyright area on the card.
set field:
type: choice
name: set rarity
choice: common
choice: uncommon
choice: rare
choice: promo
initial: none
description: Set the rarity for all cards in the set.
set field:
type: multiple choice
name: automatic reminder text
choice: real
choice: custom
initial: custom
# Convert from older mse versions
script:
if value = "yes" then "real, custom"
else if value = "no" then ""
else value
description: For which kinds of keywords should reminder text be added by default? Note: you can enable/disable reminder text by right clicking the keyword.
set field:
type: boolean
name: automatic card numbers
initial: yes
description: Should card numbers be shown on the cards?
############################# Default style
default set style:
title:
padding left: 2
font:
size: 14
logo:
font:
size: 16
render style: both
choice images:
Marvel: /vs-common.mse-include/marvel.png
DC-new: /vs-common.mse-include/dcnew.png
DC-old: /vs-common.mse-include/dcold.png
Hellboy: /vs-common.mse-include/hellboy.png
Other...: /vs-common.mse-include/other.png
custom logo:
width: 30
height: 30
title:
padding left: 2
font:
size: 16
automatic reminder text:
render style: checklist
direction: vertical

############################################################# Extra Statistics
statistics dimension:
name: keywords
position hint: 1000
script: keyword_usage(unique:true)
show empty: false
split list: true
icon: stats/keywords.png
statistics dimension:
name: style
position hint: 1001
script: stylesheet.short_name
icon: stats/stylesheet.png
statistics dimension:
name: text length (words)
position hint: 100
script: word_count(to_text(card.rule_text))
numeric: true
bin size: 5
icon: stats/text_length.png

############################################################## Word lists
word list:
name: affiliation1
word:
name: DC
word:
name: A-E
word: ANTI-MATTER
word: ARKHAM INMATES
word: BIRDS OF PREY
word: CHECKMATE
word: CRISIS
word: DARKSEID'S ELITE
word: DEATHSTROKE
word: DOOM PATROL
word: EMERALD ENEMIES
word:
name: F-J
word: FEARSOME FIVE
word: FUTURE FOES
word: GOTHAM KNIGHTS
word: GREEN LANTERN
word: INJUSTICE GANG
word: JLA
word: JLI
word: JSA
word:
name: K-O
word: LEAGUE OF ASSASSINS
word: LEGIONNAIRES
word: MANHUNTERS
word: NEW GODS
word: OUTSIDERS
word:
name: P-T
word: RANN
word: REVENGE SQUAD
word: SECRET SIX
word: SHADOWPACT
word: SPEED FORCE
word: SQUADRON SUPREME
word: TEAM SUPERMAN
word: TEEN TITANS
word: THANAGAR
word:
name: U-Z
word: VILLAINS UNITED
word:
name: Marvel
word:
name: A-E
word: ALPHA FLIGHT
word: ASGARDIANS
word: ATLANTIS
word: AVENGERS
word: CRIME LORDS
word: DEFENDERS
word: DOOM
word: EXILES
word:
name: F-J
word: FANTASTIC FOUR
word: HERALDS OF GALACTUS
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
word: KREE
word: MARAUDERS
word: MARVEL DEFENDERS
word: MARVEL KNIGHTS
word: MASTERS OF EVIL
word: MORLOCKS
word: NEGATIVE ZONE
word: NEXTWAVE
word: NOVA CORPS
word:
name: P-T
word: PHALANX
word: RUNAWAYS
word: SENTINELS
word: THE SHI'AR
word: SHIELD
word: SINISTER SYNDICATE
word: SKRULL
word: SPIDER-FRIENDS
word: THUNDERBOLTS
word:
name: U-Z
word: UNDERWORLD
word: UNITED FRONT
word: VILLAINS OF EARTH
word: X-FACTOR
word: X-FORCE
word: X-MEN
word: X-STATIX
word: WARBOUND
word: WEAPON X
word: WILD PACK
word:
name: Other
word: B.P.R.D.
word: THULE SOCIETY
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:
name: DC
word:
name: A-E
word: ANTI-MATTER
word: ARKHAM INMATES
word: BIRDS OF PREY
word: CHECKMATE
word: CRISIS
word: DARKSEID'S ELITE
word: DEATHSTROKE
word: DOOM PATROL
word: EMERALD ENEMIES
word:
name: F-J
word: FEARSOME FIVE
word: FUTURE FOES
word: GOTHAM KNIGHTS
word: GREEN LANTERN
word: INJUSTICE GANG
word: JLA
word: JLI
word: JSA
word:
name: K-O
word: LEAGUE OF ASSASSINS
word: LEGIONNAIRES
word: MANHUNTERS
word: NEW GODS
word: OUTSIDERS
word:
name: P-T
word: RANN
word: REVENGE SQUAD
word: SECRET SIX
word: SHADOWPACT
word: SPEED FORCE
word: SQUADRON SUPREME
word: TEAM SUPERMAN
word: TEEN TITANS
word: THANAGAR
word:
name: U-Z
word: VILLAINS UNITED
word:
name: Marvel
word:
name: A-E
word: ALPHA FLIGHT
word: ASGARDIANS
word: ATLANTIS
word: AVENGERS
word: CRIME LORDS
word: DEFENDERS
word: DOOM
word: EXILES
word:
name: F-J
word: FANTASTIC FOUR
word: HERALDS OF GALACTUS
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
word: KREE
word: MARAUDERS
word: MARVEL DEFENDERS
word: MARVEL KNIGHTS
word: MASTERS OF EVIL
word: MORLOCKS
word: NEGATIVE ZONE
word: NEXTWAVE
word: NOVA CORPS
word:
name: P-T
word: PHALANX
word: RUNAWAYS
word: SENTINELS
word: THE SHI'AR
word: SHIELD
word: SINISTER SYNDICATE
word: SKRULL
word: SPIDER-FRIENDS
word: THUNDERBOLTS
word:
name: U-Z
word: UNDERWORLD
word: UNITED FRONT
word: VILLAINS OF EARTH
word: X-FACTOR
word: X-FORCE
word: X-MEN
word: X-STATIX
word: WARBOUND
word: WEAPON X
word: WILD PACK
word:
name: Other
word: B.P.R.D.
word: THULE SOCIETY
word: EQUIPMENT
word: LOCATION
word: PLOT TWIST
word: PLANET
word:
name: Your Affiliations
word:
script: all_affiliations()
line below: true
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment