Commit a24b3a29 authored by pichoro's avatar pichoro

Added shapeshift keyword (from Lorwyn); added Art rampage and Super haste...

Added shapeshift keyword (from Lorwyn); added Art rampage and Super haste keywords (from Unhinged) in the spirit of Denimwalk.
Resized future sight type symbol watermarks.
Added land to default images.
Added card_shape scripts to splits, tokens, and "shifted"s.
Redid sort_index script to be more modular and better allow correct sorting of splits and shifts inside of their colors, and for tokens to be at end of list and still follow other sorting rules.
Fixed some dpi problems with fpm-promo and fpm-token.
parent 24687e90
...@@ -10,13 +10,14 @@ default_images := [ ...@@ -10,13 +10,14 @@ default_images := [
b: "/magic-default-image.mse-include/black.jpg" b: "/magic-default-image.mse-include/black.jpg"
r: "/magic-default-image.mse-include/red.jpg" r: "/magic-default-image.mse-include/red.jpg"
g: "/magic-default-image.mse-include/green.jpg" g: "/magic-default-image.mse-include/green.jpg"
l: "/magic-default-image.mse-include/land.jpg"
] ]
default_image := { default_image := {
color_background(color_combination: { color_background(color_combination: {
combine := "symmetric overlay" combine := "symmetric overlay"
base := base :=
if color_count == 0 then if land then default_images.a else default_images.c if color_count == 0 then if land then default_images.l else default_images.c
else if color_count == 1 then default_images[colors] else if color_count == 1 then default_images[colors]
else if color_count == 2 then combine_blend( else if color_count == 2 then combine_blend(
image1: default_images[colors.0], image1: default_images[colors.0],
...@@ -24,7 +25,7 @@ default_image := { ...@@ -24,7 +25,7 @@ default_image := {
) )
else default_images.m else default_images.m
if land then combine_blend(image1: default_images.c, image2: base) if land then if color_count == 0 then default_images.l else combine_blend(image1: default_images.l, image2: base)
else if multi then combine_blend(image1: default_images.m, image2: base) else if multi then combine_blend(image1: default_images.m, image2: base)
else if artifact then combine_blend(image1: default_images.a, image2: base) else if artifact then combine_blend(image1: default_images.a, image2: base)
else base else base
......
...@@ -7,7 +7,7 @@ position hint: 404 ...@@ -7,7 +7,7 @@ position hint: 404
card width: 375 card width: 375
card height: 523 card height: 523
card dpi: 300 card dpi: 150
############################################################## Extra scripts ############################################################## Extra scripts
......
...@@ -46,6 +46,8 @@ init script: ...@@ -46,6 +46,8 @@ init script:
font_colors_white := { input != "w" } font_colors_white := { input != "w" }
paintbrush_color := { if font_white() then "white" else "black" } paintbrush_color := { if font_white() then "white" else "black" }
card_shape := { "split" }
############################################################## Extra style ############################################################## Extra style
styling field: styling field:
......
...@@ -7,7 +7,7 @@ position hint: 407 ...@@ -7,7 +7,7 @@ position hint: 407
card width: 375 card width: 375
card height: 523 card height: 523
card dpi: 300 card dpi: 150
############################################################## Extra scripts ############################################################## Extra scripts
...@@ -41,6 +41,8 @@ init script: ...@@ -41,6 +41,8 @@ init script:
font_colors_white := { input != "w" } font_colors_white := { input != "w" }
paintbrush_color := { if font_white() then "white" else "black" } paintbrush_color := { if font_white() then "white" else "black" }
card_shape := { "token" }
############################################################## Extra style ############################################################## Extra style
styling field: styling field:
......
...@@ -10,6 +10,7 @@ card height: 523 ...@@ -10,6 +10,7 @@ card height: 523
card dpi: 150 card dpi: 150
#By: Pichoro #By: Pichoro
#Images by Spiderboy4, Buttock1234, and Artfreakwiu
############################################################## Extra scripts ############################################################## Extra scripts
init script: init script:
...@@ -76,6 +77,8 @@ init script: ...@@ -76,6 +77,8 @@ init script:
else if contains(card.card_color, match:"artifact") or contains(card.card_color, match:"multicolor") or contains(card.card_color, match:"white") then "black" else if contains(card.card_color, match:"artifact") or contains(card.card_color, match:"multicolor") or contains(card.card_color, match:"white") then "black"
else "white" else "white"
} }
card_shape := { "shifted" }
############################################################## Set info fields ############################################################## Set info fields
set info style: set info style:
...@@ -218,7 +221,7 @@ card style: ...@@ -218,7 +221,7 @@ card style:
top : 434 top : 434
width: { 300 - max(18,card_style.rarity.content_width) } width: { 300 - max(18,card_style.rarity.content_width) }
height: 28 height: 28
alignment: top shrink-overflow alignment: middle shrink-overflow
z index: 1 z index: 1
padding top: 2 padding top: 2
font: font:
......
...@@ -10,6 +10,7 @@ card height: 523 ...@@ -10,6 +10,7 @@ card height: 523
card dpi: 150 card dpi: 150
#By: Pichoro #By: Pichoro
#Images by Spiderboy4, Buttock1234, and Artfreakwiu
############################################################## Extra scripts ############################################################## Extra scripts
init script: init script:
...@@ -143,6 +144,8 @@ init script: ...@@ -143,6 +144,8 @@ init script:
not contains(card.type, match:"Creature") then "enchantment" not contains(card.type, match:"Creature") then "enchantment"
else "multitype" else "multitype"
} }
card_shape := { "shifted" }
############################################################## Set info fields ############################################################## Set info fields
set info style: set info style:
......
...@@ -38,6 +38,8 @@ init script: ...@@ -38,6 +38,8 @@ init script:
# Use guild mana symbols? # Use guild mana symbols?
guild_mana := { styling.use_guild_mana_symbols } guild_mana := { styling.use_guild_mana_symbols }
card_shape := { "split" }
############################################################## Set info fields ############################################################## Set info fields
set info style: set info style:
symbol: symbol:
......
...@@ -49,6 +49,8 @@ init script: ...@@ -49,6 +49,8 @@ init script:
name_filter := { input } name_filter := { input }
paintbrush_color := { if font_white() then "white" else "black" } paintbrush_color := { if font_white() then "white" else "black" }
card_shape := { "token" }
############################################################## Set info fields ############################################################## Set info fields
set info style: set info style:
......
...@@ -68,6 +68,8 @@ init script: ...@@ -68,6 +68,8 @@ init script:
) )
else base else base
} }
card_shape := { "split" }
############################################################## Set info fields ############################################################## Set info fields
set info style: set info style:
......
...@@ -67,6 +67,8 @@ init script: ...@@ -67,6 +67,8 @@ init script:
) )
else base else base
} }
card_shape := { "token" }
############################################################## Set info fields ############################################################## Set info fields
set info style: set info style:
......
...@@ -29,6 +29,8 @@ init script: ...@@ -29,6 +29,8 @@ init script:
# Use guild mana symbols? # Use guild mana symbols?
guild_mana := { styling.use_guild_mana_symbols } guild_mana := { styling.use_guild_mana_symbols }
card_shape := { "shifted" }
############################################################## Set info fields ############################################################## Set info fields
set info style: set info style:
symbol: symbol:
......
...@@ -170,48 +170,60 @@ init script: ...@@ -170,48 +170,60 @@ init script:
############################################################## Card number ############################################################## Card number
# Index for sorting, white cards are first, so white->A, blue->B, .. , # Index for sorting, white cards are first, so white->A, blue->B, .. ,
# multi->F, hybrid->G, splits -> H, arti->I, land->K, basic land->L, plains->M, island->N, swamp->O, mountain->P, forest->Q # multi->F, hybrid->G, diff color splits -> H, arti->I, land->K, basic land->L, plains->M, island->N, swamp->O, mountain->P, forest->Q
is_multicolor := { chosen(choice: "multicolor") and input != "artifact, multicolor" } is_multicolor := { chosen(choice: "multicolor") and input != "artifact, multicolor" }
is_null_cost := { input == "" or input == "0" } is_null_cost := { input == "" or input == "0" }
sort_index := { basic_land_sort := {
card_color := card.card_color if contains(card.name, match:"Plains") then "LB" # Plains
else if contains(card.name, match:"Island") then "LC" # Islands
else if contains(card.name, match:"Swamp") then "LD" # Swamps
else if contains(card.name, match:"Mountain") then "LE" # Mountains
else if contains(card.name, match:"Forest") then "LF" # Forests
else "LA" # other basic lands
}
norm_or_token := {
if contains(card.shape, match:"token") then "T"
else "N"
}
color_of_card := {
card_color := card.card_color
casting_cost := card.casting_cost casting_cost := card.casting_cost
if card.casting_cost_2 != "" and if card.shape == "split" and
card_color != card.card_color_2 then "H" # multicolor splits casting_cost != card.casting_cost_2 then "H" # Diff Color Splits
else if chosen(choice: "land", card_color) then ( else if chosen(choice: "land", card_color) then (
# land if card.rarity != "basic land" then "K" # Nonbasic Land
if card.rarity != "basic land" then "K" # nonbasic land else basic_land_sort()
else (
if contains(card.name, match:"Plains") then "M"
else if contains(card.name, match:"Island") then "N"
else if contains(card.name, match:"Swamp") then "O"
else if contains(card.name, match:"Mountain") then "P"
else if contains(card.name, match:"Forest") then "Q"
else "L" # other basic land
)
) else if is_null_cost(casting_cost) then ( ) else if is_null_cost(casting_cost) then (
# no casting cost; use frame if chosen(choice: "hybrid", card_color) then "G" # Hybrids
if chosen(choice: "hybrid", card_color) then "G" # Hybrid frame else if is_multicolor(card_color) then "F" # Multicolor
else if is_multicolor(card_color) then "F" # Multicolor frame else if chosen(choice:"white", card_color) then "A" # White
else if chosen(choice:"white", card_color) then "A" # White else if chosen(choice:"blue", card_color) then "B" # Blue
else if chosen(choice:"blue", card_color) then "B" # Blue else if chosen(choice:"black", card_color) then "C" # Black
else if chosen(choice:"black", card_color) then "C" # Black else if chosen(choice:"red", card_color) then "D" # Red
else if chosen(choice:"red", card_color) then "D" # Red else if chosen(choice:"green", card_color) then "E" # Green
else if chosen(choice:"green", card_color) then "E" # Green else "I" # Colorless / Artifact
else "I" # Non of the above = Colorless/artifact
) else ( ) else (
# use the casting cost # use the casting cost
colors := sort_text(casting_cost, order: "<WUBRG>") colors := sort_text(casting_cost, order: "<WUBRG>")
if colors == "" then "I" # Colorless if colors == "" then "I" # Colorless / Artifact
else if contains(casting_cost, match:"/") then "G" # Hybrid cost else if colors == "W" then "A" # White
else if colors == "W" then "A" # White else if colors == "U" then "B" # Blue
else if colors == "U" then "B" # Blue else if colors == "B" then "C" # Black
else if colors == "B" then "C" # Black else if colors == "R" then "D" # Red
else if colors == "R" then "D" # Red else if colors == "G" then "E" # Green
else if colors == "G" then "E" # Green else "F" # Multicolor
else "F" # non of the above = multicolor
) )
} }
is_shifted := {
if contains(card.shape, match:"shifted") then "1"
else "0"
}
is_split := {
if contains(card.shape, match:"split") then "1"
else "0"
}
sort_index := { norm_or_token() + color_of_card() + is_shifted() + is_split()
}
rarity_sort := { rarity_sort := {
if set.sort_special_rarity == "with the rest" or card.rarity != "special" then "A" else "Z" if set.sort_special_rarity == "with the rest" or card.rarity != "special" then "A" else "Z"
...@@ -606,6 +618,7 @@ card field: ...@@ -606,6 +618,7 @@ card field:
choice: token choice: token
choice: flip choice: flip
choice: split choice: split
choice: shifted
script: card_shape() # determined by the style script: card_shape() # determined by the style
card field: card field:
type: text type: text
...@@ -618,7 +631,7 @@ card field: ...@@ -618,7 +631,7 @@ card field:
card list column: 1 card list column: 1
card list width: 150 card list width: 150
description: The name of the card description: The name of the card
script: if card_shape() == "split" then card.name + "//" + card.name_2 else card.name script: if card_shape() == "split" then card.name + " // " + card.name_2 else card.name
############################# Background stuff ############################# Background stuff
card field: card field:
...@@ -1737,6 +1750,16 @@ keyword: ...@@ -1737,6 +1750,16 @@ keyword:
match: Sunburst match: Sunburst
mode: expert mode: expert
reminder: This comes into play with a {if has_pt() then "+1/+1" else "charge"} counter on it for each color of mana used to pay its cost. reminder: This comes into play with a {if has_pt() then "+1/+1" else "charge"} counter on it for each color of mana used to pay its cost.
keyword:
keyword: Art rampage
match: Art rampage <atom-param>number</atom-param>
mode: expert
reminder: Whenever this becomes blocked by a creature, it gets +{param1}/+{param1} for each creature in the blocker's art beyond the first.
keyword:
keyword: Super haste
match: Super haste
mode: expert
reminder: This may attack the turn before you play it. (You may put this card into play from your hand, tapped and attacking, during your declare attackers step. If you do, you lose the game at the end of your next turn unless you pay this card's mana cost during that turn.)
keyword: keyword:
keyword: Gotcha keyword: Gotcha
match: Gotcha match: Gotcha
...@@ -1966,3 +1989,8 @@ keyword: ...@@ -1966,3 +1989,8 @@ keyword:
match: Clash match: Clash
mode: action mode: action
reminder: Each clashing player reveals the top card of his or her library then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost. reminder: Each clashing player reveals the top card of his or her library then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost.
keyword:
keyword: Shapeshift
match: Shapeshift
mode: expert
reminder: This creature is every creature type even if this card isn't in play.
...@@ -722,6 +722,16 @@ keyword: ...@@ -722,6 +722,16 @@ keyword:
match: sunburst match: sunburst
mode: expert mode: expert
reminder: It comes into play with a +1/+1 counter on it for each color of mana used to pay its cost. If it isn't a creature, use charge counters instead. reminder: It comes into play with a +1/+1 counter on it for each color of mana used to pay its cost. If it isn't a creature, use charge counters instead.
keyword:
keyword: Art rampage
match: art rampage <atom-param>number</atom-param>
mode: expert
reminder: Whenever it blocked by a creature, it gets +{param1}/+{param1} for each creature in the blocker's art beyond the first.
keyword:
keyword: Super haste
match: Super haste
mode: expert
reminder: It may attack the turn before you play it. (You may put it into play from your hand, tapped and attacking, during your declare attackers step. If you do, you lose the game at the end of your next turn unless you pay its mana cost during that turn.)
keyword: keyword:
keyword: Gotcha keyword: Gotcha
match: Gotcha match: Gotcha
...@@ -934,14 +944,19 @@ keyword: ...@@ -934,14 +944,19 @@ keyword:
keyword: Evoke keyword: Evoke
match: evoke <atom-param>cost</atom-param> match: evoke <atom-param>cost</atom-param>
mode: expert mode: expert
reminder: You may play this spell for its evoke cost. If you do, it's sacrificed when it comes into play. reminder: You may it for its evoke cost. If you do, it's sacrificed when it comes into play.
keyword: keyword:
keyword: Champion keyword: Champion
match: champion <atom-param>a</atom-param> <atom-param>name</atom-param> match: champion <atom-param>a</atom-param> <atom-param>name</atom-param>
mode: expert mode: expert
reminder: When this comes into play, sacrifice it unless you remove another {param2} you control from the game. When this leaves play, that card returns to play. reminder: When it comes into play, sacrifice it unless you remove another {param2} you control from the game. When it leaves play, that card returns to play.
keyword: keyword:
keyword: Clash keyword: Clash
match: clash match: clash
mode: expert mode: expert
reminder: Each clashing player reveals the top card of his or her library then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost. reminder: Each clashing player reveals the top card of his or her library then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost.
keyword:
keyword: Shapeshift
match: shapeshift
mode: expert
reminder: It is every creature type even if it isn't in play.
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