diff --git a/.gitignore b/.gitignore index cacf116f..b7f469d0 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,3 @@ access.log error.log fly.toml - -img/frames/crystal/* -js/frames/packCrystal.js \ No newline at end of file diff --git a/img/frames/crystal/a.png b/img/frames/crystal/a.png new file mode 100644 index 00000000..094731e1 Binary files /dev/null and b/img/frames/crystal/a.png differ diff --git a/img/frames/crystal/aThumb.png b/img/frames/crystal/aThumb.png new file mode 100644 index 00000000..caaa4fc0 Binary files /dev/null and b/img/frames/crystal/aThumb.png differ diff --git a/img/frames/crystal/b.png b/img/frames/crystal/b.png new file mode 100644 index 00000000..ccd3ef45 Binary files /dev/null and b/img/frames/crystal/b.png differ diff --git a/img/frames/crystal/bThumb.png b/img/frames/crystal/bThumb.png new file mode 100644 index 00000000..1bcb3fae Binary files /dev/null and b/img/frames/crystal/bThumb.png differ diff --git a/img/frames/crystal/border.png b/img/frames/crystal/border.png new file mode 100644 index 00000000..70b13514 Binary files /dev/null and b/img/frames/crystal/border.png differ diff --git a/img/frames/crystal/borderThumb.png b/img/frames/crystal/borderThumb.png new file mode 100644 index 00000000..9e5c76be Binary files /dev/null and b/img/frames/crystal/borderThumb.png differ diff --git a/img/frames/crystal/g.png b/img/frames/crystal/g.png new file mode 100644 index 00000000..61e73505 Binary files /dev/null and b/img/frames/crystal/g.png differ diff --git a/img/frames/crystal/gThumb.png b/img/frames/crystal/gThumb.png new file mode 100644 index 00000000..5f6a8d48 Binary files /dev/null and b/img/frames/crystal/gThumb.png differ diff --git a/img/frames/crystal/m.png b/img/frames/crystal/m.png new file mode 100644 index 00000000..3ac425fc Binary files /dev/null and b/img/frames/crystal/m.png differ diff --git a/img/frames/crystal/mThumb.png b/img/frames/crystal/mThumb.png new file mode 100644 index 00000000..212e00bd Binary files /dev/null and b/img/frames/crystal/mThumb.png differ diff --git a/img/frames/crystal/pinline.png b/img/frames/crystal/pinline.png new file mode 100644 index 00000000..e3265ad9 Binary files /dev/null and b/img/frames/crystal/pinline.png differ diff --git a/img/frames/crystal/pinlineThumb.png b/img/frames/crystal/pinlineThumb.png new file mode 100644 index 00000000..8b4ed422 Binary files /dev/null and b/img/frames/crystal/pinlineThumb.png differ diff --git a/img/frames/crystal/pt/a.png b/img/frames/crystal/pt/a.png new file mode 100644 index 00000000..70b4d24b Binary files /dev/null and b/img/frames/crystal/pt/a.png differ diff --git a/img/frames/crystal/pt/aThumb.png b/img/frames/crystal/pt/aThumb.png new file mode 100644 index 00000000..f8b680ab Binary files /dev/null and b/img/frames/crystal/pt/aThumb.png differ diff --git a/img/frames/crystal/pt/b.png b/img/frames/crystal/pt/b.png new file mode 100644 index 00000000..7014f465 Binary files /dev/null and b/img/frames/crystal/pt/b.png differ diff --git a/img/frames/crystal/pt/bThumb.png b/img/frames/crystal/pt/bThumb.png new file mode 100644 index 00000000..cc2e8c86 Binary files /dev/null and b/img/frames/crystal/pt/bThumb.png differ diff --git a/img/frames/crystal/pt/c.png b/img/frames/crystal/pt/c.png new file mode 100644 index 00000000..c3e84adb Binary files /dev/null and b/img/frames/crystal/pt/c.png differ diff --git a/img/frames/crystal/pt/cThumb.png b/img/frames/crystal/pt/cThumb.png new file mode 100644 index 00000000..86378306 Binary files /dev/null and b/img/frames/crystal/pt/cThumb.png differ diff --git a/img/frames/crystal/pt/g.png b/img/frames/crystal/pt/g.png new file mode 100644 index 00000000..3a9d9043 Binary files /dev/null and b/img/frames/crystal/pt/g.png differ diff --git a/img/frames/crystal/pt/gThumb.png b/img/frames/crystal/pt/gThumb.png new file mode 100644 index 00000000..529bcd41 Binary files /dev/null and b/img/frames/crystal/pt/gThumb.png differ diff --git a/img/frames/crystal/pt/m.png b/img/frames/crystal/pt/m.png new file mode 100644 index 00000000..373e6136 Binary files /dev/null and b/img/frames/crystal/pt/m.png differ diff --git a/img/frames/crystal/pt/mThumb.png b/img/frames/crystal/pt/mThumb.png new file mode 100644 index 00000000..a407c8cf Binary files /dev/null and b/img/frames/crystal/pt/mThumb.png differ diff --git a/img/frames/crystal/pt/r.png b/img/frames/crystal/pt/r.png new file mode 100644 index 00000000..772b630f Binary files /dev/null and b/img/frames/crystal/pt/r.png differ diff --git a/img/frames/crystal/pt/rThumb.png b/img/frames/crystal/pt/rThumb.png new file mode 100644 index 00000000..ea5ee705 Binary files /dev/null and b/img/frames/crystal/pt/rThumb.png differ diff --git a/img/frames/crystal/pt/u.png b/img/frames/crystal/pt/u.png new file mode 100644 index 00000000..2361bceb Binary files /dev/null and b/img/frames/crystal/pt/u.png differ diff --git a/img/frames/crystal/pt/uThumb.png b/img/frames/crystal/pt/uThumb.png new file mode 100644 index 00000000..9039bb3d Binary files /dev/null and b/img/frames/crystal/pt/uThumb.png differ diff --git a/img/frames/crystal/pt/w.png b/img/frames/crystal/pt/w.png new file mode 100644 index 00000000..80e10cba Binary files /dev/null and b/img/frames/crystal/pt/w.png differ diff --git a/img/frames/crystal/pt/wThumb.png b/img/frames/crystal/pt/wThumb.png new file mode 100644 index 00000000..1b718c56 Binary files /dev/null and b/img/frames/crystal/pt/wThumb.png differ diff --git a/img/frames/crystal/r.png b/img/frames/crystal/r.png new file mode 100644 index 00000000..46df2422 Binary files /dev/null and b/img/frames/crystal/r.png differ diff --git a/img/frames/crystal/rThumb.png b/img/frames/crystal/rThumb.png new file mode 100644 index 00000000..9be8fd58 Binary files /dev/null and b/img/frames/crystal/rThumb.png differ diff --git a/img/frames/crystal/rules.png b/img/frames/crystal/rules.png new file mode 100644 index 00000000..04d51f94 Binary files /dev/null and b/img/frames/crystal/rules.png differ diff --git a/img/frames/crystal/rulesThumb.png b/img/frames/crystal/rulesThumb.png new file mode 100644 index 00000000..b0d2803c Binary files /dev/null and b/img/frames/crystal/rulesThumb.png differ diff --git a/img/frames/crystal/title.png b/img/frames/crystal/title.png new file mode 100644 index 00000000..0b410815 Binary files /dev/null and b/img/frames/crystal/title.png differ diff --git a/img/frames/crystal/titleThumb.png b/img/frames/crystal/titleThumb.png new file mode 100644 index 00000000..a5314b7b Binary files /dev/null and b/img/frames/crystal/titleThumb.png differ diff --git a/img/frames/crystal/type.png b/img/frames/crystal/type.png new file mode 100644 index 00000000..190bf591 Binary files /dev/null and b/img/frames/crystal/type.png differ diff --git a/img/frames/crystal/typeThumb.png b/img/frames/crystal/typeThumb.png new file mode 100644 index 00000000..bd220e0a Binary files /dev/null and b/img/frames/crystal/typeThumb.png differ diff --git a/img/frames/crystal/u.png b/img/frames/crystal/u.png new file mode 100644 index 00000000..08fc22d0 Binary files /dev/null and b/img/frames/crystal/u.png differ diff --git a/img/frames/crystal/uThumb.png b/img/frames/crystal/uThumb.png new file mode 100644 index 00000000..68604df3 Binary files /dev/null and b/img/frames/crystal/uThumb.png differ diff --git a/img/frames/crystal/w.png b/img/frames/crystal/w.png new file mode 100644 index 00000000..7d9adddd Binary files /dev/null and b/img/frames/crystal/w.png differ diff --git a/img/frames/crystal/wThumb.png b/img/frames/crystal/wThumb.png new file mode 100644 index 00000000..6b127501 Binary files /dev/null and b/img/frames/crystal/wThumb.png differ diff --git a/js/creator-23.js b/js/creator-23.js index 6dcb178e..f0a5544f 100644 --- a/js/creator-23.js +++ b/js/creator-23.js @@ -3528,6 +3528,7 @@ function changeCardIndex() { return '{i}' + a + '{/i}'; }); rulesText = curlyQuotes(rulesText).replace(/{Q}/g, '{untap}').replace(/{\u221E}/g, "{inf}").replace(/• /g, '• {indent}'); + rulesText = rulesText.replace('(If this card is your chosen companion, you may put it into your hand from outside the game for {3} any time you could cast a sorcery.)', '(If this card is your chosen companion, you may put it into your hand from outside the game for {3} as a sorcery.)') card.text.rules.text = langFontCode + rulesText; if (cardToImport.flavor_text) { var flavorText = cardToImport.flavor_text; diff --git a/js/frameSearch.js b/js/frameSearch.js index a31486c4..1c8e3071 100644 --- a/js/frameSearch.js +++ b/js/frameSearch.js @@ -28,6 +28,7 @@ const frameNames = new Map ([ ['Colorshifted (Planar Chaos)', 'Colorshifted'], ['Brawl Legend Crowns', 'Brawl'], //showcase + ['Ikoria Crystal (MOM)', 'Crystal'], ['Ravnica Architecture (MOM)', 'Ravnica'], ['Oil Slick (ONE)', 'OilSlick'], ['Stained Glass (DMU)', 'DMUStainedGlass'], diff --git a/js/frames/groupShowcase-5.js b/js/frames/groupShowcase-5.js index 0eb95cb1..562b6e22 100644 --- a/js/frames/groupShowcase-5.js +++ b/js/frames/groupShowcase-5.js @@ -1,5 +1,6 @@ loadFramePacks([ {name:'Set Showcase Frames (Chronological)', value:'disabled'}, + {name:'Ikoria Crystal (MOM)', value:'Crystal'}, {name:'Ravnica Architecture (MOM)', value:'Ravnica'}, {name:'Oil Slick (ONE)', value:'OilSlick'}, {name:'Stained Glass (DMU)', value:'DMUStainedGlass'}, diff --git a/js/frames/packCrystal.js b/js/frames/packCrystal.js new file mode 100644 index 00000000..e1eb7ee1 --- /dev/null +++ b/js/frames/packCrystal.js @@ -0,0 +1,50 @@ +//Create objects for common properties across available frames +var masks = [{src:'/img/frames/crystal/pinline.png', name:'Pinline'}, {src:'/img/frames/crystal/title.png', name:'Title'}, {src:'/img/frames/crystal/type.png', name:'Type'}, {src:'/img/frames/crystal/rules.png', name:'Rules'}, {src:'/img/frames/crystal/border.png', name:'Border'}]; +var bounds = {x:1157/1500, y:1847/2100, width:294/1500, height:170/2100}; +//defines available frames +availableFrames = [ + {name:'White Frame', src:'/img/frames/crystal/w.png', masks:masks}, + {name:'Blue Frame', src:'/img/frames/crystal/u.png', masks:masks}, + {name:'Black Frame', src:'/img/frames/crystal/b.png', masks:masks}, + {name:'Red Frame', src:'/img/frames/crystal/r.png', masks:masks}, + {name:'Green Frame', src:'/img/frames/crystal/g.png', masks:masks}, + {name:'Multicolored Frame', src:'/img/frames/crystal/m.png', masks:masks}, + {name:'Artifact Frame', src:'/img/frames/crystal/a.png', masks:masks}, + + {name:'White Power/Toughness', src:'/img/frames/crystal/pt/w.png', bounds:bounds}, + {name:'Blue Power/Toughness', src:'/img/frames/crystal/pt/u.png', bounds:bounds}, + {name:'Black Power/Toughness', src:'/img/frames/crystal/pt/b.png', bounds:bounds}, + {name:'Red Power/Toughness', src:'/img/frames/crystal/pt/r.png', bounds:bounds}, + {name:'Green Power/Toughness', src:'/img/frames/crystal/pt/g.png', bounds:bounds}, + {name:'Multicolored Power/Toughness', src:'/img/frames/crystal/pt/m.png', bounds:bounds}, + {name:'Artifact Power/Toughness', src:'/img/frames/crystal/pt/a.png', bounds:bounds}, + {name:'Colorless Power/Toughness', src:'/img/frames/crystal/pt/c.png', bounds:bounds} +]; +//disables/enables the "Load Frame Version" button +document.querySelector('#loadFrameVersion').disabled = false; +//defines process for loading this version, if applicable +document.querySelector('#loadFrameVersion').onclick = async function() { + //resets things so that every frame doesn't have to + await resetCardIrregularities(); + //sets card version + card.version = 'crystal'; + //art bounds + card.artBounds = {x:0, y:0, width:1, height:0.9224}; + autoFitArt(); + //set symbol bounds + card.setSymbolBounds = {x:0.9213, y:0.5910, width:0.12, height:0.0410, vertical:'center', horizontal: 'right'}; + resetSetSymbol(); + //watermark bounds + card.watermarkBounds = {x:0.5, y:0.7762, width:0.75, height:0.2305}; + resetWatermark(); + //text + loadTextOptions({ + mana: {name:'Mana Cost', text:'', y:0.0613, width:0.9292, height:71/2100, oneLine:true, size:71/1638, align:'right', shadowX:-0.001, shadowY:0.0029, manaCost:true, manaSpacing:0}, + title: {name:'Title', text:'', x:0.0854, y:0.0522, width:0.8292, height:0.0543, oneLine:true, font:'belerenb', size:0.0381, color:'white'}, + type: {name:'Type', text:'', x:0.0854, y:0.5664, width:0.8292, height:0.0543, oneLine:true, font:'belerenb', size:0.0324, color:'white'}, + rules: {name:'Rules Text', text:'', x:142/1500, y:1342/2100, width:1207/1500, height:573/2100, size:0.0362, color:'white'}, + pt: {name:'Power/Toughness', text:'', x:1195/1500, y:1904/2100, width:218/1500, height:89/2100, size:0.0372, font:'belerenbsc', oneLine:true, align:'center', color:'white'} + }); +} +//loads available frames +loadFramePack(); \ No newline at end of file