Initial commit
This commit is contained in:
200
data/magic-planesculptors.mse-export-template/export-template
Normal file
200
data/magic-planesculptors.mse-export-template/export-template
Normal file
@@ -0,0 +1,200 @@
|
||||
mse version: 0.3.8
|
||||
short name: PlaneSculptors
|
||||
full name: PlaneSculptors Export 1.4
|
||||
position hint: 006
|
||||
version: 2018-06-24
|
||||
installer group: magic/Export/planesculptors
|
||||
create directory: true
|
||||
|
||||
depends on:
|
||||
package: magic.mse-game
|
||||
version: 2020-04-01
|
||||
|
||||
game: magic
|
||||
file type: *.txt|*.txt|*.*|*.*
|
||||
|
||||
# By caeonosphere
|
||||
# Written by modifying thequinn's IsochronDrafter exporter ()
|
||||
# Namecheck by cajun
|
||||
option field:
|
||||
type: choice
|
||||
name: export images
|
||||
choice: no
|
||||
choice: .jpg
|
||||
choice: .png
|
||||
choice: .full.jpg
|
||||
choice: .full.png
|
||||
description: Export images
|
||||
script:
|
||||
symbol_font := "magic-mana-small"
|
||||
symbol_font_size := 12
|
||||
escape_linebreaks := replace@(match: "\n", replace: "///br///")
|
||||
remove_linebreaks := replace@(match: "\n", replace: "")
|
||||
remove_brackets := replace@(match: "]", replace: "", in_context: "\\[(\\+|-)?[0-9]+<match>: ")+
|
||||
replace@(match: "\\[", replace: "", in_context: "<match>(\\+|-)?[0-9]+: ")
|
||||
exporter_name_filter := filter_text@(match:"!exporte?r?name [^\n]+")
|
||||
exporter_name_grabber := replace@(match:"!exporte?r?name ", replace:"")
|
||||
card_name := { replace(if exporter_name_grabber(exporter_name_filter(card.notes)) != "" then exporter_name_grabber(exporter_name_filter(card.notes)) else card.name, match:" $", replace:"") }
|
||||
compare_card_name := { if exporter_name_grabber(exporter_name_filter(input.notes)) != "" then exporter_name_grabber(exporter_name_filter(input.notes)) else input.name }
|
||||
determine_shape := {
|
||||
if (contains(card.shape, match:"normal") or contains(card.shape, match:"planeswalker") or card.loyalty_2 != "") and card.name_2 != "" then "double"
|
||||
else if contains(card.shape, match:"double") then "double"
|
||||
else if contains(card.shape, match:"plane card") then "plane"
|
||||
else if contains(card.shape, match:"leveler") then "normal"
|
||||
else if contains(card.shape, match:"saga") then "normal"
|
||||
else if contains(card.shape, match:"adventure") then "vsplit"
|
||||
else if contains(card.shape, match:"aftermath") then "vsplit"
|
||||
else if contains(card.shape, match:"planeswalker") then "normal"
|
||||
else if contains(card.shape, match:"shifted") then "normal"
|
||||
else replace(card.shape, match:" faced", replace:"")
|
||||
}
|
||||
paragraph_count := replace@(match:"\n", replace:"<22>")+
|
||||
filter_text@(match:"<22>")
|
||||
|
||||
write_leveler := {
|
||||
#Check for Mainframe special text first
|
||||
(if card.special_text or else "" != "" then remove_brackets(card.special_text) else
|
||||
card.rule_text
|
||||
+"\nLEVEL "+card.level_1+" | "
|
||||
+(if card.pt_2 !="" then card.pt_2+" | ")
|
||||
+card.rule_text_2
|
||||
+"\n"+(if card.level_2 !="" then "LEVEL "+card.level_2+" | ")
|
||||
+(if card.pt_3 !="" then card.pt_3+" | ")
|
||||
+card.rule_text_3)
|
||||
}
|
||||
write_plane := {
|
||||
card.rule_text
|
||||
+ (if card.rule_text_2 != "" then "\n" + card.rule_text_2)
|
||||
}
|
||||
|
||||
write_walker := {
|
||||
#Check for Mainframe special text first
|
||||
(if card.special_text or else "" != "" then remove_brackets(card.special_text) else
|
||||
# The First Ability
|
||||
card.loyalty_cost_1
|
||||
+(if card.loyalty_cost_1 !="" then ": ")
|
||||
+split_text(match:"\n", card.rule_text).0
|
||||
# The Second Ability
|
||||
+(if contains(paragraph_count(card.rule_text), match:"<22>") then "\n")
|
||||
+card.loyalty_cost_2
|
||||
+(if card.loyalty_cost_2 !="" then ": ")
|
||||
+(if contains(paragraph_count(card.rule_text), match:"<22>") then split_text(match:"\n", card.rule_text).1)
|
||||
# The Third Ability
|
||||
+(if contains(paragraph_count(card.rule_text), match:"<22><>") then "\n")
|
||||
+card.loyalty_cost_3
|
||||
+(if card.loyalty_cost_3 !="" then ": ")
|
||||
+(if contains(paragraph_count(card.rule_text), match:"<22><>") then split_text(match:"\n", card.rule_text).2)
|
||||
# The Fourth Ability
|
||||
+(if contains(paragraph_count(card.rule_text), match:"<22><><EFBFBD>") then "\n")
|
||||
+(if card.loyalty_2 == "" then card.loyalty_cost_4)
|
||||
+(if card.loyalty_cost_4 !="" and card.loyalty_2 == "" then ": ")
|
||||
+(if contains(paragraph_count(card.rule_text), match:"<22><><EFBFBD>") then split_text(match:"\n", card.rule_text).3))
|
||||
+"\n"
|
||||
+"Starting loyalty: "+card.loyalty
|
||||
}
|
||||
|
||||
write_walker_2 := {
|
||||
#Check for Mainframe special text first
|
||||
(if card.special_text_2 or else "" != "" then remove_brackets(card.special_text_2) else
|
||||
# The First Ability
|
||||
card.loyalty_cost_4
|
||||
+(if card.loyalty_cost_4 !="" then ": ")
|
||||
+split_text(match:"\n", card.rule_text_2).0
|
||||
# The Second Ability
|
||||
+(if contains(paragraph_count(card.rule_text), match:"<22>") then "\n")
|
||||
+card.loyalty_cost_5
|
||||
+(if card.loyalty_cost_5 !="" then ": ")
|
||||
+(if contains(paragraph_count(card.rule_text_2), match:"<22>") then split_text(match:"\n", card.rule_text_2).1)
|
||||
# The Third Ability
|
||||
+(if contains(paragraph_count(card.rule_text), match:"<22><>") then "\n")
|
||||
+card.loyalty_cost_6
|
||||
+(if card.loyalty_cost_6 !="" then ": ")
|
||||
+(if contains(paragraph_count(card.rule_text_2), match:"<22><>") then split_text(match:"\n", card.rule_text_2).2)
|
||||
# The Fourth Ability
|
||||
+(if contains(paragraph_count(card.rule_text), match:"<22><><EFBFBD>") then "\n")
|
||||
+card.loyalty_cost_7
|
||||
+(if card.loyalty_cost_7 !="" then ": ")
|
||||
+(if contains(paragraph_count(card.rule_text_2), match:"<22><><EFBFBD>") then split_text(match:"\n", card.rule_text_2).3))
|
||||
+(if card.loyalty_2 != "" then "\n"+"Starting loyalty: "+card.loyalty_2)
|
||||
}
|
||||
|
||||
write_sparker := {
|
||||
#Check for Mainframe special text first
|
||||
(if card.special_text_2 or else "" != "" then remove_brackets(card.special_text_2) else
|
||||
# The First Ability
|
||||
card.loyalty_cost_5
|
||||
+(if card.loyalty_cost_5 !="" then ": ")
|
||||
+split_text(match:"\n", card.rule_text_2).0
|
||||
# The Second Ability
|
||||
+(if contains(paragraph_count(card.rule_text_2), match:"<22>") then "\n")
|
||||
+card.loyalty_cost_6
|
||||
+(if card.loyalty_cost_6 !="" then ": ")
|
||||
+(if contains(paragraph_count(card.rule_text_2), match:"<22>") then split_text(match:"\n", card.rule_text_2).1)
|
||||
# The Third Ability
|
||||
+(if contains(paragraph_count(card.rule_text_2), match:"<22><>") then "\n")
|
||||
+card.loyalty_cost_7
|
||||
+(if card.loyalty_cost_7 !="" then ": ")
|
||||
+(if contains(paragraph_count(card.rule_text_2), match:"<22><>") then split_text(match:"\n", card.rule_text_2).2)
|
||||
# The Fourth Ability
|
||||
+(if contains(paragraph_count(card.rule_text_2), match:"<22><><EFBFBD>") then "\n")
|
||||
+card.loyalty_cost_8
|
||||
+(if card.loyalty_cost_8 !="" then ": ")
|
||||
+(if contains(paragraph_count(card.rule_text_2), match:"<22><><EFBFBD>") then split_text(match:"\n", card.rule_text_2).3))
|
||||
+(if card.loyalty_2 != "" then "\n"+"Starting loyalty: "+card.loyalty_2)
|
||||
}
|
||||
|
||||
write_rules := {
|
||||
if card.loyalty != "" then escape_linebreaks(to_html(write_walker()))
|
||||
else if contains(card.shape, match:"leveler") then escape_linebreaks(to_html(write_leveler()))
|
||||
else if contains(card.shape, match:"saga") then escape_linebreaks(to_html(card.special_text))
|
||||
else if contains(card.shape, match:"plane card") then escape_linebreaks(to_html(write_plane()))
|
||||
else if card.special_text != "" then escape_linebreaks(to_html(card.special_text))
|
||||
else escape_linebreaks(to_html(card.rule_text))
|
||||
}
|
||||
|
||||
write_rules_2 := {
|
||||
if contains(card.shape, match:"planeswalker") and card.power != "" then escape_linebreaks(to_html(write_sparker()))
|
||||
else if card.loyalty != "" or card.loyalty_2 != "" then escape_linebreaks(to_html(write_walker_2()))
|
||||
else if card.special_text_2 != "" then escape_linebreaks(to_html(card.special_text_2))
|
||||
else escape_linebreaks(to_html(card.rule_text_2))
|
||||
}
|
||||
|
||||
write_card := {
|
||||
"\n"+determine_shape()
|
||||
+"\n"+card.card_number
|
||||
+"\n"+remove_linebreaks(cmc(card.casting_cost))
|
||||
+"\n"+(if card.rarity == "masterpiece" then "special" else card.rarity)
|
||||
|
||||
+"\n"+remove_linebreaks(card_name())
|
||||
+"\n"+card.card_color
|
||||
+"\n"+symbols_to_html(card.casting_cost)
|
||||
+"\n"+remove_linebreaks(to_text(card.type))
|
||||
+"\n"+remove_linebreaks(to_text(card.power))
|
||||
+"\n"+remove_linebreaks(to_text(card.toughness))
|
||||
+"\n"+write_rules()
|
||||
+"\n"+escape_linebreaks(to_html(card.flavor_text))
|
||||
+"\n"+to_html(remove_linebreaks(card.illustrator))
|
||||
|
||||
+"\n"+remove_linebreaks(card.name_2)
|
||||
+"\n"+card.card_color_2
|
||||
+"\n"+symbols_to_html(card.casting_cost_2)
|
||||
+"\n"+remove_linebreaks(to_text(card.type_2))
|
||||
+"\n"+remove_linebreaks(to_text(card.power_2))
|
||||
+"\n"+remove_linebreaks(to_text(card.toughness_2))
|
||||
+"\n"+write_rules_2()
|
||||
+"\n"+escape_linebreaks(to_html(card.flavor_text_2))
|
||||
+"\n"+to_html(remove_linebreaks(card.illustrator_2))
|
||||
+"\n==========="
|
||||
}
|
||||
##run the name check
|
||||
check_unique := { count := 0
|
||||
for x from 0 to length(input)-1 do if compare_card_name(input[x]) == name then count := count + 1
|
||||
count
|
||||
}
|
||||
write_images := if options.export_images == "no" then "" else for each card in cards do write_image_file(card, file:card_name()+options.export_images)
|
||||
for each card in cards do if check_unique(cards, name:card_name()) > 1 then trace("Warning: Repeated name: " + card.name)
|
||||
write_cards := for each card in cards do write_card()
|
||||
to_string(
|
||||
set.title+"\n"
|
||||
+"1.0\n"
|
||||
+write_cards)
|
||||
Reference in New Issue
Block a user