From 7c8a00561a309859c4c43180af8991d9db806061 Mon Sep 17 00:00:00 2001 From: Josh Birnholz Date: Sun, 27 Nov 2022 20:26:49 -0500 Subject: [PATCH] Make ability and flavor words italic when importing cards from scryfall --- js/creator-23.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/js/creator-23.js b/js/creator-23.js index 090baebc..29a43b5b 100644 --- a/js/creator-23.js +++ b/js/creator-23.js @@ -2593,7 +2593,12 @@ function changeCardIndex() { if (card.text.mana) {card.text.mana.text = cardToImport.mana_cost || '';} if (card.text.type) {card.text.type.text = langFontCode + cardToImport.type_line || '';} if (card.text.rules) { - var rulesText = curlyQuotes((cardToImport.oracle_text || '').replace('(', '{i}(').replace(')', '){/i}')).replace(/{Q}/g, '{untap}').replace(/{\u221E}/g, "{inf}").replace(/• /g, '• {indent}'); + var italicExemptions = ['Boast', 'Cycling', 'Visit', 'Prize', 'I', 'II', 'III', 'IV', 'I, II', 'II, III', 'III, IV', 'I, II, III', 'II, III, IV', 'I, II, III, IV', '• Khans', '• Dragons', '• Mirran', '• Phyrexian']; + var rulesText = (cardToImport.oracle_text || '').replace(/(?:\((?:.*?)\)|[^"\n]+(?= — ))/g, function(a){ + if (italicExemptions.includes(a)) {return a;} + return '{i}' + a + '{/i}'; + }); + rulesText = curlyQuotes(rulesText).replace(/{Q}/g, '{untap}').replace(/{\u221E}/g, "{inf}").replace(/• /g, '• {indent}'); card.text.rules.text = langFontCode + rulesText; if (cardToImport.flavor_text) { var flavorText = cardToImport.flavor_text;