mse version: 0.3.8
game: magic
short name: Leveler
full name: Post 8th Leveler Style
icon: card-sample.png
position hint: 006
installer group: magic/new style/leveler cards

version: 2010-04-06
depends on:
	package: magic.mse-game
	version: 2010-04-06
depends on:
	package: magic-default-image.mse-include
	version: 2007-09-23
depends on:
	package: magic-watermarks.mse-include
	version: 2007-09-23
depends on:
	package: magic-mana-large.mse-symbol-font
	version: 2007-09-23
depends on:
	package: magic-mana-small.mse-symbol-font
	version: 2007-09-23

card width: 375
card height: 523
card dpi: 150
############################################################## Extra scripts
init script:
	# Load scripts for image box
	include file: /magic-default-image.mse-include/scripts
	
	# Should hybrids have a grey name?
	mask_hybrid_with_land := { styling.grey_hybrid_name }
	
	#Should multicolor lands with basic land types have a colored name?
	mask_multi_land_with_color := { styling.colored_multicolor_land_name }
	
	# Which artifact template should be used?  Which multicolor template should be used?
	alternate_template := {
		if input == "a" then (
			if       styling.artifact_style == "light" then "oa"
			else if  styling.artifact_style == "brown" then "ba"
			else                                            "a"
		) else if input == "m" then (
			if styling.saturated_multicolor then "m"
			else "om"
		) else	input
	}
	template      := { alternate_template() + "{type}.jpg" }
	land_template := { (if input == "a" then "c" else alternate_template()) + "l{type}.jpg" }
	# Use land templates for previews because they show more contrast
	hybrid_previews := "land,hybrid"
	
	# Use the normal tap symbol
	mana_t := {
		if      styling.tap_symbol == "old"        then "old"
		else if styling.tap_symbol == "diagonal T" then "older"
		else                                            "new"
	}
	
	# Use guild mana symbols?
	guild_mana := { styling.use_guild_mana_symbols }
	
	# Declare the card shape.
	card_shape := { "leveler" }
	
	# Replacing the text_filter() from game file because all three rule text fields should call card.name
	card_name_replace :=
		replace@(
			match: "<atom-cardname><nospellcheck>CARDNAME</nospellcheck></atom-cardname>"
			replace: "<atom-cardname><nospellcheck>" + (if card.name=="" then "CARDNAME" else card.name) + "</nospellcheck></atom-cardname>")
	
############################################################## Set info fields
set info style:
	symbol:
		variation:
			name: invertedcommon
			border radius: 0.10
			fill type: solid
			fill color:   rgb(255,255,255)
			border color: rgb(0,0,0)
############################################################## Extra style options
styling field:
	type: choice
	name: artifact style
	description: Choose the style of artifacts: light = before Fifth Dawn, dark = used since Fifth Dawn, brown = old rust style.
	initial: dark
	choice: light
	choice: dark
	choice: brown
styling field:
	type: boolean
	name: saturated multicolor
	description: Should multicolor cards be more saturated? This is done on real cards.
	initial: yes
styling field:
	type: boolean
	name: grey hybrid name
	description: Use a grey background for the name and type line on hybrid cards. This is done on real cards.
styling field:
	type: boolean
	name: colored multicolor land name
	description: Use a colored background for the name and type on multicolor land cards with a basic land type. This is done on real cards.
styling field:
	type: boolean
	name: use guild mana symbols
	description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana.
	initial: no
styling field:
	type: choice
	name: tap symbol
	description: What tap and untap symbols should be used on cards?
	initial: modern
	choice: modern
	choice: old
	choice: diagonal T
styling field:
	type: package choice
	name: text box mana symbols
	match: magic-mana-*.mse-symbol-font
	initial: magic-mana-small.mse-symbol-font
styling field:
	type: choice
	name: center text
	description: When to center text (short text only means only on one-line cards with no flavor text)
	choice: always
	choice: short text only
	choice: never
	initial: never
styling field:
	type: boolean
	name: inverted common symbol
	description: Should the common rarity symbol be inverted, like in Coldsnap?
	initial: no
styling field:
	type: package choice
	name: overlay
	description: Should there be an overlay applied, such as foil?
	match: magic-overlay-*.mse-include
	required: false
styling field:
	type: choice
	name: image size
	description: Should the art extend into a transparent textbox?
	initial: standard
	choice: standard
	choice: extended
styling style:
	artifact style:
		render style: both
		choice images:
			light: oacard.jpg
			dark:  acard.jpg
			brown: bacard.jpg
	saturated multicolor:
		choice images:
			yes: mcard.jpg
			no:  omcard.jpg
	use guild mana symbols:
		choice images:
			yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png
			no:  /magic-mana-small.mse-symbol-font/mana_rg.png
	tap symbol:
		render style: both
		choice images:
			modern:     /magic-mana-large.mse-symbol-font/mana_t.png
			old:        /magic-mana-large.mse-symbol-font/mana_t_old.png
			diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png
	center text:
		render style: both
		choice images:
			always:          /magic.mse-game/icons/center-all-text.png
			short text only: /magic.mse-game/icons/center-short-text.png
			never:           /magic.mse-game/icons/center-no-text.png
	inverted common symbol:
		choice images:
			no:  { symbol_variation(symbol: set.symbol, variation: "common") }
			yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") }
	image size:
		render style: both
		choice images:
			standard: /magic.mse-game/icons/small-image.png
			extended: /magic.mse-game/icons/large-image.png
############################################################## Card fields
card style:
	############################# Background stuff
	border color:
		left: 0
		top : 0
		width:	375
		height:	523
		radius: 18
		left width:   17
		right width:  17
		top width:    17
		bottom width: 18
		z index: 5
	card color:
		left:	0
		top:	0
		width:	375
		height:	523
		z index: 0
		render style: image
		popup style: in place
		image: { card_background() }
	############################# Name line
	name:
		left: { if card.card_symbol=="none" then 32 else 51 }
		top : 30
		right:  { 341 - card_style.casting_cost.content_width }
		height: 23
		alignment: bottom shrink-overflow
		padding bottom: 0
		z index: 1
		font:
			name: Matrix
			size: 17
			weight: bold
			color: black
	casting cost:
		right: 343
		top : 31
		width: { max(30, card_style.casting_cost.content_width) + 5 }
		height: 23
		alignment: middle right
		font:
			name: MPlantin
			size: 15
		symbol font:
			name: magic-mana-large
			size: 15
			alignment: middle right
		always symbol: true
		z index: 2
		padding top: 0
	card symbol:
		left: {if card.card_symbol=="none" then 20 else 32}
		top : 31
		height: 20
		width: 14
		z index: 1
		render style: image
		choice images:
			tombstone: tombstone.png
	############################# Image
	image:
		left:	32
		top:	62
		width:	311
		height:	{ if styling.image_size == "extended" then 408 else 228 }
		z index: 1
		mask:
			script: if styling.image_size == "extended" then "imagemask_extended.png" else "imagemask_standard.png"
		default: {default_image(card.card_color)}
	############################# Card type
	type:
		left: 35
		top : 298
		width: { 308 - max(22,card_style.rarity.content_width) }
		height: 20
		alignment: top shrink-overflow
		z index: 1
		padding top: 2
		font:
			name: Matrix
			size: 14
			color: black
			separator color: rgb(128,128,128)
	rarity:
		right: 342
		top : 297
		width: 44
		height: 22
		z index: 2
		render style: image
		alignment: middle right
		choice images:
			# Images based on the set symbol
			basic land:
				script:
					if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
					else symbol_variation(symbol: set.symbol, variation: "common")
			common:
				script:
					if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
					else symbol_variation(symbol: set.symbol, variation: "common")
			uncommon:   script: symbol_variation(symbol: set.symbol, variation: "uncommon")
			rare:       script: symbol_variation(symbol: set.symbol, variation: "rare")
			mythic rare:       script: symbol_variation(symbol: set.symbol, variation: "mythic rare")
			special:    script: symbol_variation(symbol: set.symbol, variation: "special")
	############################# Text box
	############### rule text 2 and 3 are in extra card fields
	rule text:
		left: 31
		top: 328
		right: {if card.pt != "" then 277 else 342}
		height: 47
		font:
			name: MPlantin
			italic name: MPlantin-Italic
			size: 14
			scale down to: 6
			color: black
		symbol font:
			name: { styling.text_box_mana_symbols }
			size: 14
		alignment:
			script:
				if (styling.center_text == "short text only" and
				   not contains(match:"\n", card.rule_text) and
				   card.flavor_text == "<i-flavor></i-flavor>" and
				   card_style.text.content_lines <= 2) or
				   styling.center_text == "always"
				then "middle center"
				else "middle left"
		z index: 2
		padding left:   6
		padding right:  4
		line height hard: 1.2
		line height line: 1.5
		line height soft: 0.9
		line height hard max: 1.3
		line height line max: 1.6
	watermark:
		left: 117
		top : 321
		width: 138
		height: 156
		z index: 1
		render style: image
		alignment: middle center
		include file: /magic-watermarks.mse-include/watermarks
	############################# Levels
	level 1:
		z index: 3
		left: 38
		top: 393
		width: 34
		height:	22
		alignment: center middle shrink-overflow
		font:
			name: ModMatrix
			size: 17
			weight: bold
			color: black
			shadow color: white
			shadow blur: 2
	level 2:
		z index: 3
		left: 38
		top: 440
		width: 34
		height:	22
		alignment: center middle shrink-overflow
		font:
			name: ModMatrix
			size: 17
			weight: bold
			color: black
			shadow color: white
			shadow blur: 2
	############################# PT
	pt:
		z index: 3
		left: 284
		top: 340
		width: 60
		height: 28
		alignment: center middle shrink-overflow
		font:
			name: ModMatrix
			size: 17
			weight: bold
			color: black
			separator color: rgb(200,0,0)
	pt 2:
		z index: 3
		left: 284
		top: 387
		width: 60
		height: 28
		alignment: center middle shrink-overflow
		font:
			name: ModMatrix
			size: 17
			weight: bold
			color: black
			separator color: rgb(200,0,0)
	pt 3:
		z index: 3
		left: 284
		top: 434
		width: 60
		height: 28
		alignment: center middle shrink-overflow
		font:
			name: ModMatrix
			size: 17
			weight: bold
			color: black
			separator color: rgb(200,0,0)
	############################# Card sorting / numbering
	############################# Copyright stuff
	illustrator:
		left: 56
		top : 478
		width: 217
		height: 16
		z index: 1
		font:
			name: Matrix
			size: 10
			weight: bold
			color: { font_color(card.card_color) }
	copyright line:
		left: 30
		top : 493
		width: 247
		height: 12
		z index: 1
		font:
			name: MPlantin
			size: 6.5
			color: { font_color(card.card_color) }
############################################################## Extra card fields
extra card field:
	type: choice
	name: pt box
	script: card.card_color
	editable: false
	save value: false
# Add a shadow because the shadow is masked away.
extra card field:
	type: choice
	name: pt box shadow
	choice: shadow
	editable: false
	save value: false
extra card field:
	type: choice
	name: pt box 2
	script: card.card_color
	editable: false
	save value: false
# Add a shadow because the shadow is masked away.
extra card field:
	type: choice
	name: pt box shadow 2
	choice: shadow
	editable: false
	save value: false
extra card field:
	type: choice
	name: pt box 3
	script: card.card_color
	editable: false
	save value: false
# Add a shadow because the shadow is masked away.
extra card field:
	type: choice
	name: pt box shadow 3
	choice: shadow
	editable: false
	save value: false
extra card field:
	type: choice
	name: foil layer
	choice: foil
	save value: false
	editable: false
# Add the bevel and shadows for the levelup arrow.
extra card field:
	type: choice
	name: lvlup texture 1
	choice: image
	save value: false
	editable: false
# Add the bevel and shadows for the levelup arrow.
extra card field:
	type: choice
	name: lvlup texture 2
	choice: image
	save value: false
	editable: false
# This field gets set to combine mode multiply, to slightly darken first arrow.
extra card field:
	type: choice
	name: lvlup multiply 1
	choice: image
	save value: false
	editable: false
# This field gets set to combine mode multiply, to darken second arrow by more.
extra card field:
	type: choice
	name: lvlup multiply 2
	choice: image
	save value: false
	editable: false
# Add the word "LEVEL" to the first arrow.
extra card field:
	type: text
	name: lvl label 1
	editable: false
	save value: false
	script: "LEVEL"
# Repeat the word "LEVEL" with more shadow to give illusion of outline.
extra card field:
	type: text
	name: lvl label 1 copy 1
	editable: false
	save value: false
	script: "LEVEL"
# Add the word "LEVEL" to the second arrow.
extra card field:
	type: text
	name: lvl label 2
	editable: false
	save value: false
	script: "LEVEL"
# Repeat the word "LEVEL" with more shadow to give illusion of outline.
extra card field:
	type: text
	name: lvl label 2 copy 1
	editable: false
	save value: false
	script: "LEVEL"
# Repeat the first level with more shadow to give illusion of outline.
extra card field:
	type: text
	name: level 1 copy 1
	editable: false
	save value: false
	script: card.level_1
# Repeat the second level with more shadow to give illusion of outline.
extra card field:
	type: text
	name: level 2 copy 1
	editable: false
	save value: false
	script: card.level_2
# Forward the second rule text so we can intercept and replace card.name_2 with card.name.
extra card field:
	type: text
	name: forwarded rule text 2
	multi line: true
	save value: false
	script: card_name_replace(forward_editor(field: card.rule_text_2))
	description: The second rules text box
# Combine rule text 2 and flavor text to allow flavor on levelers.
extra card field:
	type: text
	name: rule text 3 with flavor
	multi line: true
	save value: false
	script:
		combined_editor(field1: card.rule_text_3, separator: "<line>\n</line>", field2: card.flavor_text)
	description: The third rules text box and flavor text for the card; use up and down arrows to switch
extra card style:
	pt box:
		left: 271
		top: 335
		width: 81
		height: 42
		z index: 2
		mask: ptmask.png
		visible: { card.pt != "" }
		render style: image
		image: { leveler_ptbox() }
	pt box shadow:
		left: 271
		top: 335
		width: 81
		height:	42
		z index: 1
		visible: { card.pt != "" }
		render style: image
		image: ptbox_shadow.png
	pt box 2:
		left: 271
		top: 382
		width: 81
		height: 42
		z index: 2
		mask: ptmask.png
		visible: { card.pt_2 != "" }
		render style: image
		image: {combine_blend(image1: leveler_ptbox2(), image2: "ptbox_multiply_1.png", combine: "multiply")}
	pt box shadow 2:
		left: 271
		top: 382
		width: 81
		height:	42
		z index: 1
		visible: { card.pt_2 != "" }
		render style: image
		image: ptbox_shadow.png
	pt box 3:
		left: 271
		top: 429
		width: 81
		height: 42
		z index: 2
		mask: ptmask.png
		visible: { card.pt_3 != "" }
		render style: image
		image: {combine_blend(image1: leveler_ptbox3(), image2: "ptbox_multiply_2.png", combine: "multiply")}
	pt box shadow 3:
		left: 271
		top: 429
		width: 81
		height:	42
		z index: 1
		visible: { card.pt_3 != "" }
		render style: image
		image: ptbox_shadow.png
	foil layer:
		left: 0
		top: 0
		width: 375
		height: 523
		z index: 4
		render style: image
		image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"}
	lvlup texture 1:
		left: 0
		top: 0
		width: 375
		height: 523
		z index: 2
		render style: image
		image: lvlup_texture_1.png
		visible: {card.level_1 != ""}
	lvlup texture 2:
		left: 0
		top: 0
		width: 375
		height: 523
		z index: 2
		render style: image
		image: lvlup_texture_2.png
		visible: {card.level_2 != ""}
	lvlup multiply 1:
		left: 0
		top: 0
		width: 375
		height: 523
		z index: 1
		render style: image
		image: {set_combine(input: "lvlup_multiply_1.png", combine: "multiply")}
		visible: {card.level_1 != ""}
	lvlup multiply 1:
		left: 0
		top: 0
		width: 375
		height: 523
		z index: 1
		render style: image
		image: {set_combine(input: "lvlup_multiply_2.png", combine: "multiply")}
		visible: {card.level_2 != ""}
	lvl label 1:
		left: 50
		top: 386
		width: 10
		height: 10
		z index: 3
		alignment: middle center
		font:
			name: MPlantin
			size: 5.5
			color: black
			shadow color: white
			shadow blur: 2
		visible: {card.level_1 != ""}
	lvl label 1 copy 1:
		left: 50
		top: 386
		width: 10
		height: 10
		z index: 3
		alignment: middle center
		font:
			name: MPlantin
			size: 5.5
			color: black
			shadow color: white
			shadow blur: 2
		visible: {card.level_1 != ""}
	lvl label 2:
		left: 50
		top: 433
		width: 10
		height: 10
		z index: 3
		alignment: middle center
		font:
			name: MPlantin
			size: 5.5
			color: black
			shadow color: white
			shadow blur: 2
		visible: {card.level_2 != ""}
	lvl label 2 copy 1:
		left: 50
		top: 433
		width: 10
		height: 10
		z index: 3
		alignment: middle center
		font:
			name: MPlantin
			size: 5.5
			color: black
			shadow color: white
			shadow blur: 2
		visible: {card.level_2 != ""}
	level 1 copy 1:
		z index: 3
		left: 38
		top: 393
		width: 34
		height:	22
		alignment: center middle shrink-overflow
		font:
			name: ModMatrix
			size: 17
			weight: bold
			color: black
			shadow color: white
			shadow blur: 2
	level 2 copy 1:
		z index: 3
		left: 38
		top: 440
		width: 34
		height:	22
		alignment: center middle shrink-overflow
		font:
			name: ModMatrix
			size: 17
			weight: bold
			color: black
			shadow color: white
			shadow blur: 2
	forwarded rule text 2:
		left: {if card.level_1 != "" then 93 else 31}
		top: 375
		right: {if card.pt_2 != "" then 277 else 342}
		height: 47
		font:
			name: MPlantin
			italic name: MPlantin-Italic
			size: 14
			scale down to: 6
			color: black
		symbol font:
			name: { styling.text_box_mana_symbols }
			size: 14
		alignment:
			script:
				if (styling.center_text == "short text only" and
				   not contains(match:"\n", card.rule_text) and
				   card.flavor_text == "<i-flavor></i-flavor>" and
				   card_style.text.content_lines <= 2) or
				   styling.center_text == "always"
				then "middle center"
				else "middle left"
		z index: 2
		padding left:   6
		padding right:  4
		line height hard: 1.2
		line height line: 1.5
		line height soft: 0.9
		line height hard max: 1.3
		line height line max: 1.6
	rule text 3 with flavor:
		left: {if card.level_2 != "" then 93 else 31}
		top: 422
		right: {if card.pt_3 != "" then 277 else 342}
		height: 47
		font:
			name: MPlantin
			italic name: MPlantin-Italic
			size: 14
			scale down to: 6
			color: black
		symbol font:
			name: { styling.text_box_mana_symbols }
			size: 14
		alignment:
			script:
				if (styling.center_text == "short text only" and
				   not contains(match:"\n", card.rule_text) and
				   card.flavor_text == "<i-flavor></i-flavor>" and
				   card_style.text.content_lines <= 2) or
				   styling.center_text == "always"
				then "middle center"
				else "middle left"
		z index: 2
		padding left:   6
		padding right:  4
		line height hard: 1.2
		line height line: 1.5
		line height soft: 0.9
		line height hard max: 1.3
		line height line max: 1.6
