diff --git a/data/borders/miniPlane/artMask.png b/data/borders/miniPlane/artMask.png new file mode 100644 index 00000000..8f85ffde Binary files /dev/null and b/data/borders/miniPlane/artMask.png differ diff --git a/data/borders/miniPlane/border.js b/data/borders/miniPlane/border.js new file mode 100644 index 00000000..73c6dac0 --- /dev/null +++ b/data/borders/miniPlane/border.js @@ -0,0 +1,78 @@ +//============================================// +// Miniplane Border // +//============================================// +//General Booleans +cardData.miracle = false +cardData.nyx = false +cardData.legendary = false +cardData.creature = false +cardData.rulesBox = false +cardData.pinline = false +cardData.titleTypeBoxes = false +cardData.rareStamp = false +//Specific Values +cardData.manaSymbolDirection = "none" +cardData.titleAlignment = "center" +cardData.titleX = cardWidth / 2 +cardData.titleY = cheight(95) +cardData.titleFontSize = cwidth(42) +cardData.titleRight = cwidth(1000) +cardData.typeAlignment = "center" +cardData.typeX = cardWidth / 2 +cardData.typeY = cheight(735) +cardData.typeFontSize = cwidth(32) +cardData.textX = cwidth(105) +cardData.textY = cheight(780) +cardData.textRight = cwidth(660) +cardData.setSymbolY = cheight(727) +cardData.setSymbolWidth = cwidth(55) +cardData.setSymbolHeight = cheight(33) +cardData.setSymbolX = cwidth(582) +cardData.watermarkWidth = cwidth(660) +cardData.watermarkHeight = cheight(210) +cardData.watermarkY = cheight(864) +cardData.cardArtX = cwidth(28) +cardData.cardArtY = cheight(46) +cardData.bottomInfoFunction = "bottomInfoPlanechase" +//Images +imgArtMask.load("data/borders/miniplane/imgArtMask.png") +imgFrameMask.load("data/borders/miniplane/imgFrameMask.png") +imgBorderMask.load("data/borders/miniplane/imgBorderMask.png") +//Loads the Colors +loadColors("white-White") +//Runs the things! +sectionTextFunction() +sectionFrameFunction() +sectionOtherFunction() + +function bottomInfoPlanechase() { + var infoNumber = document.getElementById("inputInfoNumber").value + var infoRarity = document.getElementById("inputInfoRarity").value + var infoSet = document.getElementById("inputInfoSet").value + var infoLanguage = document.getElementById("inputInfoLanguage").value + var infoArtist = document.getElementById("inputInfoArtist").value + var infoCopyright = "CC \u2014 " + document.getElementById("inputInfoCopyright").value + if (infoCopyright == "CC \u2014 secretcode") { + var date = new Date() + var year = date.getFullYear() + infoCopyright = "\u2122 & \u00a9 " + year + " Wizards of the Coast" + } else if (infoCopyright == "CC \u2014 ") { + infoCopyright = "" + } + var infoNumberSetLanguage = infoNumber + " " + infoSet + " \u00b7 " + infoLanguage + " " + textContext.fillStyle = "white" + textContext.font = cheight(15) + "px gothammedium" + var infoNumberSetLanguageWidth = textContext.measureText(infoNumberSetLanguage).width + textContext.font = cheight(16) + "px mplantin" + var infoCopyrightWidth = textContext.measureText(infoCopyright).width + var bottomLineStart = cardWidth / 2 - (infoNumberSetLanguageWidth + infoCopyrightWidth) / 2 + textContext.fillText(infoCopyright, bottomLineStart + infoNumberSetLanguageWidth, cheight(1029)) + textContext.font = cheight(15) + "px gothammedium" + textContext.fillText(infoNumberSetLanguage, bottomLineStart, cheight(1029)) + textContext.font = cheight(19) + "px belerenbsc" + var infoArtistStart = cardWidth / 2 - (textContext.measureText(infoArtist).width + cwidth(23)) / 2 + imgArtistBrush.load("none", infoArtistStart, cheight(995), cwidth(21), cheight(13)) + textContext.mask(imgArtistBrush, "none", textContext.fillStyle) + textContext.fillText(infoArtist, infoArtistStart + cwidth(23), cheight(1008)) + drawCard() +} \ No newline at end of file diff --git a/data/borders/miniPlane/imgArtMask.png b/data/borders/miniPlane/imgArtMask.png new file mode 100644 index 00000000..ac7f3dbc Binary files /dev/null and b/data/borders/miniPlane/imgArtMask.png differ diff --git a/data/borders/miniPlane/imgBorderMask.png b/data/borders/miniPlane/imgBorderMask.png new file mode 100644 index 00000000..f2b96842 Binary files /dev/null and b/data/borders/miniPlane/imgBorderMask.png differ diff --git a/data/borders/miniPlane/imgFrameMask.png b/data/borders/miniPlane/imgFrameMask.png new file mode 100644 index 00000000..b432110e Binary files /dev/null and b/data/borders/miniPlane/imgFrameMask.png differ diff --git a/data/borders/miniPlane/old.js b/data/borders/miniPlane/old.js new file mode 100644 index 00000000..c9119b37 --- /dev/null +++ b/data/borders/miniPlane/old.js @@ -0,0 +1,90 @@ +//Mini Plane Border +//Anything to do with... +//Loading Images +imgFrameMask.src = borderPath + "frameMask.png" +imgBorderMask.src = borderPath + "borderMask.png" +//Card Size +//Card Title +var titleFont = cardHeight * 0.04 + "px belerenb" //34 +var titleFontSpacing = cardWidth * 0.00014 + "px" //0.15 +var titleX = cardWidth * 0.5000 //522 +var titleY = cardHeight * 0.0614 //46 +var titleAlign = "center" +//Mana Cost +var manaCostRadius = 0 +var manaCostX = 0 +var manaCostY = 0 +//Card Type +var typeFont = cardHeight * 0.03 + "px belerenb" //26 +var typeFontSpacing = "0px" //0 +var typeX = cardWidth * 0.5000 //522 +var typeY = cardHeight * 0.675 //508 +var typeAlign = "center" +//Rules/Flavor Text +var textFont = "px mplantin" +var textFontSpacing = cardWidth * 0.0002 //0.2 +var textX = cardWidth * 0.14 //124 +var textY = cardHeight * 0.7223 //541 +var textWidth = cardWidth * 0.87 //925 +//Set Symbol +var setSymbolY = cardHeight * 0.6929 //519 +var setSymbolRight = cardWidth * 0.776 //814 +var setSymbolWidth = cardWidth * 0.0402 //42 +var setSymbolHeight = cardHeight * 0.0320 //24 +//Watermark +var watermarkWidth = cardWidth * 0.8787 //920 +var watermarkHeight = cardHeight * 0.2000 //150 +var watermarkY = cardHeight * 0.8225 //616 +//Color Options +loadColors("white-Regular") +document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML +document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML +//Other +var creatureBorder = false +var thirdBorder = false +var secondBorder = false +var artX = cardWidth * 0.0316 //33 +var artY = cardHeight * 0.0441 //33 +transparentBorder = true +//With all the new values in place, the program will update it's border images +finishTemplate() +//Any special functions go at the bottom +var uniqueFunctionName = "bottomInfoPlanechase" +function bottomInfoPlanechase() { + card.textAlign = "left" + card.fillStyle = document.getElementById("inputInfoColor").value + var bottomLineFirst = document.getElementById("inputNumber").value + " " + document.getElementById("inputSet").value + " \u00b7 " + document.getElementById("inputLanguage").value + var bottomLineSecond = document.getElementById("inputInfo").value + if (bottomLineSecond != "") { + if (bottomLineSecond == "secretcode") { + var date = new Date() + var year = date.getFullYear() + bottomLineSecond = "\u2122 & \u00a9 " + year + " Wizards of the Coast" + } else { + bottomLineSecond = "CC \u2014 " + document.getElementById("inputInfo").value + } + } + var artist = document.getElementById("inputArtist").value + //Artist + canvas.style.letterSpacing = cardWidth * -0.0002 + "px" //-0.2 + card.font = "20px matrixbsc" //16 + var artistLineWidth = (card.measureText(artist).width + cardWidth * 0.01724) / 2 //18 + imgArtistBrush.imgValues(cardWidth / 2 - artistLineWidth, cardHeight * 0.9455, cardWidth * 0.0285, cardHeight * 0.013) + card.mask("imgArtMask,source-over", imgArtistBrush, card.fillStyle) + card.fillText(artist, cardWidth / 2 - artistLineWidth + cardWidth * 0.028, cardHeight * 0.9445 + textBaselineShift[0] * card.font.split("px")[0]) //18, 710 + //Left and Right side + canvas.style.letterSpacing = "0px" + card.font = cardHeight * 0.016 + "px relaymedium" //14 + var firstWidth = card.measureText(bottomLineFirst).width + cardWidth * 0.0144 //15 + canvas.style.letterSpacing = cardWidth * -0.0007 + "px" //-0.7 + card.font = cardHeight * 0.016 + "px mplantin" //14 + var secondWidth = card.measureText(bottomLineSecond).width + + canvas.style.letterSpacing = "0px" + card.font = cardHeight * 0.016 + "px relaymedium" //14 + card.fillText(bottomLineFirst, cardWidth / 2 - ((secondWidth + firstWidth) / 2) - cardWidth * 0.0077, cardHeight * 0.9666 + textBaselineShift[0] * card.font.split("px")[0]) //8, 724 + + canvas.style.letterSpacing = cardWidth * -0.0007 + "px" //-0.7 + card.font = cardHeight * 0.016 + "px mplantin" //14 + card.fillText(bottomLineSecond, cardWidth / 2 - ((secondWidth + firstWidth) / 2) + firstWidth - cardWidth * 0.0077, cardHeight * 0.9666 + textBaselineShift[0] * card.font.split("px")[0]) //8, 724 +} \ No newline at end of file diff --git a/data/borders/miniPlane/white/frame.png b/data/borders/miniPlane/white/frame.png new file mode 100644 index 00000000..b5b221cb Binary files /dev/null and b/data/borders/miniPlane/white/frame.png differ diff --git a/data/main.js b/data/main.js index 0be5eff6..a6ae13e1 100644 --- a/data/main.js +++ b/data/main.js @@ -44,7 +44,8 @@ var defaultCardData = { cardArtX:cwidth(58), cardArtY:cheight(118), miracle:true, nyx:true, legendary:true, creature:true, rulesBox:true, pinline:true, rareStamp:true, titleTypeBoxes:true, transparency:false, - specialImageA:false, specialImageB:false + specialImageA:false, specialImageB:false, + bottomInfoFunction:"bottomInfoM15" } var cardData = {} Object.assign(cardData, defaultCardData) @@ -613,8 +614,15 @@ function sectionTextFunction() { textContext.fillStyle = document.getElementById("inputCreatureColor").value textContext.fillText(document.getElementById("inputPowerToughness").value, cardData.ptX, cardData.ptY) textContext.textAlign = "left" + } + if (cardData.bottomInfoFunction != "none") { + window[cardData.bottomInfoFunction]() + } else { + drawCard() } - //and all the rest (bottom info stuff) +} + +function bottomInfoM15() { var infoNumber = document.getElementById("inputInfoNumber").value var infoRarity = document.getElementById("inputInfoRarity").value var infoSet = document.getElementById("inputInfoSet").value @@ -653,7 +661,6 @@ function sectionTextFunction() { } textContext.fillText(infoCopyright, 700, copyrightY) textContext.textAlign = "left" - drawCard() } function sectionOtherFunction() { @@ -953,21 +960,27 @@ function getCookie(cookieName) { return ""; } function checkCookies() { - if (getCookie("visited") != "true") { + if (getCookie("visited") != true) { if (isMobile == true) { alert("Thanks for using Card Conjurer! Unfortunately some users have been experiencing difficulty on mobile devices when uploading pictures they took on that mobile device. An easy solution is to quickly edit that picture by cropping it slightly. Otherwise, images from URLs and other sources should work normally.") } else if (isChrome == false) { alert("Thanks for using Card Conjurer! Unfortunately different browsers treat custom fonts differently and it appears that you are using a browser other than Chrome. Everything may work perfectly, but if you notice that the text looks odd try switching to Chrome.") } - setCookie("visited", "true") + setCookie("visited", true) } else { console.log("Welcome back to Card Conjurer!") - } - if (getCookie("updated_1") != "true") { - alert("Card Conjurer has been updated since your last visit. After reworking the system I haven't had time to add all the old border styles back, but feel free to contact me at CardConjurerMTG@gmail.com if you would like to request a border style or have any questions. \r\n\r\nNewest border style: Planeswalker (M15)") - setCookie("updated_1", "true") - } else { - console.log("There are no new updates since your last visit.") + if (getCookie("updated_2") != true) { + alert("Card Conjurer has been updated since your last visit. After reworking the system I haven't had time to add all the old border styles back, but feel free to contact me at CardConjurerMTG@gmail.com if you would like to request a border style or have any questions. \r\n\r\nNewest border style: Mini-Plane") + setCookie("updated_1", true) + } else { + console.log("There are no new updates since your last visit.") + if (getCookie("donationRequest") != true) { + alert("Card Conjurer is now hosted with the custom domain cardconjurer.com! That means that running this website currently costs $10 per year. It's not much, but any donation, even if it's just dollar, would be greatly appreciated :) \r\n\r\nAnyways, thanks for using Card Conjurer! I hope you enjoy making some sweet custom Magic cards!") + setCookie("donationRequest", true) + } else { + console.log("I hope you enjoy making custom cards!") + } + } } } @@ -990,9 +1003,9 @@ loadScript("data/other/setCodeList.js") setTimeout(function(){sectionTextFunction()}, 250) setTimeout(function(){sectionTextFunction()}, 500) setTimeout(function(){sectionTextFunction()}, 1000) -//Only for working on frames n' stuff :) +// Only for working on frames n' stuff :) // setTimeout(function(){ -// document.getElementById("inputCardVersion").value = "planeswalker" +// document.getElementById("inputCardVersion").value = "miniplane" // document.getElementById("inputCardVersion").onchange() // }, 500) diff --git a/index.html b/index.html index 9e5df2ac..b09e62dd 100644 --- a/index.html +++ b/index.html @@ -89,6 +89,7 @@