From 2b3eb8dc646289a26364338cfab8305641fd3067 Mon Sep 17 00:00:00 2001 From: Kyle <41976328+ImKyle4815@users.noreply.github.com> Date: Sun, 19 Apr 2020 10:58:49 -0700 Subject: [PATCH] UI updates --- data/images/black.png | Bin 0 -> 1671 bytes data/images/m15/m15LegendCrownBorderCover.png | Bin 12844 -> 0 bytes data/scripts/main.js | 28 ++- .../versions/{ => backup}/versionFuture.js | 0 .../versions/{ => backup}/versionInvention.js | 0 .../versions/{ => backup}/versionM15.js | 0 .../{ => backup}/versionM15FloatingCrowns.js | 0 .../{ => backup}/versionM15Nickname.js | 0 .../versions/{ => backup}/versionM15Nyx.js | 0 .../versionM15PromoFloatingCrowns.js | 0 .../{ => backup}/versionM15PromoNickname.js | 0 .../{ => backup}/versionPlaneswalker.js | 0 .../versions/{ => backup}/versionSeventh.js | 0 .../versions/{ => backup}/versionStorybook.js | 0 data/scripts/versions/future/regular.js | 27 +++ data/scripts/versions/future/version.js | 70 ++++++ data/scripts/versions/m15/floatingCrowns.js | 16 ++ data/scripts/versions/m15/invention.js | 9 + data/scripts/versions/m15/legendCrowns.js | 16 ++ data/scripts/versions/m15/nickname.js | 58 +++++ data/scripts/versions/m15/nyx.js | 21 ++ data/scripts/versions/m15/regular.js | 24 ++ data/scripts/versions/m15/version.js | 60 +++++ .../versions/m15Planeswalker/regular.js | 16 ++ .../versions/m15Planeswalker/version.js | 217 ++++++++++++++++++ .../versions/m15Promo/floatingCrowns.js | 15 ++ data/scripts/versions/m15Promo/regular.js | 47 ++++ data/scripts/versions/m15Promo/version.js | 43 ++++ data/scripts/versions/seventh/regular.js | 21 ++ data/scripts/versions/seventh/version.js | 52 +++++ data/scripts/versions/storybook/regular.js | 13 ++ data/scripts/versions/storybook/version.js | 62 +++++ index.html | 21 +- styles.css | 12 +- 34 files changed, 833 insertions(+), 15 deletions(-) create mode 100644 data/images/black.png delete mode 100644 data/images/m15/m15LegendCrownBorderCover.png rename data/scripts/versions/{ => backup}/versionFuture.js (100%) rename data/scripts/versions/{ => backup}/versionInvention.js (100%) rename data/scripts/versions/{ => backup}/versionM15.js (100%) rename data/scripts/versions/{ => backup}/versionM15FloatingCrowns.js (100%) rename data/scripts/versions/{ => backup}/versionM15Nickname.js (100%) rename data/scripts/versions/{ => backup}/versionM15Nyx.js (100%) rename data/scripts/versions/{ => backup}/versionM15PromoFloatingCrowns.js (100%) rename data/scripts/versions/{ => backup}/versionM15PromoNickname.js (100%) rename data/scripts/versions/{ => backup}/versionPlaneswalker.js (100%) rename data/scripts/versions/{ => backup}/versionSeventh.js (100%) rename data/scripts/versions/{ => backup}/versionStorybook.js (100%) create mode 100644 data/scripts/versions/future/regular.js create mode 100644 data/scripts/versions/future/version.js create mode 100644 data/scripts/versions/m15/floatingCrowns.js create mode 100644 data/scripts/versions/m15/invention.js create mode 100644 data/scripts/versions/m15/legendCrowns.js create mode 100644 data/scripts/versions/m15/nickname.js create mode 100644 data/scripts/versions/m15/nyx.js create mode 100644 data/scripts/versions/m15/regular.js create mode 100644 data/scripts/versions/m15/version.js create mode 100644 data/scripts/versions/m15Planeswalker/regular.js create mode 100644 data/scripts/versions/m15Planeswalker/version.js create mode 100644 data/scripts/versions/m15Promo/floatingCrowns.js create mode 100644 data/scripts/versions/m15Promo/regular.js create mode 100644 data/scripts/versions/m15Promo/version.js create mode 100644 data/scripts/versions/seventh/regular.js create mode 100644 data/scripts/versions/seventh/version.js create mode 100644 data/scripts/versions/storybook/regular.js create mode 100644 data/scripts/versions/storybook/version.js diff --git a/data/images/black.png b/data/images/black.png new file mode 100644 index 0000000000000000000000000000000000000000..0e2d0e5ad7781f2ee3e4c825a36948e849d3cf26 GIT binary patch literal 1671 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k90CHFg>gai6{w5ELSKf%1_J8NmVGR zEJ#&It;kGcV5qqDc6wmZ9R;4Y`qRX40(ZlZuZ__0ozl{7?~>?r$i2e#bqzzumSm_6a>Kd*`g* zssEpAx1D-K)VH@+<#OT+YgnsT;uurY(s*uZ6|oB0z1?!p`C)Ou=k}*-X1D&HRid_g zuX?kDuOPovq4=ZX{|xpm(V94_Pi92Q`y5=(VO?{Xzk6Xn#Uzy zY+O@wIrFBc{q^?&FOyx5gs1(Bn0RvPBk{k-GVI*!!^4C5CTOpBwVhVf^I(UgpXIVt zlf!EzZeQe@bzG`EAUoof*rT@TPCTaUs#zhK0rtPcpFfgx=edNx@a`bS*8suP|H}Isd+O&02;D z96LpiPH1pAqvADlk)gC;Ny&$mE9R(vWMf+5xO1VGpOR$3ob`E}8@75jpAPyTIe8g=CdgX!Nl zp1f(B-8p6*@AOMkIM(TKM~yKjW8RrX!Cp2eebY8>U=d6WSt;zd*pr7PSpAx#_-^%` z_lvj#zUS}!nEvFD%Xj?~t)1_fcgF9mby|D%@s6p?7yfW9)b#T>_?*4{-PFD3?t90- zIvlRPk9jW={5!vq?O%n)kMdXQ%?vHg%yf

NQi9f;Mg1pl0^MGT-g2N^#!vdFTJ$tM>aok9(d+)aA9G#6b69~npdx37vk_T-C4%cO6G?lYzHt?ouGJ^we`bmNYtj*(M8EJ&NN?Zb=@ zM^@$T*rWUAdQg_nkB}XQr*L!K-&JLDUSCiB^Pi`iBsuvTm&ZkTiWP3@*g9n;_vzD_ zS1)VddS82I`j1C5XJ&TlJ~|uGBB|PP$l@@M;F9T#Gn-3<7I=qEIr0AFQ~!-RJ7=9? z%buY#QKi+leT8<+*6-ki3KC*9z_UWuO1% z*wbGyQS*tuyu<(9FK#wn+r?ihT~HQzVUcygK2Bf$wyaf_C$-;ssyz70lJ$JSL#b8b zpKO2Mef~pE>Gh}3@D01!-xlr5`^a8mnEocm+wd2j$k3QL8X5G9j5SC92m@;awj^(N z7l!{JxM1({$v_d#0*}aI28I|n5M~sa;_L_%WH0gbb!C6TA}lDX@LXt-98ieY)5S4_ h<9c#JLc$Mz21XV}h9wWy0P_?BgQu&X%Q~loCIE~Q6FmR` literal 0 HcmV?d00001 diff --git a/data/images/m15/m15LegendCrownBorderCover.png b/data/images/m15/m15LegendCrownBorderCover.png deleted file mode 100644 index e51a19e4413919a497795a342da7f2de02da0e7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12844 zcmeAS@N?(olHy`uVBq!ia0y~yV7nD> zp{1Fbu92Q01B1rI(uwD_T>?dp+oyF%1iD2=>}i=gf3cdGnDTzEZo^aS&(1dAe`U|d zs`s9oLbnA^x$$G`1O0^6Yo;m%ZQ8U!&FqC`zS~)q;=Jec&i}nv?e~2i_dJiN%WFT$ zT`=AzDaWh1x%ji!Q{$&UGLHCfUln=m$rq27N#6?HXG-T=-Hlp${%^MF#vMx?Bd2~? zkTzr6hZ!G^tjgW7NB7P3pe&ysAv+FF;pV!(tIFiOzMlH$KTkJFa`HDWkBjgWE8Nnt zb;?Ta)2B19Ue><#zV^=aACG3v%@C3hf|UJwwH+7`Iub+yB@9&Qkrw^z+p|fe;(ZbJ5Zvc?Zj{ z725I3KL5?Jr@vsL<`aE+hyS}@+-$nGi@#L5pe*vjBI|;EoWA^RS*t8hYQOVTdGM7b z>-mC*Qme#2+5W!!{D+*<>rbKK8+Nn5E!vm&k-fw){mq)Ae}sW?!dc)ES`Xe2qJ{S#w(GVC7fzc2c4S~@R7!85Z5Eu=C m(GVC7fzc2c4S``D0^69H(-~d%MaqYPyy@xc=d#Wzp$PyKdufpX diff --git a/data/scripts/main.js b/data/scripts/main.js index d80fa50a..f9d4fd25 100644 --- a/data/scripts/main.js +++ b/data/scripts/main.js @@ -123,7 +123,7 @@ class cardPlaceholder { var temporaryElement = document.createElement('div') temporaryElement.id = 'uniqueNumber' + this.uniqueNumber temporaryElement.classList.add('cardMasterElement') - temporaryElement.innerHTML = '|||

' + this.name + '
' + temporaryElement.innerHTML = '|||
' + this.name + '
' return temporaryElement } } @@ -168,7 +168,7 @@ class cardImage { var temporaryElement = document.createElement('div') temporaryElement.id = 'uniqueNumber' + this.uniqueNumber temporaryElement.classList.add('cardMasterElement') - temporaryElement.innerHTML = '|||
' + this.name + ' (' + this.masks.toString().replace(',', ', ') + ')
X' + temporaryElement.innerHTML = '
|||
' + this.name + ' - ' + this.masks.toString().replace(',', ', ') + '
X' temporaryElement.onclick = function() { selectedCardMasterElement = parseInt(this.id.replace('uniqueNumber', '')) var selectedObject = cardMasterList[selectedCardMasterElement] @@ -279,6 +279,14 @@ function maskOptionClicked(event) { } } +function loadFramePackOptions(listOfFramePacks) { + var framePackHTML = '' + for (var i = 0; i < listOfFramePacks.length; i++) { + framePackHTML += '' + } + document.getElementById('inputFramePack').innerHTML = framePackHTML + loadScript('data/scripts/versions/' + document.getElementById('inputFrameVersion').value + '/regular.js') +} function loadMaskImages(listOfMasks) { for (var i = 0; i < listOfMasks.length; i++) { if (!maskNameList.includes(listOfMasks[i][0])) { @@ -293,14 +301,14 @@ function loadMaskImages(listOfMasks) { function loadFrameImages(listOfFrames, frameClass) { for (var i = 0; i < listOfFrames.length; i++) { frameImageList.push(new frameImage(...listOfFrames[i], frameImageList.length, frameClass)) - if (i == 0) { - frameObjectToAdd = frameImageList[frameImageList.length - 1] - var frameToInsert = cardMasterList.push(new cardImage(frameObjectToAdd.name, frameObjectToAdd.image.src, frameObjectToAdd.x, frameObjectToAdd.y, frameObjectToAdd.width, frameObjectToAdd.height, 1, ['Full'], false)) - cardMaster.insertBefore(cardMasterList[frameToInsert - 1].cardMasterElement(), cardMaster.children[1]) - frameObjectToAdd.image.onload = function() { - drawCardObjects() - } - } + // if (i == 0) { + // frameObjectToAdd = frameImageList[frameImageList.length - 1] + // var frameToInsert = cardMasterList.push(new cardImage(frameObjectToAdd.name, frameObjectToAdd.image.src, frameObjectToAdd.x, frameObjectToAdd.y, frameObjectToAdd.width, frameObjectToAdd.height, 1, ['Full'], false)) + // cardMaster.insertBefore(cardMasterList[frameToInsert - 1].cardMasterElement(), cardMaster.children[1]) + // frameObjectToAdd.image.onload = function() { + // drawCardObjects() + // } + // } } } diff --git a/data/scripts/versions/versionFuture.js b/data/scripts/versions/backup/versionFuture.js similarity index 100% rename from data/scripts/versions/versionFuture.js rename to data/scripts/versions/backup/versionFuture.js diff --git a/data/scripts/versions/versionInvention.js b/data/scripts/versions/backup/versionInvention.js similarity index 100% rename from data/scripts/versions/versionInvention.js rename to data/scripts/versions/backup/versionInvention.js diff --git a/data/scripts/versions/versionM15.js b/data/scripts/versions/backup/versionM15.js similarity index 100% rename from data/scripts/versions/versionM15.js rename to data/scripts/versions/backup/versionM15.js diff --git a/data/scripts/versions/versionM15FloatingCrowns.js b/data/scripts/versions/backup/versionM15FloatingCrowns.js similarity index 100% rename from data/scripts/versions/versionM15FloatingCrowns.js rename to data/scripts/versions/backup/versionM15FloatingCrowns.js diff --git a/data/scripts/versions/versionM15Nickname.js b/data/scripts/versions/backup/versionM15Nickname.js similarity index 100% rename from data/scripts/versions/versionM15Nickname.js rename to data/scripts/versions/backup/versionM15Nickname.js diff --git a/data/scripts/versions/versionM15Nyx.js b/data/scripts/versions/backup/versionM15Nyx.js similarity index 100% rename from data/scripts/versions/versionM15Nyx.js rename to data/scripts/versions/backup/versionM15Nyx.js diff --git a/data/scripts/versions/versionM15PromoFloatingCrowns.js b/data/scripts/versions/backup/versionM15PromoFloatingCrowns.js similarity index 100% rename from data/scripts/versions/versionM15PromoFloatingCrowns.js rename to data/scripts/versions/backup/versionM15PromoFloatingCrowns.js diff --git a/data/scripts/versions/versionM15PromoNickname.js b/data/scripts/versions/backup/versionM15PromoNickname.js similarity index 100% rename from data/scripts/versions/versionM15PromoNickname.js rename to data/scripts/versions/backup/versionM15PromoNickname.js diff --git a/data/scripts/versions/versionPlaneswalker.js b/data/scripts/versions/backup/versionPlaneswalker.js similarity index 100% rename from data/scripts/versions/versionPlaneswalker.js rename to data/scripts/versions/backup/versionPlaneswalker.js diff --git a/data/scripts/versions/versionSeventh.js b/data/scripts/versions/backup/versionSeventh.js similarity index 100% rename from data/scripts/versions/versionSeventh.js rename to data/scripts/versions/backup/versionSeventh.js diff --git a/data/scripts/versions/versionStorybook.js b/data/scripts/versions/backup/versionStorybook.js similarity index 100% rename from data/scripts/versions/versionStorybook.js rename to data/scripts/versions/backup/versionStorybook.js diff --git a/data/scripts/versions/future/regular.js b/data/scripts/versions/future/regular.js new file mode 100644 index 00000000..018a1a1b --- /dev/null +++ b/data/scripts/versions/future/regular.js @@ -0,0 +1,27 @@ +if (!loadedVersions.includes('futureRegular')) { + loadedVersions.push('futureRegular') + loadFrameImages([ + ['White Frame', 'data/images/future/futureFrameW.png', 0, 0, 1, 1, ['Full', 'Border (future)']], + ['Blue Frame', 'data/images/future/futureFrameU.png', 0, 0, 1, 1, ['Full', 'Border (future)']], + ['Black Frame', 'data/images/future/futureFrameB.png', 0, 0, 1, 1, ['Full', 'Border (future)']], + ['Red Frame', 'data/images/future/futureFrameR.png', 0, 0, 1, 1, ['Full', 'Border (future)']], + ['Green Frame', 'data/images/future/futureFrameG.png', 0, 0, 1, 1, ['Full', 'Border (future)']], + ['Multicolored Frame', 'data/images/future/futureFrameM.png', 0, 0, 1, 1, ['Full', 'Border (future)']], + ['Artifact Frame', 'data/images/future/futureFrameA.png', 0, 0, 1, 1, ['Full', 'Border (future)']], + ['Clear Frame', 'data/images/future/futureFrameC.png', 0, 0, 1, 1, ['Full', 'Border (future)']], + ['Land Frame', 'data/images/future/futureFrameL.png', 0, 0, 1, 1, ['Full', 'Border (future)']], + ['White Power/Toughness', 'data/images/future/futurePTW.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], + ['Blue Power/Toughness', 'data/images/future/futurePTU.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], + ['Black Power/Toughness', 'data/images/future/futurePTB.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], + ['Red Power/Toughness', 'data/images/future/futurePTR.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], + ['Green Power/Toughness', 'data/images/future/futurePTG.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], + ['Multicolored Power/Toughness', 'data/images/future/futurePTM.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], + ['Artifact Power/Toughness', 'data/images/future/futurePTA.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], + ['Clear Power/Toughness', 'data/images/future/futurePTC.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], + ['Land Power/Toughness', 'data/images/future/futurePTL.png', 567/744, 918/1039, 129/744, 81/1039, ['Full']], + ['White Icon', 'data/images/future/futureWhite.png', 49/744, 49/1039, 32/744, 32/1039, ['Artifact Icon (future)', 'Creature Icon (future)', 'Enchantment Icon (future)', 'Instant Icon (future)', 'Land Icon (future)', 'Multitype Icon (future)', 'Sorcery Icon (future)']], + ['Gray Icon', 'data/images/future/futureGray.png', 49/744, 49/1039, 32/744, 32/1039, ['Artifact Icon (future)', 'Creature Icon (future)', 'Enchantment Icon (future)', 'Instant Icon (future)', 'Land Icon (future)', 'Multitype Icon (future)', 'Sorcery Icon (future)']] + ], 'frameClassFutureRegular') +} + +hideFrameImages('frameClassFutureRegular') \ No newline at end of file diff --git a/data/scripts/versions/future/version.js b/data/scripts/versions/future/version.js new file mode 100644 index 00000000..83ed3aee --- /dev/null +++ b/data/scripts/versions/future/version.js @@ -0,0 +1,70 @@ +if (!loadedVersions.includes('future')) { + loadedVersions.push('future') + loadMaskImages([['Border (future)', 'data/images/future/futureMaskBorder.png'], ['Artifact Icon (future)', 'data/images/future/futureMaskArtifact.png'], ['Creature Icon (future)', 'data/images/future/futureMaskCreature.png'], ['Enchantment Icon (future)', 'data/images/future/futureMaskEnchantment.png'], ['Instant Icon (future)', 'data/images/future/futureMaskInstant.png'], ['Land Icon (future)', 'data/images/future/futureMaskLand.png'], ['Multitype Icon (future)', 'data/images/future/futureMaskMulti.png'], ['Sorcery Icon (future)', 'data/images/future/futureMaskSorcery.png']]) +} + +if (currentVersion != 'future') { + currentVersion = 'future' + + loadTextOptions([ + new cardText('Card Title', '', 264/1500, 195/2100, 1248/1500, 91/2100, 'matrixb', 91/2100, 'white', ['oneLine=true']), + new cardText('Card Type', '', 182/1500, 1261/2100, 1248/1500, 75/2100, 'matrixb', 75/2100, 'white', ['oneLine=true']), + new cardText('Rules Text', '', 154/1500, 1313/2100, 1211/1500, 670/2100, 'mplantin', 73/2100, 'black'), + new cardText('Power/Toughness', '', 1160/1500, 1960/2100, 210/1500, 83/2100, 'mplantin', 83/2100, 'white', ['oneLine=true,textAlign="center"']) + ]) + + artX = scaleX(129 / 1500) + artY = scaleY(177 / 2100) + artWidth = scaleX(1307 / 1500) + artHeight = scaleY(1229 / 2100) + + manaCostXPath = '[scaleX(91/744), scaleX(61/744), scaleX(46/744), scaleX(46/744), scaleX(59/744), scaleX(106/744)][manaSymbolIndex]' + manaCostYPath = '[scaleY(140/1039), scaleY(207/1039), scaleY(281/1039), scaleY(356/1039), scaleY(437/1039), scaleY(512/1039)][manaSymbolIndex]' + manaCostDiameter = 'scaleX(59/744)' + manaCostShadowOffset = '[0, 0]' + manaCostDirection = 'forward' + + setSymbolX = [scaleX(1367/1500), 'center'] + setSymbolY = [scaleY(1249/2100), 'center'] + setSymbolWidth = scaleX(80/1500) + setSymbolHeight = scaleY(80/2100) + + watermarkX = scaleX(0.5) + watermarkY = scaleY(1593/2100) + watermarkWidth = scaleX(1140/1500) + watermarkHeight = scaleY(484/2100) + + bottomInfoFunction = 'bottomInfoFuture' + + bottomInfoUpdated() +} + +loadFramePackOptions([['regular', 'Regular']]) + +function bottomInfoFuture() { + bottomInfoContext.clearRect(0, 0, cardWidth, cardHeight) + var ptBoxShift = 0 + var copyrightFillColor = 'white' + for (var i = 0; i < cardTextList.length; i++) { + if (cardTextList[i].name == 'Power/Toughness' && cardTextList[i].text != '') { + ptBoxShift = -1/6 + } + } + var cardMasterChildren = cardMaster.children + for (var i = cardMasterChildren.length - 1; i >= 0; i--) { + var uniqueNumber = parseInt(cardMasterChildren[i].id.replace('uniqueNumber', '')) + for (var n = 0; n < cardMasterList.length; n++) { + if (cardMasterList[n].uniqueNumber == uniqueNumber) { + if (cardMasterList[n].name.includes('White Frame') || cardMasterList[n].name.includes('Artifact Frame') || cardMasterList[n].name.includes('Colorless Frame')) { + copyrightFillColor = 'black' + } + } + } + } + writeText( + [ + {text: '{right}{oldartistbrush}' + document.getElementById('inputInfoArtist').value, x: 141/1500, y: 1938/2100, width: 1216/1500 + ptBoxShift, height: 52/2100, font: 'matrixb', fontSize: 52/2100, fontColor: copyrightFillColor, otherParameters: ['oneLine=true']}, + {text: '{right}\u2122 & \u00a9 ' + date.getFullYear() + ' Wizards of the Coast', x: 141/1500, y: 1980/2100, width: 1216/1500 + ptBoxShift, height: 36/2100, font: 'mplantin', fontSize: 36/2100, fontColor: copyrightFillColor, otherParameters: ['oneLine=true']}, + {text: '{right}*Not for Sale* CardConjurer.com', x: 141/1500, y: 2012/2100, width: 1216/1500 + ptBoxShift, height: 28/2100, font: 'mplantin', fontSize: 28/2100, fontColor: copyrightFillColor, otherParameters: ['oneLine=true']} + ], bottomInfoContext) +} \ No newline at end of file diff --git a/data/scripts/versions/m15/floatingCrowns.js b/data/scripts/versions/m15/floatingCrowns.js new file mode 100644 index 00000000..96fbcf2b --- /dev/null +++ b/data/scripts/versions/m15/floatingCrowns.js @@ -0,0 +1,16 @@ +if (!loadedVersions.includes('m15FloatingCrowns')) { + loadedVersions.push("m15FloatingCrowns") + loadFrameImages([ + ['White Floating Legend Crown', 'data/images/m15/m15CrownFloatingW.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Blue Floating Legend Crown', 'data/images/m15/m15CrownFloatingU.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Black Floating Legend Crown', 'data/images/m15/m15CrownFloatingB.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Red Floating Legend Crown', 'data/images/m15/m15CrownFloatingR.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Green Floating Legend Crown', 'data/images/m15/m15CrownFloatingG.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Multicolored Floating Legend Crown', 'data/images/m15/m15CrownFloatingM.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Artifact Floating Legend Crown', 'data/images/m15/m15CrownFloatingA.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Land Floating Legend Crown', 'data/images/m15/m15CrownFloatingL.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Legend Crown Border Cover', 'data/images/black.png', 59/1500, 58/2100, 1384/1500, 37/2100, ['Full']] + ], 'frameClassM15FloatingCrowns') +} + +hideFrameImages('frameClassM15FloatingCrowns') \ No newline at end of file diff --git a/data/scripts/versions/m15/invention.js b/data/scripts/versions/m15/invention.js new file mode 100644 index 00000000..d5923baf --- /dev/null +++ b/data/scripts/versions/m15/invention.js @@ -0,0 +1,9 @@ +if (!loadedVersions.includes('m15Invention')) { + loadedVersions.push("m15Invention") + loadFrameImages([ + ['Invention Frame', 'data/images/invention/inventionFrame.png', 0, 0, 1, 1, ['Full', 'Pinline Super (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)']], + ['Invention Power/Toughness', 'data/images/invention/inventionPT.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']] + ], 'frameClassM15Invention') +} + +hideFrameImages('frameClassM15Invention') \ No newline at end of file diff --git a/data/scripts/versions/m15/legendCrowns.js b/data/scripts/versions/m15/legendCrowns.js new file mode 100644 index 00000000..c739a55b --- /dev/null +++ b/data/scripts/versions/m15/legendCrowns.js @@ -0,0 +1,16 @@ +if (!loadedVersions.includes('m15LegendCrowns')) { + loadedVersions.push("m15LegendCrowns") + loadFrameImages([ + ['White Legend Crown', 'data/images/m15/m15CrownW.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']], + ['Blue Legend Crown', 'data/images/m15/m15CrownU.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']], + ['Black Legend Crown', 'data/images/m15/m15CrownB.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']], + ['Red Legend Crown', 'data/images/m15/m15CrownR.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']], + ['Green Legend Crown', 'data/images/m15/m15CrownG.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']], + ['Multicolored Legend Crown', 'data/images/m15/m15CrownM.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']], + ['Artifact Legend Crown', 'data/images/m15/m15CrownA.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']], + ['Land Legend Crown', 'data/images/m15/m15CrownL.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']], + ['Legend Crown Border Cover', 'data/images/black.png', 59/1500, 58/2100, 1382/1500, 37/2100, ['Full']] + ], 'frameClassM15LegendCrowns') +} + +hideFrameImages('frameClassM15LegendCrowns') \ No newline at end of file diff --git a/data/scripts/versions/m15/nickname.js b/data/scripts/versions/m15/nickname.js new file mode 100644 index 00000000..0c17e176 --- /dev/null +++ b/data/scripts/versions/m15/nickname.js @@ -0,0 +1,58 @@ +if (!loadedVersions.includes('m15Nickname')) { + loadedVersions.push("m15Nickname") + loadMaskImages([['Nickname Legend Crown (m15)', 'data/images/m15/m15MaskNicknameLegendCrownStrokeless.png'], ['Nickname Title (m15)', 'data/images/m15/m15MaskNicknameTitleStrokeless.png']]) + loadFrameImages([ + ['Base Nickname Frame', 'data/images/m15/m15NicknameTextboxes.png', 0, 0, 1, 1, ['Full', 'Title (m15)', 'Type (m15)', 'Rules (m15)']], + ['White Nickname Frame', 'data/images/m15/m15NicknameFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Border (m15)']], + ['Blue Nickname Frame', 'data/images/m15/m15NicknameFrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Border (m15)']], + ['Black Nickname Frame', 'data/images/m15/m15NicknameFrameB.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Border (m15)']], + ['Red Nickname Frame', 'data/images/m15/m15NicknameFrameR.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Border (m15)']], + ['Green Nickname Frame', 'data/images/m15/m15NicknameFrameG.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Border (m15)']], + ['Multicolored Nickname Frame', 'data/images/m15/m15NicknameFrameM.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Border (m15)']], + ['Artifact Nickname Frame', 'data/images/m15/m15NicknameFrameA.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Border (m15)']], + ['Land Nickname Frame', 'data/images/m15/m15NicknameFrameL.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Border (m15)']], + ['White Nickname Title', 'data/images/m15/m15NicknameTitleW.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Blue Nickname Title', 'data/images/m15/m15NicknameTitleU.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Black Nickname Title', 'data/images/m15/m15NicknameTitleB.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Red Nickname Title', 'data/images/m15/m15NicknameTitleR.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Green Nickname Title', 'data/images/m15/m15NicknameTitleG.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Multicolored Nickname Title', 'data/images/m15/m15NicknameTitleM.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Artifact Nickname Title', 'data/images/m15/m15NicknameTitleA.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Land Nickname Title', 'data/images/m15/m15NicknameTitleL.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['White Nickname Legend Crown', 'data/images/m15/m15NicknameCrownW.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Blue Nickname Legend Crown', 'data/images/m15/m15NicknameCrownU.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Black Nickname Legend Crown', 'data/images/m15/m15NicknameCrownB.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Red Nickname Legend Crown', 'data/images/m15/m15NicknameCrownR.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Green Nickname Legend Crown', 'data/images/m15/m15NicknameCrownG.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Multicolored Nickname Legend Crown', 'data/images/m15/m15NicknameCrownM.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Artifact Nickname Legend Crown', 'data/images/m15/m15NicknameCrownA.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Land Nickname Legend Crown', 'data/images/m15/m15NicknameCrownL.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['White Nickname Power/Toughness', 'data/images/m15/m15NicknamePTW.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Blue Nickname Power/Toughness', 'data/images/m15/m15NicknamePTU.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Black Nickname Power/Toughness', 'data/images/m15/m15NicknamePTB.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Red Nickname Power/Toughness', 'data/images/m15/m15NicknamePTR.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Green Nickname Power/Toughness', 'data/images/m15/m15NicknamePTG.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Multicolored Nickname Power/Toughness', 'data/images/m15/m15NicknamePTM.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Artifact Nickname Power/Toughness', 'data/images/m15/m15NicknamePTA.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Colorless Nickname Power/Toughness', 'data/images/m15/m15NicknamePTC.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']] + ], 'frameClassM15Nickname') +} + +if (currentVersion != 'm15Nickname') { + currentVersion = 'm15Nickname' + + loadTextOptions([ + new cardText('Card Nickname', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'white', ['oneLine=true']), + new cardText('Card Title', '', 210/1500, 276/2100, 1080/1500, 48/2100, 'belerenb', 48/2100, 'white', ['oneLine=true', 'textAlign="center"', 'fontStyle="italic "']), + new cardText('Card Type', '', 126/1500, 1264/2100, 1248/1500, 68/2100, 'belerenb', 68/2100, 'white', ['oneLine=true']), + new cardText('Rules Text', '', 135/1500, 1370/2100, 1230/1500, 625/2100, 'mplantin', 74/2100, 'white'), + new cardText('Power/Toughness', '', 1191/1500, 1954/2100, 205/1500, 78/2100, 'belerenbsc', 78/2100, 'white', ['oneLine=true,textAlign="center"']) + ]) + + artX = 0 + artY = 0 + artWidth = scaleX(1) + artHeight = scaleY(1936 / 2100) +} + +hideFrameImages('frameClassM15Nickname') \ No newline at end of file diff --git a/data/scripts/versions/m15/nyx.js b/data/scripts/versions/m15/nyx.js new file mode 100644 index 00000000..6b107bdd --- /dev/null +++ b/data/scripts/versions/m15/nyx.js @@ -0,0 +1,21 @@ +if (!loadedVersions.includes('m15Nyx')) { + loadedVersions.push("m15Nyx") + loadFrameImages([ + ['White Nyx Frame', 'data/images/m15/m15FrameWNyx.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Blue Nyx Frame', 'data/images/m15/m15FrameUNyx.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Black Nyx Frame', 'data/images/m15/m15FrameBNyx.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Red Nyx Frame', 'data/images/m15/m15FrameRNyx.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Green Nyx Frame', 'data/images/m15/m15FrameGNyx.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Multicolored Nyx Frame', 'data/images/m15/m15FrameMNyx.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Artifact Nyx Frame', 'data/images/m15/m15FrameANyx.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['White Nyx Legend Crown', 'data/images/m15/m15InnerCrownWNyx.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']], + ['Blue Nyx Legend Crown', 'data/images/m15/m15InnerCrownUNyx.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']], + ['Black Nyx Legend Crown', 'data/images/m15/m15InnerCrownBNyx.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']], + ['Red Nyx Legend Crown', 'data/images/m15/m15InnerCrownRNyx.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']], + ['Green Nyx Legend Crown', 'data/images/m15/m15InnerCrownGNyx.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']], + ['Multicolored Nyx Legend Crown', 'data/images/m15/m15InnerCrownMNyx.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']], + ['Artifact Nyx Legend Crown', 'data/images/m15/m15InnerCrownANyx.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']] + ], 'frameClassM15Nyx') +} + +hideFrameImages('frameClassM15Nyx') \ No newline at end of file diff --git a/data/scripts/versions/m15/regular.js b/data/scripts/versions/m15/regular.js new file mode 100644 index 00000000..c27db21e --- /dev/null +++ b/data/scripts/versions/m15/regular.js @@ -0,0 +1,24 @@ +if (!loadedVersions.includes('m15Regular')) { + loadedVersions.push('m15Regular') + loadFrameImages([ + ['White Frame', 'data/images/m15/m15FrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Blue Frame', 'data/images/m15/m15FrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Black Frame', 'data/images/m15/m15FrameB.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Red Frame', 'data/images/m15/m15FrameR.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Green Frame', 'data/images/m15/m15FrameG.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Multicolored Frame', 'data/images/m15/m15FrameM.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Artifact Frame', 'data/images/m15/m15FrameA.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Vehicle Frame', 'data/images/m15/m15FrameV.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['Land Frame', 'data/images/m15/m15FrameL.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']], + ['White Power/Toughness', 'data/images/m15/m15PTW.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Blue Power/Toughness', 'data/images/m15/m15PTU.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Black Power/Toughness', 'data/images/m15/m15PTB.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Red Power/Toughness', 'data/images/m15/m15PTR.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Green Power/Toughness', 'data/images/m15/m15PTG.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Multicolored Power/Toughness', 'data/images/m15/m15PTM.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Artifact Power/Toughness', 'data/images/m15/m15PTA.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Midnight Frame', 'data/images/m15/m15Midnight.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)']] + ], 'frameClassM15Regular') +} + +hideFrameImages('frameClassM15Regular') \ No newline at end of file diff --git a/data/scripts/versions/m15/version.js b/data/scripts/versions/m15/version.js new file mode 100644 index 00000000..4f9c3341 --- /dev/null +++ b/data/scripts/versions/m15/version.js @@ -0,0 +1,60 @@ +if (!loadedVersions.includes('m15')) { + loadedVersions.push('m15') + loadMaskImages([['Full', 'data/images/maskFull.png'], ['Border (m15)', 'data/images/m15/m15MaskBorder.png'], ['Right Half', 'data/images/maskRightHalf.png'], ['Pinline (m15)', 'data/images/m15/m15MaskPinline.png'], ['Title (m15)', 'data/images/m15/m15MaskTitle.png'], ['Type (m15)', 'data/images/m15/m15MaskType.png'], ['Rules (m15)', 'data/images/m15/m15MaskRules.png'], ['Frame (m15)', 'data/images/m15/m15MaskFrame.png'], ['Pinline Super (m15)', 'data/images/m15/m15MaskPinlineSuper.png'], ['Legend Crown (m15)', 'data/images/m15/m15MaskLegendCrown.png'], ['Legend Crown W/ Pinline (m15)', 'data/images/m15/m15MaskLegendCrownPinline.png']]) +} + +if (currentVersion != 'm15') { + currentVersion = 'm15' + + loadTextOptions([ + new cardText('Card Title', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'black', ['oneLine=true']), + new cardText('Card Type', '', 126/1500, 1264/2100, 1248/1500, 68/2100, 'belerenb', 68/2100, 'black', ['oneLine=true']), + new cardText('Rules Text', '', 135/1500, 1370/2100, 1230/1500, 625/2100, 'mplantin', 74/2100, 'black'), + new cardText('Power/Toughness', '', 1191/1500, 1954/2100, 205/1500, 78/2100, 'belerenbsc', 78/2100, 'black', ['oneLine=true,textAlign="center"']) + ]) + + artX = scaleX(115 / 1500) + artY = scaleY(237 / 2100) + artWidth = scaleX(1270 / 1500) + artHeight = scaleY(929 / 2100) + + manaCostXPath = '1316 - 78 * manaSymbolIndex' + manaCostYPath = '121' + manaCostDiameter = '70' + manaCostShadowOffset = '[-2, 6]' + manaCostDirection = 'reverse' + + setSymbolX = [scaleX(1382/1500), 'right'] + setSymbolY = [scaleY(1241/2100), 'center'] + setSymbolWidth = scaleX(180/1500) + setSymbolHeight = scaleY(86/2100) + + watermarkX = scaleX(0.5) + watermarkY = scaleY(1630/2100) + watermarkWidth = scaleX(1140/1500) + watermarkHeight = scaleY(484/2100) + + bottomInfoFunction = 'bottomInfoM15' + + bottomInfoUpdated() +} + +loadFramePackOptions([['regular', 'Regular'], ['legendCrowns', 'Legend Crowns'], ['nickname', 'Nickname (Godzilla)'], ['nyx', 'Nyx'], ['invention', 'Kaladesh Invention'], ['floatingCrowns', 'Floating Crowns']]) + +function bottomInfoM15() { + bottomInfoContext.clearRect(0, 0, cardWidth, cardHeight) + var ptBoxShift = 0 + for (var i = 0; i < cardTextList.length; i++) { + if (cardTextList[i].name == 'Power/Toughness' && cardTextList[i].text != '') { + ptBoxShift = 36/2100 + } + } + writeText( + [ + {text: document.getElementById('inputInfoSet').value + '{right' + scaleX(0.005) + '}\u2605{right' + scaleX(0.005) + '}' + document.getElementById('inputInfoLanguage').value + ' {saveTextX}{artistbrush}{fontbelerenbsc}' + document.getElementById('inputInfoArtist').value, x: 97/1500, y: 2026/2100, width: 1306/1500, height: 36/2100, font: 'gothammedium', fontSize: 36/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: document.getElementById('inputInfoNumber').value + '{loadTextX}' + document.getElementById('inputInfoRarity').value, x: 97/1500, y: 1990/2100, width: 1306/1500, height: 36/2100, font: 'gothammedium', fontSize: 36/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: '{right}\u2122 & \u00a9 ' + date.getFullYear() + ' Wizards of the Coast', x: 97/1500, y: 1990/2100 + ptBoxShift, width: 1306/1500, height: 35/2100, font: 'mplantin', fontSize: 35/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: 'NOT FOR SALE', x: 97/1500, y: 2058/2100, width: 1306/1500, height: 30/2100, font: 'gothammedium', fontSize: 30/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: '{right}CardConjurer.com', x: 97/1500, y: 2022/2100 + ptBoxShift, width: 1306/1500, height: 30/2100, font: 'mplantin', fontSize: 30/2100, fontColor: 'white', otherParameters: ['oneLine=true']} + ], bottomInfoContext) +} \ No newline at end of file diff --git a/data/scripts/versions/m15Planeswalker/regular.js b/data/scripts/versions/m15Planeswalker/regular.js new file mode 100644 index 00000000..feefd0f7 --- /dev/null +++ b/data/scripts/versions/m15Planeswalker/regular.js @@ -0,0 +1,16 @@ +if (!loadedVersions.includes('planeswalkerRegular')) { + loadedVersions.push('planeswalkerRegular') + loadFrameImages([ + ['White Frame', 'data/images/planeswalker/planeswalkerFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (planeswalker)', 'Title (planeswalker)', 'Type (planeswalker)', 'Frame (planeswalker)', 'Border (planeswalker)']], + ['Blue Frame', 'data/images/planeswalker/planeswalkerFrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (planeswalker)', 'Title (planeswalker)', 'Type (planeswalker)', 'Frame (planeswalker)', 'Border (planeswalker)']], + ['Black Frame', 'data/images/planeswalker/planeswalkerFrameB.png', 0, 0, 1, 1, ['Full', 'Pinline (planeswalker)', 'Title (planeswalker)', 'Type (planeswalker)', 'Frame (planeswalker)', 'Border (planeswalker)']], + ['Red Frame', 'data/images/planeswalker/planeswalkerFrameR.png', 0, 0, 1, 1, ['Full', 'Pinline (planeswalker)', 'Title (planeswalker)', 'Type (planeswalker)', 'Frame (planeswalker)', 'Border (planeswalker)']], + ['Green Frame', 'data/images/planeswalker/planeswalkerFrameG.png', 0, 0, 1, 1, ['Full', 'Pinline (planeswalker)', 'Title (planeswalker)', 'Type (planeswalker)', 'Frame (planeswalker)', 'Border (planeswalker)']], + ['Multicolored Frame', 'data/images/planeswalker/planeswalkerFrameM.png', 0, 0, 1, 1, ['Full', 'Pinline (planeswalker)', 'Title (planeswalker)', 'Type (planeswalker)', 'Frame (planeswalker)', 'Border (planeswalker)']], + ['Artifact Frame', 'data/images/planeswalker/planeswalkerFrameA.png', 0, 0, 1, 1, ['Full', 'Pinline (planeswalker)', 'Title (planeswalker)', 'Type (planeswalker)', 'Frame (planeswalker)', 'Border (planeswalker)']], + ['Colorless Frame', 'data/images/planeswalker/planeswalkerFrameC.png', 0, 0, 1, 1, ['Full', 'Pinline (planeswalker)', 'Title (planeswalker)', 'Type (planeswalker)', 'Frame (planeswalker)', 'Border (planeswalker)']], + ['Dark Twins', 'data/images/planeswalker/planeswalkerDarkTwins.png', 0, 0, 1, 1, ['Full', 'Pinline (planeswalker)', 'Title (planeswalker)', 'Type (planeswalker)', 'Frame (planeswalker)', 'Border (planeswalker)']] + ], 'frameClassPlaneswalkerRegular') +} + +hideFrameImages('frameClassPlaneswalkerRegular') \ No newline at end of file diff --git a/data/scripts/versions/m15Planeswalker/version.js b/data/scripts/versions/m15Planeswalker/version.js new file mode 100644 index 00000000..7ce6dc00 --- /dev/null +++ b/data/scripts/versions/m15Planeswalker/version.js @@ -0,0 +1,217 @@ +if (!loadedVersions.includes('planeswalker')) { + loadedVersions.push('planeswalker') + newCanvas('planeswalker') + loadMaskImages([['Pinline (planeswalker)', 'data/images/planeswalker/planeswalkerMaskPinline.png'], ['Border (planeswalker)', 'data/images/planeswalker/planeswalkerMaskBorder.png'], ['Title (planeswalker)', 'data/images/planeswalker/planeswalkerMaskTitle.png'], ['Type (planeswalker)', 'data/images/planeswalker/planeswalkerMaskType.png'], ['Frame (planeswalker)', 'data/images/planeswalker/planeswalkerMaskFrame.png'], ['Rules Text (planeswalker)', 'data/images/planeswalker/planeswalkerMaskText.png']]) + + document.getElementById('tabPicker').innerHTML += `
Planeswalker
` + var planeswalkerTab = document.createElement("div") + planeswalkerTab.classList.add('hidden') + planeswalkerTab.id = 'planeswalkerTab' + planeswalkerTab.innerHTML = ` + One: + Two: + Three: + Four:
+ For two-ability Planeswalkers only:
+ Use War of the Spark ability spacing
+ Reverse War of the Spark ability spacing
+ Dark ability boxes` + document.getElementById('tabOptions').appendChild(planeswalkerTab) + var planeswalkerPlus = new Image() + planeswalkerPlus.crossOrigin = 'anonymous' + planeswalkerPlus.src = 'data/images/planeswalker/planeswalkerPlus.png' + var planeswalkerNeutral = new Image() + planeswalkerNeutral.crossOrigin = "anonymous" + planeswalkerNeutral.src = 'data/images/planeswalker/planeswalkerNeutral.png' + var planeswalkerMinus = new Image() + planeswalkerMinus.crossOrigin = "anonymous" + planeswalkerMinus.src = 'data/images/planeswalker/planeswalkerMinus.png' + var lightToDarkPlaneswalker = new Image() + lightToDarkPlaneswalker.crossOrigin = 'anonymous' + lightToDarkPlaneswalker.src = 'data/images/planeswalker/abilityLineOdd.png' + var darkToLightPlaneswalker = new Image() + darkToLightPlaneswalker.crossOrigin = 'anonymous' + darkToLightPlaneswalker.src = 'data/images/planeswalker/abilityLineEven.png' + var lightToDarkPlaneswalkerDarkened= new Image() + lightToDarkPlaneswalkerDarkened.crossOrigin = 'anonymous' + lightToDarkPlaneswalkerDarkened.src = 'data/images/planeswalker/abilityLineOddDarkened.png' + var darkToLightPlaneswalkerDarkened = new Image() + darkToLightPlaneswalkerDarkened.crossOrigin = 'anonymous' + darkToLightPlaneswalkerDarkened.onload = function() {invertPlaneswalkerColors()} + darkToLightPlaneswalkerDarkened.src = 'data/images/planeswalker/abilityLineEvenDarkened.png' + setTimeout(planeswalkerAbilities, 1000) + //placeholders: + var darkColor = '#a4a4a4' + var lightColor = 'white' + var planeswalkerLightToDark = new Image() + var planeswalkerDarkToLight = new Image() + planeswalkerDarkToLight.onload = function(){planeswalkerAbilities()} +} + +if (currentVersion != 'planeswalker') { + currentVersion = 'planeswalker' + + loadTextOptions([ + new cardText('Card Title', '', 130/1500, 149/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'black', ['oneLine=true']), + new cardText('Card Type', '', 130/1500, 1258/2100, 1248/1500, 68/2100, 'belerenb', 68/2100, 'black', ['oneLine=true']), + new cardText('Ability 1', '', 270/1500, 1153/2100, 1120/1500, 624/2100, 'mplantin', 74/2100, 'black'), + new cardText('Ability 2', '', 270/1500, 1153/2100, 1120/1500, 624/2100, 'mplantin', 74/2100, 'black'), + new cardText('Ability 3', '', 270/1500, 1153/2100, 1120/1500, 624/2100, 'mplantin', 74/2100, 'black'), + new cardText('Ability 4', '', 270/1500, 1153/2100, 1120/1500, 624/2100, 'mplantin', 74/2100, 'black'), + new cardText('Loyalty', '', 1215/1500, 1954/2100, 210/1500, 78/2100, 'belerenbsc', 78/2100, 'white', ['oneLine=true,textAlign="center"']) + ]) + + artX = scaleX(100 / 1500) + artY = scaleY(190 / 2100) + artWidth = scaleX(1508 / 1500) + artHeight = scaleY(1730 / 2100) + + manaCostXPath = '1316 - 78 * manaSymbolIndex' + manaCostYPath = '86' + manaCostDiameter = '70' + manaCostShadowOffset = '[-2, 6]' + manaCostDirection = 'reverse' + + setSymbolX = [scaleX(1383/1500), 'right'] + setSymbolY = [scaleY(1237/2100), 'center'] + setSymbolWidth = scaleX(180/1500) + setSymbolHeight = scaleY(80/2100) + + watermarkX = scaleX(0.5) + watermarkY = scaleY(1630/2100) + watermarkWidth = scaleX(1140/1500) + watermarkHeight = scaleY(484/2100) + + bottomInfoFunction = 'bottomInfoPlaneswalker' + + bottomInfoUpdated() +} + +function bottomInfoPlaneswalker() { + bottomInfoContext.clearRect(0, 0, cardWidth, cardHeight) + var ptBoxShift = 36/2100 + writeText( + [ + {text: document.getElementById('inputInfoSet').value + '{right' + scaleX(0.005) + '}\u2605{right' + scaleX(0.005) + '}' + document.getElementById('inputInfoLanguage').value + ' {saveTextX}{artistbrush}{fontbelerenbsc}' + document.getElementById('inputInfoArtist').value, x: 97/1500, y: 2026/2100, width: 1306/1500, height: 36/2100, font: 'gothammedium', fontSize: 36/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: document.getElementById('inputInfoNumber').value + '{loadTextX}' + document.getElementById('inputInfoRarity').value, x: 97/1500, y: 1990/2100, width: 1306/1500, height: 36/2100, font: 'gothammedium', fontSize: 36/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: '{right}\u2122 & \u00a9 ' + date.getFullYear() + ' Wizards of the Coast', x: 97/1500, y: 1990/2100 + ptBoxShift, width: 1306/1500, height: 35/2100, font: 'mplantin', fontSize: 35/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: '*Not for Sale*', x: 97/1500, y: 2056/2100, width: 1306/1500, height: 30/2100, font: 'gothammedium', fontSize: 30/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: '{right}CardConjurer.com', x: 97/1500, y: 2020/2100 + ptBoxShift, width: 1306/1500, height: 30/2100, font: 'mplantin', fontSize: 30/2100, fontColor: 'white', otherParameters: ['oneLine=true']} + ], bottomInfoContext) +} + +var planeswalkerAbilityLayout = [[0], [0, scaleY(784/1050)], [0, scaleY(730/1050), scaleY(863/1050)], [0, scaleY(697/1050), scaleY(784/1050), scaleY(878/1050)], [0, scaleY(683/1050), scaleY(756/1050), scaleY(830/1050), scaleY(904/1050)]] +var planeswalkerAbilityCount = 3 +var ability1Y = 0, ability2Y = 0, ability3Y = 0, ability4Y = 0, ability5Y = cardHeight + +function planeswalkerAbilities() { + planeswalkerContext.clearRect(0, 0, cardWidth, cardHeight) + planeswalkerAbilityCount = 0 + for (var i = 1; i < 5; i++) { + cardTextList[i + 1].y = 2 + if (getFloat('inputPlaneswalker' + i) != 0) { + planeswalkerAbilityCount += 1; + } else { + break + } + } + if (planeswalkerAbilityCount > 0) { + ability1Y = scaleY(648/1050) + if (planeswalkerAbilityCount > 1) { + window.ability2Y = getFloat("inputPlaneswalker1") + ability1Y + if (planeswalkerAbilityCount > 2) { + ability3Y = getFloat('inputPlaneswalker2') + ability2Y + if (planeswalkerAbilityCount > 3) { + ability4Y = getFloat('inputPlaneswalker3') + ability3Y + // planeswalkerContext.writeText(version.textList[5][1], scale(133), ability4Y + (scale(950) - ability4Y) / 2, scale(555), 0, "mplantin", scale(38), "black", "lineSpace=0.97"); + cardTextList[5].y = (ability4Y) / cardHeight + cardTextList[5].fontSize - 10/2100 + cardTextList[5].height = getFloat('inputPlaneswalker4') / cardHeight + } + // planeswalkerContext.writeText(version.textList[4][1], scale(133), ability3Y + getValue("inputPlaneswalker3") / 2, scale(555), 0, "mplantin", scale(38), "black", "lineSpace=0.97"); + cardTextList[4].y = (ability3Y) / cardHeight + cardTextList[4].fontSize - 10/2100 + cardTextList[4].height = getFloat('inputPlaneswalker3') / cardHeight + } + // planeswalkerContext.writeText(version.textList[3][1], scale(133), ability2Y + getValue("inputPlaneswalker2") / 2, scale(555), 0, "mplantin", scale(38), "black", "lineSpace=0.97"); + cardTextList[3].y = (ability2Y) / cardHeight + cardTextList[3].fontSize - 10/2100 + cardTextList[3].height = getFloat('inputPlaneswalker2') / cardHeight + } + // planeswalkerContext.writeText(version.textList[2][1], scale(133), ability1Y + getValue("inputPlaneswalker1") / 2, scale(555), 0, "mplantin", scale(38), "black", "lineSpace=0.97", "planeswalkerTextFunction"); + cardTextList[2].y = (ability1Y) / cardHeight + cardTextList[2].fontSize - 10/2100 + cardTextList[2].height = getFloat('inputPlaneswalker1') / cardHeight + planeswalkerTextFunction() + } +} +function planeswalkerTextFunction() { + planeswalkerContext.globalCompositeOperation = 'destination-over' + var lastAdjust = 0 + var textBoxWidth = scaleX(1210/1500) + for (var i = 1; i < planeswalkerAbilityCount + 1; i++) { + if (i == planeswalkerAbilityCount) { + lastAdjust = 2 * cardHeight + } + if (i % 2 == 1) { + planeswalkerContext.fillStyle = lightColor + planeswalkerContext.globalAlpha = 0.608 + planeswalkerContext.fillRect(scaleX(91/750), window['ability' + i + 'Y'] + scaleY(10/1050), textBoxWidth, window['ability' + (i + 1) + 'Y'] - window['ability' + i + 'Y'] - scaleY(20/1050) + lastAdjust) + if (i == 1 && planeswalkerAbilityCount != 1) { + planeswalkerContext.fillRect(scaleX(91/750), window['ability' + i + 'Y'], textBoxWidth, scaleY(10/1050)) + } + planeswalkerContext.globalAlpha = 1 + planeswalkerContext.drawImage(planeswalkerLightToDark, scaleX(91/750), window['ability' + (i + 1) + 'Y'] - scaleY(10/1050) + lastAdjust, textBoxWidth, scaleY(20/1050)) + } else { + planeswalkerContext.fillStyle = darkColor + planeswalkerContext.globalAlpha = 0.706 + planeswalkerContext.fillRect(scaleX(91/750), window['ability' + i + 'Y'] + scaleY(10/1050), textBoxWidth, window['ability' + (i + 1) + 'Y'] - window['ability' + i + 'Y'] - scaleY(20/1050) + lastAdjust) + planeswalkerContext.globalAlpha = 1 + planeswalkerContext.drawImage(planeswalkerDarkToLight, scaleX(91/750), window['ability' + (i + 1)+ 'Y'] - scaleY(10/1050) + lastAdjust, textBoxWidth, scaleY(20/1050)) + } + } + planeswalkerContext.globalCompositeOperation = 'destination-in' + planeswalkerContext.drawImage(maskImageList[maskNameList.indexOf('Rules Text (planeswalker)')], 0, 0, cardWidth, cardHeight) + planeswalkerContext.globalCompositeOperation = 'source-over' + planeswalkerContext.fillStyle = 'white' + planeswalkerContext.font = scaleY(30/1050) + 'px belerenbsc' + planeswalkerContext.textAlign = 'center' + for (var i = 1; i < planeswalkerAbilityCount + 1; i++) { + var planeswalkerIconValue = document.getElementById('inputPlaneswalker' + i + 'Icon').value + var planeswalkerMidpoint = getFloat('inputPlaneswalker' + i + '') / 2 + window['ability' + i + 'Y'] + if (planeswalkerIconValue.includes('+')) { + planeswalkerContext.drawImage(planeswalkerPlus, scaleX(22/750), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] - scaleY(27/1050), scaleX(105/750), scaleY(76/1050)) + planeswalkerContext.fillText(planeswalkerIconValue, scaleX(77/750), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] + scaleY(18/1050)) + } else if (planeswalkerIconValue.includes('-')) { + planeswalkerContext.drawImage(planeswalkerMinus, scaleX(21/750), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] - scaleY(16/1050), scaleX(106/750), scaleY(74/1050)) + planeswalkerContext.fillText(planeswalkerIconValue, scaleX(77/750), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] + scaleY(19/1050)) + } else if (planeswalkerIconValue != '') { + planeswalkerContext.drawImage(planeswalkerNeutral, scaleX(21/750), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] - scaleY(16/1050), scaleX(106/750), scaleY(64/1050)) + planeswalkerContext.fillText(planeswalkerIconValue, scaleX(77/750), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] + scaleY(20/1050)) + } + } + cardTextEdited() +} +function changePlaneswalkerAbilityLayout() { + if (document.getElementById('inputWARSpacing').checked) { + if (document.getElementById('inputWARReverse').checked) { + planeswalkerAbilityLayout[2] = [0, scaleY(784/1050), scaleY(878/1050)] + } else { + planeswalkerAbilityLayout[2] = [0, scaleY(697/1050), scaleY(784/1050)] + } + } else { + planeswalkerAbilityLayout[2] = [0, scaleY(730/1050), scaleY(863/1050)] + } + planeswalkerAbilities() +} +function invertPlaneswalkerColors() { + if (document.getElementById('inputColorInvert').checked) { + darkColor = '#5b5b5b' + lightColor = 'black' + planeswalkerLightToDark.src = lightToDarkPlaneswalkerDarkened.src + planeswalkerDarkToLight.src = darkToLightPlaneswalkerDarkened.src + } else { + darkColor = '#a4a4a4' + lightColor = 'white' + planeswalkerLightToDark.src = lightToDarkPlaneswalker.src + planeswalkerDarkToLight.src = darkToLightPlaneswalker.src + } +} + +loadFramePackOptions([['regular', 'Regular']]) \ No newline at end of file diff --git a/data/scripts/versions/m15Promo/floatingCrowns.js b/data/scripts/versions/m15Promo/floatingCrowns.js new file mode 100644 index 00000000..9ceefce5 --- /dev/null +++ b/data/scripts/versions/m15Promo/floatingCrowns.js @@ -0,0 +1,15 @@ +if (!loadedVersions.includes('m15PromoFloatingCrown')) { + loadedVersions.push("m15PromoFloatingCrown") + loadFrameImages([ + ['White Floating Legend Crown', 'data/images/m15/m15CrownFloatingW.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Blue Floating Legend Crown', 'data/images/m15/m15CrownFloatingU.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Black Floating Legend Crown', 'data/images/m15/m15CrownFloatingB.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Red Floating Legend Crown', 'data/images/m15/m15CrownFloatingR.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Green Floating Legend Crown', 'data/images/m15/m15CrownFloatingG.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Multicolored Floating Legend Crown', 'data/images/m15/m15CrownFloatingM.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Artifact Floating Legend Crown', 'data/images/m15/m15CrownFloatingA.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']], + ['Land Floating Legend Crown', 'data/images/m15/m15CrownFloatingA.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']] + ], 'frameClassM15PromoFloatingCrowns') +} + +hideFrameImages('frameClassM15PromoFloatingCrowns') \ No newline at end of file diff --git a/data/scripts/versions/m15Promo/regular.js b/data/scripts/versions/m15Promo/regular.js new file mode 100644 index 00000000..0b3c0c63 --- /dev/null +++ b/data/scripts/versions/m15Promo/regular.js @@ -0,0 +1,47 @@ +if (!loadedVersions.includes('m15PromoNickname')) { + loadedVersions.push("m15PromoNickname") + loadFrameImages([ + ['Base Nickname Frame', 'data/images/m15Promo/m15PromoNicknameTextboxes.png', 0, 0, 1, 1, ['Full', 'Title (m15)', 'Type (m15 Promo)', 'Rules (m15 Promo)']], + ['White Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']], + ['Blue Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']], + ['Black Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameB.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']], + ['Red Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameR.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']], + ['Green Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameG.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']], + ['Multicolored Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameM.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']], + ['Artifact Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameA.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']], + ['Land Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameL.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']], + ['White Nickname Title', 'data/images/m15/m15NicknameTitleW.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Blue Nickname Title', 'data/images/m15/m15NicknameTitleU.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Black Nickname Title', 'data/images/m15/m15NicknameTitleB.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Red Nickname Title', 'data/images/m15/m15NicknameTitleR.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Green Nickname Title', 'data/images/m15/m15NicknameTitleG.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Multicolored Nickname Title', 'data/images/m15/m15NicknameTitleM.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Artifact Nickname Title', 'data/images/m15/m15NicknameTitleA.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Land Nickname Title', 'data/images/m15/m15NicknameTitleL.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['White Nickname Legend Crown', 'data/images/m15/m15NicknameCrownW.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Blue Nickname Legend Crown', 'data/images/m15/m15NicknameCrownU.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Black Nickname Legend Crown', 'data/images/m15/m15NicknameCrownB.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Red Nickname Legend Crown', 'data/images/m15/m15NicknameCrownR.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Green Nickname Legend Crown', 'data/images/m15/m15NicknameCrownG.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Multicolored Nickname Legend Crown', 'data/images/m15/m15NicknameCrownM.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Artifact Nickname Legend Crown', 'data/images/m15/m15NicknameCrownA.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['Land Nickname Legend Crown', 'data/images/m15/m15NicknameCrownL.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']], + ['White Nickname Power/Toughness', 'data/images/m15/m15NicknamePTW.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Blue Nickname Power/Toughness', 'data/images/m15/m15NicknamePTU.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Black Nickname Power/Toughness', 'data/images/m15/m15NicknamePTB.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Red Nickname Power/Toughness', 'data/images/m15/m15NicknamePTR.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Green Nickname Power/Toughness', 'data/images/m15/m15NicknamePTG.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Multicolored Nickname Power/Toughness', 'data/images/m15/m15NicknamePTM.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Artifact Nickname Power/Toughness', 'data/images/m15/m15NicknamePTA.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Colorless Nickname Power/Toughness', 'data/images/m15/m15NicknamePTC.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['White Power/Toughness', 'data/images/m15/m15PTW.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Blue Power/Toughness', 'data/images/m15/m15PTU.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Black Power/Toughness', 'data/images/m15/m15PTB.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Red Power/Toughness', 'data/images/m15/m15PTR.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Green Power/Toughness', 'data/images/m15/m15PTG.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Multicolored Power/Toughness', 'data/images/m15/m15PTM.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']], + ['Artifact Power/Toughness', 'data/images/m15/m15PTA.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']] + ], 'frameClassM15PromoNickname') +} + +hideFrameImages('frameClassM15PromoNickname') \ No newline at end of file diff --git a/data/scripts/versions/m15Promo/version.js b/data/scripts/versions/m15Promo/version.js new file mode 100644 index 00000000..55d31d27 --- /dev/null +++ b/data/scripts/versions/m15Promo/version.js @@ -0,0 +1,43 @@ +if (!loadedVersions.includes('m15Promo')) { + loadedVersions.push("m15Promo") + loadMaskImages([['Nickname Legend Crown (m15)', 'data/images/m15/m15MaskNicknameLegendCrownStrokeless.png'], ['Nickname Title (m15)', 'data/images/m15/m15MaskNicknameTitleStrokeless.png'], ['Pinline (m15 Promo)', 'data/images/m15Promo/m15PromoMaskPinline.png'], ['Type (m15 Promo)', 'data/images/m15Promo/m15PromoMaskType.png'], ['Rules (m15 Promo)', 'data/images/m15Promo/m15PromoMaskRules.png']]) +} + +if (currentVersion != 'm15Promo') { + currentVersion = 'm15Promo' + + loadTextOptions([ + new cardText('Card Nickname', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'white', ['oneLine=true']), + new cardText('Card Title', '', 210/1500, 276/2100, 1080/1500, 48/2100, 'belerenb', 48/2100, 'white', ['oneLine=true', 'textAlign="center"', 'fontStyle="italic "']), + new cardText('Card Type', '', 126/1500, 1439/2100, 1248/1500, 68/2100, 'belerenb', 68/2100, 'white', ['oneLine=true']), + new cardText('Rules Text', '', 135/1500, 1545/2100, 1230/1500, 450/2100, 'mplantin', 74/2100, 'white'), + new cardText('Power/Toughness', '', 1191/1500, 1954/2100, 205/1500, 78/2100, 'belerenbsc', 78/2100, 'white', ['oneLine=true,textAlign="center"']) + ]) + + artX = 0 + artY = 0 + artWidth = scaleX(1) + artHeight = scaleY(1936 / 2100) + + manaCostXPath = '1316 - 78 * manaSymbolIndex' + manaCostYPath = '121' + manaCostDiameter = '70' + manaCostShadowOffset = '[-2, 6]' + manaCostDirection = 'reverse' + + setSymbolX = [scaleX(1382/1500), 'right'] + setSymbolY = [scaleY(1416/2100), 'center'] + setSymbolWidth = scaleX(180/1500) + setSymbolHeight = scaleY(86/2100) + + watermarkX = scaleX(0.5) + watermarkY = scaleY(1630/2100) + watermarkWidth = scaleX(1140/1500) + watermarkHeight = scaleY(484/2100) + + bottomInfoFunction = 'bottomInfoM15' + + bottomInfoUpdated() +} + +loadFramePackOptions([['regular', 'Regular'], ['floatingCrowns', 'Floating Crowns']]) \ No newline at end of file diff --git a/data/scripts/versions/seventh/regular.js b/data/scripts/versions/seventh/regular.js new file mode 100644 index 00000000..f807ded3 --- /dev/null +++ b/data/scripts/versions/seventh/regular.js @@ -0,0 +1,21 @@ +if (!loadedVersions.includes('seventhRegular')) { + loadedVersions.push('seventhRegular') + loadFrameImages([ + ['White Frame', 'data/images/seventh/seventhFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Blue Frame', 'data/images/seventh/seventhFrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Black Frame', 'data/images/seventh/seventhFrameB.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Red Frame', 'data/images/seventh/seventhFrameR.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Green Frame', 'data/images/seventh/seventhFrameG.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Multicolored Frame', 'data/images/seventh/seventhFrameM.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Artifact Frame', 'data/images/seventh/seventhFrameA.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['White Land Frame', 'data/images/seventh/seventhFrameWL.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Blue Land Frame', 'data/images/seventh/seventhFrameUL.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Black Land Frame', 'data/images/seventh/seventhFrameBL.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Red Land Frame', 'data/images/seventh/seventhFrameRL.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Green Land Frame', 'data/images/seventh/seventhFrameGL.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Land Frame', 'data/images/seventh/seventhFrameCL.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']], + ['Foil Stamp', 'data/images/seventh/seventhFoilStamp.png', 81/744, 867/1039, 300/744, 115/1039, ['Full']] + ], 'frameClassSeventhRegular') +} + +hideFrameImages('frameClassSeventhRegular') \ No newline at end of file diff --git a/data/scripts/versions/seventh/version.js b/data/scripts/versions/seventh/version.js new file mode 100644 index 00000000..51f09d19 --- /dev/null +++ b/data/scripts/versions/seventh/version.js @@ -0,0 +1,52 @@ +if (!loadedVersions.includes('seventh')) { + loadedVersions.push('seventh') + loadMaskImages([['Border (seventh)', 'data/images/seventh/seventhMaskBorder.png'], ['Pinline (seventh)', 'data/images/seventh/seventhMaskPinline.png'], ['Rules (seventh)', 'data/images/seventh/seventhMaskRules.png'], ['Frame (seventh)', 'data/images/seventh/seventhMaskFrame.png']]) +} + +if (currentVersion != 'seventh') { + currentVersion = 'seventh' + + loadTextOptions([ + new cardText('Card Title', '', 165/1500, 162/2100, 1170/1500, 84/2100, 'goudymedieval', 85/2100, 'white', ['oneLine=true','shadow=' + scaleY(4/2100)]), + new cardText('Card Type', '', 165/1500, 1228/2100, 1170/1500, 66/2100, 'mplantin', 67/2100, 'white', ['oneLine=true','shadow=' + scaleY(4/2100)]), + new cardText('Rules Text', '', 196/1500, 1327/2100, 1112/1500, 590/2100, 'mplantin', 73/2100, 'black'), + new cardText('Power/Toughness', '', 1190/1500, 1969/2100, 230/1500, 78/2100, 'mplantin', 95/2100, 'white', ['oneLine=true,textAlign="center"','shadow=' + scaleY(2/2100)]) + ]) + + artX = scaleX(177 / 1500) + artY = scaleY(206 / 2100) + artWidth = scaleX(1144 / 1500) + artHeight = scaleY(934 / 2100) + + manaCostXPath = '1306 - 83 * manaSymbolIndex' + manaCostYPath = '99' + manaCostDiameter = '72' + manaCostShadowOffset = '[0, 0]' + manaCostDirection = 'reverse' + + setSymbolX = [scaleX(1337/1500), 'right'] + setSymbolY = [scaleY(1209/2100), 'center'] + setSymbolWidth = scaleX(180/1500) + setSymbolHeight = scaleY(80/2100) + + watermarkX = scaleX(0.5) + watermarkY = scaleY(1630/2100) + watermarkWidth = scaleX(1140/1500) + watermarkHeight = scaleY(484/2100) + + bottomInfoFunction = 'bottomInfoSeventh' + + bottomInfoUpdated() +} + +loadFramePackOptions([['regular', 'Regular']]) + +function bottomInfoSeventh() { + bottomInfoContext.clearRect(0, 0, cardWidth, cardHeight) + writeText( + [ + {text: '{center}Illus: ' + document.getElementById('inputInfoArtist').value, x: 92/1500, y: 1929/2100, width: 1316/1500, height: 59/2100, font: 'mplantin', fontSize: 59/2100, fontColor: 'white', otherParameters: ['oneLine=true','shadow=' + scaleY(4/2100)]}, + {text: '{center}\u2122 & \u00a9 ' + date.getFullYear() + ' Wizards of the Coast', x: 92/1500, y: 1972/2100, width: 1316/1500, height: 36/2100, font: 'mplantin', fontSize: 36/2100, fontColor: 'white', otherParameters: ['oneLine=true','shadow=' + scaleY(4/2100)]}, + {text: '{center}*Not for Sale* CardConjurer.com', x: 92/1500, y: 2005/2100, width: 1316/1500, height: 30/2100, font: 'mplantin', fontSize: 30/2100, fontColor: 'white', otherParameters: ['oneLine=true','shadow=' + scaleY(4/2100)]}, + ], bottomInfoContext) +} \ No newline at end of file diff --git a/data/scripts/versions/storybook/regular.js b/data/scripts/versions/storybook/regular.js new file mode 100644 index 00000000..c642ef39 --- /dev/null +++ b/data/scripts/versions/storybook/regular.js @@ -0,0 +1,13 @@ +if (!loadedVersions.includes('storybookRegular')) { + loadedVersions.push('storybookRegular') + loadFrameImages([ + ['White Frame', 'data/images/storybook/storybookFrameW.png', 0, 0, 1, 1, ['Full']], + ['Blue Frame', 'data/images/storybook/storybookFrameU.png', 0, 0, 1, 1, ['Full']], + ['Black Frame', 'data/images/storybook/storybookFrameB.png', 0, 0, 1, 1, ['Full']], + ['Red Frame', 'data/images/storybook/storybookFrameR.png', 0, 0, 1, 1, ['Full']], + ['Green Frame', 'data/images/storybook/storybookFrameG.png', 0, 0, 1, 1, ['Full']], + ['Colorless Frame', 'data/images/storybook/storybookFrameC.png', 0, 0, 1, 1, ['Full']] + ], 'frameClassStorybookRegular') +} + +hideFrameImages('frameClassStorybookRegular') \ No newline at end of file diff --git a/data/scripts/versions/storybook/version.js b/data/scripts/versions/storybook/version.js new file mode 100644 index 00000000..d0d620b1 --- /dev/null +++ b/data/scripts/versions/storybook/version.js @@ -0,0 +1,62 @@ + +if (!loadedVersions.includes('storybook')) { + loadedVersions.push('storybook') + // loadMaskImages([['Storybook Right Half', 'data/images/storybook/maskStorybookRightHalf.png']]) +} + +if (currentVersion != 'storybook') { + currentVersion = 'storybook' + + loadTextOptions([ + new cardText('Card Title', '', 222/1500, 187/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'black', ['oneLine=true']), + new cardText('Card Type', '', 345/1500, 1268/2100, 1248/1500, 68/2100, 'belerenb', 68/2100, 'black', ['oneLine=true']), + new cardText('Rules Text', '', 124/1500, 1348/2100, 600/1500, 624/2100, 'mplantin', 74/2100, 'black'), + new cardText('Rules Text (Right)', '', 780/1500, 1348/2100, 600/1500, 624/2100, 'mplantin', 74/2100, 'black'), + new cardText('Power/Toughness', '', 1190/1500, 1950/2100, 210/1500, 78/2100, 'belerenbsc', 78/2100, 'black', ['oneLine=true,textAlign="center"']) + ]) + + artX = scaleX(50/1500) + artY = scaleY(54/2100) + artWidth = scaleX(1405/1500) + artHeight = scaleY(1175/2100) + + manaCostXPath = '1316 - 78 * manaSymbolIndex' + manaCostYPath = '121' + manaCostDiameter = '70' + manaCostShadowOffset = '[-2, 6]' + manaCostDirection = 'reverse' + + setSymbolX = [scaleX(1328/1500), 'center'] + setSymbolY = [scaleY(1245/2100), 'center'] + setSymbolWidth = scaleX(74/1500) + setSymbolHeight = scaleY(74/2100) + + watermarkX = scaleX(0.5) + watermarkY = scaleY(1630/2100) + watermarkWidth = scaleX(1140/1500) + watermarkHeight = scaleY(484/2100) + + bottomInfoFunction = 'bottomInfoStorybook' + + bottomInfoUpdated() +} + +loadFramePackOptions([['regular', 'Regular']]) + +function bottomInfoStorybook() { + bottomInfoContext.clearRect(0, 0, cardWidth, cardHeight) + var ptBoxShift = 0 + for (var i = 0; i < cardTextList.length; i++) { + if (cardTextList[i].name == 'Power/Toughness' && cardTextList[i].text != '') { + ptBoxShift = 36/2100 + } + } + writeText( + [ + {text: document.getElementById('inputInfoSet').value + '{right' + scaleX(0.005) + '}\u2605{right' + scaleX(0.005) + '}' + document.getElementById('inputInfoLanguage').value + ' {saveTextX}{artistbrush}{fontbelerenbsc}' + document.getElementById('inputInfoArtist').value, x: 97/1500, y: 2036/2100, width: 1306/1500, height: 36/2100, font: 'gothammedium', fontSize: 36/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: document.getElementById('inputInfoNumber').value + '{loadTextX}' + document.getElementById('inputInfoRarity').value, x: 97/1500, y: 2000/2100, width: 1306/1500, height: 36/2100, font: 'gothammedium', fontSize: 36/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: '{right}\u2122 & \u00a9 ' + date.getFullYear() + ' Wizards of the Coast', x: 97/1500, y: 2000/2100 + ptBoxShift, width: 1306/1500, height: 35/2100, font: 'mplantin', fontSize: 35/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: 'NOT FOR SALE', x: 97/1500, y: 2066/2100, width: 1306/1500, height: 30/2100, font: 'gothammedium', fontSize: 30/2100, fontColor: 'white', otherParameters: ['oneLine=true']}, + {text: '{right}CardConjurer.com', x: 97/1500, y: 2030/2100 + ptBoxShift, width: 1306/1500, height: 30/2100, font: 'mplantin', fontSize: 30/2100, fontColor: 'white', otherParameters: ['oneLine=true']} + ], bottomInfoContext) +} \ No newline at end of file diff --git a/index.html b/index.html index deee2032..b96ba353 100644 --- a/index.html +++ b/index.html @@ -37,11 +37,28 @@
Watermark
Collector
Import
-
Advanced
+
+
+ Select a frame version:
+ +
+
+ Load a frame pack:
+ +
@@ -250,7 +267,7 @@
- +