Prepare for more colors

This commit is contained in:
Sebastian Lundegård Kylander
2026-03-29 20:38:24 +02:00
parent f0811fe783
commit c3e31a3c00
3 changed files with 68 additions and 19 deletions

View File

@@ -823,7 +823,8 @@ blend_colors := {
+ (if chosen(choice:"blue" ) then "u") + (if chosen(choice:"blue" ) then "u")
+ (if chosen(choice:"black" ) then "b") + (if chosen(choice:"black" ) then "b")
+ (if chosen(choice:"red" ) then "r") + (if chosen(choice:"red" ) then "r")
+ (if chosen(choice:"green" ) then "g")) + (if chosen(choice:"green" ) then "g")
)
if multi and (hybrid or colors == "") then ( if multi and (hybrid or colors == "") then (
colors := colors + "m" colors := colors + "m"
) )
@@ -1108,8 +1109,8 @@ font_white := {
+ (if chosen(choice:"blue" ) then "u") + (if chosen(choice:"blue" ) then "u")
+ (if chosen(choice:"black" ) then "b") + (if chosen(choice:"black" ) then "b")
+ (if chosen(choice:"red" ) then "r") + (if chosen(choice:"red" ) then "r")
+ (if chosen(choice:"green" ) then "g")) + (if chosen(choice:"green" ) then "g")
+ (if artifact then "a") ) + (if artifact then "a")
font_colors_white( font_colors_white(
if chosen(choice:"land") then "l" if chosen(choice:"land") then "l"
else if input == "artifact, multicolor" then "a" else if input == "artifact, multicolor" then "a"

View File

@@ -1054,12 +1054,11 @@ remove_type := replace@(match: "(Artifact|Creature|Enchantment|Instant|Land|Plan
replace@(match: "[ ]+", in_context: "^<match>", replace: "")+ replace@(match: "[ ]+", in_context: "^<match>", replace: "")+
replace@(match: "[ ]+", in_context: "<match>$", replace: "") replace@(match: "[ ]+", in_context: "<match>$", replace: "")
write_wubrg := { write_wubrg := {(if match(input, match:"white") then "W" else "")
(if match(input, match:"white") then "W" else "")+ + (if match(input, match:"blue") then "U" else "")
(if match(input, match:"blue") then "U" else "")+ + (if match(input, match:"black") then "B" else "")
(if match(input, match:"black") then "B" else "")+ + (if match(input, match:"red") then "R" else "")
(if match(input, match:"red") then "R" else "")+ + (if match(input, match:"green") then "G" else "")
(if match(input, match:"green") then "G" else "")
} }
colored_mana := {to_number( colored_mana := {to_number(
for each sym in cmc_split(to_text()) do ( for each sym in cmc_split(to_text()) do (
@@ -1079,7 +1078,13 @@ generic_mana := {to_number(
} }
primary_card_color := { primary_card_color := {
artifact := chosen(choice:"artifact") and not (chosen(choice:"white") or chosen(choice:"blue") or chosen(choice:"black") or chosen(choice:"red") or chosen(choice:"green")) artifact := chosen(choice:"artifact")
and not ( chosen(choice:"white")
or chosen(choice:"blue")
or chosen(choice:"black")
or chosen(choice:"red")
or chosen(choice:"green")
)
land := chosen(choice:"land") land := chosen(choice:"land")
multi := chosen(choice:"multicolor") multi := chosen(choice:"multicolor")
hybrid := chosen(choice:"hybrid") hybrid := chosen(choice:"hybrid")
@@ -1102,7 +1107,13 @@ primary_card_color := {
else input else input
} }
sparker_card_color := { sparker_card_color := {
artifact := chosen(choice:"artifact") and not (chosen(choice:"white") or chosen(choice:"blue") or chosen(choice:"black") or chosen(choice:"red") or chosen(choice:"green")) artifact := chosen(choice:"artifact")
and not ( chosen(choice:"white")
or chosen(choice:"blue")
or chosen(choice:"black")
or chosen(choice:"red")
or chosen(choice:"green")
)
land := chosen(choice:"land") land := chosen(choice:"land")
multi := chosen(choice:"multicolor") multi := chosen(choice:"multicolor")
hybrid := chosen(choice:"hybrid") hybrid := chosen(choice:"hybrid")
@@ -1137,11 +1148,11 @@ contains_target := match@(match:"(?i)([^a-z]|^)targets?([^a-z]|$)")
is_targeted := { contains_target(card.rule_text) } is_targeted := { contains_target(card.rule_text) }
#### convert color word to mana symbol #### convert color word to mana symbol
color_to_mana := replace@(match: "white", replace: "[W]")+ color_to_mana := replace@(match: "white", replace: "[W]")
replace@(match: "blue", replace: "[U]")+ + replace@(match: "blue", replace: "[U]")
replace@(match: "black", replace: "[B]")+ + replace@(match: "black", replace: "[B]")
replace@(match: "red", replace: "[R]")+ + replace@(match: "red", replace: "[R]")
replace@(match: "green", replace: "[G]") + replace@(match: "green", replace: "[G]")
#### convert number word to digit #### convert number word to digit
digital_number := { digital_number := {
@@ -5758,7 +5769,20 @@ apply_index := {
} }
color: {fill_len(color_of_card(), lead:"A")}, color: {fill_len(color_of_card(), lead:"A")},
"color category": { "color category": {
indexes := [[lang_setting("colorless")], [lang_setting("white")], [lang_setting("blue")], [lang_setting("black")], [lang_setting("red")], [lang_setting("green")], [lang_setting("purple")], [lang_setting("pink")], [lang_setting("yellow")], [lang_setting("orange")], [lang_setting("brown")], [lang_setting("multicolor")], [lang_setting("hybrid")]] indexes := [[lang_setting("colorless")]
,[lang_setting("white")]
,[lang_setting("blue")]
,[lang_setting("black")]
,[lang_setting("red")]
,[lang_setting("green")]
,[lang_setting("purple")]
,[lang_setting("pink")]
,[lang_setting("yellow")]
,[lang_setting("orange")]
,[lang_setting("brown")]
,[lang_setting("multicolor")]
,[lang_setting("hybrid")]
]
fill_len(position(of:[card.color_category], in:indexes, lead:"0", fill_to:2)) fill_len(position(of:[card.color_category], in:indexes, lead:"0", fill_to:2))
}, },
"exact color": { "exact color": {
@@ -5860,7 +5884,25 @@ skeleton_runner := {
(cards := cards + [new_card([name:prefix+letter_list[x]+fill_len(y, lead:"0"), rarity:rarity, super_type:super_type, casting_cost:mana_list[x]])];) (cards := cards + [new_card([name:prefix+letter_list[x]+fill_len(y, lead:"0"), rarity:rarity, super_type:super_type, casting_cost:mana_list[x]])];)
) )
cards cards
}@(count:1, rarity:"common", type:"", prefix:"C", super_type:"", color_list:["white", "blue", "black", "red", "green"], letter_list:["W", "U", "B", "R", "G"], mana_list:"nope") }@(count:1
,rarity:"common"
,type:""
,prefix:"C"
,super_type:""
,color_list:["white"
,"blue"
,"black"
,"red"
,"green"
]
,letter_list:["W"
,"U"
,"B"
,"R"
,"G"
]
,mana_list:"nope"
)
#### outside to make singleton scripts easier #### outside to make singleton scripts easier
blank_list_5 := ["","","","",""] blank_list_5 := ["","","","",""]
blank_list_10 := ["","","","","","","","","",""] blank_list_10 := ["","","","","","","","","",""]

View File

@@ -219,7 +219,13 @@ color_category_statistic :=
} }
face_color_category_statistic := face_color_category_statistic :=
{ {
artifact := chosen(choice:"artifact") and not (chosen(choice:"white") or chosen(choice:"blue") or chosen(choice:"black") or chosen(choice:"red") or chosen(choice:"green")) artifact := (chosen(choice:"artifact"))
and not ( chosen(choice:"white")
or chosen(choice:"blue")
or chosen(choice:"black")
or chosen(choice:"red")
or chosen(choice:"green")
)
land := chosen(choice:"land") land := chosen(choice:"land")
multi := chosen(choice:"multicolor") multi := chosen(choice:"multicolor")
hybrid := chosen(choice:"hybrid") hybrid := chosen(choice:"hybrid")