diff --git a/data/magic.mse-game/keywords_en b/data/magic.mse-game/keywords_en index 38bc6a200..a33c509f0 100644 --- a/data/magic.mse-game/keywords_en +++ b/data/magic.mse-game/keywords_en @@ -1247,7 +1247,7 @@ keyword: keyword: Explore match: explores mode: action - reminder: {handle_action_rt(to:"explore", "Reveal")} the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on {this_or_that("creature")}, then put the card back or put it into your graveyard. + reminder: {handle_action_rt(to:"explore", "Reveal")} the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on face_if_ruletext_flipthis_explores_then_that creature_else_{this_or_that("creature")}_end, then put the card back or put it into your graveyard. #Unstable keyword: keyword: Assemble a Contraption @@ -1577,17 +1577,17 @@ keyword: keyword: Connive match: connive mode: action - reminder: {handle_action_rt(to:"have a creature connive", "Draw")} a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on that creature. + reminder: To have a creature connive, draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on that creature. keyword: keyword: Connives match: connives mode: action - reminder: {handle_action_rt(to:"have a creature connive", "Draw")} a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on {this_or_that("creature")}. + reminder: {handle_action_rt(to:"have a creature connive", "Draw")} a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on face_if_ruletext_flipthis_connives_then_that creature_else_{this_or_that("creature")}_end. keyword: keyword: Connives N match: connives number mode: action - reminder: {handle_action_rt(to:"have a creature connive", "Draw")} {english_number_a(param1)} card(s), then discard {english_number_a(param1)} card(s). Put a +1/+1 counter on {this_or_that("creature")} for each nonland card discarded this way. + reminder: {handle_action_rt(to:"have a creature connive", "Draw")} {english_number_a(param1)} card(s), then discard {english_number_a(param1)} card(s). Put a +1/+1 counter on face_if_ruletext_flipthis_connives_then_that creature_else_{this_or_that("creature")}_end for each nonland card discarded this way. keyword: keyword: Blitz match: Blitz cost diff --git a/data/magic.mse-game/script b/data/magic.mse-game/script index a769fbda4..15dc67c8f 100644 --- a/data/magic.mse-game/script +++ b/data/magic.mse-game/script @@ -1999,11 +1999,10 @@ flavor_text_filter := card_face := { front := card[input] back := if card[input+"_2"] or else "" != "" then card[input+"_2"] else card[input] - if match(margin_code, match:"(text[2456]|lv[5678])") then back else front + if match(margin_code, match:"(text[2456]|lv9|lv1[0-6])") then back else front } face_code := { - face := "" - if margin_code == "text2" or margin_code == "lv5" or margin_code == "lv6" or margin_code == "lv7" or margin_code == "lv8" then face := "_2" + face := if match_text(margin_code, match:"(text[2456]|lv9|lv1[0-6])") then "_2" else "" output := face_scripts[input](face) or else if_parse(input, face:face) or else input output } @@ -2023,6 +2022,16 @@ face_scripts := [ contains(card[field+face], match:query) }, notcontains: {not contains(card[field+face], match:query)}, + flipthis: { + # always send back That/that + # send back This/this if (it|he|she|they|CARDNAME) keywords + # else flip to That/that + if t == f + then false + else if match_text(card[field+face], match:"(\\bit|\\b[Hh]e|\\b[Ss]he|\\b[Tt]hey|.*?) ]+>"+query) + then false + else true + }, name: {card["name"+face]}, cost: {card["casting_cost"+face]}, altname: {card["name"+flip_face(face)]}, @@ -2034,7 +2043,8 @@ face_scripts := [ expand_facecodes := [ subtype: "sub_type", castingcost: "casting_cost", - manacost: "casting_cost" + manacost: "casting_cost", + ruletext: "rule_text" ] if_parse := replace@( match: "if_(.*)_then_(.*)_else_(.*)", @@ -2051,7 +2061,7 @@ if_scripts := { query := contCheck[2] ) field := expand_facecodes[field] or else field - if face_scripts[func](face, field:field, query:query) or else false then t else f + if face_scripts[func](face, field:field, query:query, t:t, f:f) or else false then t else f } ############################################################## Level Margins #### these will be determined by the style affecting the margins and otherwise be 0