mse version: 2.0.0
game: magic
short name: Modern Transformer
full name: Innistrad Transformers
icon: card-sample.png
position hint: 002
installer group: magic/new style/transformer

version: 2011-09-15
depends on: magic.mse-game                   2011-09-10
depends on: magic-new-common.mse-include     2011-09-11
depends on: magic-default-image.mse-include  2007-09-23
depends on: magic-watermarks.mse-include     2007-09-23
depends on: magic-mana-large.mse-symbol-font 2011-04-10
depends on: magic-mana-small.mse-symbol-font 2011-04-10

card background: white
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?
	alternate_template := {
		if input == "a" then (
			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      := { (if type=="identity" then "/magic-new-common.mse-include/" else (if is_night() then "n" else "d")) + alternate_template() + "{type}." + (if type=="identity" then "png" else "jpg") }
	land_template := { (if type=="identity" then "/magic-new-common.mse-include/" else (if is_night() then "n" else "d")) + (if input == "a" then "c" else alternate_template()) + (if type=="identity" then "" else "l") + "{type}." +(if type=="identity" then "png" else "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 }
	
	# Replacing the section of the blends file relevant to masking due to day and night having different masks
	color_combination := {
		# The base hybrid, without the outer frame blended over it
		base := base_hybrid[shape][color_count]()
		
		# Put a frame around it?
		if land and not colored_lands then
			masked_blend(
				mask:  (if type=="identity" then "/magic-new-common.mse-include/" else "") + (if type=="pt" then "" else (if has_no_cost() then "n" else "d")) + "multicolor_blend_{type}.png",
				dark:  land_template("c"),
				light: base,
			)
		else if land and multi and mask_multi_land_with_color() then
			masked_blend(
				mask:  (if type=="identity" then "/magic-new-common.mse-include/" else "") + "hybrid_blend_{type}.png",
				dark:  base,
				light:  land_template("m"),
			)
		else if multi and artifact then
			masked_blend(
				mask: (if type=="identity" then "/magic-new-common.mse-include/" else "") + (if type=="pt" then "" else (if has_no_cost() then "n" else "d")) + "artifact_blend_{type}.png",
				dark: template("a"),
				light: masked_blend(
					mask: (if type=="identity" then "/magic-new-common.mse-include/" else "") + (if type=="pt" then "" else (if has_no_cost() then "n" else "d")) + "multicolor_blend_{type}.png",
					dark: template("m"),
					light: base
				)
			)
		else if multi then 
			masked_blend(
				mask:  (if type=="identity" then "/magic-new-common.mse-include/" else "") + (if type=="pt" then "" else (if has_no_cost() then "n" else "d")) + "multicolor_blend_{type}.png",
				dark:  template("m"),
				light: base,
			)
		else if artifact and color_count > 1 and mask_hybrid_with_land() then 
			masked_blend(
				mask:  (if type=="identity" then "/magic-new-common.mse-include/" else "") + (if type=="pt" then "" else (if has_no_cost() then "n" else "d")) + "artifact_blend_{type}.png",
				dark:  template("a"),
				light: masked_blend(
					mask: (if type=="identity" then "/magic-new-common.mse-include/" else "") + (if type=="pt" then "" else (if has_no_cost() then "n" else "d")) + "multicolor_blend_{type}.png",
					dark: template("c"),
					light: base
				)
			)
		else if artifact then 
			masked_blend(
				mask:  (if type=="identity" then "/magic-new-common.mse-include/" else "") + (if type=="pt" then "" else (if has_no_cost() then "n" else "d")) + "artifact_blend_{type}.png",
				dark:  template("a"),
				light: base,
			)
		else if color_count > 1 and mask_hybrid_with_land() then
			masked_blend(
				mask:  (if type=="identity" then "/magic-new-common.mse-include/" else "") + "hybrid_blend_{type}.png",
				dark:  land_template("c"),
				light: base,
			)
		else base
	}

############################################################## 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: color identity
	choice: always
	choice: sometimes
	choice: never
	description: Do you want to always, sometimes, or never use color indicators?
	initial: sometimes
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: 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: 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:
			dark:  dacard.jpg
			brown: dbacard.jpg
	saturated multicolor:
		choice images:
			yes: dmcard.jpg
			no:  domcard.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
		#mask: border-mask.png
		z index: -1
	card color:
		left:	0
		top:	0
		width:	{ if is_day() then 375 else 0 }
		height:	523
		z index: -2
		render style: image
		popup style: in place
		image: { card_background() }
		visible: { is_day() }

	############################# Name line
	name:
		left:   { if card.card_symbol=="none" then 60 else 76 }
		top :   30
		right:  { if has_no_cost() then 341 else (341 - card_style.casting_cost.content_width) }
		height: { if is_day() then 23 else 0 }
		alignment: bottom shrink-overflow
		padding bottom: 0
		z index: 1
		font:
			name: Matrix
			size: 17
			weight: bold
			color: { if is_day() then rgb(0,0,0) else rgb(255,255,255) }
		visible: { is_day() }
	casting cost:
		right: 343
		top : 31
		width: { max(30, card_style.casting_cost.content_width) + 5 }
		height: { if is_day() then 23 else 0 }
		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
		visible: { is_day() }
	card symbol:
		left: {if card.card_symbol=="none" then 55 else 60}
		top : 31
		height: 20
		width: { if is_day() then 14 else 0 }
		render style: image
		choice images:
			tombstone: tombstone.png
		visible: { is_day() }
	transformation:
		left: 21
		top : 26
		height: 31
		width: 31
		render style: image
		choice images:
			day: sun_circle.png
			night: night_circle.png

	############################# Image
	image:
		left:	32
		top:	62
		width:	{ if is_day() then 311 else 0 }
		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)}
		visible: { is_day() }

	############################# Card type
	type:
		left: { if contains(card.card_color, match:"land") then 35 else (if styling.color_identity=="always" then 55 else if (styling.color_identity=="sometimes" and has_no_cost()) then 55 else 35) }
		top : 298
		width: { if contains(card.card_color, match:"land") then (308 - max(22,card_style.rarity.content_width)) else (if styling.color_identity=="always" then (288 - max(22,card_style.rarity.content_width)) else if (styling.color_identity=="sometimes" and has_no_cost()) then (288 - max(22,card_style.rarity.content_width)) else (308 - max(22,card_style.rarity.content_width))) }
		height: { if is_day() then 20 else 0 }
		alignment: top shrink-overflow
		z index: 2
		padding top: 2
		font:
			name: Matrix
			size: 14
			color: { if is_day() then rgb(0,0,0) else rgb(255,255,255) }
			separator color: rgb(128,128,128)
		visible: { is_day() }

	rarity:
		right: 342
		top : 297
		width: 44
		height: 22
		z index: 1
		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")

	identity:
		left: 41
		top : 297
		width: { if contains(card.card_color, match:"land") then 0 else (if styling.color_identity=="always" then 17 else if (styling.color_identity=="sometimes" and has_no_cost()) then 17 else 0) }
		height: 17
		angle: -45
		z index: 2
		render style: image
		image: { card_identity() }
		mask: /magic-new-common.mse-include/dmulticolor_blend_identity.png
		visible: { styling.color_identity=="always" or (styling.color_identity=="sometimes" and has_no_cost()) or (has_no_cost() and is_day()) }

	idframe:
		left: 34
		top : 301
		width: { if contains(card.card_color, match:"land") then 0 else (if styling.color_identity=="always" then 17 else if (styling.color_identity=="sometimes" and has_no_cost()) then 17 else 0) }
		height: 17
		z index: 1
		render style: image
		choice images:
			frame: /magic-new-common.mse-include/cidentity.png
		mask: /magic-new-common.mse-include/inverse_blend_identity.png
		visible: { styling.color_identity=="always" or (styling.color_identity=="sometimes" and has_no_cost()) or (has_no_cost() and is_day()) }

	############################# Text box
	text:
		left: 31
		top : 328
		width: { if is_day() then 311 else 0 }
		height: 142
		font:
			name: MPlantin
			italic name: MPlantin-Italic
			size: 14
			scale down to: 6
			color: rgb(0,0,0)
		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 top:    2
		padding right:  4
#		padding bottom: 2
		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
		visible: { is_day() }

	watermark:
		left: 117
		top : 321
		width: { if is_day() then 138 else 0 }
		height: 156
		z index: 1
		render style: image
		alignment: middle center
		include file: /magic-watermarks.mse-include/watermarks
		visible: { is_day() }

	############################# PT
	pt:
		z index: 4
		left:	284
		top:	466
		width:	{ if is_day() then 60 else 0 }
		height:	28
		alignment: center middle shrink-overflow
		font:
			name: ModMatrix
			size: 17
			weight: bold
			color: { if is_day() then rgb(0,0,0) else rgb(255,255,255) }
			separator color: rgb(200,0,0)
		visible: { is_day() }

	############################# Card sorting / numbering
	############################# Copyright stuff

	illustrator:
		left: 56
		top : 478
		width: { if is_day() then 217 else 0 }
		height: 16
		z index: 1
		font:
			name: Matrix
			size: 10
			weight: bold
			color: { font_color(card.card_color) }
		visible: { is_day() }

	############################# Day side extra
	pt 3:
		z index: 4
		left:	311
		top:	451
		width:	{ if is_day() then 30 else 0 }
		height:	12
		alignment: bottom right
		font:
			name: ModMatrix
			size: 12
			weight: bold
			color: rgb(35,35,35)
			separator color: rgb(200,0,0)
		visible: { is_day() }

	############################# Night side
	############################# Background stuff
	card color 2:
		left:	0
		top:	0
		width:	{ if is_night() then 375 else 0 }
		height:	523
		z index: -2
		render style: image
		popup style: in place
		image: { card_background() }
		visible: { is_night() }

	############################# Name line
	name 2:
		left:   { if card.card_symbol=="none" then 60 else 76 }
		top :   30
		right:  { if has_no_cost() then 341 else (341 - card_style.casting_cost.content_width) }
		height: { if is_night() then 23 else 0 }
		alignment: bottom shrink-overflow
		padding bottom: 0
		z index: 1
		font:
			name: Matrix
			size: 17
			weight: bold
			color: rgb(255,255,255)
		visible: { is_night() }
	casting cost 2:
		right: 343
		top : 31
		width: { max(30, card_style.casting_cost.content_width) + 5 }
		height: { if is_night() then 23 else 0 }
		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
		visible: { is_night() }
	card symbol 2:
		left: {if card.card_symbol=="none" then 55 else 60}
		top : 31
		height: 20
		width: { if is_night() then 14 else 0 }
		render style: image
		choice images:
			tombstone: tombstone.png
		visible: { is_night() }

	############################# Image
	image 2:
		left:	32
		top:	62
		width:	{ if is_night() then 311 else 0 }
		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)}
		visible: { is_night() }

	############################# Card type
	type 2:
		left: { if has_no_cost() then 55 else 35 }
		top : 298
		width: { if has_no_cost() then (288 - max(22,card_style.rarity.content_width)) else (308 - max(22,card_style.rarity.content_width)) }
		height: { if is_night() then 20 else 0 }
		alignment: top shrink-overflow
		z index: 2
		padding top: 2
		font:
			name: Matrix
			size: 14
			color: rgb(255,255,255)
			separator color: rgb(128,128,128)
		visible: { is_night() }

	identity 2:
		left: 41
		top : 297
		width: { if (contains(card.card_color, match:"land") or is_day()) then 0 else (if styling.color_identity=="always" then 17 else if (styling.color_identity=="sometimes" and has_no_cost()) then 17 else 0) }
		height: 17
		angle: -45
		z index: 2
		render style: image
		image: { card_identity() }
		mask: /magic-new-common.mse-include/dmulticolor_blend_identity.png
		visible: { styling.color_identity=="always" or (styling.color_identity=="sometimes" and has_no_cost()) or (has_no_cost() and is_night()) }

	idframe 2:
		left: 34
		top : 301
		width: { if (contains(card.card_color, match:"land") or is_day()) then 0 else (if styling.color_identity=="always" then 17 else if (styling.color_identity=="sometimes" and has_no_cost()) then 17 else 0) }
		height: 17
		z index: 1
		render style: image
		choice images:
			frame: /magic-new-common.mse-include/cidentity.png
		mask: /magic-new-common.mse-include/inverse_blend_identity.png
		visible: { styling.color_identity=="always" or (styling.color_identity=="sometimes" and has_no_cost()) or (has_no_cost() and is_night()) }

	############################# Text box
	text 2:
		left: 31
		top : 328
		width: { if is_night() then 311 else 0 }
		height: 142
		font:
			name: MPlantin
			italic name: MPlantin-Italic
			size: 14
			scale down to: 6
			color: rgb(0,0,0)
		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 top:    2
		padding right:  4
#		padding bottom: 2
		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
		visible: { is_night() }

	watermark 2:
		left: 117
		top : 321
		width: { if is_night() then 138 else 0 }
		height: 156
		z index: 1
		render style: image
		alignment: middle center
		include file: /magic-watermarks.mse-include/watermarks
		visible: { is_night() }

	############################# PT
	pt 2:
		z index: 4
		left:	284
		top:	466
		width:	{ if is_night() then 60 else 0 }
		height:	28
		alignment: center middle shrink-overflow
		font:
			name: ModMatrix
			size: 17
			weight: bold
			color: { if is_day() then rgb(0,0,0) else rgb(255,255,255) }
			separator color: rgb(200,0,0)
		visible: { is_night() }

	############################# Card sorting / numbering
	############################# Copyright stuff

	illustrator 2:
		left: 56
		top : 478
		width: { if is_night() then 217 else 0 }
		height: 16
		z index: 1
		font:
			name: Matrix
			size: 10
			weight: bold
			color: { font_color(card.card_color_2) }
		visible: { is_night() }


############################################################## Extra card fields

extra card field:
	type: choice
	name: pt box
	script: card.card_color
	editable: false
extra card field:
	type: choice
	name: pt box 2
	script: card.card_color_2
	editable: false
extra card field:
	type: text
	name: copyright line a
	save value: false
	show statistics: false
	script:
		if set.automatic_card_numbers then
			combined_editor(field1: card.copyright, separator: " ", field2: card.card_number_a_or_b)
		else
			forward_editor(field: card.copyright)
	description: Copyright of this card and cardnumber, the default value can be changed on the 'set info' tab
extra card field:
	type: text
	name: copyright line b
	save value: false
	show statistics: false
	script:
		if set.automatic_card_numbers then
			combined_editor(field1: card.copyright, separator: " ", field2: card.card_number_a_or_b)
		else
			forward_editor(field: card.copyright)
	description: Copyright of this card and cardnumber, the default value can be changed on the 'set info' tab
extra card style:
	pt box:
		left:	271
		top:	461
		width:	{ if is_day() then 81 else 0 }
		height:	42
		z index: 1
		mask: ptmask.png
		visible: { card.pt != "" and is_day() }
		render style: image
		image: { card_ptbox() }
	pt box 2:
		left:	271
		top:	461
		width:	{ if is_night() then 81 else 0 }
		height:	42
		z index: 1
		mask: ptmask.png
		visible: { card.pt_2 != "" and is_night() }
		render style: image
		image: { card_ptbox() }
	copyright line a:
		left: 30
		top : 493
		width: { if is_day() then 247 else 0 }
		height: 12
		z index: 1
		font:
			name: MPlantin
			size: 6.5
			color: { font_color(card.card_color) }
		visible: { is_day() }
	copyright line b:
		left: 30
		top : 493
		width: {if is_night() then 247 else 0 }
		height: 12
		z index: 1
		font:
			name: MPlantin
			size: 6.5
			color: { font_color(card.card_color_2) }
		visible: { is_night() }