diff --git a/data/borders/8th/artifact/frame.png b/data/borders/8th/artifact/frame.png deleted file mode 100644 index 67c086bc..00000000 Binary files a/data/borders/8th/artifact/frame.png and /dev/null differ diff --git a/data/borders/8th/artifact/pt.png b/data/borders/8th/artifact/pt.png deleted file mode 100644 index 7d3ea5ea..00000000 Binary files a/data/borders/8th/artifact/pt.png and /dev/null differ diff --git a/data/borders/8th/black/frame.png b/data/borders/8th/black/frame.png deleted file mode 100644 index 3b2b6f76..00000000 Binary files a/data/borders/8th/black/frame.png and /dev/null differ diff --git a/data/borders/8th/black/pt.png b/data/borders/8th/black/pt.png deleted file mode 100644 index 3986f67e..00000000 Binary files a/data/borders/8th/black/pt.png and /dev/null differ diff --git a/data/borders/8th/blackLand/frame.png b/data/borders/8th/blackLand/frame.png deleted file mode 100644 index a5afcc6a..00000000 Binary files a/data/borders/8th/blackLand/frame.png and /dev/null differ diff --git a/data/borders/8th/blackLand/pt.png b/data/borders/8th/blackLand/pt.png deleted file mode 100644 index 1ef01a2c..00000000 Binary files a/data/borders/8th/blackLand/pt.png and /dev/null differ diff --git a/data/borders/8th/blue/frame.png b/data/borders/8th/blue/frame.png deleted file mode 100644 index a2a37edf..00000000 Binary files a/data/borders/8th/blue/frame.png and /dev/null differ diff --git a/data/borders/8th/blue/pt.png b/data/borders/8th/blue/pt.png deleted file mode 100644 index 37a36475..00000000 Binary files a/data/borders/8th/blue/pt.png and /dev/null differ diff --git a/data/borders/8th/blueLand/frame.png b/data/borders/8th/blueLand/frame.png deleted file mode 100644 index ec1c46ff..00000000 Binary files a/data/borders/8th/blueLand/frame.png and /dev/null differ diff --git a/data/borders/8th/blueLand/pt.png b/data/borders/8th/blueLand/pt.png deleted file mode 100644 index 349d2daf..00000000 Binary files a/data/borders/8th/blueLand/pt.png and /dev/null differ diff --git a/data/borders/8th/border.js b/data/borders/8th/border.js deleted file mode 100644 index 65d3d4d4..00000000 --- a/data/borders/8th/border.js +++ /dev/null @@ -1,59 +0,0 @@ -imgMultiMask.src = borderPath + "multiMask.png" -imgFrameMask.src = borderPath + "frameMask.png" -imgBorderMask.src = borderPath + "frameMask.png" - -var titleFont = "44px matrixb" -var titleFontSpacing = "0.5px" -var titleX = 66 -var titleY = 62 - -var manaCostRadius = 16.5 -var manaCostX = 652 -var manaCostY = 68 - -var typeFont = "37.5px matrixb" -var typeFontSpacing = "0px" -var typeX = 74 -var typeY = 598 - -var textFont = "px mplantin" -var textFontSpacing = 1.2 -var textX = 76 -var textY = 656 -var textWidth = 680 - -var ptFont = "bold 48px matrix" -var ptFontSpacing = "0.3px" -var ptTextX = 626 -var ptTextY = 936 -imgBorderCreature.imgValues(541, 920.5, 162, 84) - -var infoY = 956 - -var setSymbolY = 615 -var setSymbolRight = 689 -var setSymbolWidth = 77 -var setSymbolHeight = 44 - -var watermarkWidth = 520 -var watermarkHeight = 208 -var watermarkY = 796 - -var rareStampY = 958 - -loadColors("white-White,whiteLand-White Land,blue-Blue,blueLand-Blue Land,black-Black,blackLand-Black Land,red-Red,redLand-Red Land,green-Green,greenLand-Green Land,gold-Gold,goldLand-Gold Land,colorless-Colorless,colorlessLand-Colorless Land,artifact-Artifact,oldArtifact-Old Artifact,oldGold-Old Gold,oldGoldLand-Old Gold Land") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML - -finishTemplate() - -var uniqueFunctionName = "bottomInfo8th" -function bottomInfo8th() { - card.fillStyle = document.getElementById("inputInfoColor").value - canvas.style.letterSpacing = "1px" - card.font = "25px matrixb" - card.fillText(document.getElementById("inputArtist").value, 116, infoY + textBaselineShift[0] * card.font.split("px")[0]) - canvas.style.letterSpacing = "0.5px" - card.font = "16px mplantin" - card.fillText("CC \u2014 " + document.getElementById("inputInfo").value + " " + document.getElementById("inputNumber").value, 62, infoY + 31 + textBaselineShift[0] * card.font.split("px")[0]) -} \ No newline at end of file diff --git a/data/borders/8th/colorless/frame.png b/data/borders/8th/colorless/frame.png deleted file mode 100644 index 19114cc9..00000000 Binary files a/data/borders/8th/colorless/frame.png and /dev/null differ diff --git a/data/borders/8th/colorless/pt.png b/data/borders/8th/colorless/pt.png deleted file mode 100644 index fea0fc61..00000000 Binary files a/data/borders/8th/colorless/pt.png and /dev/null differ diff --git a/data/borders/8th/colorlessLand/frame.png b/data/borders/8th/colorlessLand/frame.png deleted file mode 100644 index e1d5614a..00000000 Binary files a/data/borders/8th/colorlessLand/frame.png and /dev/null differ diff --git a/data/borders/8th/colorlessLand/pt.png b/data/borders/8th/colorlessLand/pt.png deleted file mode 100644 index 5ce32cf2..00000000 Binary files a/data/borders/8th/colorlessLand/pt.png and /dev/null differ diff --git a/data/borders/8th/frameMask.png b/data/borders/8th/frameMask.png deleted file mode 100644 index 19e3a19b..00000000 Binary files a/data/borders/8th/frameMask.png and /dev/null differ diff --git a/data/borders/8th/gold/frame.png b/data/borders/8th/gold/frame.png deleted file mode 100644 index caa882c8..00000000 Binary files a/data/borders/8th/gold/frame.png and /dev/null differ diff --git a/data/borders/8th/gold/pt.png b/data/borders/8th/gold/pt.png deleted file mode 100644 index 30ecf816..00000000 Binary files a/data/borders/8th/gold/pt.png and /dev/null differ diff --git a/data/borders/8th/goldLand/frame.png b/data/borders/8th/goldLand/frame.png deleted file mode 100644 index 83ce862a..00000000 Binary files a/data/borders/8th/goldLand/frame.png and /dev/null differ diff --git a/data/borders/8th/goldLand/pt.png b/data/borders/8th/goldLand/pt.png deleted file mode 100644 index 49f93bdc..00000000 Binary files a/data/borders/8th/goldLand/pt.png and /dev/null differ diff --git a/data/borders/8th/green/frame.png b/data/borders/8th/green/frame.png deleted file mode 100644 index 6fd1a832..00000000 Binary files a/data/borders/8th/green/frame.png and /dev/null differ diff --git a/data/borders/8th/green/pt.png b/data/borders/8th/green/pt.png deleted file mode 100644 index efa2ca79..00000000 Binary files a/data/borders/8th/green/pt.png and /dev/null differ diff --git a/data/borders/8th/greenLand/frame.png b/data/borders/8th/greenLand/frame.png deleted file mode 100644 index 5528cc8c..00000000 Binary files a/data/borders/8th/greenLand/frame.png and /dev/null differ diff --git a/data/borders/8th/greenLand/pt.png b/data/borders/8th/greenLand/pt.png deleted file mode 100644 index 24739e45..00000000 Binary files a/data/borders/8th/greenLand/pt.png and /dev/null differ diff --git a/data/borders/8th/multiMask.png b/data/borders/8th/multiMask.png deleted file mode 100644 index ec65fc43..00000000 Binary files a/data/borders/8th/multiMask.png and /dev/null differ diff --git a/data/borders/8th/oldArtifact/frame.png b/data/borders/8th/oldArtifact/frame.png deleted file mode 100644 index df1cb5e3..00000000 Binary files a/data/borders/8th/oldArtifact/frame.png and /dev/null differ diff --git a/data/borders/8th/oldArtifact/pt.png b/data/borders/8th/oldArtifact/pt.png deleted file mode 100644 index 2ca39017..00000000 Binary files a/data/borders/8th/oldArtifact/pt.png and /dev/null differ diff --git a/data/borders/8th/oldGold/frame.png b/data/borders/8th/oldGold/frame.png deleted file mode 100644 index 86aa4d23..00000000 Binary files a/data/borders/8th/oldGold/frame.png and /dev/null differ diff --git a/data/borders/8th/oldGold/pt.png b/data/borders/8th/oldGold/pt.png deleted file mode 100644 index 9751565f..00000000 Binary files a/data/borders/8th/oldGold/pt.png and /dev/null differ diff --git a/data/borders/8th/oldGoldLand/frame.png b/data/borders/8th/oldGoldLand/frame.png deleted file mode 100644 index a1af70f5..00000000 Binary files a/data/borders/8th/oldGoldLand/frame.png and /dev/null differ diff --git a/data/borders/8th/oldGoldLand/pt.png b/data/borders/8th/oldGoldLand/pt.png deleted file mode 100644 index 35522deb..00000000 Binary files a/data/borders/8th/oldGoldLand/pt.png and /dev/null differ diff --git a/data/borders/8th/red/frame.png b/data/borders/8th/red/frame.png deleted file mode 100644 index 26fbbf6f..00000000 Binary files a/data/borders/8th/red/frame.png and /dev/null differ diff --git a/data/borders/8th/red/pt.png b/data/borders/8th/red/pt.png deleted file mode 100644 index f0e74699..00000000 Binary files a/data/borders/8th/red/pt.png and /dev/null differ diff --git a/data/borders/8th/redLand/frame.png b/data/borders/8th/redLand/frame.png deleted file mode 100644 index 32ff7836..00000000 Binary files a/data/borders/8th/redLand/frame.png and /dev/null differ diff --git a/data/borders/8th/redLand/pt.png b/data/borders/8th/redLand/pt.png deleted file mode 100644 index c6f28566..00000000 Binary files a/data/borders/8th/redLand/pt.png and /dev/null differ diff --git a/data/borders/8th/white/frame.png b/data/borders/8th/white/frame.png deleted file mode 100644 index 54848150..00000000 Binary files a/data/borders/8th/white/frame.png and /dev/null differ diff --git a/data/borders/8th/white/pt.png b/data/borders/8th/white/pt.png deleted file mode 100644 index b590aaad..00000000 Binary files a/data/borders/8th/white/pt.png and /dev/null differ diff --git a/data/borders/8th/whiteLand/frame.png b/data/borders/8th/whiteLand/frame.png deleted file mode 100644 index e0624451..00000000 Binary files a/data/borders/8th/whiteLand/frame.png and /dev/null differ diff --git a/data/borders/8th/whiteLand/pt.png b/data/borders/8th/whiteLand/pt.png deleted file mode 100644 index 1926e34b..00000000 Binary files a/data/borders/8th/whiteLand/pt.png and /dev/null differ diff --git a/data/borders/contraption/artMask.png b/data/borders/contraption/artMask.png deleted file mode 100644 index 4a9e9c50..00000000 Binary files a/data/borders/contraption/artMask.png and /dev/null differ diff --git a/data/borders/contraption/border.js b/data/borders/contraption/border.js deleted file mode 100644 index 4554d7c9..00000000 --- a/data/borders/contraption/border.js +++ /dev/null @@ -1,58 +0,0 @@ -//Contraption Border -//Anything to do with... -//Loading Images -imgFrameMask.src = borderPath + "frameMask.png" -//Card Title -var titleFont = "40px belerenb" //40 -var titleFontSpacing = "0.15px" //0.15 -var titleX = 62 //62 -var titleY = 56 //56 + 6 -//Mana Cost -var manaCostRadius = 17.5 //17.5 -var manaCostX = 658 //657 -var manaCostY = 54 //59 -//Card Type -var typeFont = "33.5px belerenb" //33.5 -var typeFontSpacing = "-0.4px" //0.05 -var typeX = 62 //62 -var typeY = 647 //595 + 6 -//Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = 0.7 //0.7 -var textX = 66 //66 -var textY = 705 //656 + 6 -var textWidth = 682 //682 -//Power Toughness -var ptFont = "39px belerenb" //39 -var ptFontSpacing = "0.3px" //0.3 -var ptTextX = 645 //645 -var ptTextY = 942 //936 + 6 -imgBorderCreature.imgValues(571, 929, 137, 75) -//Bottom Info -var infoY = 996 //993 + 6 -//Set Symbol -var setSymbolY = 662 //616 -var setSymbolRight = 688 //693 -var setSymbolWidth = 84 //77 -var setSymbolHeight = 42 //44 -//Watermark -var watermarkWidth = 78 //520 -var watermarkHeight = 78 //250 -var watermarkY = 914 //805 -var watermarkX = 668 -//Rare Stamp -var rareStampY = 958 //958 -//Color Options -loadColors("white-White") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -//Things The Card Can Do -var creatureBorder = false -var thirdBorder = false -var secondBorder = false -var artX = 0 -var artY = 0 -//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 = "bottomInfoM15" \ No newline at end of file diff --git a/data/borders/contraption/frameMask.png b/data/borders/contraption/frameMask.png deleted file mode 100644 index b4ff16ac..00000000 Binary files a/data/borders/contraption/frameMask.png and /dev/null differ diff --git a/data/borders/contraption/white/frame.png b/data/borders/contraption/white/frame.png deleted file mode 100644 index 8ec07b36..00000000 Binary files a/data/borders/contraption/white/frame.png and /dev/null differ diff --git a/data/borders/defaultBorder.js b/data/borders/defaultBorder.js deleted file mode 100644 index c351d1a7..00000000 --- a/data/borders/defaultBorder.js +++ /dev/null @@ -1,39 +0,0 @@ -//Default Border -//Fixes images -imgMultiGradient.src = "data/borders/multiGradient.png" -//card size -var cardWidth = 749 -var cardHeight = 1044 -document.getElementsByClassName("mainGrid")[0].classList.remove("plane") -//Sets the correct values to anything that may have been changed from an out of the ordinary border -var planechaseInfo = false -var legendaryBorder = false -var nyxBorder = false -var miracleBorder = false -var stampBorder = false -var flipBorder = false -var creatureBorder = true -var thirdBorder = true -var secondBorder = true -var transparentBorder = false -var artifactBorder = false -//Shifted text -titleRightShift = 0 -typeRightShift = 0 -//Aligned text -var titleAlign = "left" -var typeAlign = "left" -var italicSize = 1 -//Regular font colors -document.getElementById("inputTitleColor").value = "#000000" -document.getElementById("inputTypeColor").value = "#000000" -document.getElementById("inputRulesColor").value = "#000000" -document.getElementById("inputCreatureColor").value = "#000000" -//Image alignment -var watermarkX = cardWidth / 2 -var centerSetSymbol = 1 //1=not centered, 2=centered -var artX = 58 -var artY = 118 -//Loads the correct border data -borderPath = "data/borders/" + document.getElementById("borderSelection").value -loadScript(borderPath + "border.js") \ No newline at end of file diff --git a/data/borders/fullArtLandM15/artMask.png b/data/borders/fullArtLandM15/artMask.png deleted file mode 100644 index a4d6568d..00000000 Binary files a/data/borders/fullArtLandM15/artMask.png and /dev/null differ diff --git a/data/borders/fullArtLandM15/border.js b/data/borders/fullArtLandM15/border.js index c96f4d38..eb135f58 100644 --- a/data/borders/fullArtLandM15/border.js +++ b/data/borders/fullArtLandM15/border.js @@ -1,55 +1,30 @@ -//Regular Full Art Basic Land Border -//Anything to do with... -//Loading Images -imgFrameMask.src = borderPath + "frameMask.png" -imgBorderMask.src = borderPath + "borderMask.png" -//Card Title -var titleFont = "40px belerenb" //40 -var titleFontSpacing = "0.15px" //0.15 -var titleX = 62 //62 -var titleY = 61 //56 + 6 -//Mana Cost -var manaCostRadius = 17.5 //17.5 -var manaCostX = 658 //657 -var manaCostY = 59 //59 -//Card Type -var typeFont = "33.5px belerenb" //33.5 -var typeFontSpacing = "0.05px" //0.05 -var typeX = 60 //60 -var typeY = 868 //868 -//Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = 0.7 -var textX = 89 -var textY = 123 -var textWidth = 660 -//Power Toughness -var ptFont = "39px belerenb" //39 -var ptFontSpacing = "0.3px" //0.3 -var ptTextX = 645 //645 -var ptTextY = 939 //939 -imgBorderCreature.imgValues(571, 926, 137, 75) -//Bottom Info -var infoY = 999 //999 -//Set Symbol -var setSymbolY = 886 //616 -var setSymbolRight = 686 //693 -var setSymbolWidth = 84 //77 -var setSymbolHeight = 42 //44 -//Watermark -var watermarkWidth = 108 -var watermarkHeight = 108 -var watermarkY = 880 -//Color Options +//============================================// +// Full Art Land M15 Border // +//============================================// +//General Booleans +cardData.miracle = false +cardData.nyx = false +cardData.legendary = false +cardData.creature = false +cardData.rulesBox = false +cardData.rareStamp = false +//Specific Values +cardData.cardArtX = 60 +cardData.cardArtY = 120 +cardData.typeY = cheight(903) +cardData.setSymbolY = cheight(893) +cardData.watermarkY = cheight(886) +cardData.watermarkWidth = cwidth(110) +cardData.watermarkHeight = cheight(110) +//Images +imgArtMask.load("data/borders/fullArtLandM15/imgArtMask.png") +imgFrameMask.load("data/borders/fullArtLandM15/imgFrameMask.png") +imgPinlineMask.load("data/borders/fullArtLandM15/imgPinlineMask.png") +imgTitleMask.load("data/borders/fullArtLandM15/imgTitleMask.png") +imgTypeMask.load("data/borders/fullArtLandM15/imgTypeMask.png") +//Loads the Colors loadColors("white-White,blue-Blue,black-Black,red-Red,green-Green,gold-Gold,colorless-Colorless") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -//Other -var thirdBorder = false -var creatureBorder = false -var artX = 0 -var artY = 0 -//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 = "bottomInfoM15" \ No newline at end of file +//Runs the things! +sectionTextFunction() +sectionFrameFunction() +sectionOtherFunction() \ No newline at end of file diff --git a/data/borders/fullArtLandM15/borderMask.png b/data/borders/fullArtLandM15/borderMask.png deleted file mode 100644 index 7a08c7e1..00000000 Binary files a/data/borders/fullArtLandM15/borderMask.png and /dev/null differ diff --git a/data/borders/fullArtLandM15/frameMask.png b/data/borders/fullArtLandM15/frameMask.png deleted file mode 100644 index 8d998abd..00000000 Binary files a/data/borders/fullArtLandM15/frameMask.png and /dev/null differ diff --git a/data/borders/8th/artMask.png b/data/borders/fullArtLandM15/imgArtMask.png similarity index 63% rename from data/borders/8th/artMask.png rename to data/borders/fullArtLandM15/imgArtMask.png index 659bc4cf..56e648d1 100644 Binary files a/data/borders/8th/artMask.png and b/data/borders/fullArtLandM15/imgArtMask.png differ diff --git a/data/borders/tokenTall/artMask.png b/data/borders/fullArtLandM15/imgFrameMask.png similarity index 52% rename from data/borders/tokenTall/artMask.png rename to data/borders/fullArtLandM15/imgFrameMask.png index f4ddfce5..b6ec226f 100644 Binary files a/data/borders/tokenTall/artMask.png and b/data/borders/fullArtLandM15/imgFrameMask.png differ diff --git a/data/borders/tokenTall/multiMask.png b/data/borders/fullArtLandM15/imgPinlineMask.png similarity index 51% rename from data/borders/tokenTall/multiMask.png rename to data/borders/fullArtLandM15/imgPinlineMask.png index 59af247a..14107241 100644 Binary files a/data/borders/tokenTall/multiMask.png and b/data/borders/fullArtLandM15/imgPinlineMask.png differ diff --git a/data/borders/tokenText/rulesMask.png b/data/borders/fullArtLandM15/imgTitleMask.png similarity index 81% rename from data/borders/tokenText/rulesMask.png rename to data/borders/fullArtLandM15/imgTitleMask.png index 96f0eed3..7fcf1da7 100644 Binary files a/data/borders/tokenText/rulesMask.png and b/data/borders/fullArtLandM15/imgTitleMask.png differ diff --git a/data/borders/fullArtLandM15/imgTypeMask.png b/data/borders/fullArtLandM15/imgTypeMask.png new file mode 100644 index 00000000..79ffc8cf Binary files /dev/null and b/data/borders/fullArtLandM15/imgTypeMask.png differ diff --git a/data/borders/fullArtLandUnstable/artMask.png b/data/borders/fullArtLandUnstable/artMask.png deleted file mode 100644 index 75f876dc..00000000 Binary files a/data/borders/fullArtLandUnstable/artMask.png and /dev/null differ diff --git a/data/borders/fullArtLandUnstable/border.js b/data/borders/fullArtLandUnstable/border.js index 013378cc..6c96a6d9 100644 --- a/data/borders/fullArtLandUnstable/border.js +++ b/data/borders/fullArtLandUnstable/border.js @@ -1,54 +1,36 @@ -//Unstable Full Art Basic Land Border -//Anything to do with... -//Loading Images -imgFrameMask.src = borderPath + "frameMask.png" -imgBorderMask.src = borderPath + "borderMask.png" -//Card Title +//============================================// +// Full Art Land Unstable Border // +//============================================// +//General Booleans +cardData.miracle = false +cardData.nyx = false +cardData.legendary = false +cardData.creature = false +cardData.rulesBox = false +cardData.titleTypeBoxes = false +cardData.transparency = true +//Specific Values +cardData.cardArtX = 0 +cardData.cardArtY = 0 +cardData.titleAlignment = "center" +cardData.titleX = cardWidth / 2 +cardData.titleY = cheight(48) +cardData.titleRight = cwidth(999) +cardData.manaSymbolDirection = "none" document.getElementById("inputTitleColor").value = "#ffffff" -var titleFont = "40px belerenb" -var titleFontSpacing = "0.1px" -var titleX = cardWidth / 2 -var titleY = 17 -var titleAlign = "center" -//Mana Cost -var manaCostRadius = 17.5 -var manaCostX = 657 -var manaCostY = 17 -//Card Type -var typeFont = "33.5px belerenb" -var typeFontSpacing = "0.05px" -var typeX = cardWidth / 2 -var typeY = 1000 -var typeAlign = "center" -//Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = 0.7 -var textX = 89 -var textY = 123 -var textWidth = 660 -//Bottom Info -var infoY = 999 -//Set Symbol -var setSymbolY = 82 -var setSymbolRight = cardWidth / 2 -var setSymbolWidth = 66 -var setSymbolHeight = 44 -var centerSetSymbol = 2 -//Watermark -var watermarkWidth = 520 -var watermarkHeight = 250 -var watermarkY = 805 -//Color Options +imgRareStamp.load("none", cwidth(329), cheight(949), cwidth(90), cheight(50)) +imgRareStampRight.load("none", cwidth(329), cheight(949), cwidth(90), cheight(50)) +cardData.setSymbolX = cardWidth / 2 +cardData.setSymbolY = cheight(80) +cardData.setSymbolAlignment = "center" +//Images +imgArtMask.load("data/borders/fullArtLandUnstable/imgArtMask.png") +imgBorderMask.load("data/borders/fullArtLandUnstable/imgBorderMask.png") +imgFrameMask.load("data/borders/fullArtLandUnstable/imgFrameMask.png") +imgPinlineMask.load("data/borders/fullArtLandUnstable/imgPinlineMask.png") +//Loads the Colors loadColors("white-White,blue-Blue,black-Black,red-Red,green-Green,gold-Gold,colorless-Colorless") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -//Other -var thirdBorder = false -var creatureBorder = false -var stampBorder = true -var transparentBorder = true -var artX = 0 -var artY = 0 -//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 = "bottomInfoM15" \ No newline at end of file +//Runs the things! +sectionTextFunction() +sectionFrameFunction() +sectionOtherFunction() \ No newline at end of file diff --git a/data/borders/fullArtLandUnstable/borderMask.png b/data/borders/fullArtLandUnstable/borderMask.png deleted file mode 100644 index 7b889bf3..00000000 Binary files a/data/borders/fullArtLandUnstable/borderMask.png and /dev/null differ diff --git a/data/borders/fullArtLandUnstable/frameMask.png b/data/borders/fullArtLandUnstable/frameMask.png deleted file mode 100644 index a2d7e8b5..00000000 Binary files a/data/borders/fullArtLandUnstable/frameMask.png and /dev/null differ diff --git a/data/borders/fullArtLandUnstable/imgArtMask.png b/data/borders/fullArtLandUnstable/imgArtMask.png new file mode 100644 index 00000000..25e0793e Binary files /dev/null and b/data/borders/fullArtLandUnstable/imgArtMask.png differ diff --git a/data/borders/fullArtLandUnstable/imgBorderMask.png b/data/borders/fullArtLandUnstable/imgBorderMask.png new file mode 100644 index 00000000..c86b31c8 Binary files /dev/null and b/data/borders/fullArtLandUnstable/imgBorderMask.png differ diff --git a/data/borders/fullArtLandUnstable/imgFrameMask.png b/data/borders/fullArtLandUnstable/imgFrameMask.png new file mode 100644 index 00000000..d322726b Binary files /dev/null and b/data/borders/fullArtLandUnstable/imgFrameMask.png differ diff --git a/data/borders/fullArtLandUnstable/imgPinlineMask.png b/data/borders/fullArtLandUnstable/imgPinlineMask.png new file mode 100644 index 00000000..dfc09863 Binary files /dev/null and b/data/borders/fullArtLandUnstable/imgPinlineMask.png differ diff --git a/data/borders/fullArtLandUnstable/white/ref.png b/data/borders/fullArtLandUnstable/white/ref.png new file mode 100644 index 00000000..b9d28403 Binary files /dev/null and b/data/borders/fullArtLandUnstable/white/ref.png differ diff --git a/data/borders/artistBrush.png b/data/borders/imgArtistBrush.png similarity index 100% rename from data/borders/artistBrush.png rename to data/borders/imgArtistBrush.png diff --git a/data/borders/bar.png b/data/borders/imgBar.png similarity index 100% rename from data/borders/bar.png rename to data/borders/imgBar.png diff --git a/data/borders/imgBlank.png b/data/borders/imgBlank.png new file mode 100644 index 00000000..fd7ace80 Binary files /dev/null and b/data/borders/imgBlank.png differ diff --git a/data/borders/m15/typeMask.png b/data/borders/imgCornerMask.png similarity index 67% rename from data/borders/m15/typeMask.png rename to data/borders/imgCornerMask.png index f05d77a3..49c14785 100644 Binary files a/data/borders/m15/typeMask.png and b/data/borders/imgCornerMask.png differ diff --git a/data/borders/foil.png b/data/borders/imgFoil.png similarity index 100% rename from data/borders/foil.png rename to data/borders/imgFoil.png diff --git a/data/borders/multiGradient.png b/data/borders/imgMultiGradient.png similarity index 100% rename from data/borders/multiGradient.png rename to data/borders/imgMultiGradient.png diff --git a/data/borders/rareStamp.png b/data/borders/imgStamp.png similarity index 100% rename from data/borders/rareStamp.png rename to data/borders/imgStamp.png diff --git a/data/borders/imgWhite.png b/data/borders/imgWhite.png new file mode 100644 index 00000000..dc5a130e Binary files /dev/null and b/data/borders/imgWhite.png differ diff --git a/data/borders/m15/artMask.png b/data/borders/m15/artMask.png deleted file mode 100644 index 734998f1..00000000 Binary files a/data/borders/m15/artMask.png and /dev/null differ diff --git a/data/borders/m15/artifact/darkmiracle.png b/data/borders/m15/artifact/darkmiracle.png deleted file mode 100644 index 2380e626..00000000 Binary files a/data/borders/m15/artifact/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/artifact/darkpt.png b/data/borders/m15/artifact/darkpt.png deleted file mode 100644 index 1ed50325..00000000 Binary files a/data/borders/m15/artifact/darkpt.png and /dev/null differ diff --git a/data/borders/m15/artifact/flipCircle.png b/data/borders/m15/artifact/flipCircle.png deleted file mode 100644 index af3a0d2a..00000000 Binary files a/data/borders/m15/artifact/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/artifact/flipTip.png b/data/borders/m15/artifact/flipTip.png deleted file mode 100644 index 279dd50c..00000000 Binary files a/data/borders/m15/artifact/flipTip.png and /dev/null differ diff --git a/data/borders/m15/artifact/flippedDark.png b/data/borders/m15/artifact/flippedDark.png deleted file mode 100644 index 8c93c024..00000000 Binary files a/data/borders/m15/artifact/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/black/darkmiracle.png b/data/borders/m15/black/darkmiracle.png deleted file mode 100644 index d03807c8..00000000 Binary files a/data/borders/m15/black/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/black/darkpt.png b/data/borders/m15/black/darkpt.png deleted file mode 100644 index 273ecca8..00000000 Binary files a/data/borders/m15/black/darkpt.png and /dev/null differ diff --git a/data/borders/m15/black/flipCircle.png b/data/borders/m15/black/flipCircle.png deleted file mode 100644 index 7f191549..00000000 Binary files a/data/borders/m15/black/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/black/flipTip.png b/data/borders/m15/black/flipTip.png deleted file mode 100644 index 5e85eb26..00000000 Binary files a/data/borders/m15/black/flipTip.png and /dev/null differ diff --git a/data/borders/m15/black/flippedDark.png b/data/borders/m15/black/flippedDark.png deleted file mode 100644 index cbeca040..00000000 Binary files a/data/borders/m15/black/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/black/miracle.png b/data/borders/m15/black/miracle.png index cdba9415..5855c9aa 100644 Binary files a/data/borders/m15/black/miracle.png and b/data/borders/m15/black/miracle.png differ diff --git a/data/borders/m15/black/nyx.png b/data/borders/m15/black/nyx.png index b8a6cac7..5cf62019 100644 Binary files a/data/borders/m15/black/nyx.png and b/data/borders/m15/black/nyx.png differ diff --git a/data/borders/m15/black/stamp.png b/data/borders/m15/black/stamp.png index b350817d..eb8a2458 100644 Binary files a/data/borders/m15/black/stamp.png and b/data/borders/m15/black/stamp.png differ diff --git a/data/borders/m15/blackLand/darkmiracle.png b/data/borders/m15/blackLand/darkmiracle.png deleted file mode 100644 index c563381b..00000000 Binary files a/data/borders/m15/blackLand/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/blackLand/darkpt.png b/data/borders/m15/blackLand/darkpt.png deleted file mode 100644 index 273ecca8..00000000 Binary files a/data/borders/m15/blackLand/darkpt.png and /dev/null differ diff --git a/data/borders/m15/blackLand/flipCircle.png b/data/borders/m15/blackLand/flipCircle.png deleted file mode 100644 index c578f0d5..00000000 Binary files a/data/borders/m15/blackLand/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/blackLand/flipTip.png b/data/borders/m15/blackLand/flipTip.png deleted file mode 100644 index 40fad918..00000000 Binary files a/data/borders/m15/blackLand/flipTip.png and /dev/null differ diff --git a/data/borders/m15/blackLand/flippedDark.png b/data/borders/m15/blackLand/flippedDark.png deleted file mode 100644 index 7a4f639a..00000000 Binary files a/data/borders/m15/blackLand/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/blue/darkmiracle.png b/data/borders/m15/blue/darkmiracle.png deleted file mode 100644 index bc440252..00000000 Binary files a/data/borders/m15/blue/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/blue/darkpt.png b/data/borders/m15/blue/darkpt.png deleted file mode 100644 index e7f6da44..00000000 Binary files a/data/borders/m15/blue/darkpt.png and /dev/null differ diff --git a/data/borders/m15/blue/flipCircle.png b/data/borders/m15/blue/flipCircle.png deleted file mode 100644 index 775d2fc6..00000000 Binary files a/data/borders/m15/blue/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/blue/flipTip.png b/data/borders/m15/blue/flipTip.png deleted file mode 100644 index ae2e90c1..00000000 Binary files a/data/borders/m15/blue/flipTip.png and /dev/null differ diff --git a/data/borders/m15/blue/flippedDark.png b/data/borders/m15/blue/flippedDark.png deleted file mode 100644 index fd88a8db..00000000 Binary files a/data/borders/m15/blue/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/blueLand/darkmiracle.png b/data/borders/m15/blueLand/darkmiracle.png deleted file mode 100644 index 85e20b91..00000000 Binary files a/data/borders/m15/blueLand/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/blueLand/darkpt.png b/data/borders/m15/blueLand/darkpt.png deleted file mode 100644 index e7f6da44..00000000 Binary files a/data/borders/m15/blueLand/darkpt.png and /dev/null differ diff --git a/data/borders/m15/blueLand/flipCircle.png b/data/borders/m15/blueLand/flipCircle.png deleted file mode 100644 index 0cc4f064..00000000 Binary files a/data/borders/m15/blueLand/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/blueLand/flipTip.png b/data/borders/m15/blueLand/flipTip.png deleted file mode 100644 index abbc5fca..00000000 Binary files a/data/borders/m15/blueLand/flipTip.png and /dev/null differ diff --git a/data/borders/m15/blueLand/flippedDark.png b/data/borders/m15/blueLand/flippedDark.png deleted file mode 100644 index 38c9d03a..00000000 Binary files a/data/borders/m15/blueLand/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/border.js b/data/borders/m15/border.js index 967be62e..463fafd0 100644 --- a/data/borders/m15/border.js +++ b/data/borders/m15/border.js @@ -1,71 +1,9 @@ -//M15 Border -//Anything to do with... -//Loading Images -imgMultiMask.src = borderPath + "multiMask.png" -imgFrameMask.src = borderPath + "frameMask.png" -imgLegendFrameMask.src = borderPath + "legendFrameMask.png" -imgRareStampMask.src = borderPath + "rareStampMask.png" -imgBorderMask.src = borderPath + "borderMask.png" -imgRulesMask.src = borderPath + "rulesMask.png" -imgTypeMask.src = borderPath + "typeMask.png" -imgTitleMask.src = borderPath + "titleMask.png" -//Card Title -var titleFont = "40px belerenb" //40 -var titleFontSpacing = "0.15px" //0.15 -var titleX = 62 //62 -var titleY = 61 //56 + 6 -//Mana Cost -var manaCostRadius = 17.5 //17.5 -var manaCostX = 658 //657 -var manaCostY = 59 //59 -//Card Type -var typeFont = "33.5px belerenb" //33.5 -var typeFontSpacing = "-0.4px" //0.05 -var typeX = 62 //62 -var typeY = 600 //595 + 6 -//Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = 0.7 //0.7 -var textX = 66 //66 -var textY = 662 //656 + 6 -var textWidth = 682 //682 -//Power Toughness -var ptFont = "39px belerenb" //39 -var ptFontSpacing = "0.3px" //0.3 -var ptTextX = 645 //645 -var ptTextY = 942 //936 + 6 -imgBorderCreature.imgValues(571, 929, 137, 75) -//Bottom Info -var infoY = 996 //993 + 6 -//Set Symbol -var setSymbolY = 618 //616 -var setSymbolRight = 688 //693 -var setSymbolWidth = 84 //77 -var setSymbolHeight = 42 //44 -//Watermark -var watermarkWidth = 520 //520 -var watermarkHeight = 250 //250 -var watermarkY = 805 //805 -//Rare Stamp -var rareStampY = 958 //958 -//Color Options -loadColors("white-White,whiteLand-White Land,blue-Blue,blueLand-Blue Land,black-Black,blackLand-Black Land,red-Red,redLand-Red Land,green-Green,greenLand-Green Land,gold-Gold,goldLand-Gold Land,colorless-Colorless,colorlessLand-Colorless Land,artifact-Artifact,vehicle-Vehicle,clear-Clear") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -//Things The Card Can Do -legendaryBorder = true -imgBorderLegendary.imgValues(20, 20, 714, 186, "imgSecondBorderLegendary") -nyxBorder = true -imgBorderNyx.imgValues(30, 30, 690, 586, "imgSecondBorderNyx") -miracleBorder = true -imgBorderMiracle.imgValues(30, 30, 689, 511, "imgSecondBorderMiracle") -flipBorder = true -imgBorderFlipCircle.imgValues(26, 44, 78, 71) -imgBorderFlippedDark.imgValues(44, 50, 661, 915, "imgSecondBorderFlippedDark") -imgBorderFlipTip.imgValues(685, 877, 36, 48) -stampBorder = true -artifactBorder = 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 = "bottomInfoM15" \ No newline at end of file +//============================================// +// M15 Border // +//============================================// +//Loads the colors +loadColors("white-White,blue-Blue,black-Black,red-Red,green-Green,gold-Gold,artifact-Artifact,colorless-Colorless,vehicle-Vehicle,clear-Clear,whiteLand-White Land,blueLand-Blue Land,blackLand-Black Land,redLand-Red Land,greenLand-Green Land,goldLand-Gold Land,colorlessLand-Colorless Land") +//Runs the things! +sectionTextFunction() +sectionFrameFunction() +sectionOtherFunction() diff --git a/data/borders/m15/borderMask.png b/data/borders/m15/borderMask.png deleted file mode 100644 index 11a252d8..00000000 Binary files a/data/borders/m15/borderMask.png and /dev/null differ diff --git a/data/borders/m15/clear/darkmiracle.png b/data/borders/m15/clear/darkmiracle.png deleted file mode 100644 index 2380e626..00000000 Binary files a/data/borders/m15/clear/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/clear/darkpt.png b/data/borders/m15/clear/darkpt.png deleted file mode 100644 index 1ed50325..00000000 Binary files a/data/borders/m15/clear/darkpt.png and /dev/null differ diff --git a/data/borders/m15/clear/flipCircle.png b/data/borders/m15/clear/flipCircle.png deleted file mode 100644 index af3a0d2a..00000000 Binary files a/data/borders/m15/clear/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/clear/flipTip.png b/data/borders/m15/clear/flipTip.png deleted file mode 100644 index 279dd50c..00000000 Binary files a/data/borders/m15/clear/flipTip.png and /dev/null differ diff --git a/data/borders/m15/clear/flippedDark.png b/data/borders/m15/clear/flippedDark.png deleted file mode 100644 index 8c93c024..00000000 Binary files a/data/borders/m15/clear/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/colorless/darkmiracle.png b/data/borders/m15/colorless/darkmiracle.png deleted file mode 100644 index 767d7f8e..00000000 Binary files a/data/borders/m15/colorless/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/colorless/darkpt.png b/data/borders/m15/colorless/darkpt.png deleted file mode 100644 index 7d779e01..00000000 Binary files a/data/borders/m15/colorless/darkpt.png and /dev/null differ diff --git a/data/borders/m15/colorless/flipCircle.png b/data/borders/m15/colorless/flipCircle.png deleted file mode 100644 index 19e286a6..00000000 Binary files a/data/borders/m15/colorless/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/colorless/flippedDark.png b/data/borders/m15/colorless/flippedDark.png deleted file mode 100644 index 61b3bfa4..00000000 Binary files a/data/borders/m15/colorless/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/colorlessLand/darkmiracle.png b/data/borders/m15/colorlessLand/darkmiracle.png deleted file mode 100644 index 2757f7a0..00000000 Binary files a/data/borders/m15/colorlessLand/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/colorlessLand/darkpt.png b/data/borders/m15/colorlessLand/darkpt.png deleted file mode 100644 index 7d779e01..00000000 Binary files a/data/borders/m15/colorlessLand/darkpt.png and /dev/null differ diff --git a/data/borders/m15/colorlessLand/flipCircle.png b/data/borders/m15/colorlessLand/flipCircle.png deleted file mode 100644 index 54cfc73d..00000000 Binary files a/data/borders/m15/colorlessLand/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/colorlessLand/flipTip.png b/data/borders/m15/colorlessLand/flipTip.png deleted file mode 100644 index 9b0b7d51..00000000 Binary files a/data/borders/m15/colorlessLand/flipTip.png and /dev/null differ diff --git a/data/borders/m15/colorlessLand/flippedDark.png b/data/borders/m15/colorlessLand/flippedDark.png deleted file mode 100644 index f38f7a03..00000000 Binary files a/data/borders/m15/colorlessLand/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/frameMask.png b/data/borders/m15/frameMask.png deleted file mode 100644 index ac8a0753..00000000 Binary files a/data/borders/m15/frameMask.png and /dev/null differ diff --git a/data/borders/m15/gold/darkmiracle.png b/data/borders/m15/gold/darkmiracle.png deleted file mode 100644 index 0a87e00b..00000000 Binary files a/data/borders/m15/gold/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/gold/darkpt.png b/data/borders/m15/gold/darkpt.png deleted file mode 100644 index 34779881..00000000 Binary files a/data/borders/m15/gold/darkpt.png and /dev/null differ diff --git a/data/borders/m15/gold/flipCircle.png b/data/borders/m15/gold/flipCircle.png deleted file mode 100644 index 400d9a3c..00000000 Binary files a/data/borders/m15/gold/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/gold/flipTip.png b/data/borders/m15/gold/flipTip.png deleted file mode 100644 index 6d2fae05..00000000 Binary files a/data/borders/m15/gold/flipTip.png and /dev/null differ diff --git a/data/borders/m15/gold/flippedDark.png b/data/borders/m15/gold/flippedDark.png deleted file mode 100644 index 756a8719..00000000 Binary files a/data/borders/m15/gold/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/goldLand/darkmiracle.png b/data/borders/m15/goldLand/darkmiracle.png deleted file mode 100644 index c80fe53b..00000000 Binary files a/data/borders/m15/goldLand/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/goldLand/darkpt.png b/data/borders/m15/goldLand/darkpt.png deleted file mode 100644 index 34779881..00000000 Binary files a/data/borders/m15/goldLand/darkpt.png and /dev/null differ diff --git a/data/borders/m15/goldLand/flipCircle.png b/data/borders/m15/goldLand/flipCircle.png deleted file mode 100644 index 932ddea3..00000000 Binary files a/data/borders/m15/goldLand/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/goldLand/flipTip.png b/data/borders/m15/goldLand/flipTip.png deleted file mode 100644 index bd0a8d41..00000000 Binary files a/data/borders/m15/goldLand/flipTip.png and /dev/null differ diff --git a/data/borders/m15/goldLand/flippedDark.png b/data/borders/m15/goldLand/flippedDark.png deleted file mode 100644 index 76a257a5..00000000 Binary files a/data/borders/m15/goldLand/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/goldLand/legendary.png b/data/borders/m15/goldLand/legendary.png index 9f4eb729..c6328cdf 100644 Binary files a/data/borders/m15/goldLand/legendary.png and b/data/borders/m15/goldLand/legendary.png differ diff --git a/data/borders/m15/green/darkmiracle.png b/data/borders/m15/green/darkmiracle.png deleted file mode 100644 index 8193049f..00000000 Binary files a/data/borders/m15/green/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/green/darkpt.png b/data/borders/m15/green/darkpt.png deleted file mode 100644 index aa712323..00000000 Binary files a/data/borders/m15/green/darkpt.png and /dev/null differ diff --git a/data/borders/m15/green/flipCircle.png b/data/borders/m15/green/flipCircle.png deleted file mode 100644 index 42449035..00000000 Binary files a/data/borders/m15/green/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/green/flipTip.png b/data/borders/m15/green/flipTip.png deleted file mode 100644 index fc76e395..00000000 Binary files a/data/borders/m15/green/flipTip.png and /dev/null differ diff --git a/data/borders/m15/green/flippedDark.png b/data/borders/m15/green/flippedDark.png deleted file mode 100644 index bc92da9e..00000000 Binary files a/data/borders/m15/green/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/greenLand/darkmiracle.png b/data/borders/m15/greenLand/darkmiracle.png deleted file mode 100644 index 66345976..00000000 Binary files a/data/borders/m15/greenLand/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/greenLand/darkpt.png b/data/borders/m15/greenLand/darkpt.png deleted file mode 100644 index aa712323..00000000 Binary files a/data/borders/m15/greenLand/darkpt.png and /dev/null differ diff --git a/data/borders/m15/greenLand/flipCircle.png b/data/borders/m15/greenLand/flipCircle.png deleted file mode 100644 index 35305a60..00000000 Binary files a/data/borders/m15/greenLand/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/greenLand/flipTip.png b/data/borders/m15/greenLand/flipTip.png deleted file mode 100644 index 470e1078..00000000 Binary files a/data/borders/m15/greenLand/flipTip.png and /dev/null differ diff --git a/data/borders/m15/greenLand/flippedDark.png b/data/borders/m15/greenLand/flippedDark.png deleted file mode 100644 index b35a52e0..00000000 Binary files a/data/borders/m15/greenLand/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/greenLand/legendary.png b/data/borders/m15/greenLand/legendary.png index cd230818..a37d48fd 100644 Binary files a/data/borders/m15/greenLand/legendary.png and b/data/borders/m15/greenLand/legendary.png differ diff --git a/data/borders/planeswalkerTall/rareStampMask.png b/data/borders/m15/imgArtMask.png similarity index 68% rename from data/borders/planeswalkerTall/rareStampMask.png rename to data/borders/m15/imgArtMask.png index 96d78d86..39b863e1 100644 Binary files a/data/borders/planeswalkerTall/rareStampMask.png and b/data/borders/m15/imgArtMask.png differ diff --git a/data/borders/tokenText/multiMask.png b/data/borders/m15/imgBorderMask.png similarity index 60% rename from data/borders/tokenText/multiMask.png rename to data/borders/m15/imgBorderMask.png index ce3e15d9..6b53fbbd 100644 Binary files a/data/borders/tokenText/multiMask.png and b/data/borders/m15/imgBorderMask.png differ diff --git a/data/borders/m15/imgFrameMask.png b/data/borders/m15/imgFrameMask.png new file mode 100644 index 00000000..4de53f90 Binary files /dev/null and b/data/borders/m15/imgFrameMask.png differ diff --git a/data/borders/m15/imgPinlineMask.png b/data/borders/m15/imgPinlineMask.png new file mode 100644 index 00000000..d66c59f3 Binary files /dev/null and b/data/borders/m15/imgPinlineMask.png differ diff --git a/data/borders/vanguard/rulesMask.png b/data/borders/m15/imgRulesMask.png similarity index 84% rename from data/borders/vanguard/rulesMask.png rename to data/borders/m15/imgRulesMask.png index 45e19d9e..44f1d49e 100644 Binary files a/data/borders/vanguard/rulesMask.png and b/data/borders/m15/imgRulesMask.png differ diff --git a/data/borders/m15/imgTitleMask.png b/data/borders/m15/imgTitleMask.png new file mode 100644 index 00000000..7fcf1da7 Binary files /dev/null and b/data/borders/m15/imgTitleMask.png differ diff --git a/data/borders/m15/rulesMask.png b/data/borders/m15/imgTypeMask.png similarity index 82% rename from data/borders/m15/rulesMask.png rename to data/borders/m15/imgTypeMask.png index 45e19d9e..26c8af68 100644 Binary files a/data/borders/m15/rulesMask.png and b/data/borders/m15/imgTypeMask.png differ diff --git a/data/borders/m15/legendFrameMask.png b/data/borders/m15/legendFrameMask.png deleted file mode 100644 index 5a39de76..00000000 Binary files a/data/borders/m15/legendFrameMask.png and /dev/null differ diff --git a/data/borders/m15/multiMask.png b/data/borders/m15/multiMask.png deleted file mode 100644 index 0f2be139..00000000 Binary files a/data/borders/m15/multiMask.png and /dev/null differ diff --git a/data/borders/m15/rareStampMask.png b/data/borders/m15/rareStampMask.png deleted file mode 100644 index 53aeb352..00000000 Binary files a/data/borders/m15/rareStampMask.png and /dev/null differ diff --git a/data/borders/m15/red/darkmiracle.png b/data/borders/m15/red/darkmiracle.png deleted file mode 100644 index 2c33658e..00000000 Binary files a/data/borders/m15/red/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/red/darkpt.png b/data/borders/m15/red/darkpt.png deleted file mode 100644 index 46495d99..00000000 Binary files a/data/borders/m15/red/darkpt.png and /dev/null differ diff --git a/data/borders/m15/red/flipCircle.png b/data/borders/m15/red/flipCircle.png deleted file mode 100644 index 2dfa1b66..00000000 Binary files a/data/borders/m15/red/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/red/flipTip.png b/data/borders/m15/red/flipTip.png deleted file mode 100644 index 233c39e3..00000000 Binary files a/data/borders/m15/red/flipTip.png and /dev/null differ diff --git a/data/borders/m15/red/flippedDark.png b/data/borders/m15/red/flippedDark.png deleted file mode 100644 index bc055921..00000000 Binary files a/data/borders/m15/red/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/redLand/darkmiracle.png b/data/borders/m15/redLand/darkmiracle.png deleted file mode 100644 index dad91ba4..00000000 Binary files a/data/borders/m15/redLand/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/redLand/darkpt.png b/data/borders/m15/redLand/darkpt.png deleted file mode 100644 index 46495d99..00000000 Binary files a/data/borders/m15/redLand/darkpt.png and /dev/null differ diff --git a/data/borders/m15/redLand/flipCircle.png b/data/borders/m15/redLand/flipCircle.png deleted file mode 100644 index 3032c2dc..00000000 Binary files a/data/borders/m15/redLand/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/redLand/flipTip.png b/data/borders/m15/redLand/flipTip.png deleted file mode 100644 index a3d73ee4..00000000 Binary files a/data/borders/m15/redLand/flipTip.png and /dev/null differ diff --git a/data/borders/m15/redLand/flippedDark.png b/data/borders/m15/redLand/flippedDark.png deleted file mode 100644 index c994d3ac..00000000 Binary files a/data/borders/m15/redLand/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/redLand/legendary.png b/data/borders/m15/redLand/legendary.png index 5d4601af..9d32d2b0 100644 Binary files a/data/borders/m15/redLand/legendary.png and b/data/borders/m15/redLand/legendary.png differ diff --git a/data/borders/m15/titleMask.png b/data/borders/m15/titleMask.png deleted file mode 100644 index b72aa9ec..00000000 Binary files a/data/borders/m15/titleMask.png and /dev/null differ diff --git a/data/borders/m15/vehicle/darkmiracle.png b/data/borders/m15/vehicle/darkmiracle.png deleted file mode 100644 index 8071f686..00000000 Binary files a/data/borders/m15/vehicle/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/vehicle/darkpt.png b/data/borders/m15/vehicle/darkpt.png deleted file mode 100644 index 1ed50325..00000000 Binary files a/data/borders/m15/vehicle/darkpt.png and /dev/null differ diff --git a/data/borders/m15/vehicle/flipCircle.png b/data/borders/m15/vehicle/flipCircle.png deleted file mode 100644 index a04da673..00000000 Binary files a/data/borders/m15/vehicle/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/vehicle/flipTip.png b/data/borders/m15/vehicle/flipTip.png deleted file mode 100644 index 66511a6d..00000000 Binary files a/data/borders/m15/vehicle/flipTip.png and /dev/null differ diff --git a/data/borders/m15/vehicle/flippedDark.png b/data/borders/m15/vehicle/flippedDark.png deleted file mode 100644 index 6383b88c..00000000 Binary files a/data/borders/m15/vehicle/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/vehicle/legendary.png b/data/borders/m15/vehicle/legendary.png index 2e98ba82..988f7c73 100644 Binary files a/data/borders/m15/vehicle/legendary.png and b/data/borders/m15/vehicle/legendary.png differ diff --git a/data/borders/m15/white/darkmiracle.png b/data/borders/m15/white/darkmiracle.png deleted file mode 100644 index a45c1257..00000000 Binary files a/data/borders/m15/white/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/white/darkpt.png b/data/borders/m15/white/darkpt.png deleted file mode 100644 index 74820584..00000000 Binary files a/data/borders/m15/white/darkpt.png and /dev/null differ diff --git a/data/borders/m15/white/flipCircle.png b/data/borders/m15/white/flipCircle.png deleted file mode 100644 index fc7241f5..00000000 Binary files a/data/borders/m15/white/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/white/flippedDark.png b/data/borders/m15/white/flippedDark.png deleted file mode 100644 index 5e0928b2..00000000 Binary files a/data/borders/m15/white/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/whiteLand/darkmiracle.png b/data/borders/m15/whiteLand/darkmiracle.png deleted file mode 100644 index b142af35..00000000 Binary files a/data/borders/m15/whiteLand/darkmiracle.png and /dev/null differ diff --git a/data/borders/m15/whiteLand/darkpt.png b/data/borders/m15/whiteLand/darkpt.png deleted file mode 100644 index 74820584..00000000 Binary files a/data/borders/m15/whiteLand/darkpt.png and /dev/null differ diff --git a/data/borders/m15/whiteLand/flipCircle.png b/data/borders/m15/whiteLand/flipCircle.png deleted file mode 100644 index 79a10b50..00000000 Binary files a/data/borders/m15/whiteLand/flipCircle.png and /dev/null differ diff --git a/data/borders/m15/whiteLand/flipTip.png b/data/borders/m15/whiteLand/flipTip.png deleted file mode 100644 index 8000d62c..00000000 Binary files a/data/borders/m15/whiteLand/flipTip.png and /dev/null differ diff --git a/data/borders/m15/whiteLand/flippedDark.png b/data/borders/m15/whiteLand/flippedDark.png deleted file mode 100644 index 4d36f784..00000000 Binary files a/data/borders/m15/whiteLand/flippedDark.png and /dev/null differ diff --git a/data/borders/m15/whiteLand/legendary.png b/data/borders/m15/whiteLand/legendary.png index 87aa95c4..c38f942f 100644 Binary files a/data/borders/m15/whiteLand/legendary.png and b/data/borders/m15/whiteLand/legendary.png differ diff --git a/data/borders/map/artMask.png b/data/borders/map/artMask.png deleted file mode 100644 index b90810f4..00000000 Binary files a/data/borders/map/artMask.png and /dev/null differ diff --git a/data/borders/map/artifact/frame.png b/data/borders/map/artifact/frame.png deleted file mode 100644 index 8d19601f..00000000 Binary files a/data/borders/map/artifact/frame.png and /dev/null differ diff --git a/data/borders/map/artifact/pt.png b/data/borders/map/artifact/pt.png deleted file mode 100644 index a43af4d7..00000000 Binary files a/data/borders/map/artifact/pt.png and /dev/null differ diff --git a/data/borders/map/artifactLand/frame.png b/data/borders/map/artifactLand/frame.png deleted file mode 100644 index 2cd1db8c..00000000 Binary files a/data/borders/map/artifactLand/frame.png and /dev/null differ diff --git a/data/borders/map/artifactLand/pt.png b/data/borders/map/artifactLand/pt.png deleted file mode 100644 index a43af4d7..00000000 Binary files a/data/borders/map/artifactLand/pt.png and /dev/null differ diff --git a/data/borders/map/black/frame.png b/data/borders/map/black/frame.png deleted file mode 100644 index 017e8adc..00000000 Binary files a/data/borders/map/black/frame.png and /dev/null differ diff --git a/data/borders/map/black/pt.png b/data/borders/map/black/pt.png deleted file mode 100644 index 0ad95eaa..00000000 Binary files a/data/borders/map/black/pt.png and /dev/null differ diff --git a/data/borders/map/blackLand/frame.png b/data/borders/map/blackLand/frame.png deleted file mode 100644 index 362c4e47..00000000 Binary files a/data/borders/map/blackLand/frame.png and /dev/null differ diff --git a/data/borders/map/blackLand/pt.png b/data/borders/map/blackLand/pt.png deleted file mode 100644 index 0ad95eaa..00000000 Binary files a/data/borders/map/blackLand/pt.png and /dev/null differ diff --git a/data/borders/map/blue/frame.png b/data/borders/map/blue/frame.png deleted file mode 100644 index e20f3348..00000000 Binary files a/data/borders/map/blue/frame.png and /dev/null differ diff --git a/data/borders/map/blue/pt.png b/data/borders/map/blue/pt.png deleted file mode 100644 index 85c9dc55..00000000 Binary files a/data/borders/map/blue/pt.png and /dev/null differ diff --git a/data/borders/map/blueLand/frame.png b/data/borders/map/blueLand/frame.png deleted file mode 100644 index f8e3b198..00000000 Binary files a/data/borders/map/blueLand/frame.png and /dev/null differ diff --git a/data/borders/map/blueLand/pt.png b/data/borders/map/blueLand/pt.png deleted file mode 100644 index 85c9dc55..00000000 Binary files a/data/borders/map/blueLand/pt.png and /dev/null differ diff --git a/data/borders/map/border.js b/data/borders/map/border.js deleted file mode 100644 index 97c75f2c..00000000 --- a/data/borders/map/border.js +++ /dev/null @@ -1,57 +0,0 @@ -//Map Border -//Anything to do with... -//Loading Images -imgFrameMask.src = borderPath + "frameMask.png" -imgBorderMask.src = borderPath + "borderMask.png" -//Card Title -var titleFont = "40px belerenbsc" -var titleFontSpacing = "0.1px" -var titleX = 374.5 -var titleY = 58 -var titleAlign = "center" -//Mana Cost -var manaCostRadius = 17.5 -var manaCostX = 657 -var manaCostY = 59 -//Card Type -var typeFont = "33.5px belerenb" -var typeFontSpacing = "0.05px" -var typeX = 374.5 -var typeY = 604 -var typeAlign = "center" -//Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = 0.7 -var textX = 89 -var textY = 668 -var textWidth = 660 -//Power Toughness -var ptFont = "32px belerenb" -var ptFontSpacing = "0.3px" -var ptTextX = 635 -var ptTextY = 939 -imgBorderCreature.imgValues(560, 920, 150, 70) -//Bottom Info -var infoY = 999 -//Set Symbol -var setSymbolY = 123 -var setSymbolRight = 374.5 -var setSymbolWidth = 66 -var setSymbolHeight = 44 -var centerSetSymbol = 2 -//Watermark -var watermarkWidth = 520 -var watermarkHeight = 250 -var watermarkY = 805 -//Color Options -loadColors("white-White,whiteLand-White Land,blue-Blue,blueLand-Blue Land,black-Black,blackLand-Black Land,red-Red,redLand-Red Land,green-Green,greenLand-Green Land,gold-Gold,goldLand-Gold Land,colorless-Colorless,colorlessLand-Colorless Land,artifact-Artifact") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -//Other -var thirdBorder = false -var artX = 30 -var artY = 116 -//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 = "bottomInfoM15" \ No newline at end of file diff --git a/data/borders/map/borderMask.png b/data/borders/map/borderMask.png deleted file mode 100644 index 710d200e..00000000 Binary files a/data/borders/map/borderMask.png and /dev/null differ diff --git a/data/borders/map/colorless/frame.png b/data/borders/map/colorless/frame.png deleted file mode 100644 index 4d9cccf0..00000000 Binary files a/data/borders/map/colorless/frame.png and /dev/null differ diff --git a/data/borders/map/colorless/pt.png b/data/borders/map/colorless/pt.png deleted file mode 100644 index 995b0da1..00000000 Binary files a/data/borders/map/colorless/pt.png and /dev/null differ diff --git a/data/borders/map/colorlessLand/frame.png b/data/borders/map/colorlessLand/frame.png deleted file mode 100644 index 476cef98..00000000 Binary files a/data/borders/map/colorlessLand/frame.png and /dev/null differ diff --git a/data/borders/map/colorlessLand/pt.png b/data/borders/map/colorlessLand/pt.png deleted file mode 100644 index 995b0da1..00000000 Binary files a/data/borders/map/colorlessLand/pt.png and /dev/null differ diff --git a/data/borders/map/frameMask.png b/data/borders/map/frameMask.png deleted file mode 100644 index f48e102b..00000000 Binary files a/data/borders/map/frameMask.png and /dev/null differ diff --git a/data/borders/map/gold/frame.png b/data/borders/map/gold/frame.png deleted file mode 100644 index c9c052b6..00000000 Binary files a/data/borders/map/gold/frame.png and /dev/null differ diff --git a/data/borders/map/gold/pt.png b/data/borders/map/gold/pt.png deleted file mode 100644 index 17716873..00000000 Binary files a/data/borders/map/gold/pt.png and /dev/null differ diff --git a/data/borders/map/goldLand/frame.png b/data/borders/map/goldLand/frame.png deleted file mode 100644 index 3f67adaf..00000000 Binary files a/data/borders/map/goldLand/frame.png and /dev/null differ diff --git a/data/borders/map/goldLand/pt.png b/data/borders/map/goldLand/pt.png deleted file mode 100644 index 17716873..00000000 Binary files a/data/borders/map/goldLand/pt.png and /dev/null differ diff --git a/data/borders/map/green/frame.png b/data/borders/map/green/frame.png deleted file mode 100644 index 51dc2bc6..00000000 Binary files a/data/borders/map/green/frame.png and /dev/null differ diff --git a/data/borders/map/green/pt.png b/data/borders/map/green/pt.png deleted file mode 100644 index 5a2e9da9..00000000 Binary files a/data/borders/map/green/pt.png and /dev/null differ diff --git a/data/borders/map/greenLand/frame.png b/data/borders/map/greenLand/frame.png deleted file mode 100644 index 509e5798..00000000 Binary files a/data/borders/map/greenLand/frame.png and /dev/null differ diff --git a/data/borders/map/greenLand/pt.png b/data/borders/map/greenLand/pt.png deleted file mode 100644 index 5a2e9da9..00000000 Binary files a/data/borders/map/greenLand/pt.png and /dev/null differ diff --git a/data/borders/map/red/frame.png b/data/borders/map/red/frame.png deleted file mode 100644 index 74b1d48f..00000000 Binary files a/data/borders/map/red/frame.png and /dev/null differ diff --git a/data/borders/map/red/pt.png b/data/borders/map/red/pt.png deleted file mode 100644 index 14d01433..00000000 Binary files a/data/borders/map/red/pt.png and /dev/null differ diff --git a/data/borders/map/redLand/frame.png b/data/borders/map/redLand/frame.png deleted file mode 100644 index 6bf19a7b..00000000 Binary files a/data/borders/map/redLand/frame.png and /dev/null differ diff --git a/data/borders/map/redLand/pt.png b/data/borders/map/redLand/pt.png deleted file mode 100644 index 14d01433..00000000 Binary files a/data/borders/map/redLand/pt.png and /dev/null differ diff --git a/data/borders/map/white/frame.png b/data/borders/map/white/frame.png deleted file mode 100644 index 0fd7b501..00000000 Binary files a/data/borders/map/white/frame.png and /dev/null differ diff --git a/data/borders/map/white/pt.png b/data/borders/map/white/pt.png deleted file mode 100644 index 1e3879ad..00000000 Binary files a/data/borders/map/white/pt.png and /dev/null differ diff --git a/data/borders/map/whiteLand/frame.png b/data/borders/map/whiteLand/frame.png deleted file mode 100644 index 59e2cac1..00000000 Binary files a/data/borders/map/whiteLand/frame.png and /dev/null differ diff --git a/data/borders/map/whiteLand/pt.png b/data/borders/map/whiteLand/pt.png deleted file mode 100644 index 1e3879ad..00000000 Binary files a/data/borders/map/whiteLand/pt.png and /dev/null differ diff --git a/data/borders/miniPlane/artMask.png b/data/borders/miniPlane/artMask.png deleted file mode 100644 index 8f85ffde..00000000 Binary files a/data/borders/miniPlane/artMask.png and /dev/null differ diff --git a/data/borders/miniPlane/border.js b/data/borders/miniPlane/border.js deleted file mode 100644 index c9119b37..00000000 --- a/data/borders/miniPlane/border.js +++ /dev/null @@ -1,90 +0,0 @@ -//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/borderMask.png b/data/borders/miniPlane/borderMask.png deleted file mode 100644 index f2b96842..00000000 Binary files a/data/borders/miniPlane/borderMask.png and /dev/null differ diff --git a/data/borders/miniPlane/frameMask.png b/data/borders/miniPlane/frameMask.png deleted file mode 100644 index 1130a56d..00000000 Binary files a/data/borders/miniPlane/frameMask.png and /dev/null differ diff --git a/data/borders/miniPlane/white/frame.png b/data/borders/miniPlane/white/frame.png deleted file mode 100644 index b5b221cb..00000000 Binary files a/data/borders/miniPlane/white/frame.png and /dev/null differ diff --git a/data/borders/plane/artMask.png b/data/borders/plane/artMask.png deleted file mode 100644 index 15c2d171..00000000 Binary files a/data/borders/plane/artMask.png and /dev/null differ diff --git a/data/borders/plane/border.js b/data/borders/plane/border.js deleted file mode 100644 index d9fa4848..00000000 --- a/data/borders/plane/border.js +++ /dev/null @@ -1,95 +0,0 @@ -//Plane Border -//Anything to do with... -//Loading Images -imgFrameMask.src = borderPath + "frameMask.png" -imgBorderMask.src = borderPath + "borderMask.png" -//Card Size -cardWidth = 1074 -cardHeight = 749 -document.getElementsByClassName("mainGrid")[0].classList.add("plane") -//Card Title -var titleFont = cardHeight * 0.0454 + "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.0347 + "px belerenb" //26 -var typeFontSpacing = "0px" //0 -var typeX = cardWidth * 0.5000 //522 -var typeY = cardHeight * 0.6729 //508 -var typeAlign = "center" -//Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = cardWidth * 0.0002 //0.2 -var textX = cardWidth * 0.1188 //124 -var textY = cardHeight * 0.7223 //541 -var textWidth = cardWidth * 0.8860 //925 -document.getElementById("textSize").value = Math.floor(cardHeight * 0.0348) //26 -//Bottom Info -var planechaseInfo = true -//Set Symbol -var setSymbolY = cardHeight * 0.6929 //519 -var setSymbolRight = cardWidth * 0.7797 //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,high-Bottom,mid-Middle,low-Top,none-Single") -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 - if (document.getElementById("inputInfo").value != "") { - bottomLineSecond = "CC \u2014 " + document.getElementById("inputInfo").value - if (bottomLineSecond == "CC \u2014 secretcode") { - var date = new Date() - var year = date.getFullYear() - bottomLineSecond = "\u2122 & \u00a9 " + year + " Wizards of the Coast" - } - } - var artist = document.getElementById("inputArtist").value - //Artist - canvas.style.letterSpacing = cardWidth * -0.0002 + "px" //-0.2 - card.font = "16px matrixbsc" //16 - var artistLineWidth = (card.measureText(artist).width + cardWidth * 0.01724) / 2 //18 - imgArtistBrush.imgValues(cardWidth / 2 - artistLineWidth, cardHeight * 0.9426, cardWidth * 0.0144, cardHeight * 0.0134) - card.mask("imgArtMask,source-over", imgArtistBrush, card.fillStyle) - card.fillText(artist, cardWidth / 2 - artistLineWidth + cardWidth * 0.01724, cardHeight * 0.9419 + textBaselineShift[0] * card.font.split("px")[0]) //18, 710 - //Left and Right side - canvas.style.letterSpacing = "0px" - card.font = cardHeight * 0.0187 + "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.0187 + "px mplantin" //14 - var secondWidth = card.measureText(bottomLineSecond).width - - canvas.style.letterSpacing = "0px" - card.font = cardHeight * 0.0187 + "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.0187 + "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/plane/borderMask.png b/data/borders/plane/borderMask.png deleted file mode 100644 index d117bc80..00000000 Binary files a/data/borders/plane/borderMask.png and /dev/null differ diff --git a/data/borders/plane/frameMask.png b/data/borders/plane/frameMask.png deleted file mode 100644 index 36d1d3df..00000000 Binary files a/data/borders/plane/frameMask.png and /dev/null differ diff --git a/data/borders/plane/high/frame.png b/data/borders/plane/high/frame.png deleted file mode 100644 index 40d29079..00000000 Binary files a/data/borders/plane/high/frame.png and /dev/null differ diff --git a/data/borders/plane/low/frame.png b/data/borders/plane/low/frame.png deleted file mode 100644 index feb7dbd2..00000000 Binary files a/data/borders/plane/low/frame.png and /dev/null differ diff --git a/data/borders/plane/mid/frame.png b/data/borders/plane/mid/frame.png deleted file mode 100644 index fb337eef..00000000 Binary files a/data/borders/plane/mid/frame.png and /dev/null differ diff --git a/data/borders/plane/none/frame.png b/data/borders/plane/none/frame.png deleted file mode 100644 index 539ca471..00000000 Binary files a/data/borders/plane/none/frame.png and /dev/null differ diff --git a/data/borders/plane/white/frame.png b/data/borders/plane/white/frame.png deleted file mode 100644 index d8259f71..00000000 Binary files a/data/borders/plane/white/frame.png and /dev/null differ diff --git a/data/borders/planeswalker/abilityLineEven.png b/data/borders/planeswalker/abilityLineEven.png deleted file mode 100644 index 598788bb..00000000 Binary files a/data/borders/planeswalker/abilityLineEven.png and /dev/null differ diff --git a/data/borders/planeswalker/abilityLineOdd.png b/data/borders/planeswalker/abilityLineOdd.png deleted file mode 100644 index a7868474..00000000 Binary files a/data/borders/planeswalker/abilityLineOdd.png and /dev/null differ diff --git a/data/borders/planeswalker/artMask.png b/data/borders/planeswalker/artMask.png deleted file mode 100644 index 06894038..00000000 Binary files a/data/borders/planeswalker/artMask.png and /dev/null differ diff --git a/data/borders/planeswalker/border.js b/data/borders/planeswalker/border.js index 241d8ccf..7d75e7d4 100644 --- a/data/borders/planeswalker/border.js +++ b/data/borders/planeswalker/border.js @@ -1,145 +1,141 @@ -//Planeswalker Border -//Anything to do with... -//Loading Images -imgMultiGradient.src = borderPath + "multiGradient.png" -imgMultiMask.src = borderPath + "multiMask.png" -imgFrameMask.src = borderPath + "frameMask.png" -imgRareStampMask.src = borderPath + "rareStampMask.png" -imgBorderMask.src = borderPath + "borderMask.png" -imgAbilityLineOdd.src = borderPath + "abilityLineOdd.png" -imgAbilityLineEven.src = borderPath + "abilityLineEven.png" -document.getElementById("textSize").value = 33 +//============================================// +// M15 Border // +//============================================// +//General Booleans +cardData.miracle = false +cardData.nyx = false +cardData.legendary = false +//Specific Values +cardData.textX = cwidth(134) +cardData.textY = cheight(687) +cardData.textRight = cwidth(682) +cardData.cardArtX = cwidth(52) +cardData.cardArtY = cheight(106) +cardData.titleFontSize = cwidth(40) +cardData.titleX = cwidth(62) +cardData.titleY = cheight(79) +cardData.manaSymbolY = cheight(46) +cardData.ptBoxX = cwidth(599) +cardData.ptBoxY = cheight(922) +cardData.ptBoxWidth = cwidth(120) +cardData.ptBoxHeight = cheight(78) +cardData.ptX = cwidth(657) +cardData.ptY = cheight(974) +cardData.watermarkY = cheight(805) +cardData.watermarkWidth = cwidth(520) +cardData.watermarkHeight = cheight(250) +cardData.setSymbolY = cheight(618) +cardData.setSymbolRight = cwidth(695) +imgRareStamp.load("none", cwidth(329), cheight(945), cwidth(90), cheight(50)) +imgRareStampRight.load("none", cwidth(329), cheight(945), cwidth(90), cheight(50)) +imgStamp.load("none", cwidth(340), cheight(961), cwidth(70), cheight(37)) +//Images +imgPowerToughness.load("data/borders/planeswalker/white/pt.png") +imgArtMask.load("data/borders/planeswalker/imgArtMask.png") +imgFrameMask.load("data/borders/planeswalker/imgFrameMask.png") +imgBorderMask.load("data/borders/planeswalker/imgBorderMask.png") +imgPinlineMask.load("data/borders/planeswalker/imgPinlineMask.png") +imgTitleMask.load("data/borders/planeswalker/imgTitleMask.png") +imgTypeMask.load("data/borders/planeswalker/imgTypeMask.png") +imgAbilityLineEven.load("data/borders/planeswalker/imgAbilityLineEven.png") +imgAbilityLineOdd.load("data/borders/planeswalker/imgAbilityLineOdd.png") +//Loads the Colors +loadColors("white-White,blue-Blue,black-Black,red-Red,green-Green,gold-Gold,colorless-Colorless") +//Anything special document.getElementById("inputCreatureColor").value = "#ffffff" -//Card Title -var titleFont = "40px belerenb" //40 -var titleFontSpacing = "-0.1px" //-0.1 -var titleX = 62 //62 -var titleY = 48 //48 -//Mana Cost -var manaCostRadius = 17.5 //17.5 -var manaCostX = 657 //657 -var manaCostY = 46 //46 -//Card Type -var typeFont = "33.5px belerenb" //33.5 -var typeFontSpacing = "0.05px" //0.05 -var typeX = 62 //62 -var typeY = 602 //602 -//Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = -0.4 //-0.4 -var textX = 134 //134 -var textY = 656 //656 -var textWidth = 682 //682 -//Power Toughness -var ptFont = "39px belerenb" //39 -var ptFontSpacing = "0.3px" //0.3 -var ptTextX = 655 //655 -var ptTextY = 940 //940 -imgBorderCreature.imgValues(598, 920, 118, 75) -//Bottom Info -var infoY = 999 //993 -//Set Symbol -var setSymbolY = 615 //615 -var setSymbolRight = 695 //695 -var setSymbolWidth = 90 //90 -var setSymbolHeight = 42 //42 -//Watermark -var watermarkWidth = 520 //520 -var watermarkHeight = 250 //250 -var watermarkY = 805 //805 -//Rare Stamp -var rareStampY = 955 //955 -//Color Options -loadColors("white-White,blue-Blue,black-Black,red-Red,green-Green,gold-Gold,colorless-Colorless,artifact-Artifact") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -//"Being a Planeswalker is being able to do what a card do" -// —Unknown AP English Student -stampBorder = true -var artX = 52 -var artY = 106 -//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 = "planeswalkerCustomFunction" +cardData.specialImageA = true +cardData.specialImageB = true +//Runs the things! +sectionTextFunction() +sectionFrameFunction() +sectionOtherFunction() -function planeswalkerCustomFunction() { - //Bottom info is important - bottomInfoM15() - //But now it has to draw/write the loyalty things! - var abilityLineY = 650 - for (i = 0; i < abilityLines.length; i ++) { - var loyaltyValue = document.getElementById("abilityValue" + i).value - if (loyaltyValue != "") { - card.fillStyle = "white" - card.textAlign = "center" - card.font = "31px belerenbsc" - if (loyaltyValue.charAt(0) == "-") { - card.drawImage(manaSymbolImages[58], 34, abilityLineY + abilityLines[i] / 2 - 28, 84, 64) - card.fillText(loyaltyValue, 76, abilityLineY + abilityLines[i] / 2 - 17 + textBaselineShift[0] * card.font.split("px")[0]) - } else if (loyaltyValue.charAt(0) == "+") { - card.drawImage(manaSymbolImages[59], 34, abilityLineY + abilityLines[i] / 2 - 38, 82, 62) - card.fillText(loyaltyValue, 74, abilityLineY + abilityLines[i] / 2 - 19 + textBaselineShift[0] * card.font.split("px")[0]) - } else { - card.drawImage(manaSymbolImages[60], 34, abilityLineY + abilityLines[i] / 2 - 28, 82, 56) - card.fillText(loyaltyValue, 74, abilityLineY + abilityLines[i] / 2 - 16 + textBaselineShift[0] * card.font.split("px")[0]) - } - card.font = "37px mplantin" - card.fillStyle = "black" - card.fillText(":", 124, abilityLineY + abilityLines[i] / 2 - 23 + textBaselineShift[0] * card.font.split("px")[0]) - } - abilityLineY += abilityLines[i] - } -} - -var savedFrameMask = new Image() -savedFrameMask.src = borderPath + "frameMask.png" -var abilityLineCanvas = document.createElement("canvas") -abilityLineCanvas.width = cardWidth -abilityLineCanvas.height = cardHeight -var abilityLineContext = abilityLineCanvas.getContext("2d") +var abilityLineThickness = cheight(6) var abilityLines = [] function planeswalkerAbilityLines() { abilityLines = [] - if (document.getElementById("abilityLine1").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("abilityLine1").value)} - if (document.getElementById("abilityLine2").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("abilityLine2").value)} - if (document.getElementById("abilityLine3").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("abilityLine3").value)} - if (document.getElementById("abilityLine4").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("abilityLine4").value)} - abilityLineContext.clearRect(0, 0, cardWidth, cardHeight) - var abilityLineY = 645 - for (i = 0; i < abilityLines.length; i ++) { - if (i == abilityLines.length - 1) { - // abilityLines[i] += cardHeight - abilityLines[i] - if (i % 2 === 0) { - abilityLineContext.fillStyle = "#95959595" - } else { - abilityLineContext.fillStyle = "#6a6a6a6a" - } - abilityLineContext.fillRect(50, abilityLineY + 5, cardWidth - 100, cardHeight - abilityLineY - 90) + if (document.getElementById("inputAbilityLine1").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("inputAbilityLine1").value)} + if (document.getElementById("inputAbilityLine2").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("inputAbilityLine2").value)} + if (document.getElementById("inputAbilityLine3").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("inputAbilityLine3").value)} + if (document.getElementById("inputAbilityLine4").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("inputAbilityLine4").value)} + specialAContext.clearRect(0, 0, cardWidth, cardHeight) + //Start with the background + var abilityLineCurrentY = cheight(655) - abilityLineThickness + for (var i = 0; i < abilityLines.length; i ++) { + //determine the correct color + if (i % 2 === 0) { + specialAContext.fillStyle = "#d3d3d3d3" } else { - if (i % 2 === 0) { - abilityLineContext.fillStyle = "#95959595" - abilityLineContext.drawImage(imgAbilityLineOdd, 93, abilityLineY + abilityLines[i] - 5, 596, 10) - } else { - abilityLineContext.fillStyle = "#6a6a6a6a" - abilityLineContext.drawImage(imgAbilityLineEven, 93, abilityLineY + abilityLines[i] - 5, 596, 10) - } - abilityLineContext.fillRect(50, abilityLineY + 5, cardWidth - 100, abilityLines[i] - 10) + specialAContext.fillStyle = "#a8a8a8a8" } - abilityLineY += abilityLines[i] + if (i == abilityLines.length - 1) { + //This is the last line + specialAContext.fillRect(cwidth(50), abilityLineCurrentY + abilityLineThickness, cwidth(649), cardHeight - abilityLineCurrentY - cheight(89) - abilityLineThickness) + } else { + specialAContext.fillRect(cwidth(50), abilityLineCurrentY + abilityLineThickness, cwidth(649), abilityLines[i] - abilityLineThickness * 2) + if (i % 2 === 0) { + specialAContext.drawImage(imgAbilityLineOdd, cwidth(92), abilityLineCurrentY + abilityLines[i] - abilityLineThickness, cwidth(599), abilityLineThickness * 2) + } else { + specialAContext.drawImage(imgAbilityLineEven, cwidth(92), abilityLineCurrentY + abilityLines[i] - abilityLineThickness, cwidth(599), abilityLineThickness * 2) + } + } + abilityLineCurrentY += abilityLines[i] } - abilityLineContext.clearRect(0, 0, 93, cardHeight) - abilityLineContext.drawImage(savedFrameMask, 0, 0, cardWidth, cardHeight) - imgFrameMask.src = abilityLineCanvas.toDataURL() - imgFrameMask.hasToLoad = true + planeswalkerAbilityIcons() } -imgFrameMask.onload = function() { - if (imgFrameMask.hasToLoad == true) { - imgFrameMask.hasToLoad = false - createBorder() +function planeswalkerAbilityIcons() { + switch (abilityLines.length) { + case 4: + abilityIconSpacing = cheight(75) + abilityIconStartShift = cheight(12) + break; + case 3: + abilityIconSpacing = cheight(94) + abilityIconStartShift = cheight(0) + break; + case 2: + abilityIconSpacing = cheight(135) + abilityIconStartShift = cheight(-35) + break; + case 1: + abilityIconSpacing = cheight(0) + abilityIconStartShift = cheight(-100) + break; } + specialBContext.clearRect(0, 0, cardWidth, cardHeight) + //Now the loyalty ability icons + var abilityLineCurrentY = cheight(705) - abilityIconStartShift + for (var i = 0; i < abilityLines.length; i ++) { + var loyaltyValue = document.getElementById("inputAbilityValue" + i).value + if (loyaltyValue != "") { + specialBContext.fillStyle = "white" + specialBContext.textAlign = "center" + specialBContext.font = cwidth(31) + "px belerenbsc" + if (loyaltyValue.charAt(0) == "-") { + specialBContext.drawImage(manaSymbolImageList[58], cwidth(35), abilityLineCurrentY - cheight(28), cwidth(86), cheight(64)) + specialBContext.fillText(loyaltyValue, cwidth(76), abilityLineCurrentY + cheight(8)) + specialBContext.font = cwidth(38) + "px mplantin" + specialBContext.fillStyle = "black" + specialBContext.fillText(":", cwidth(125), abilityLineCurrentY + cheight(5)) + } else if (loyaltyValue.charAt(0) == "+") { + specialBContext.drawImage(manaSymbolImageList[59], cwidth(35), abilityLineCurrentY - cheight(36), cwidth(86), cheight(63)) + specialBContext.fillText(loyaltyValue, cwidth(76), abilityLineCurrentY + cheight(9)) + specialBContext.font = cwidth(38) + "px mplantin" + specialBContext.fillStyle = "black" + specialBContext.fillText(":", cwidth(125), abilityLineCurrentY + cheight(7)) + } else { + specialBContext.drawImage(manaSymbolImageList[60], cwidth(35), abilityLineCurrentY - cheight(27), cwidth(85), cheight(56)) + specialBContext.fillText(loyaltyValue, cwidth(76), abilityLineCurrentY + cheight(9)) + specialBContext.font = cwidth(38) + "px mplantin" + specialBContext.fillStyle = "black" + specialBContext.fillText(":", cwidth(125), abilityLineCurrentY + cheight(5)) + } + + } + abilityLineCurrentY += abilityIconSpacing + } + drawCard() } -//Reveals the planeswalker card manipulation menu section -document.getElementById("cmmPlaneswalker").style.display = "block" -//After a second the first ability lines will be generated -setTimeout(function(){if (document.getElementById("borderSelection").value == "planeswalker/") {planeswalkerAbilityLines()}}, 1000) \ No newline at end of file + +setTimeout(function() {planeswalkerAbilityLines()}, 500) +document.getElementById("cmmPlaneswalker").style.display = "block" \ No newline at end of file diff --git a/data/borders/planeswalker/borderMask.png b/data/borders/planeswalker/borderMask.png deleted file mode 100644 index 1cabe562..00000000 Binary files a/data/borders/planeswalker/borderMask.png and /dev/null differ diff --git a/data/borders/planeswalker/frameMask.png b/data/borders/planeswalker/frameMask.png deleted file mode 100644 index dc4515c3..00000000 Binary files a/data/borders/planeswalker/frameMask.png and /dev/null differ diff --git a/data/borders/m15/colorless/flipTip.png b/data/borders/planeswalker/imgAbilityLineEven.png similarity index 75% rename from data/borders/m15/colorless/flipTip.png rename to data/borders/planeswalker/imgAbilityLineEven.png index d1b7f621..f2c2eac4 100644 Binary files a/data/borders/m15/colorless/flipTip.png and b/data/borders/planeswalker/imgAbilityLineEven.png differ diff --git a/data/borders/m15/white/flipTip.png b/data/borders/planeswalker/imgAbilityLineOdd.png similarity index 75% rename from data/borders/m15/white/flipTip.png rename to data/borders/planeswalker/imgAbilityLineOdd.png index acb76fea..530da6e1 100644 Binary files a/data/borders/m15/white/flipTip.png and b/data/borders/planeswalker/imgAbilityLineOdd.png differ diff --git a/data/borders/planeswalker/imgArtMask.png b/data/borders/planeswalker/imgArtMask.png new file mode 100644 index 00000000..c9c59c1b Binary files /dev/null and b/data/borders/planeswalker/imgArtMask.png differ diff --git a/data/borders/planeswalker/imgBorderMask.png b/data/borders/planeswalker/imgBorderMask.png new file mode 100644 index 00000000..16dbc1fe Binary files /dev/null and b/data/borders/planeswalker/imgBorderMask.png differ diff --git a/data/borders/planeswalker/imgFrameMask.png b/data/borders/planeswalker/imgFrameMask.png new file mode 100644 index 00000000..a4efdd9e Binary files /dev/null and b/data/borders/planeswalker/imgFrameMask.png differ diff --git a/data/borders/planeswalker/imgPinlineMask.png b/data/borders/planeswalker/imgPinlineMask.png new file mode 100644 index 00000000..5638e538 Binary files /dev/null and b/data/borders/planeswalker/imgPinlineMask.png differ diff --git a/data/borders/tokenText/titleMask.png b/data/borders/planeswalker/imgTitleMask.png similarity index 80% rename from data/borders/tokenText/titleMask.png rename to data/borders/planeswalker/imgTitleMask.png index b72aa9ec..bfa8f52a 100644 Binary files a/data/borders/tokenText/titleMask.png and b/data/borders/planeswalker/imgTitleMask.png differ diff --git a/data/borders/tokenText/typeMask.png b/data/borders/planeswalker/imgTypeMask.png similarity index 82% rename from data/borders/tokenText/typeMask.png rename to data/borders/planeswalker/imgTypeMask.png index 625800d6..849deff2 100644 Binary files a/data/borders/tokenText/typeMask.png and b/data/borders/planeswalker/imgTypeMask.png differ diff --git a/data/borders/planeswalker/multiGradient.png b/data/borders/planeswalker/multiGradient.png deleted file mode 100644 index 8b7268a5..00000000 Binary files a/data/borders/planeswalker/multiGradient.png and /dev/null differ diff --git a/data/borders/planeswalker/multiMask.png b/data/borders/planeswalker/multiMask.png deleted file mode 100644 index fde5b1ab..00000000 Binary files a/data/borders/planeswalker/multiMask.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/abilityLineEven.png b/data/borders/planeswalkerTall/abilityLineEven.png deleted file mode 100644 index 598788bb..00000000 Binary files a/data/borders/planeswalkerTall/abilityLineEven.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/abilityLineOdd.png b/data/borders/planeswalkerTall/abilityLineOdd.png deleted file mode 100644 index a7868474..00000000 Binary files a/data/borders/planeswalkerTall/abilityLineOdd.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/artMask.png b/data/borders/planeswalkerTall/artMask.png deleted file mode 100644 index 1675a0bb..00000000 Binary files a/data/borders/planeswalkerTall/artMask.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/artifact/frame.png b/data/borders/planeswalkerTall/artifact/frame.png deleted file mode 100644 index 78764791..00000000 Binary files a/data/borders/planeswalkerTall/artifact/frame.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/artifact/pt.png b/data/borders/planeswalkerTall/artifact/pt.png deleted file mode 100644 index 3ca7595c..00000000 Binary files a/data/borders/planeswalkerTall/artifact/pt.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/artifact/stamp.png b/data/borders/planeswalkerTall/artifact/stamp.png deleted file mode 100644 index 44d67f2d..00000000 Binary files a/data/borders/planeswalkerTall/artifact/stamp.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/black/frame.png b/data/borders/planeswalkerTall/black/frame.png deleted file mode 100644 index dd9137d9..00000000 Binary files a/data/borders/planeswalkerTall/black/frame.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/black/pt.png b/data/borders/planeswalkerTall/black/pt.png deleted file mode 100644 index 3ca7595c..00000000 Binary files a/data/borders/planeswalkerTall/black/pt.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/black/stamp.png b/data/borders/planeswalkerTall/black/stamp.png deleted file mode 100644 index bf364181..00000000 Binary files a/data/borders/planeswalkerTall/black/stamp.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/blue/frame.png b/data/borders/planeswalkerTall/blue/frame.png deleted file mode 100644 index 2267c60e..00000000 Binary files a/data/borders/planeswalkerTall/blue/frame.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/blue/pt.png b/data/borders/planeswalkerTall/blue/pt.png deleted file mode 100644 index 3ca7595c..00000000 Binary files a/data/borders/planeswalkerTall/blue/pt.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/blue/stamp.png b/data/borders/planeswalkerTall/blue/stamp.png deleted file mode 100644 index fa6f5686..00000000 Binary files a/data/borders/planeswalkerTall/blue/stamp.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/border.js b/data/borders/planeswalkerTall/border.js deleted file mode 100644 index ca968ebd..00000000 --- a/data/borders/planeswalkerTall/border.js +++ /dev/null @@ -1,145 +0,0 @@ -//Planeswalker Border -//Anything to do with... -//Loading Images -imgMultiGradient.src = borderPath + "multiGradient.png" -imgMultiMask.src = borderPath + "multiMask.png" -imgFrameMask.src = borderPath + "frameMask.png" -imgRareStampMask.src = borderPath + "rareStampMask.png" -imgBorderMask.src = borderPath + "borderMask.png" -imgAbilityLineOdd.src = borderPath + "abilityLineOdd.png" -imgAbilityLineEven.src = borderPath + "abilityLineEven.png" -document.getElementById("textSize").value = 33 -document.getElementById("inputCreatureColor").value = "#ffffff" -//Card Title -var titleFont = "40px belerenb" //40 -var titleFontSpacing = "-0.1px" //-0.1 -var titleX = 62 //62 -var titleY = 48 //42 -//Mana Cost -var manaCostRadius = 17.5 //17.5 -var manaCostX = 657 //657 -var manaCostY = 46 //46 -//Card Type -var typeFont = "33.5px belerenb" //33.5 -var typeFontSpacing = "0.05px" //0.05 -var typeX = 62 //62 -var typeY = 532 //532 -//Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = -0.4 //-0.4 -var textX = 134 //134 -var textY = 586 //586 -var textWidth = 682 //682 -//Power Toughness -var ptFont = "39px belerenb" //39 -var ptFontSpacing = "0.3px" //0.3 -var ptTextX = 655 //655 -var ptTextY = 940 //940 -imgBorderCreature.imgValues(598, 920, 118, 75) -//Bottom Info -var infoY = 999 //999 -//Set Symbol -var setSymbolY = 545 //615 -var setSymbolRight = 695 //695 -var setSymbolWidth = 90 //90 -var setSymbolHeight = 42 //42 -//Watermark -var watermarkWidth = 520 //520 -var watermarkHeight = 250 //250 -var watermarkY = 805 //805 -//Rare Stamp -var rareStampY = 955 //955 -//Color Options -loadColors("white-White,blue-Blue,black-Black,red-Red,green-Green,gold-Gold,colorless-Colorless,artifact-Artifact") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -//"Being a Planeswalker is being able to do what a card do" -// —Unknown AP English Student -stampBorder = true -var artX = 52 -var artY = 106 -//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 = "planeswalkerTallCustomFunction" - -function planeswalkerTallCustomFunction() { - //Bottom info is important - bottomInfoM15() - //But now it has to draw/write the loyalty things! - var abilityLineY = 580 - for (i = 0; i < abilityLines.length; i ++) { - var loyaltyValue = document.getElementById("abilityValue" + i).value - if (loyaltyValue != "") { - card.fillStyle = "white" - card.textAlign = "center" - card.font = "31px belerenbsc" - if (loyaltyValue.charAt(0) == "-") { - card.drawImage(manaSymbolImages[58], 34, abilityLineY + abilityLines[i] / 2 - 28, 84, 64) - card.fillText(loyaltyValue, 76, abilityLineY + abilityLines[i] / 2 - 17 + textBaselineShift[0] * card.font.split("px")[0]) - } else if (loyaltyValue.charAt(0) == "+") { - card.drawImage(manaSymbolImages[59], 34, abilityLineY + abilityLines[i] / 2 - 38, 82, 62) - card.fillText(loyaltyValue, 74, abilityLineY + abilityLines[i] / 2 - 19 + textBaselineShift[0] * card.font.split("px")[0]) - } else { - card.drawImage(manaSymbolImages[60], 34, abilityLineY + abilityLines[i] / 2 - 28, 82, 56) - card.fillText(loyaltyValue, 74, abilityLineY + abilityLines[i] / 2 - 16 + textBaselineShift[0] * card.font.split("px")[0]) - } - card.font = "37px mplantin" - card.fillStyle = "black" - card.fillText(":", 124, abilityLineY + abilityLines[i] / 2 - 23 + textBaselineShift[0] * card.font.split("px")[0]) - } - abilityLineY += abilityLines[i] - } -} - -var savedFrameMask = new Image() -savedFrameMask.src = borderPath + "frameMask.png" -var abilityLineCanvas = document.createElement("canvas") -abilityLineCanvas.width = cardWidth -abilityLineCanvas.height = cardHeight -var abilityLineContext = abilityLineCanvas.getContext("2d") -var abilityLines = [] -function planeswalkerAbilityLines() { - abilityLines = [] - if (document.getElementById("abilityLine1").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("abilityLine1").value)} - if (document.getElementById("abilityLine2").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("abilityLine2").value)} - if (document.getElementById("abilityLine3").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("abilityLine3").value)} - if (document.getElementById("abilityLine4").value > 0) {abilityLines[abilityLines.length] = parseInt(document.getElementById("abilityLine4").value)} - abilityLineContext.clearRect(0, 0, cardWidth, cardHeight) - var abilityLineY = 575 - for (i = 0; i < abilityLines.length; i ++) { - if (i == abilityLines.length - 1) { - // abilityLines[i] += cardHeight - abilityLines[i] - if (i % 2 === 0) { - abilityLineContext.fillStyle = "#95959595" - } else { - abilityLineContext.fillStyle = "#6a6a6a6a" - } - abilityLineContext.fillRect(50, abilityLineY + 5, cardWidth - 100, cardHeight - abilityLineY - 90) - } else { - if (i % 2 === 0) { - abilityLineContext.fillStyle = "#95959595" - abilityLineContext.drawImage(imgAbilityLineOdd, 93, abilityLineY + abilityLines[i] - 5, 596, 10) - } else { - abilityLineContext.fillStyle = "#6a6a6a6a" - abilityLineContext.drawImage(imgAbilityLineEven, 93, abilityLineY + abilityLines[i] - 5, 596, 10) - } - abilityLineContext.fillRect(50, abilityLineY + 5, cardWidth - 100, abilityLines[i] - 10) - } - abilityLineY += abilityLines[i] - } - abilityLineContext.clearRect(0, 0, 93, cardHeight) - abilityLineContext.drawImage(savedFrameMask, 0, 0, cardWidth, cardHeight) - imgFrameMask.src = abilityLineCanvas.toDataURL() - imgFrameMask.hasToLoad = true -} -imgFrameMask.onload = function() { - if (imgFrameMask.hasToLoad == true) { - imgFrameMask.hasToLoad = false - createBorder() - } -} -//Reveals the planeswalker card manipulation menu section -document.getElementById("cmmPlaneswalker").style.display = "block" -//After a second the first ability lines will be generated -setTimeout(function(){if (document.getElementById("borderSelection").value == "planeswalkerTall/") {planeswalkerAbilityLines()}}, 1000) \ No newline at end of file diff --git a/data/borders/planeswalkerTall/borderMask.png b/data/borders/planeswalkerTall/borderMask.png deleted file mode 100644 index 1cabe562..00000000 Binary files a/data/borders/planeswalkerTall/borderMask.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/colorless/frame.png b/data/borders/planeswalkerTall/colorless/frame.png deleted file mode 100644 index 6cf1d33e..00000000 Binary files a/data/borders/planeswalkerTall/colorless/frame.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/colorless/pt.png b/data/borders/planeswalkerTall/colorless/pt.png deleted file mode 100644 index 3ca7595c..00000000 Binary files a/data/borders/planeswalkerTall/colorless/pt.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/colorless/stamp.png b/data/borders/planeswalkerTall/colorless/stamp.png deleted file mode 100644 index 02c868ca..00000000 Binary files a/data/borders/planeswalkerTall/colorless/stamp.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/frameMask.png b/data/borders/planeswalkerTall/frameMask.png deleted file mode 100644 index 0ba53d86..00000000 Binary files a/data/borders/planeswalkerTall/frameMask.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/gold/frame.png b/data/borders/planeswalkerTall/gold/frame.png deleted file mode 100644 index 62bd37e3..00000000 Binary files a/data/borders/planeswalkerTall/gold/frame.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/gold/pt.png b/data/borders/planeswalkerTall/gold/pt.png deleted file mode 100644 index 3ca7595c..00000000 Binary files a/data/borders/planeswalkerTall/gold/pt.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/gold/stamp.png b/data/borders/planeswalkerTall/gold/stamp.png deleted file mode 100644 index 6a130e0a..00000000 Binary files a/data/borders/planeswalkerTall/gold/stamp.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/green/frame.png b/data/borders/planeswalkerTall/green/frame.png deleted file mode 100644 index 2ddb1b2a..00000000 Binary files a/data/borders/planeswalkerTall/green/frame.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/green/pt.png b/data/borders/planeswalkerTall/green/pt.png deleted file mode 100644 index 3ca7595c..00000000 Binary files a/data/borders/planeswalkerTall/green/pt.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/green/stamp.png b/data/borders/planeswalkerTall/green/stamp.png deleted file mode 100644 index 18f40cba..00000000 Binary files a/data/borders/planeswalkerTall/green/stamp.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/multiGradient.png b/data/borders/planeswalkerTall/multiGradient.png deleted file mode 100644 index 8b7268a5..00000000 Binary files a/data/borders/planeswalkerTall/multiGradient.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/multiMask.png b/data/borders/planeswalkerTall/multiMask.png deleted file mode 100644 index d87102ef..00000000 Binary files a/data/borders/planeswalkerTall/multiMask.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/red/frame.png b/data/borders/planeswalkerTall/red/frame.png deleted file mode 100644 index e65ba8fb..00000000 Binary files a/data/borders/planeswalkerTall/red/frame.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/red/pt.png b/data/borders/planeswalkerTall/red/pt.png deleted file mode 100644 index 3ca7595c..00000000 Binary files a/data/borders/planeswalkerTall/red/pt.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/red/stamp.png b/data/borders/planeswalkerTall/red/stamp.png deleted file mode 100644 index 598c4c55..00000000 Binary files a/data/borders/planeswalkerTall/red/stamp.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/white/frame.png b/data/borders/planeswalkerTall/white/frame.png deleted file mode 100644 index 4e0e0fd0..00000000 Binary files a/data/borders/planeswalkerTall/white/frame.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/white/pt.png b/data/borders/planeswalkerTall/white/pt.png deleted file mode 100644 index 3ca7595c..00000000 Binary files a/data/borders/planeswalkerTall/white/pt.png and /dev/null differ diff --git a/data/borders/planeswalkerTall/white/stamp.png b/data/borders/planeswalkerTall/white/stamp.png deleted file mode 100644 index 64ec9bf3..00000000 Binary files a/data/borders/planeswalkerTall/white/stamp.png and /dev/null differ diff --git a/data/borders/tokenTall/artifact/frame.png b/data/borders/tokenTall/artifact/frame.png deleted file mode 100644 index 7b63d276..00000000 Binary files a/data/borders/tokenTall/artifact/frame.png and /dev/null differ diff --git a/data/borders/tokenTall/artifact/legendary.png b/data/borders/tokenTall/artifact/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTall/artifact/legendary.png and /dev/null differ diff --git a/data/borders/tokenTall/artifact/pt.png b/data/borders/tokenTall/artifact/pt.png deleted file mode 100644 index 15d680e6..00000000 Binary files a/data/borders/tokenTall/artifact/pt.png and /dev/null differ diff --git a/data/borders/tokenTall/black/frame.png b/data/borders/tokenTall/black/frame.png deleted file mode 100644 index 87de0a04..00000000 Binary files a/data/borders/tokenTall/black/frame.png and /dev/null differ diff --git a/data/borders/tokenTall/black/legendary.png b/data/borders/tokenTall/black/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTall/black/legendary.png and /dev/null differ diff --git a/data/borders/tokenTall/black/pt.png b/data/borders/tokenTall/black/pt.png deleted file mode 100644 index f4cbdac8..00000000 Binary files a/data/borders/tokenTall/black/pt.png and /dev/null differ diff --git a/data/borders/tokenTall/blue/frame.png b/data/borders/tokenTall/blue/frame.png deleted file mode 100644 index c1ea8042..00000000 Binary files a/data/borders/tokenTall/blue/frame.png and /dev/null differ diff --git a/data/borders/tokenTall/blue/legendary.png b/data/borders/tokenTall/blue/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTall/blue/legendary.png and /dev/null differ diff --git a/data/borders/tokenTall/blue/pt.png b/data/borders/tokenTall/blue/pt.png deleted file mode 100644 index e9f38eea..00000000 Binary files a/data/borders/tokenTall/blue/pt.png and /dev/null differ diff --git a/data/borders/tokenTall/border.js b/data/borders/tokenTall/border.js deleted file mode 100644 index 138fb08a..00000000 --- a/data/borders/tokenTall/border.js +++ /dev/null @@ -1,57 +0,0 @@ -//M15 Border -//Anything to do with... -//Loading Images -var artX = 56 -var artY = 125 -imgMultiMask.src = borderPath + "multiMask.png" -imgFrameMask.src = borderPath + "frameMask.png" -imgLegendFrameMask.src = borderPath + "legendFrameMask.png" -imgBorderMask.src = borderPath + "borderMask.png" -//Card Title -document.getElementById("inputTitleColor").value = "#ffe886" -var titleFont = "40px belerenbsc" //40 -var titleFontSpacing = "0.15px" //0.15 -var titleX = 374.5 //62 -var titleY = 62 //62 -var titleAlign = "center" -//Mana Cost -var manaCostRadius = 17.5 //17.5 -var manaCostX = 657 //657 -var manaCostY = 59 //59 -//Card Type -var typeFont = "33.5px belerenb" //33.5 -var typeFontSpacing = "0.05px" //0.05 -var typeX = 60 //62 -var typeY = 601 //601 -// Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = 0.7 //0.7 -var textX = 66 //66 -var textY = 779 //779 -var textWidth = 687 //682 -//Power Toughness -var ptFont = "39px belerenb" //39 -var ptFontSpacing = "0.3px" //0.3 -var ptTextX = 645 //645 -var ptTextY = 939 //939 -imgBorderCreature.imgValues(571, 926, 137, 75) -//Bottom Info -var infoY = 999 //999 -//Set Symbol -var setSymbolY = 616 //616 -var setSymbolRight = 693 //693 -var setSymbolWidth = 84 //77 -var setSymbolHeight = 44 //44 -//Color Options -loadColors("white-White,blue-Blue,black-Black,red-Red,green-Green,gold-Gold,colorless-Colorless,artifact-Artifact") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -//Things The Card Can Do -legendaryBorder = true -imgBorderLegendary.imgValues(26, 20, 697, 112, "imgSecondBorderLegendary") -// nyxBorder = true -// imgBorderNyx.imgValues(30, 30, 689, 643, "imgSecondBorderNyx") -//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 = "bottomInfoM15" \ No newline at end of file diff --git a/data/borders/tokenTall/borderMask.png b/data/borders/tokenTall/borderMask.png deleted file mode 100644 index 68760f52..00000000 Binary files a/data/borders/tokenTall/borderMask.png and /dev/null differ diff --git a/data/borders/tokenTall/colorless/frame.png b/data/borders/tokenTall/colorless/frame.png deleted file mode 100644 index a916c81b..00000000 Binary files a/data/borders/tokenTall/colorless/frame.png and /dev/null differ diff --git a/data/borders/tokenTall/colorless/legendary.png b/data/borders/tokenTall/colorless/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTall/colorless/legendary.png and /dev/null differ diff --git a/data/borders/tokenTall/colorless/pt.png b/data/borders/tokenTall/colorless/pt.png deleted file mode 100644 index da5f62b2..00000000 Binary files a/data/borders/tokenTall/colorless/pt.png and /dev/null differ diff --git a/data/borders/tokenTall/frameMask.png b/data/borders/tokenTall/frameMask.png deleted file mode 100644 index a5401f9d..00000000 Binary files a/data/borders/tokenTall/frameMask.png and /dev/null differ diff --git a/data/borders/tokenTall/gold/frame.png b/data/borders/tokenTall/gold/frame.png deleted file mode 100644 index 245b0043..00000000 Binary files a/data/borders/tokenTall/gold/frame.png and /dev/null differ diff --git a/data/borders/tokenTall/gold/legendary.png b/data/borders/tokenTall/gold/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTall/gold/legendary.png and /dev/null differ diff --git a/data/borders/tokenTall/gold/pt.png b/data/borders/tokenTall/gold/pt.png deleted file mode 100644 index 163d7330..00000000 Binary files a/data/borders/tokenTall/gold/pt.png and /dev/null differ diff --git a/data/borders/tokenTall/green/frame.png b/data/borders/tokenTall/green/frame.png deleted file mode 100644 index 1b53a5ad..00000000 Binary files a/data/borders/tokenTall/green/frame.png and /dev/null differ diff --git a/data/borders/tokenTall/green/legendary.png b/data/borders/tokenTall/green/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTall/green/legendary.png and /dev/null differ diff --git a/data/borders/tokenTall/green/pt.png b/data/borders/tokenTall/green/pt.png deleted file mode 100644 index 374dc86a..00000000 Binary files a/data/borders/tokenTall/green/pt.png and /dev/null differ diff --git a/data/borders/tokenTall/legendFrameMask.png b/data/borders/tokenTall/legendFrameMask.png deleted file mode 100644 index 7198b5d9..00000000 Binary files a/data/borders/tokenTall/legendFrameMask.png and /dev/null differ diff --git a/data/borders/tokenTall/red/frame.png b/data/borders/tokenTall/red/frame.png deleted file mode 100644 index e0a67200..00000000 Binary files a/data/borders/tokenTall/red/frame.png and /dev/null differ diff --git a/data/borders/tokenTall/red/legendary.png b/data/borders/tokenTall/red/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTall/red/legendary.png and /dev/null differ diff --git a/data/borders/tokenTall/red/pt.png b/data/borders/tokenTall/red/pt.png deleted file mode 100644 index 255cf8b8..00000000 Binary files a/data/borders/tokenTall/red/pt.png and /dev/null differ diff --git a/data/borders/tokenTall/white/frame.png b/data/borders/tokenTall/white/frame.png deleted file mode 100644 index b73a7ad2..00000000 Binary files a/data/borders/tokenTall/white/frame.png and /dev/null differ diff --git a/data/borders/tokenTall/white/legendary.png b/data/borders/tokenTall/white/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTall/white/legendary.png and /dev/null differ diff --git a/data/borders/tokenTall/white/pt.png b/data/borders/tokenTall/white/pt.png deleted file mode 100644 index 6480a390..00000000 Binary files a/data/borders/tokenTall/white/pt.png and /dev/null differ diff --git a/data/borders/tokenText/artMask.png b/data/borders/tokenText/artMask.png deleted file mode 100644 index af22ddca..00000000 Binary files a/data/borders/tokenText/artMask.png and /dev/null differ diff --git a/data/borders/tokenText/artifact/frame.png b/data/borders/tokenText/artifact/frame.png deleted file mode 100644 index debb518f..00000000 Binary files a/data/borders/tokenText/artifact/frame.png and /dev/null differ diff --git a/data/borders/tokenText/artifact/legendary.png b/data/borders/tokenText/artifact/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenText/artifact/legendary.png and /dev/null differ diff --git a/data/borders/tokenText/artifact/nyx.png b/data/borders/tokenText/artifact/nyx.png deleted file mode 100644 index 3f9ad1ce..00000000 Binary files a/data/borders/tokenText/artifact/nyx.png and /dev/null differ diff --git a/data/borders/tokenText/artifact/pt.png b/data/borders/tokenText/artifact/pt.png deleted file mode 100644 index 15d680e6..00000000 Binary files a/data/borders/tokenText/artifact/pt.png and /dev/null differ diff --git a/data/borders/tokenText/black/frame.png b/data/borders/tokenText/black/frame.png deleted file mode 100644 index 66b284b2..00000000 Binary files a/data/borders/tokenText/black/frame.png and /dev/null differ diff --git a/data/borders/tokenText/black/legendary.png b/data/borders/tokenText/black/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenText/black/legendary.png and /dev/null differ diff --git a/data/borders/tokenText/black/nyx.png b/data/borders/tokenText/black/nyx.png deleted file mode 100644 index 43fea9ea..00000000 Binary files a/data/borders/tokenText/black/nyx.png and /dev/null differ diff --git a/data/borders/tokenText/black/pt.png b/data/borders/tokenText/black/pt.png deleted file mode 100644 index f4cbdac8..00000000 Binary files a/data/borders/tokenText/black/pt.png and /dev/null differ diff --git a/data/borders/tokenText/blue/frame.png b/data/borders/tokenText/blue/frame.png deleted file mode 100644 index d18a337e..00000000 Binary files a/data/borders/tokenText/blue/frame.png and /dev/null differ diff --git a/data/borders/tokenText/blue/legendary.png b/data/borders/tokenText/blue/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenText/blue/legendary.png and /dev/null differ diff --git a/data/borders/tokenText/blue/nyx.png b/data/borders/tokenText/blue/nyx.png deleted file mode 100644 index 22623796..00000000 Binary files a/data/borders/tokenText/blue/nyx.png and /dev/null differ diff --git a/data/borders/tokenText/blue/pt.png b/data/borders/tokenText/blue/pt.png deleted file mode 100644 index e9f38eea..00000000 Binary files a/data/borders/tokenText/blue/pt.png and /dev/null differ diff --git a/data/borders/tokenText/border.js b/data/borders/tokenText/border.js deleted file mode 100644 index 01b03bee..00000000 --- a/data/borders/tokenText/border.js +++ /dev/null @@ -1,60 +0,0 @@ -//Token Text -//Anything to do with... -//Loading Images -var artX = 56 -var artY = 125 -imgMultiMask.src = borderPath + "multiMask.png" -imgFrameMask.src = borderPath + "frameMask.png" -imgLegendFrameMask.src = borderPath + "legendFrameMask.png" -imgBorderMask.src = borderPath + "borderMask.png" -imgRulesMask.src = borderPath + "rulesMask.png" -imgTypeMask.src = borderPath + "typeMask.png" -imgTitleMask.src = borderPath + "titleMask.png" -//Card Title -document.getElementById("inputTitleColor").value = "#ffe886" -var titleFont = "40px belerenbsc" //40 -var titleFontSpacing = "0.15px" //0.15 -var titleX = 374.5 //62 -var titleY = 62 //62 -var titleAlign = "center" -//Mana Cost -var manaCostRadius = 17.5 //17.5 -var manaCostX = 657 //657 -var manaCostY = 59 //59 -//Card Type -var typeFont = "33.5px belerenb" //33.5 -var typeFontSpacing = "0.05px" //0.05 -var typeX = 60 //62 -var typeY = 719 //719 -// Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = 0.7 //0.7 -var textX = 66 //66 -var textY = 779 //779 -var textWidth = 682 //682 -//Power Toughness -var ptFont = "39px belerenb" //39 -var ptFontSpacing = "0.3px" //0.3 -var ptTextX = 645 //645 -var ptTextY = 939 //939 -imgBorderCreature.imgValues(571, 926, 137, 75) -//Bottom Info -var infoY = 999 //999 -//Set Symbol -var setSymbolY = 734 //616 -var setSymbolRight = 693 //693 -var setSymbolWidth = 84 //77 -var setSymbolHeight = 44 //44 -//Color Options -loadColors("white-White,blue-Blue,black-Black,red-Red,green-Green,gold-Gold,colorless-Colorless,artifact-Artifact") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -//Things The Card Can Do -legendaryBorder = true -imgBorderLegendary.imgValues(26, 20, 697, 112, "imgSecondBorderLegendary") -nyxBorder = true -imgBorderNyx.imgValues(30, 30, 689, 643, "imgSecondBorderNyx") -//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 = "bottomInfoM15" \ No newline at end of file diff --git a/data/borders/tokenText/borderMask.png b/data/borders/tokenText/borderMask.png deleted file mode 100644 index 68760f52..00000000 Binary files a/data/borders/tokenText/borderMask.png and /dev/null differ diff --git a/data/borders/tokenText/colorless/frame.png b/data/borders/tokenText/colorless/frame.png deleted file mode 100644 index 51720d48..00000000 Binary files a/data/borders/tokenText/colorless/frame.png and /dev/null differ diff --git a/data/borders/tokenText/colorless/legendary.png b/data/borders/tokenText/colorless/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenText/colorless/legendary.png and /dev/null differ diff --git a/data/borders/tokenText/colorless/nyx.png b/data/borders/tokenText/colorless/nyx.png deleted file mode 100644 index a4e11bc2..00000000 Binary files a/data/borders/tokenText/colorless/nyx.png and /dev/null differ diff --git a/data/borders/tokenText/colorless/pt.png b/data/borders/tokenText/colorless/pt.png deleted file mode 100644 index da5f62b2..00000000 Binary files a/data/borders/tokenText/colorless/pt.png and /dev/null differ diff --git a/data/borders/tokenText/frameMask.png b/data/borders/tokenText/frameMask.png deleted file mode 100644 index a5401f9d..00000000 Binary files a/data/borders/tokenText/frameMask.png and /dev/null differ diff --git a/data/borders/tokenText/gold/frame.png b/data/borders/tokenText/gold/frame.png deleted file mode 100644 index 2e2fe9fd..00000000 Binary files a/data/borders/tokenText/gold/frame.png and /dev/null differ diff --git a/data/borders/tokenText/gold/legendary.png b/data/borders/tokenText/gold/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenText/gold/legendary.png and /dev/null differ diff --git a/data/borders/tokenText/gold/nyx.png b/data/borders/tokenText/gold/nyx.png deleted file mode 100644 index c880f573..00000000 Binary files a/data/borders/tokenText/gold/nyx.png and /dev/null differ diff --git a/data/borders/tokenText/gold/pt.png b/data/borders/tokenText/gold/pt.png deleted file mode 100644 index 163d7330..00000000 Binary files a/data/borders/tokenText/gold/pt.png and /dev/null differ diff --git a/data/borders/tokenText/green/frame.png b/data/borders/tokenText/green/frame.png deleted file mode 100644 index 6b5bc064..00000000 Binary files a/data/borders/tokenText/green/frame.png and /dev/null differ diff --git a/data/borders/tokenText/green/legendary.png b/data/borders/tokenText/green/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenText/green/legendary.png and /dev/null differ diff --git a/data/borders/tokenText/green/nyx.png b/data/borders/tokenText/green/nyx.png deleted file mode 100644 index c04cfb3b..00000000 Binary files a/data/borders/tokenText/green/nyx.png and /dev/null differ diff --git a/data/borders/tokenText/green/pt.png b/data/borders/tokenText/green/pt.png deleted file mode 100644 index 374dc86a..00000000 Binary files a/data/borders/tokenText/green/pt.png and /dev/null differ diff --git a/data/borders/tokenText/legendFrameMask.png b/data/borders/tokenText/legendFrameMask.png deleted file mode 100644 index 7198b5d9..00000000 Binary files a/data/borders/tokenText/legendFrameMask.png and /dev/null differ diff --git a/data/borders/tokenText/red/frame.png b/data/borders/tokenText/red/frame.png deleted file mode 100644 index 3f683d32..00000000 Binary files a/data/borders/tokenText/red/frame.png and /dev/null differ diff --git a/data/borders/tokenText/red/legendary.png b/data/borders/tokenText/red/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenText/red/legendary.png and /dev/null differ diff --git a/data/borders/tokenText/red/nyx.png b/data/borders/tokenText/red/nyx.png deleted file mode 100644 index ff9c69b9..00000000 Binary files a/data/borders/tokenText/red/nyx.png and /dev/null differ diff --git a/data/borders/tokenText/red/pt.png b/data/borders/tokenText/red/pt.png deleted file mode 100644 index 255cf8b8..00000000 Binary files a/data/borders/tokenText/red/pt.png and /dev/null differ diff --git a/data/borders/tokenText/white/frame.png b/data/borders/tokenText/white/frame.png deleted file mode 100644 index dd629887..00000000 Binary files a/data/borders/tokenText/white/frame.png and /dev/null differ diff --git a/data/borders/tokenText/white/legendary.png b/data/borders/tokenText/white/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenText/white/legendary.png and /dev/null differ diff --git a/data/borders/tokenText/white/nyx.png b/data/borders/tokenText/white/nyx.png deleted file mode 100644 index 52de69d9..00000000 Binary files a/data/borders/tokenText/white/nyx.png and /dev/null differ diff --git a/data/borders/tokenText/white/pt.png b/data/borders/tokenText/white/pt.png deleted file mode 100644 index 6480a390..00000000 Binary files a/data/borders/tokenText/white/pt.png and /dev/null differ diff --git a/data/borders/tokenTextless/artMask.png b/data/borders/tokenTextless/artMask.png deleted file mode 100644 index 409886fe..00000000 Binary files a/data/borders/tokenTextless/artMask.png and /dev/null differ diff --git a/data/borders/tokenTextless/artifact/frame.png b/data/borders/tokenTextless/artifact/frame.png deleted file mode 100644 index 18d6f75f..00000000 Binary files a/data/borders/tokenTextless/artifact/frame.png and /dev/null differ diff --git a/data/borders/tokenTextless/artifact/legendary.png b/data/borders/tokenTextless/artifact/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTextless/artifact/legendary.png and /dev/null differ diff --git a/data/borders/tokenTextless/artifact/nyx.png b/data/borders/tokenTextless/artifact/nyx.png deleted file mode 100644 index 3f9ad1ce..00000000 Binary files a/data/borders/tokenTextless/artifact/nyx.png and /dev/null differ diff --git a/data/borders/tokenTextless/artifact/pt.png b/data/borders/tokenTextless/artifact/pt.png deleted file mode 100644 index 15d680e6..00000000 Binary files a/data/borders/tokenTextless/artifact/pt.png and /dev/null differ diff --git a/data/borders/tokenTextless/black/frame.png b/data/borders/tokenTextless/black/frame.png deleted file mode 100644 index c47fd916..00000000 Binary files a/data/borders/tokenTextless/black/frame.png and /dev/null differ diff --git a/data/borders/tokenTextless/black/legendary.png b/data/borders/tokenTextless/black/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTextless/black/legendary.png and /dev/null differ diff --git a/data/borders/tokenTextless/black/nyx.png b/data/borders/tokenTextless/black/nyx.png deleted file mode 100644 index 43fea9ea..00000000 Binary files a/data/borders/tokenTextless/black/nyx.png and /dev/null differ diff --git a/data/borders/tokenTextless/black/pt.png b/data/borders/tokenTextless/black/pt.png deleted file mode 100644 index f4cbdac8..00000000 Binary files a/data/borders/tokenTextless/black/pt.png and /dev/null differ diff --git a/data/borders/tokenTextless/blue/frame.png b/data/borders/tokenTextless/blue/frame.png deleted file mode 100644 index 651c78d9..00000000 Binary files a/data/borders/tokenTextless/blue/frame.png and /dev/null differ diff --git a/data/borders/tokenTextless/blue/legendary.png b/data/borders/tokenTextless/blue/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTextless/blue/legendary.png and /dev/null differ diff --git a/data/borders/tokenTextless/blue/nyx.png b/data/borders/tokenTextless/blue/nyx.png deleted file mode 100644 index 22623796..00000000 Binary files a/data/borders/tokenTextless/blue/nyx.png and /dev/null differ diff --git a/data/borders/tokenTextless/blue/pt.png b/data/borders/tokenTextless/blue/pt.png deleted file mode 100644 index e9f38eea..00000000 Binary files a/data/borders/tokenTextless/blue/pt.png and /dev/null differ diff --git a/data/borders/tokenTextless/border.js b/data/borders/tokenTextless/border.js deleted file mode 100644 index f5c31110..00000000 --- a/data/borders/tokenTextless/border.js +++ /dev/null @@ -1,57 +0,0 @@ -//M15 Border -//Anything to do with... -//Loading Images -var artX = 56 -var artY = 125 -imgMultiMask.src = borderPath + "multiMask.png" -imgFrameMask.src = borderPath + "frameMask.png" -imgLegendFrameMask.src = borderPath + "legendFrameMask.png" -imgBorderMask.src = borderPath + "borderMask.png" -//Card Title -document.getElementById("inputTitleColor").value = "#ffe886" -var titleFont = "40px belerenbsc" //40 -var titleFontSpacing = "0.15px" //0.15 -var titleX = 374.5 //62 -var titleY = 59 //59 -var titleAlign = "center" -//Mana Cost -var manaCostRadius = 17.5 //17.5 -var manaCostX = 657 //657 -var manaCostY = 59 //59 -//Card Type -var typeFont = "33.5px belerenb" //33.5 -var typeFontSpacing = "0.05px" //0.05 -var typeX = 60 //60 -var typeY = 868 //868 -// Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = 0.7 //0.7 -var textX = 66 //66 -var textY = 266 //656 -var textWidth = 682 //682 -//Power Toughness -var ptFont = "39px belerenb" //39 -var ptFontSpacing = "0.3px" //0.3 -var ptTextX = 645 //645 -var ptTextY = 939 //939 -imgBorderCreature.imgValues(571, 926, 137, 75) -//Bottom Info -var infoY = 999 //999 -//Set Symbol -var setSymbolY = 883 //616 -var setSymbolRight = 693 //693 -var setSymbolWidth = 84 //77 -var setSymbolHeight = 44 //44 -//Color Options -loadColors("white-White,blue-Blue,black-Black,red-Red,green-Green,gold-Gold,colorless-Colorless,artifact-Artifact") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -//Things The Card Can Do -legendaryBorder = true -imgBorderLegendary.imgValues(26, 20, 697, 112, "imgSecondBorderLegendary") -nyxBorder = true -imgBorderNyx.imgValues(30, 30, 689, 643, "imgSecondBorderNyx") -//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 = "bottomInfoM15" \ No newline at end of file diff --git a/data/borders/tokenTextless/borderMask.png b/data/borders/tokenTextless/borderMask.png deleted file mode 100644 index 68760f52..00000000 Binary files a/data/borders/tokenTextless/borderMask.png and /dev/null differ diff --git a/data/borders/tokenTextless/colorless/frame.png b/data/borders/tokenTextless/colorless/frame.png deleted file mode 100644 index d1bf1efd..00000000 Binary files a/data/borders/tokenTextless/colorless/frame.png and /dev/null differ diff --git a/data/borders/tokenTextless/colorless/legendary.png b/data/borders/tokenTextless/colorless/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTextless/colorless/legendary.png and /dev/null differ diff --git a/data/borders/tokenTextless/colorless/nyx.png b/data/borders/tokenTextless/colorless/nyx.png deleted file mode 100644 index a4e11bc2..00000000 Binary files a/data/borders/tokenTextless/colorless/nyx.png and /dev/null differ diff --git a/data/borders/tokenTextless/colorless/pt.png b/data/borders/tokenTextless/colorless/pt.png deleted file mode 100644 index da5f62b2..00000000 Binary files a/data/borders/tokenTextless/colorless/pt.png and /dev/null differ diff --git a/data/borders/tokenTextless/frameMask.png b/data/borders/tokenTextless/frameMask.png deleted file mode 100644 index a5401f9d..00000000 Binary files a/data/borders/tokenTextless/frameMask.png and /dev/null differ diff --git a/data/borders/tokenTextless/gold/frame.png b/data/borders/tokenTextless/gold/frame.png deleted file mode 100644 index 236d5be9..00000000 Binary files a/data/borders/tokenTextless/gold/frame.png and /dev/null differ diff --git a/data/borders/tokenTextless/gold/legendary.png b/data/borders/tokenTextless/gold/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTextless/gold/legendary.png and /dev/null differ diff --git a/data/borders/tokenTextless/gold/nyx.png b/data/borders/tokenTextless/gold/nyx.png deleted file mode 100644 index c880f573..00000000 Binary files a/data/borders/tokenTextless/gold/nyx.png and /dev/null differ diff --git a/data/borders/tokenTextless/gold/pt.png b/data/borders/tokenTextless/gold/pt.png deleted file mode 100644 index 163d7330..00000000 Binary files a/data/borders/tokenTextless/gold/pt.png and /dev/null differ diff --git a/data/borders/tokenTextless/green/frame.png b/data/borders/tokenTextless/green/frame.png deleted file mode 100644 index e1c2658f..00000000 Binary files a/data/borders/tokenTextless/green/frame.png and /dev/null differ diff --git a/data/borders/tokenTextless/green/legendary.png b/data/borders/tokenTextless/green/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTextless/green/legendary.png and /dev/null differ diff --git a/data/borders/tokenTextless/green/nyx.png b/data/borders/tokenTextless/green/nyx.png deleted file mode 100644 index c04cfb3b..00000000 Binary files a/data/borders/tokenTextless/green/nyx.png and /dev/null differ diff --git a/data/borders/tokenTextless/green/pt.png b/data/borders/tokenTextless/green/pt.png deleted file mode 100644 index 374dc86a..00000000 Binary files a/data/borders/tokenTextless/green/pt.png and /dev/null differ diff --git a/data/borders/tokenTextless/legendFrameMask.png b/data/borders/tokenTextless/legendFrameMask.png deleted file mode 100644 index 7198b5d9..00000000 Binary files a/data/borders/tokenTextless/legendFrameMask.png and /dev/null differ diff --git a/data/borders/tokenTextless/multiMask.png b/data/borders/tokenTextless/multiMask.png deleted file mode 100644 index 147ceaf0..00000000 Binary files a/data/borders/tokenTextless/multiMask.png and /dev/null differ diff --git a/data/borders/tokenTextless/red/frame.png b/data/borders/tokenTextless/red/frame.png deleted file mode 100644 index 3b0e7249..00000000 Binary files a/data/borders/tokenTextless/red/frame.png and /dev/null differ diff --git a/data/borders/tokenTextless/red/legendary.png b/data/borders/tokenTextless/red/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTextless/red/legendary.png and /dev/null differ diff --git a/data/borders/tokenTextless/red/nyx.png b/data/borders/tokenTextless/red/nyx.png deleted file mode 100644 index ff9c69b9..00000000 Binary files a/data/borders/tokenTextless/red/nyx.png and /dev/null differ diff --git a/data/borders/tokenTextless/red/pt.png b/data/borders/tokenTextless/red/pt.png deleted file mode 100644 index 255cf8b8..00000000 Binary files a/data/borders/tokenTextless/red/pt.png and /dev/null differ diff --git a/data/borders/tokenTextless/white/frame.png b/data/borders/tokenTextless/white/frame.png deleted file mode 100644 index 125c2e81..00000000 Binary files a/data/borders/tokenTextless/white/frame.png and /dev/null differ diff --git a/data/borders/tokenTextless/white/legendary.png b/data/borders/tokenTextless/white/legendary.png deleted file mode 100644 index 7739d5e1..00000000 Binary files a/data/borders/tokenTextless/white/legendary.png and /dev/null differ diff --git a/data/borders/tokenTextless/white/nyx.png b/data/borders/tokenTextless/white/nyx.png deleted file mode 100644 index 52de69d9..00000000 Binary files a/data/borders/tokenTextless/white/nyx.png and /dev/null differ diff --git a/data/borders/tokenTextless/white/pt.png b/data/borders/tokenTextless/white/pt.png deleted file mode 100644 index 6480a390..00000000 Binary files a/data/borders/tokenTextless/white/pt.png and /dev/null differ diff --git a/data/borders/vanguard/artMask.png b/data/borders/vanguard/artMask.png deleted file mode 100644 index 05b1f1b2..00000000 Binary files a/data/borders/vanguard/artMask.png and /dev/null differ diff --git a/data/borders/vanguard/black/frame.png b/data/borders/vanguard/black/frame.png deleted file mode 100644 index e511b962..00000000 Binary files a/data/borders/vanguard/black/frame.png and /dev/null differ diff --git a/data/borders/vanguard/blue/frame.png b/data/borders/vanguard/blue/frame.png deleted file mode 100644 index ea62e341..00000000 Binary files a/data/borders/vanguard/blue/frame.png and /dev/null differ diff --git a/data/borders/vanguard/border.js b/data/borders/vanguard/border.js deleted file mode 100644 index 27c49295..00000000 --- a/data/borders/vanguard/border.js +++ /dev/null @@ -1,84 +0,0 @@ -//Vanguard Border -//Anything to do with... -//Loading Images -imgFrameMask.src = borderPath + "frameMask.png" -imgBorderMask.src = borderPath + "borderMask.png" -imgRulesMask.src = borderPath + "rulesMask.png" -document.getElementById("cmmVanguard").style.display = "block" -var artX = 97 -var artY = 112 -//Card Title -var titleFont = "52px matrixb" //40 -var titleFontSpacing = "0.15px" //0.15 -var titleX = cardWidth / 2 -var titleY = 56 //56 -titleAlign = "center" -//Mana Cost -var manaCostRadius = 0 //17.5 -var manaCostX = 657 //657 -var manaCostY = 59 //59 -//Card Type -var typeFont = "33.5px matrix" //33.5 -var typeFontSpacing = "0.05px" //0.05 -var typeX = cardWidth / 2 -var typeY = 612 //612 -typeAlign = "center" -//Rules/Flavor Text -var textFont = "px mplantin" -var textFontSpacing = 0.7 //0.7 -var textX = cardWidth / 2 -var textY = 656 //656 -var textWidth = 575 //682 -if (document.getElementById("inputText").value == "") { - document.getElementById("inputText").value = "{center}" -} -document.getElementById("textSize").value = 25 -italicSize = 2/3 -//Power Toughness -var ptFont = "39px belerenb" //39 -var ptFontSpacing = "0.3px" //0.3 -var ptTextX = 645 //645 -var ptTextY = 936 //936 -imgBorderCreature.imgValues(571, 929, 137, 75) -//Bottom Info -var infoY = 930 //930 -//Set Symbol -var setSymbolY = cardHeight * 2 //616 -var setSymbolRight = 693 //693 -var setSymbolWidth = 84 //77 -var setSymbolHeight = 44 //44 -//Watermark -var watermarkWidth = 520 //520 -var watermarkHeight = 250 //250 -var watermarkY = 805 //805 -//Color Options -loadColors("white-White,blue-Blue,black-Black,red-Red,green-Green,gold-Gold,colorless-Colorless") -document.getElementById("secondColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -document.getElementById("thirdColorSelection").innerHTML = document.getElementById("colorSelection").innerHTML -//Things The Card Can Do -creatureBorder = false -//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 = "bottomInfoVanguard" -function bottomInfoVanguard() { - card.textAlign = "center" - // card.fillStyle = document.getElementById("inputInfoColor").value - canvas.style.letterSpacing = "1px" - card.font = "20px matrix" - card.fillText("Illus. " + document.getElementById("inputArtist").value, cardWidth / 2, infoY + textBaselineShift[1] * card.font.split("px")[0]) - canvas.style.letterSpacing = "0.5px" - card.font = "12px mplantin" - var vanguardInfo = "CC \u2014 " + document.getElementById("inputInfo").value - if (vanguardInfo == "CC \u2014 " + "secretcode") { - var date = new Date() - var year = date.getFullYear() - vanguardInfo = "\u2122 & \u00a9 1993-" + year + " Wizards of the Coast, Inc." - } - card.fillText(vanguardInfo, cardWidth / 2, infoY + 22 + textBaselineShift[0] * card.font.split("px")[0]) - //Now for the hand/life modifiers, not quite at the bottom but might as well go in this same function - canvas.style.letterSpacing = "0px" - card.font = "25px mplantin" - card.fillText(document.getElementById("inputVanguardHandMod").value, 111, 886 + textBaselineShift[0] * card.font.split("px")[0]) - card.fillText(document.getElementById("inputVanguardLifeMod").value, 631, 886 + textBaselineShift[0] * card.font.split("px")[0]) -} diff --git a/data/borders/vanguard/borderMask.png b/data/borders/vanguard/borderMask.png deleted file mode 100644 index ce1e9905..00000000 Binary files a/data/borders/vanguard/borderMask.png and /dev/null differ diff --git a/data/borders/vanguard/colorless/frame.png b/data/borders/vanguard/colorless/frame.png deleted file mode 100644 index 23c2c26d..00000000 Binary files a/data/borders/vanguard/colorless/frame.png and /dev/null differ diff --git a/data/borders/vanguard/frameMask.png b/data/borders/vanguard/frameMask.png deleted file mode 100644 index f36ea2a9..00000000 Binary files a/data/borders/vanguard/frameMask.png and /dev/null differ diff --git a/data/borders/vanguard/gold/frame.png b/data/borders/vanguard/gold/frame.png deleted file mode 100644 index 1d275cc2..00000000 Binary files a/data/borders/vanguard/gold/frame.png and /dev/null differ diff --git a/data/borders/vanguard/green/frame.png b/data/borders/vanguard/green/frame.png deleted file mode 100644 index d017e5eb..00000000 Binary files a/data/borders/vanguard/green/frame.png and /dev/null differ diff --git a/data/borders/vanguard/red/frame.png b/data/borders/vanguard/red/frame.png deleted file mode 100644 index fc633fbf..00000000 Binary files a/data/borders/vanguard/red/frame.png and /dev/null differ diff --git a/data/borders/vanguard/white/frame.png b/data/borders/vanguard/white/frame.png deleted file mode 100644 index 7958d31b..00000000 Binary files a/data/borders/vanguard/white/frame.png and /dev/null differ diff --git a/data/fonts/gotham-medium.ttf b/data/fonts/gotham-medium.ttf new file mode 100644 index 00000000..fd822114 Binary files /dev/null and b/data/fonts/gotham-medium.ttf differ diff --git a/data/main.js b/data/main.js index 9daef9a3..e030871b 100644 --- a/data/main.js +++ b/data/main.js @@ -1,20 +1,899 @@ -//This is the primary javascript file for Card Conjurer, a program by Kyle Burton that draws custom Magic: The Gathering cards! - +//============================================// +// Card Conjurer, by Kyle Burton // +//============================================// +//Hi there :D //============================================// -// Initialization // +// Anything I Like to Change Often :) // //============================================// -//The following bits of code are run immediatly to initialize the program while allowing the variables to remain global. -//Define initial variables -var borderPath -var secondColor -var thirdColor -var titleRightShift = 0 -var typeRightShift = 0 -var textBaselineShift = [0, 0] //[regular,eighthArtistCredit] -var imagesToLoad -var date = new Date() +randomizeSampleCards(5) +//============================================// +// Setup Variables/Canvases // +//============================================// +//Define important variables +var sectionFrame = 0, sectionText = 0, sectionOther = 0 +var cardWidth = 750, cardHeight = 1050 +var savedArtList = [], cardArtUrlList = [], cardArtArtistList = [] +//Create the object that stores data for convencience :) It's what keeps track of values necessary to change between card frames +var defaultCardData = { + version:"m15", + manaSymbolX:cwidth(659), manaSymbolY:cheight(60), manaSymbolRadius:cwidth(17.5), manaSymbolDirection:"left", + titleX:cwidth(63), titleY:cheight(94), titleRight:cwidth(687), titleFont:"belerenb", titleFontSize:cwidth(40), titleAlignment:"left", + typeX:cwidth(63), typeY:cheight(630), typeRight:cwidth(687), typeFont:"belerenb", typeFontSize:cwidth(34), typeAlignment:"left", + textX:cwidth(63), textY:cheight(690), textRight:cwidth(690), textFont:"mplantin", + ptFont:"39px belerenb", ptX:cwidth(645), ptY:cheight(975), + ptBoxX:cwidth(571), ptBoxY:cheight(929), ptBoxWidth:cwidth(135), ptBoxHeight:cheight(76), + setSymbolWidth:cwidth(77), setSymbolHeight:cheight(42), setSymbolX:cwidth(693), setSymbolY:cheight(620), setSymbolAlignment:"right", + watermarkWidth:cwidth(520), watermarkHeight:cheight(250), watermarkY:cheight(815), + 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 +} +var cardData = {} +Object.assign(cardData, defaultCardData) +//Function that restores image values for various things :) +function backToDefault(version) { + //Default image values + imgLegendary.load("none", cwidth(20), cheight(20), cwidth(714), cheight(186)) + imgLegendaryRight.load("none", cwidth(20), cheight(20), cwidth(714), cheight(186)) + imgRareStamp.load("none", cwidth(329), cheight(949), cwidth(90), cheight(50)) + imgRareStampRight.load("none", cwidth(329), cheight(949), cwidth(90), cheight(50)) + imgStamp.load("none", cwidth(340), cheight(965), cwidth(70), cheight(37)) + imgNyx.load("none", cwidth(30), cheight(30), cwidth(690), cheight(586)) + imgNyxRight.load("none", cwidth(30), cheight(30), cwidth(690), cheight(586)) + imgMiracle.load("none", cwidth(30), cheight(30), cwidth(689), cheight(511)) + imgMiracleRight.load("none", cwidth(30), cheight(30), cwidth(689), cheight(511)) + //Default card data, correct card version + Object.assign(cardData, defaultCardData) + cardData.version = version + //Default masks + for (var i = 0; i < frameMaskList.length; i++) { + if (window[frameMaskList[i]].src.includes("data/borders/m15/" + frameMaskList[i] + ".png") == false) { + window[frameMaskList[i]].load("data/borders/m15/" + frameMaskList[i] + ".png") + } + } + //Loads correct frame images + for (var i = 0; i < frameImageList.length; i++) { + window[frameImageList[i]].load("data/borders/" + cardData.version + "/white/frame.png") + } + //Fixes default font Colors + for (var i = 0; i < document.getElementsByClassName("fontColor").length; i++) { + document.getElementsByClassName("fontColor")[i].value = "#000000" + } + //Runs the finishing script + loadScript('data/borders/' + version + '/border.js') +} + +//Set up canvases +var cardCanvas = document.getElementById("cardCanvas") +cardCanvas.width = cardWidth +cardCanvas.height = cardHeight +var card = cardCanvas.getContext("2d") +function newCanvas(name) { + window[(name + "Canvas")] = document.createElement("canvas") + window[(name + "Context")] = window[(name + "Canvas")].getContext("2d") + window[(name + "Canvas")].width = cardWidth + window[(name + "Canvas")].height = cardHeight +} +newCanvas("mask") +newCanvas("frame") +newCanvas("text") +newCanvas("other") +newCanvas("transparent") +newCanvas("crop") +newCanvas("specialA") +newCanvas("specialB") + +//============================================// +// Custom Canvas Functions // +//============================================// +//Create custom canvas functions +//Image masks +CanvasRenderingContext2D.prototype.mask = function(image, masks, color, maskOpacity = 1) { + //Clear the mask canvas + maskContext.clearRect(0, 0, cardWidth, cardHeight) + maskContext.globalCompositeOperation = "source-over" + if (masks != undefined && masks != "none") { + //Break up the list of masks, interpret and apply them + var maskList = masks.split(";") + for (var i = 0; i < maskList.length; i ++) { + var currentMask = maskList[i].split(",") + maskContext.globalCompositeOperation = currentMask[1] + if (window[currentMask[0]] != undefined) { + maskContext.drawImage(window[currentMask[0]], 0, 0, cardWidth, cardHeight) + } else { + maskContext.fillStyle = currentMask[0] + maskContext.fillRect(0, 0, cardWidth, cardHeight) + } + } + //Now all the masks are applied. Draw the image, if provided. + maskContext.globalCompositeOperation = "source-in" + } + maskContext.globalAlpha = maskOpacity + + if (image != "none") { + maskContext.drawImage(image, image.xVal, image.yVal, image.wVal, image.hVal) + } + //If a color is provided, fill that in too. + if (color != undefined && color != "none") { + maskContext.globalCompositeOperation = "source-in" + maskContext.fillStyle = color + maskContext.fillRect(0, 0, cardWidth, cardHeight) + } + maskContext.globalAlpha = 1 + this.drawImage(maskCanvas, 0, 0, cardWidth, cardHeight) +} + +//Text processor... kind of? +CanvasRenderingContext2D.prototype.writeText = function(text, inputX, inputY, inputRightLimit, textFont, textFontSize, textColor, skipLines, outline, outlineColor, textAlignment = "left") { + this.font = textFontSize + "px " + textFont + this.fillStyle = textColor + this.strokeStyle = outlineColor + this.lineWidth = 2 + this.textAlign = textAlignment + var x = inputX + var y = inputY + var rightLimit = inputRightLimit + var splitText = text.split(" ") + for (var i = 0; i < splitText.length - 1; i ++) { + //adds a space to the end of every word (they used to have one until the split command took out all the spaces) + splitText[i] += " " + } + if (skipLines == false) { + //The text is condensed into one line + while(this.measureText(text).width + x > rightLimit) { + textFontSize -= 0.5 + this.font = textFontSize + "px " + textFont + } + if (outline) { + this.strokeText(text, x, y) + } + this.fillText(text, x, y) + } else { + //Multiple lines and codes? Processing time! + var currentX = x + var currentY = y + var currentString = "" + for (var i = 0; i < splitText.length; i ++) { + if (splitText[i].includes("{") && splitText[i].includes("}")) { + //Codes or not, something will happen. First write what we already have. + if (outline) { + this.strokeText(currentString, currentX, currentY) + } + this.fillText(currentString, currentX, currentY) + currentX += this.measureText(currentString).width + currentString = "" + //Then grind through the string for codes + while(splitText[i] != "") { + //There may be codes within! split up the string further incase there are multiple codes/words + var wordToWrite = "" + if (splitText[i].charAt(0) == "{" && splitText[i].includes("}")) { + //It might be a code + var possibleCode = splitText[i].slice(0, splitText[i].indexOf("}") + 1) + var possibleCodeLower = possibleCode.toLowerCase() + //Go through all the codes and see if the possible code can do anything + if (possibleCodeLower == "{i}") { + this.font = textFontSize + "px " + textFont + "i" + } else if (possibleCodeLower == "{/i}") { + this.font = textFontSize + "px " + textFont + } else if (possibleCodeLower == "{line}") { + currentX = x + currentY += textFontSize + parseInt(document.getElementById("inputTextShift").value) + } else if (possibleCodeLower == "{bar}") { + this.drawImage(imgBar, cardWidth / 2 - imgBar.width / 2, currentY + parseInt(document.getElementById("inputTextShift").value) + 6) + currentX = x + currentY += textFontSize + 2 * parseInt(document.getElementById("inputTextShift").value) + } else if (possibleCodeLower == "{linenospace}") { + currentX = x + currentY += textFontSize + } else if (possibleCodeLower == "{left}") { + rightLimit = inputRightLimit + this.textAlign = "left" + x = inputX + currentX = x + } else if (possibleCodeLower == "{center}") { + rightLimit = 1.5 * inputRightLimit + this.textAlign = "center" + x = cardWidth / 2 + currentX = x + } else if (possibleCodeLower == "{right}") { + rightLimit = 2 * inputRightLimit - inputX + this.textAlign = "right" + x = cardWidth - inputX + currentX = x + } else if (possibleCodeLower.slice(0, 3) == "{up" && possibleCodeLower.charAt(possibleCodeLower.length - 1) == "}") { + currentY -= parseInt(possibleCodeLower.slice(3, possibleCodeLower.length - 1)) + } else if (possibleCodeLower.slice(0, 5) == "{down" && possibleCodeLower.charAt(possibleCodeLower.length - 1) == "}") { + currentY += parseInt(possibleCodeLower.slice(5, possibleCodeLower.length - 1)) + } else if (possibleCodeLower.slice(0, 5) == "{left" && possibleCodeLower.charAt(possibleCodeLower.length - 1) == "}") { + currentX -= parseInt(possibleCodeLower.slice(5, possibleCodeLower.length - 1)) + x -= parseInt(possibleCodeLower.slice(5, possibleCodeLower.length - 1)) + } else if (possibleCodeLower.slice(0, 6) == "{right" && possibleCodeLower.charAt(possibleCodeLower.length - 1) == "}") { + currentX += parseInt(possibleCodeLower.slice(6, possibleCodeLower.length - 1)) + x += parseInt(possibleCodeLower.slice(6, possibleCodeLower.length - 1)) + } else if (manaSymbolCodeList.includes((possibleCodeLower.replace("{", "").replace("}", "")))) { + //It's a mana symbol! Draw it. + this.drawImage(manaSymbolImageList[manaSymbolCodeList.indexOf(possibleCodeLower.replace("{", "").replace("}", ""))], currentX + textFontSize * 0.054, currentY - textFontSize * 0.7, textFontSize * 0.77, textFontSize * 0.77) + currentX += textFontSize * 0.84 + } else { + //It's not a code. treat it like a regular word. + wordToWrite = possibleCode + } + //Whatever the result was, remove this part of the string. + splitText[i] = splitText[i].substr(possibleCode.length) + } else { + //It begins with a word. Write it. + if (splitText[i].includes("{") && splitText[i].charAt(0) != "{") { + //There still could be codes, leave those be. + wordToWrite = splitText[i].slice(0, splitText[i].indexOf("{")) + } else if (splitText[i] != "" && splitText != " ") { + //There aren't any codes left. Finish up. + wordToWrite = splitText[i] //+ " " + } + splitText[i] = splitText[i].substring(wordToWrite.length) + } + //After extracting a word to write, write it (if it exists) + if (wordToWrite != "") { + if (this.measureText(wordToWrite).width + currentX > rightLimit) { + //The word doesn't fit. Write the word on the next line. + currentY += textFontSize + if (outline) { + this.strokeText(wordToWrite, x, currentY) + } + this.fillText(wordToWrite, x, currentY) + currentX = x + this.measureText(wordToWrite).width + } else { + if (outline) { + this.strokeText(wordToWrite, currentX, currentY) + } + this.fillText(wordToWrite, currentX, currentY) + currentX += this.measureText(wordToWrite).width + } + } + } //WHILE LOOP ENDS HERE + } else if (this.measureText(currentString /*+ " "*/ + splitText[i]).width + currentX > rightLimit) { + //There aren't any codes, but the text doesn't fit. Finish writing the current line and move to the next one. + if (outline) { + this.strokeText(currentString, currentX, currentY) + } + this.fillText(currentString, currentX, currentY) + currentString = splitText[i] //+ " " + currentY += textFontSize + currentX = x + } else { + //No codes and the word fits. Add it to the current line. + currentString += splitText[i] //+ " " + } + if (i == splitText.length - 1) { + if (outline) { + this.strokeText(currentString, currentX, currentY) + } + this.fillText(currentString, currentX, currentY) + } + } + } + this.textAlign = "left" +} + +//Mana cost! +CanvasRenderingContext2D.prototype.manaCost = function(input, x, y, size, path) { + this.fillStyle = "black" + var currentX = x + var currentY = y + var manaCostList = input.toLowerCase().replace(/{/g, " ").replace(/}/g, " ").split(" ") + if (cardData.manaSymbolDirection == "left") { + var manaSymbolWidth = 0 + for (var i = manaCostList.length - 1; i >= 0; i--) { + if (manaSymbolCodeList.indexOf(manaCostList[i]) != -1) { + this.beginPath() + this.arc(currentX + size - 1, currentY + size + 3.5, size, 0, 6.29, false) + this.fill() + this.drawImage(manaSymbolImageList[manaSymbolCodeList.indexOf(manaCostList[i])], currentX, currentY, size * 2, size * 2) + if (path == "left") { + currentX -= 39 + manaSymbolWidth += 39 + } + } + } + return manaSymbolWidth + } else { + return 0 + } +} + +//Function that autocrops the image +function autocrop(targetImage) { + //Create image, size canvas, draw image + var imgTempTarget = new Image() + imgTempTarget.crossOrigin = "anonymous" + imgTempTarget.src = targetImage.src + imgTempTarget.onload = function() { + if (imgTempTarget.width > 0 && imgTempTarget.height > 0) { + cropCanvas.width = imgTempTarget.width + cropCanvas.height = imgTempTarget.height + cropContext.drawImage(imgTempTarget, 0, 0) + //declare variables + var width = cropCanvas.width + var height = cropCanvas.height + var pix = {x:[], y:[]} + var imageData = cropContext.getImageData(0, 0, cropCanvas.width, cropCanvas.height) + var x, y, index + if (imageData.data.length > 4) { + //Go through every pixel and + for (y = 0; y < height; y++) { + for (x = 0; x < width; x++) { + //(y * width + x) * 4 + 3 calculates the index at which the alpha value of the pixel at x, y is given + index = (y * width + x) * 4 + 3 + if (imageData.data[index] > 0) { + //pix is the image object that stores two arrays of x and y coordinates. These stored coordinates are all the visible pixels + pix.x.push(x) + pix.y.push(y) + } + } + } + //sorts the arrays numerically + pix.x.sort(function(a,b){return a-b}) + pix.y.sort(function(a,b){return a-b}) + var n = pix.x.length - 1 + //Finds the difference between the leftmost and rightmost visible pixels, and the topmost and bottommost pixels, cuts out a section of the canvas + width = pix.x[n] - pix.x[0] + height = pix.y[n] - pix.y[0] + var cropped = cropContext.getImageData(pix.x[0], pix.y[0], width + 1, height + 1) + //Resizes the canvas and draws cropped image + cropCanvas.width = width + 1 + cropCanvas.height = height + 1 + cropContext.putImageData(cropped, 0, 0) + //Saves the newly cropped image to the given image + targetImage.src = cropCanvas.toDataURL() + } + } + } +} + +//Function that auto... makes the image's white pixels transparent +function whiteToTransparent(targetImage) { + //Create image, size canvas, draw image + var imgTempTarget = new Image() + imgTempTarget.crossOrigin = "anonymous" + imgTempTarget.src = targetImage.src + imgTempTarget.onload = function() { + if (imgTempTarget.width > 0 && imgTempTarget.height > 0) { + transparentCanvas.width = imgTempTarget.width + transparentCanvas.height = imgTempTarget.height + transparentContext.drawImage(imgTempTarget, 0, 0) + //declare variables + var width = transparentCanvas.width + var height = transparentCanvas.height + var imageData = transparentContext.getImageData(0, 0, transparentCanvas.width, transparentCanvas.height) + var x, y, index + //Go through every pixel and + for (y = 0; y < height; y++) { + for (x = 0; x < width; x++) { + index = (y * width + x) * 4 + if (imageData.data[index] >= 250 && imageData.data[index + 1] >= 250 && imageData.data[index + 2] >= 250) { + imageData.data[index + 3] = 0 + } + } + } + transparentContext.clearRect(0, 0, width, height) + transparentContext.putImageData(imageData, 0, 0) + targetImage.src = transparentCanvas.toDataURL() + } + } +} + +//============================================// +// Custom Image Stuff // +//============================================// +//Whenever a new image is created it will be given an onload function. +function createImage(name, section) { + //Create the image and give it default values + window[name] = new Image() + window[name].xVal = 0 + window[name].yVal = 0 + window[name].wVal = cardWidth + window[name].hVal = cardHeight + if (section != undefined) { + window[name].cardSection = section + } else { + window[name].cardSection = "none" + } + //Give the image an onload function + window[name].onload = function() { + //the loading status is used to insure that images are loaded before doing anything else + this.loadingStatus = false + if (this.cardSection != "none") { + window[this.cardSection] -= 1 + if (window[this.cardSection] <= 0) { + //Once all the images under a certain section have loaded, that section's function will be run + window[this.cardSection + "Function"]() + } + } + } +} + +//This is a custom function meant to load new image sources +Image.prototype.load = function(source, x, y, w, h) { + if (source != "none") { + if (this.loadingStatus != true && this.cardSection != "none") { + window[this.cardSection] += 1 + } + this.loadingStatus = true + this.src = source + } + if (x != undefined) {this.xVal = x} else if (this.xVal == undefined) {this.xVal = 0} + if (y != undefined) {this.yVal = y} else if (this.yVal == undefined) {this.yVal = 0} + if (w != undefined) {this.wVal = w} else if (this.wVal == undefined) {this.wVal = cardWidth} + if (h != undefined) {this.hVal = h} else if (this.hVal == undefined) {this.hVal = cardHeight} +} + +//Loads images via URL +function imageURL(input, targetImage, processes) { + targetImage.cropStatus = processes + targetImage.load("https://cors-anywhere.herokuapp.com/" + input) +} + +//============================================// +// Loads all the images // +//============================================// +//Images that are drawn on the frame +var frameImageList = ["imgSectionFrame", "imgFrame", "imgFrameRight", "imgTitleTypeBoxes", "imgTitleTypeBoxesRight", "imgRulesBox", "imgRulesBoxRight", "imgPinline", "imgPinlineRight", "imgLegendary", "imgLegendaryRight", "imgNyx", "imgNyxRight", "imgMiracle", "imgMiracleRight", "imgRareStamp", "imgRareStampRight"] +for (var i = 0; i < frameImageList.length; i++) { + createImage(frameImageList[i], "sectionFrame") + window[frameImageList[i]].load("data/borders/m15/white/frame.png") +} +//changeme +createImage("imgPowerToughness", "sectionText") +imgPowerToughness.load("data/borders/m15/white/pt.png") +//masks for the card frame +var frameMaskList = ["imgTypeMask", "imgTitleMask", "imgPinlineMask", "imgRulesMask", "imgFrameMask", "imgArtMask", "imgBorderMask"] +for (var i = 0; i < frameMaskList.length; i++) { + createImage(frameMaskList[i], "sectionFrame") + window[frameMaskList[i]].load("data/borders/m15/" + frameMaskList[i] + ".png") +} +//any images that stay the same +var staticImageList = ["imgMultiGradient", "imgArtistBrush", "imgFoil", "imgStamp", "imgCornerMask", "imgBar", "imgBlank", "imgWhite"] +for (var i = 0; i < staticImageList.length; i++) { + createImage(staticImageList[i], "none") + window[staticImageList[i]].load("data/borders/" + staticImageList[i] + ".png") +} +//Any images uploaded by the user +var userInputImageList = ["imgCardArt", "imgSetSymbol", "imgWatermark"] +for (var i = 0; i < userInputImageList.length; i++) { + createImage(userInputImageList[i], "sectionOther") + window[userInputImageList[i]].load("data/borders/imgBlank.png") + window[userInputImageList[i]].crossOrigin = "anonymous" + window[userInputImageList[i]].onload = function() { + if (this.cropStatus == "needsBoth") { + this.cropStatus = "needsCrop" + whiteToTransparent(this) + } else if (this.cropStatus == "needsWhite") { + this.cropStatus = "none" + whiteToTransparent(this) + } else if (this.cropStatus == "needsCrop") { + this.cropStatus = "none" + autocrop(this) + } else { + this.loadingStatus = false + sectionOther -= 1 + if (sectionOther <= 0) { + sectionOtherFunction() + } + } + } +} +//Any images that may or may not be used +var staticImageList = ["imgAbilityLineEven", "imgAbilityLineOdd"] +for (var i = 0; i < staticImageList.length; i++) { + createImage(staticImageList[i], "none") + window[staticImageList[i]].load("data/borders/imgBlank.png") +} +//Mana symbol Array setup +var manaSymbolCodeList = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "w", "u", "b", "r", "g", "2w", "2u", "2b", "2r", "2g", "pw", "pu", "pb", "pr", "pg", "wu", "wb", "ub", "ur", "br", "bg", "rg", "rw", "gw", "gu", "x", "s", "c", "t","untap", "e", "y", "z", "1/2", "inf", "chaos", "plane", "l+", "l-", "l0"] +var manaSymbolImageList = new Array() +for (var i = 0; i < manaSymbolCodeList.length; i++) { + manaSymbolImageList[i] = new Image() + manaSymbolImageList[i].src = "data/manaSymbols/" + i + ".png" + manaSymbolImageList[i].name = i + manaSymbolImageList[i].onload = function() { + document.getElementById(this.name).src = this.src + } +} + +//============================================// +// Draw The Sections! // +//============================================// +function sectionFrameFunction() { + //Whenever images for the card from finish loading this function will run + //Draw the primary frame stuff! + frameContext.clearRect(0, 0, cardWidth, cardHeight) + if (cardData.transparency && document.getElementById("inputCheckboxFrameRight").checked) { + frameContext.mask(imgFrame, "imgMultiGradient,source-over;imgWhite,source-out;imgArtMask,destination-out") + } else { + frameContext.mask(imgFrame, "imgArtMask,source-over;imgWhite,source-out") + } + if (document.getElementById("inputCheckboxFrameRight").checked) { + frameContext.mask(imgFrameRight, "imgMultiGradient,source-over;imgArtMask,destination-out") + } + if (document.getElementById("inputCheckboxRulesBox").checked && cardData.rulesBox) { + frameContext.mask(imgRulesBox, "imgRulesMask,source-over") + if (document.getElementById("inputCheckboxRulesBoxRight").checked) { + frameContext.mask(imgRulesBoxRight, "imgRulesMask,source-over;imgMultiGradient,source-in") + } + } + if (document.getElementById("inputCheckboxTitleTypeBoxes").checked && cardData.titleTypeBoxes) { + frameContext.mask(imgTitleTypeBoxes, "imgTitleMask,source-over;imgTypeMask,source-over") + if (document.getElementById("inputCheckboxTitleTypeBoxesRight").checked) { + frameContext.mask(imgTitleTypeBoxesRight, "imgTitleMask,source-over;imgTypeMask,source-over;imgMultiGradient,source-in") + } + } + if (document.getElementById("inputCheckboxNyx").checked && cardData.nyx) { + frameContext.mask(imgNyx) + if (document.getElementById("inputCheckboxFrameRight").checked) { + frameContext.mask(imgNyxRight, "imgMultiGradient,source-over") + } + } + if (document.getElementById("inputCheckboxPinline").checked && cardData.pinline) { + frameContext.mask(imgPinline, "imgPinlineMask,source-over") + if (document.getElementById("inputCheckboxPinlineRight").checked) { + frameContext.mask(imgPinlineRight, "imgPinlineMask,source-over;imgMultiGradient,source-in") + } + } + if (document.getElementById("inputCheckboxMiracle").checked && cardData.miracle) { + if ((document.getElementById("inputCheckboxTitleTypeBoxes").checked && document.getElementById("inputCheckboxTitleTypeBoxesRight").checked) || (document.getElementById("inputCheckboxFrameRight").checked && document.getElementById("inputCheckboxTitleTypeBoxes").checked == false)) { + frameContext.mask(imgMiracle) //changeme + frameContext.mask(imgMiracleRight, "imgMultiGradient,source-over") + } else { + frameContext.mask(imgMiracle) + } + } + frameContext.mask(imgBorderMask, "none", document.getElementById("inputBorderColor").value) + if (document.getElementById("inputCheckboxLegendary").checked && cardData.legendary) { + frameContext.fillStyle = document.getElementById("inputBorderColor").value + frameContext.fillRect(0, 0, cardWidth, 50) + frameContext.mask(imgLegendary, "imgTitleMask,source-over;imgWhite,source-out") + if ((document.getElementById("inputCheckboxPinline").checked && document.getElementById("inputCheckboxPinlineRight").checked) || (document.getElementById("inputCheckboxFrameRight").checked && document.getElementById("inputCheckboxPinline").checked == false)) { + frameContext.mask(imgLegendaryRight, "imgTitleMask,source-over;imgMultiGradient,source-out") + } + } + if (document.getElementById("inputCheckboxRareStamp").checked && cardData.rareStamp) { + frameContext.mask(imgRareStamp) + if ((document.getElementById("inputCheckboxPinline").checked && document.getElementById("inputCheckboxPinlineRight").checked) || (document.getElementById("inputCheckboxFrameRight").checked && document.getElementById("inputCheckboxPinline").checked == false)) { + frameContext.mask(imgRareStampRight, "imgMultiGradient,source-over") + } + frameContext.mask(imgStamp) + } + //Erase anything if needed (includes opacity fun) + frameContext.globalCompositeOperation = "destination-out" + // frameContext.mask(imgArtMask) + frameContext.mask(imgCornerMask) + frameContext.mask(imgWhite, "imgTitleMask,source-over;imgTypeMask,source-over", "none", 1 - (parseInt(document.getElementById("inputTitleTypeOpacity").value) / 100)) + frameContext.mask(imgWhite, "imgRulesMask,source-over", "none", 1 - (parseInt(document.getElementById("inputRulesBoxOpacity").value) / 100)) + frameContext.mask(imgWhite, "imgPinlineMask,source-over", "none", 1 - (parseInt(document.getElementById("inputPinlineOpacity").value) / 100)) + frameContext.mask(imgWhite, "imgFrameMask,source-over", "none", 1 - (parseInt(document.getElementById("inputFrameOpacity").value) / 100)) + frameContext.globalCompositeOperation = "source-over" + //Update the card + drawCard() +} + +function sectionTextFunction() { + //Clears the text canvas + textContext.clearRect(0, 0, cardWidth, cardHeight) + //mana cost, name, type, text + var manaSymbolWidth = textContext.manaCost(document.getElementById("inputCost").value, cardData.manaSymbolX, cardData.manaSymbolY, cardData.manaSymbolRadius, cardData.manaSymbolDirection) + textContext.writeText(document.getElementById("inputName").value, cardData.titleX, cardData.titleY, cardData.titleRight - manaSymbolWidth, cardData.titleFont, cardData.titleFontSize, document.getElementById("inputTitleColor").value, false, document.getElementById("inputCheckboxTitleOutline").checked, document.getElementById("inputTitleOutlineColor").value, cardData.titleAlignment) + textContext.writeText(document.getElementById("inputType").value, cardData.typeX, cardData.typeY, cardData.typeRight, cardData.typeFont, cardData.typeFontSize, document.getElementById("inputTypeColor").value, false, document.getElementById("inputCheckboxTypeOutline").checked, document.getElementById("inputTypeOutlineColor").value, cardData.typeAlignment) + textContext.writeText(document.getElementById("inputText").value, cardData.textX, cardData.textY + parseInt(document.getElementById("inputTextDown").value), cardData.textRight, cardData.textFont, parseInt(document.getElementById("inputTextSize").value), document.getElementById("inputRulesColor").value, true, document.getElementById("inputCheckboxRulesOutline").checked, document.getElementById("inputRulesOutlineColor").value) + //Power Toughness + if (document.getElementById("inputCheckboxPowerToughness").checked && cardData.creature) { + imgPowerToughness.xVal = cardData.ptBoxX + imgPowerToughness.yVal = cardData.ptBoxY + imgPowerToughness.wVal = cardData.ptBoxWidth + imgPowerToughness.hVal = cardData.ptBoxHeight + textContext.mask(imgPowerToughness) + textContext.textAlign = "center" + textContext.font = cardData.ptFont + textContext.fillStyle = document.getElementById("inputCreatureColor").value + textContext.fillText(document.getElementById("inputPowerToughness").value, cardData.ptX, cardData.ptY) + textContext.textAlign = "left" + } + //and all the rest (bottom info stuff) + 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 + var infoSetLanguage = infoSet + " \u00b7 " + infoLanguage + textContext.font = "18px gothammedium" + textContext.fillStyle = "white" + textContext.fillText(infoNumber, 47, 997) + textContext.fillText(infoSetLanguage, 47, 1016) + //Takes the longer of the two strings and records its width + var rarityArtistShift = textContext.measureText(infoSetLanguage).width + if (rarityArtistShift < textContext.measureText(infoNumber).width) { + rarityArtistShift = textContext.measureText(infoNumber).width + } + rarityArtistShift += 7 + 47 + textContext.fillText(infoRarity, rarityArtistShift, 997) + imgArtistBrush.load("none", rarityArtistShift, 1003, 21, 13) + textContext.mask(imgArtistBrush, "none", textContext.fillStyle) + textContext.font = "18px belerenbsc" + textContext.fillText(infoArtist, rarityArtistShift + 25, 1016) + //"\u2122 & \u00a9 " + year + " Wizards of the Coast" + textContext.font = "18px mplantin" + textContext.textAlign = "right" + 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 copyrightY = 997 + if (document.getElementById("inputCheckboxPowerToughness").checked && cardData.creature) { + copyrightY = 1016 + } + textContext.fillText(infoCopyright, 700, copyrightY) + textContext.textAlign = "left" + drawCard() +} + +function sectionOtherFunction() { + //clears the 'other' canvas + otherContext.clearRect(0, 0, cardWidth, cardHeight) + if (document.getElementById("inputCheckboxSetSymbol").checked) { + //Set Symbol + switch(cardData.setSymbolAlignment) { + case "left": + setSymbolAlignment = -1 + break + case "center": + setSymbolAlignment = 1/2 + break + default: + setSymbolAlignment = 1 + } + var setSymbolWidth = cardData.setSymbolWidth + var setSymbolHeight = imgSetSymbol.height / imgSetSymbol.width * setSymbolWidth + if (setSymbolHeight > cardData.setSymbolHeight) { + setSymbolHeight = cardData.setSymbolHeight + setSymbolWidth = imgSetSymbol.width / imgSetSymbol.height * setSymbolHeight + } + setSymbolWidth *= parseInt(document.getElementById("inputSetSymbolScale").value) / 100 + setSymbolHeight *= parseInt(document.getElementById("inputSetSymbolScale").value) / 100 + otherContext.drawImage(imgSetSymbol, cardData.setSymbolX - setSymbolWidth * setSymbolAlignment, cardData.setSymbolY - setSymbolHeight / 2, setSymbolWidth, setSymbolHeight) + } + if (document.getElementById("inputCheckboxWatermark").checked) { + //Watermark + var watermarkWidth = cardData.watermarkWidth + var watermarkHeight = imgWatermark.height / imgWatermark.width * watermarkWidth + if (watermarkHeight > cardData.watermarkHeight) { + watermarkHeight = cardData.watermarkHeight + watermarkWidth = imgWatermark.width / imgWatermark.height * watermarkHeight + } + imgWatermark.xVal = cardWidth / 2 - watermarkWidth / 2 + imgWatermark.yVal = cardData.watermarkY - watermarkHeight / 2 + imgWatermark.wVal = watermarkWidth + imgWatermark.hVal = watermarkHeight + otherContext.globalAlpha = parseInt(document.getElementById("inputWatermarkOpacity").value) / 100 + if (document.getElementById("inputCheckboxSecondWatermark").checked) { + otherContext.mask(imgWatermark, "imgMultiGradient,source-over;imgWhite,source-out", document.getElementById("inputWatermarkColor").value) + otherContext.mask(imgWatermark, "imgMultiGradient,source-over", document.getElementById("inputSecondWatermarkColor").value) + } else { + otherContext.mask(imgWatermark, "none", document.getElementById("inputWatermarkColor").value) + } + otherContext.globalAlpha = 1 + } + drawCard() +} + +function drawCard() { + //Clears the card + // card.clearRect(0, 0, cardWidth, cardHeight) + card.mask(imgWhite, "none", document.getElementById("inputBorderColor").value) + //Draws the card art + card.drawImage(imgCardArt, parseInt(document.getElementById("inputCardArtX").value) + cardData.cardArtX, parseInt(document.getElementById("inputCardArtY").value) + cardData.cardArtY, imgCardArt.width * document.getElementById("inputCardArtZoom").value / 100, imgCardArt.height * document.getElementById("inputCardArtZoom").value / 100) + //Might do something special? Usually the ability lines for planeswalkers + if (cardData.specialImageA == true) { + card.drawImage(specialACanvas, 0, 0, cardWidth, cardHeight) + } + //Draws the card frame + card.drawImage(frameCanvas, 0, 0, cardWidth, cardHeight) + //Might do something special? Usually the ability icons for planeswalkers + if (cardData.specialImageB == true) { + card.drawImage(specialBCanvas, 0, 0, cardWidth, cardHeight) + } + //Draws the card text + card.drawImage(textCanvas, 0, 0, cardWidth, cardHeight) + //Draws the other stuff + card.drawImage(otherCanvas, 0, 0, cardWidth, cardHeight) + //Erase anything if needed + card.globalCompositeOperation = "destination-out" + card.mask(imgCornerMask) + card.globalCompositeOperation = "source-over" +} + +//============================================// +// HTML Stuff // +//============================================// +//Toggles the visibility of predetermined sections of the input boxes +function toggleView(targetId, targetClass) { + for (var i = 0; i < document.getElementsByClassName(targetClass).length; i++) { + document.getElementsByClassName(targetClass)[i].classList.remove("shown") + } + document.getElementById(targetClass + "-" + targetId).classList.add("shown") +} + +//Downloads the image! +function downloadCardImage(linkElement) { + var cardImageData = cardCanvas.toDataURL() + if (cardImageData == undefined) { + alert("Sorry, it seems that you cannot download your card. Please try using a different browser/device.") + } + linkElement.href = cardImageData +} + +//Gives all the select boxes the same color options to choose from +//loadColors("white-White,blue-Blue,colorlessLand-Colorless Land,gold-Gold"), this is an example of how to use the function +function loadColors(colors) { + var endResult = "" + var colorList = colors.split(",") + for (var i = 0; i < colorList.length; i++) { + endResult += "" + } + for (var i = 0; i < document.getElementsByClassName("selectColor").length; i++) { + document.getElementsByClassName("selectColor")[i].innerHTML = endResult + } +} +//changeme? +loadColors("white-White,blue-Blue,black-Black,red-Red,green-Green,gold-Gold,artifact-Artifact,colorless-Colorless,vehicle-Vehicle,clear-Clear,whiteLand-White Land,blueLand-Blue Land,blackLand-Black Land,redLand-Red Land,greenLand-Green Land,goldLand-Gold Land,colorlessLand-Colorless Land") + +//It's easier to generate the mana symbol list via js, so do it here +var symbolList = "" +for (var i = 0; i < manaSymbolCodeList.length; i++) { + symbolList += "
" + manaSymbolCodeList[i] + "
" + "
" +} +document.getElementById("symbolList").innerHTML += symbolList + +//Randomizes the sample cards at the bottom of the page. +function randomizeSampleCards(count) { + var cardNumbers = [] + while (cardNumbers.length < 3) { + var randomNumber = Math.floor(Math.random() * count) + 1 + if (cardNumbers.indexOf(randomNumber) > -1) { + continue + } + cardNumbers[cardNumbers.length] = randomNumber + var imgName = "sampleCard" + cardNumbers.length + window[imgName] = new Image() + window[imgName].src = "images/sampleCards/sample" + randomNumber + ".png" + } + sampleCard1.onload = function() { + document.getElementById("sampleCardA").src = sampleCard1.src + } + sampleCard2.onload = function() { + document.getElementById("sampleCardB").src = sampleCard2.src + } + sampleCard3.onload = function() { + document.getElementById("sampleCardC").src = sampleCard3.src + } +} + +//Loads images from a file upload +function loadImage(event, destination) { + var input = event.target + var reader = new FileReader() + reader.onload = function() { + var dataURL = reader.result + destination.src = dataURL + destination.cropped = false + if (destination == imgWatermark) { + imgWatermark.whiteToTransparent = false + } + } + reader.readAsDataURL(input.files[0]) +} + +//============================================// +// Misc Stuff // +//============================================// +//Allows javascript files to be loaded through javascript code +function loadScript(scriptName){ + var script = document.createElement("script") + script.setAttribute("type","text/javascript") + script.setAttribute("src", scriptName) + if (typeof script != "undefined") { + document.getElementsByTagName("head")[0].appendChild(script) + } +} + +//Loads card art from Scryfall's API via card name! +function inputCardArtName(cardArtNameInput) { + var xhttp = new XMLHttpRequest() + xhttp.onreadystatechange = function() { + if (this.readyState == 4 && this.status == 200) { + savedArtList = this.responseText.split('"art_crop":"') + savedArtList.splice(0, 1) + document.getElementById("inputCardArtNameNumber").max = savedArtList.length + document.getElementById("inputCardArtNameNumber").value = 1 + for (i = 0; i < savedArtList.length; i ++) { + cardArtUrlList[i] = savedArtList[i].split('","border_crop":')[0] + } + for (i = 0; i < savedArtList.length; i ++) { + cardArtArtistList[i] = savedArtList[i].slice(savedArtList[i].indexOf('"artist":"') + 10, savedArtList[i].indexOf('","border_color":')) + } + inputCardArtNameNumber(1) + } else if (this.readyState == 4 && this.status == 404) { + alert("Sorry, but we can't seem to find any art for '" + cardArtNameInput + "'") + } + } + xhttp.open("GET", "https://api.scryfall.com/cards/search?order=released&unique=art&q=name%3D" + cardArtNameInput.replace(/ /g, "_"), true) + xhttp.send() +} +function inputCardArtNameNumber(cardArtNameNumberInput) { + imgCardArt.load("https://cors-anywhere.herokuapp.com/" + cardArtUrlList[cardArtNameNumberInput - 1]) + document.getElementById("inputInfoArtist").value = cardArtArtistList[cardArtNameNumberInput - 1] + sectionTextFunction() +} + +//============================================// +// Special Image Loading // +//============================================// +function loadLegendaryImages() { + if (cardData.legendary) { + if (document.getElementById("inputCheckboxPinline").checked) { + imgLegendary.load(imgPinline.src.replace("frame.png", "legendary.png")) + imgLegendaryRight.load(imgPinlineRight.src.replace("frame.png", "legendary.png")) + } else { + imgLegendary.load(imgFrame.src.replace("frame.png", "legendary.png")) + imgLegendaryRight.load(imgFrameRight.src.replace("frame.png", "legendary.png")) + } + } +} +function loadRareStampImages() { + if (cardData.rareStamp) { + if (document.getElementById("inputCheckboxPinline").checked) { + imgRareStamp.load(imgPinline.src.replace("frame.png", "stamp.png")) + imgRareStampRight.load(imgPinlineRight.src.replace("frame.png", "stamp.png")) + } else { + imgRareStamp.load(imgFrame.src.replace("frame.png", "stamp.png")) + imgRareStampRight.load(imgFrameRight.src.replace("frame.png", "stamp.png")) + } + } +} +function loadMiracleImages() { + if (cardData.miracle) { + if (document.getElementById("inputCheckboxTitleTypeBoxes").checked) { + imgMiracle.load(imgTitleTypeBoxes.src.replace("frame.png", "miracle.png")) + imgMiracleRight.load(imgTitleTypeBoxesRight.src.replace("frame.png", "miracle.png")) + } else { + imgMiracle.load(imgFrame.src.replace("frame.png", "miracle.png")) + imgMiracleRight.load(imgFrameRight.src.replace("frame.png", "miracle.png")) + } + } +} +function loadNyxImages() { + if (cardData.nyx) { + imgNyx.load(imgFrame.src.replace("frame.png", "nyx.png")) + imgNyxRight.load(imgFrameRight.src.replace("frame.png", "nyx.png")) + } +} +for (var i = 0; i < document.getElementsByClassName("changesFrame").length; i++) { + document.getElementsByClassName("changesFrame")[i].addEventListener("change", function() {loadLegendaryImages(); loadRareStampImages(); loadNyxImages(); loadMiracleImages()}, false) +} +for (var i = 0; i < document.getElementsByClassName("changesTitleType").length; i++) { + document.getElementsByClassName("changesTitleType")[i].addEventListener("change", function() {loadMiracleImages()}, false) +} +for (var i = 0; i < document.getElementsByClassName("changesPinline").length; i++) { + document.getElementsByClassName("changesPinline")[i].addEventListener("change", function() {loadLegendaryImages(); loadRareStampImages()}, false) +} + +//============================================// +// Brower Stuff! // +//============================================// //Determine browser if(navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i) ) { var isMobile = true @@ -38,1065 +917,9 @@ if (isSafari == true) { textBaselineShift = [-0.17, 0] } } - - -//Set up canvas -var canvas = document.getElementById("canvas") -var card = canvas.getContext("2d") - -//Create the canvas for creating the border image -var borderCanvas = document.createElement("canvas") -var border = borderCanvas.getContext("2d") - -//load template images (images that may change based off of the selected template) -var imgListTemplate = ["multiMask", "rareStampMask", "frameMask", "legendFrameMask", "borderMask", "artMask", "abilityLineOdd", "abilityLineEven", "rulesMask", "typeMask", "titleMask"] -for (var i = 0; i < imgListTemplate.length; i ++) { - var imgName = "img" + imgListTemplate[i].charAt(0).toUpperCase() + imgListTemplate[i].slice(1) - window[imgName] = new Image() - window[imgName].crossOrigin = "anonymous" -} - -//Load border images (images that are determined by border settings) -var imgListBorder = ["borderColor", "secondBorderColor", "thirdBorderColor", "artifactBorderColor", "borderCreature", "borderLegendary", "secondBorderLegendary", "borderRareStamp", "secondBorderRareStamp", "borderNyx", "secondBorderNyx", "borderMiracle", "secondBorderMiracle", "borderFlipIcon", "borderFlipCircle", "borderFlipTip", "borderFlippedDark", "secondBorderFlippedDark"] -for (var i = 0; i < imgListBorder.length; i ++) { - var imgName = "img" + imgListBorder[i].charAt(0).toUpperCase() + imgListBorder[i].slice(1) - window[imgName] = new Image() - window[imgName].crossOrigin = "anonymous" - imgListBorder[i] = window[imgName] - imgListBorder[i].onload = function() { - if (this.hasToLoad == true) { - this.hasToLoad = false - imagesToLoad -- - if (imagesToLoad == 0) { - createBorder() - } - } - } -} - -//Load dynamic images (images that are input by the user) -var imgListUser = ["art", "setSymbol", "watermark", "border"] -for (var i = 0; i < imgListUser.length; i ++) { - var imgName = "img" + imgListUser[i].charAt(0).toUpperCase() + imgListUser[i].slice(1) - window[imgName] = new Image() - window[imgName].crossOrigin = "anonymous" - window[imgName].onload = function() { - //If both tasks are required, it will make white pixels transparent first. That way they also get cropped out. - if (this.whiteToTransparent == false) { - this.whiteToTransparent = true - whiteToTransparent(imgWatermark) - } else if (this.cropped == false) { - this.cropped = true - autocrop(this.src, this) - } - } -} - -//Load static images -var imgListStatic = ["artistBrush", "foil", "multiGradient", "rareStamp", "cardMask", "bar", "identity"] -for (var i = 0; i < imgListStatic.length; i ++) { - var imgName = "img" + imgListStatic[i].charAt(0).toUpperCase() + imgListStatic[i].slice(1) - window[imgName] = new Image() - window[imgName].src = "data/borders/" + imgListStatic[i] + ".png" -} - -//Mana symbol Array setup -var manaSymbolCode = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "w", "u", "b", "r", "g", "2w", "2u", "2b", "2r", "2g", "pw", "pu", "pb", "pr", "pg", "wu", "wb", "ub", "ur", "br", "bg", "rg", "rw", "gw", "gu", "x", "s", "c", "t","untap", "e", "y", "z", "1/2", "inf", "chaos", "plane", "l+", "l-", "l0"] -var manaSymbolImages = new Array() -for (var i = 0; i < manaSymbolCode.length; i++) { - manaSymbolImages[i] = new Image() - manaSymbolImages[i].src = "data/manaSymbols/" + i + ".png" - manaSymbolImages[i].name = i - manaSymbolImages[i].onload = function() { - document.getElementById(this.name).src = this.src - } -} - -//Go ahead and load the first border -loadScript("data/borders/defaultBorder.js") - -//load first set symbol -loadSetSymbol() - -//Randomize the sample cards at the bottom //samplecount -randomizeSampleCards(15) - -//Set up the initial clock! -var cardClockInterval -setTimeout(function() { - cardClockInterval = setInterval(cardClock, 1000 / document.getElementById("inputFPS").value) -}, 200) - -//It's easier to generate the mana symbol list via js, so do it here -var symbolList = "" - for (var i = 0; i < manaSymbolCode.length; i++) { - symbolList += "
" + manaSymbolCode[i] + "
" + "
" - } -document.getElementById("symbolList").innerHTML += symbolList - - -//============================================// -// Card clock and changing frames! // -//============================================// -//Runs ten times every second (main loop) -function cardClock() { - //fixes the global alpha just incase... - //Insures that the corners of the final image are transparent - card.globalCompositeOperation = "source-over" - card.mask("imgCardMask,source-over", "none",document.getElementById("inputColor").value) - card.globalCompositeOperation = "source-atop" - //Draws the card image, then... - drawPicture() - //draws the card frame on top - card.drawImage(imgBorder, 0, 0, cardWidth, cardHeight) - //draws the set symbol, mana cost, and watermark - drawSetSymbol() - drawManaCost() - drawWatermark() - //writes all the text: name, type, rules... - writeText() - //Runs any special function that a card may have, including bottom information. - window[uniqueFunctionName]() - //A shiny foil overlay! - if(document.getElementById("checkboxFoil").checked == true) { - card.drawImage(imgFoil, 0, 0, cardWidth, cardHeight) - } - //These are for pinpointing coordinates while adjusting values for new border types - if (document.getElementById("checkboxDebuggerLine").checked == true) { - card.strokeStyle = "#ff0000" - //Vertical Line - card.beginPath() - card.moveTo(titleY, 0) - card.lineTo(titleY, cardHeight) - card.stroke() - //Horizontal Line - card.beginPath() - card.moveTo(0, titleX) - card.lineTo(cardWidth, titleX) - card.stroke() - console.log("debugging") - } -} - -//The two following functions load border images -function changeTemplate() { - //the loadScript function is located in data/scripts/loadScript.js. It sets values to variables such as set symbol coordinates or title font - borderPath = "data/borders/" + document.getElementById("borderSelection").value - loadScript("data/borders/defaultBorder.js") -} -function finishTemplate() { - //This is a seperate function to insure that the border.js file finishes running before running a few last commands - canvas.width = cardWidth - canvas.height = cardHeight - borderCanvas.width = cardWidth - borderCanvas.height = cardHeight - maskCanvas.width = cardWidth - maskCanvas.height = cardHeight - imgArtMask.src = borderPath + "artMask.png" - document.getElementById("colorSelection").value = "white" - updateBorder() -} -//Loads the images for the card frame, power toughness box, and rare stamp -function updateBorder() { - secondColor = document.getElementById("checkboxSecondColor").checked - thirdColor = document.getElementById("checkboxThirdColor").checked - var firstColorPath = borderPath + document.getElementById("colorSelection").value - var secondColorPath = borderPath + document.getElementById("secondColorSelection").value - var thirdColorPath = borderPath + document.getElementById("thirdColorSelection").value - var altframe = "" - imgBorderColor.src = firstColorPath + "/frame.png" - imgSecondBorderColor.src = secondColorPath + "/frame.png" - imgThirdBorderColor.src = thirdColorPath + "/frame.png" - if (artifactBorder == true) { - imgArtifactBorderColor.src = borderPath + "artifact/frame.png" - } - if (document.getElementById("checkboxFlippedDark").checked == true && flipBorder == true) { - altframe = "dark" - } else { - altframe = "" - } - if (creatureBorder == true) { - if (thirdColor == true) { - imgBorderCreature.src = thirdColorPath + "/" + altframe + "pt.png" - } else if (secondColor == true) { - imgBorderCreature.src = secondColorPath + "/" + altframe + "pt.png" - } else { - imgBorderCreature.src = firstColorPath + "/" + altframe + "pt.png" - } - } - if (legendaryBorder == true) { - imgBorderLegendary.src = firstColorPath + "/legendary.png" - imgSecondBorderLegendary.src = secondColorPath + "/legendary.png" - } - if (stampBorder == true) { - imgBorderRareStamp.src = firstColorPath + "/stamp.png" - imgSecondBorderRareStamp.src = secondColorPath + "/stamp.png" - } - if (nyxBorder == true) { - if (artifactBorder == true && document.getElementById("checkboxArtifact").checked == true) { - imgBorderNyx.src = borderPath + "artifact/nyx.png" - } else if (thirdColor == true) { - imgBorderNyx.src = thirdColorPath + "/nyx.png" - } else { - imgBorderNyx.src = firstColorPath + "/nyx.png" - imgSecondBorderNyx.src = secondColorPath + "/nyx.png" - } - } - if (miracleBorder == true) { - if (thirdColor == true) { - imgBorderMiracle.src = thirdColorPath + "/" + altframe + "miracle.png" - } else { - imgBorderMiracle.src = firstColorPath + "/" + altframe + "miracle.png" - imgSecondBorderMiracle.src = secondColorPath + "/" + altframe + "miracle.png" - } - } - if (flipBorder == true) { - if (thirdColor == true) { - imgBorderFlippedDark.src = thirdColorPath + "/flippedDark.png" - } else { - imgBorderFlippedDark.src = firstColorPath + "/flippedDark.png" - imgSecondBorderFlippedDark.src = secondColorPath + "/flippedDark.png" - } - if (secondColor == true) { - imgBorderFlipTip.src = secondColorPath + "/flipTip.png" - } else { - imgBorderFlipTip.src = firstColorPath + "/flipTip.png" - } - imgBorderFlipCircle.src = firstColorPath + "/flipCircle.png" - imgBorderFlipIcon.src = "data/icons/" + document.getElementById("inputFlipIcon").value - } - //This allows all the images to be loaded - imagesToLoad = 0 - //Makes a count of all images that are loading, also tags them - for (var i = 0; i < imgListBorder.length; i++) { - if (imgListBorder[i].complete == false) { - imagesToLoad ++ - imgListBorder[i].hasToLoad = true - } - } - //If no images needed to be loaded, runs the createBorder function anyways - if (imagesToLoad == 0) { - createBorder() - } -} -//Once the border images have finished loading, they are all drawn into a temporary canvas then saved to a single image -function createBorder() { - //These if else statements check to see whether or not to draw different parts of the card, like the legendary border or rare stamp, and draws them in the appropriate order so that when multiple border colors are used the gradients overlap correctly - //BACKGROUND COLOR - border.clearRect(0, 0, cardWidth, cardHeight) - if (document.getElementById("colorSelection").value.includes("clear") == true) { - border.mask("imgArtMask,source-over;imgFrameMask,destination-out", "none", document.getElementById("inputColor").value) - } else if (document.getElementById("checkboxBorderless").checked == false) { - border.mask("imgArtMask,source-over", "none", document.getElementById("inputColor").value) - } - //Draws the silver border usually on un-cards - if (document.getElementById("checkboxSilverBorder").checked == true) { - border.mask("imgBorderMask,source-over", "none", "#a3aeb7") - } - //MAIN CARD FRAME - if (secondColor == true && secondBorder == true && transparentBorder == true) { - border.mask("imgMultiGradient,source-over;imgFrameMask,source-out", imgBorderColor) - } else { - border.mask("imgFrameMask,source-over", imgBorderColor) - // border.mask("imgMultiGradient,source-over;imgFrameMask,source-out", imgBorderColor) - } - if (secondColor == true && secondBorder == true) { - border.mask("imgMultiGradient,source-over;imgFrameMask,source-in", imgSecondBorderColor) - } - if (thirdColor == true && thirdBorder == true) { - border.mask("imgMultiMask,source-over;imgFrameMask,source-in", imgThirdBorderColor) - } - if (artifactBorder == true && document.getElementById("checkboxArtifact").checked == true) { - border.mask("imgMultiMask,source-over;imgFrameMask,source-in;imgTitleMask,destination-out;imgTypeMask,destination-out", imgArtifactBorderColor) - } - //NYX - if (document.getElementById("checkboxNyx").checked == true && nyxBorder == true) { - if (thirdColor == true || (document.getElementById("checkboxArtifact").checked == true && artifactBorder == true)) { - border.mask("imgMultiMask,source-over;imgFrameMask,source-in", imgBorderNyx) - } else { - border.mask("imgFrameMask,source-over", imgBorderNyx) - if (secondColor == true) { - border.mask("imgMultiGradient,source-over;imgFrameMask,source-in", imgSecondBorderNyx) - } - } - } - //MIRACLE - if (document.getElementById("checkboxMiracle").checked == true && miracleBorder == true && (document.getElementById("checkboxFlippedDark").checked == false || flipBorder == false)) { - if (thirdColor == true) { - border.mask("imgFrameMask,source-over", imgBorderMiracle) - } else { - border.mask("imgFrameMask,source-over", imgBorderMiracle) - if (secondColor == true) { - border.mask("imgMultiGradient,source-over;imgFrameMask,source-in", imgSecondBorderMiracle) - } - } - } - //LEGENDARY - if (document.getElementById("checkboxLegendary").checked == true && legendaryBorder == true) { - border.mask("imgLegendFrameMask,source-over", imgBorderLegendary) - if (secondColor == true) { - border.mask("imgMultiGradient,source-over;imgLegendFrameMask,source-in", imgSecondBorderLegendary) - } - //redraws the custom-color border to match the legendary frame - if (document.getElementById("checkboxBorderless").checked != true) { - border.mask("imgLegendFrameMask,source-over;imgBorderMask,source-out", "none", document.getElementById("inputColor").value) - } - //redraws the silver border usually on un-cards to match the legendary frame - if (document.getElementById("checkboxSilverBorder").checked == true) { - border.mask("imgLegendFrameMask,source-over;imgBorderMask,source-out", "none", "#a3aeb7") - } - } - //FLIP CARDS - if (flipBorder == true) { - if (document.getElementById("checkboxFlippedDark").checked == true && flipBorder == true) { - if (thirdColor == true) { - border.mask("imgFrameMask,source-over", imgBorderFlippedDark) - } else { - border.mask("imgFrameMask,source-over", imgBorderFlippedDark) - if (secondColor == true) { - border.mask("imgMultiGradient,source-over", imgSecondBorderFlippedDark) - } - } - } - //redraws the miracle border if required to match with the newer darker overlay - if (document.getElementById("checkboxMiracle").checked == true && miracleBorder == true && (document.getElementById("checkboxLegendary").checked == false || legendaryBorder == false)) { - if (thirdColor == true) { - border.mask("imgFrameMask,source-over", imgBorderMiracle) - } else { - border.mask("imgFrameMask,source-over", imgBorderMiracle) - if (secondColor == true) { - border.mask("imgMultiGradient,source-over;imgFrameMask,source-in", imgSecondBorderMiracle) - } - } - } - if (document.getElementById("checkboxFlipIcon").checked == true || document.getElementById("checkboxFlippedDark").checked == true) { - border.drawImage(imgBorderFlipCircle, imgBorderFlipCircle.imgX, imgBorderFlipCircle.imgY, imgBorderFlipCircle.imgW, imgBorderFlipCircle.imgH) - border.drawImage(imgBorderFlipIcon, 39, 51, 60, 60) - } - if (document.getElementById("checkboxFlipTip").checked == true) { - border.drawImage(imgBorderFlipTip, imgBorderFlipTip.imgX, imgBorderFlipTip.imgY, imgBorderFlipTip.imgW, imgBorderFlipTip.imgH) - } - if (document.getElementById("checkboxFlipIcon").checked == true || document.getElementById("checkboxFlippedDark").checked == true) { - titleRightShift = 50 - } else { - titleRightShift = 0 - } - } - //CLEAR ANYTHING UNWANTED - border.globalCompositeOperation = "destination-out" - if (document.getElementById("checkboxRulesVisibility").checked == false && imgRulesMask.width > 0) { - border.drawImage(imgRulesMask, 0, 0, cardWidth, cardHeight) - } - if (document.getElementById("checkboxTypeVisibility").checked == false && imgTypeMask.width > 0) { - border.drawImage(imgTypeMask, 0, 0, cardWidth, cardHeight) - } - if (document.getElementById("checkboxTitleVisibility").checked == false && imgTitleMask.width > 0) { - border.drawImage(imgTitleMask, 0, 0, cardWidth, cardHeight) - } - // if (document.getElementById("checkboxLegendary").checked == true && legendaryBorder == true && document.getElementById("checkboxBorderless").checked == true && document.getElementById("checkboxSilverBorder").checked == false) { - // border.drawImage(imgBorderMask, 0, 0, cardWidth, cardHeight) - // } - border.globalCompositeOperation = "source-over" - //COLOR IDENTITY - if (document.getElementById("checkboxIdentity").checked == true) { - var identityList = document.getElementById("inputIdentity").value.toLowerCase().split(" ") - var angleSize = Math.PI * 2 / identityList.length - var identityRadius = 14 - var identityX = typeX - if (typeAlign == "left") { - identityX += 8 - } - var identityY = typeY + 15 - switch (identityList.length) { - case 1: - var originAngle = 0 - break; - case 2: - var originAngle = 3 * Math.PI / 4 - break; - case 3: - var originAngle = 7 * Math.PI / 6 - break; - case 4: - var originAngle = 3 * Math.PI / 2 - break; - case 5: - var originAngle = 13 * Math.PI / 10 - break; - default: - var originAngle = 0 - } - for (var i = 0; i < identityList.length; i ++) { - switch (identityList[i]) { - case "w": - border.fillStyle = "#f3f2ef" - break; - case "u": - border.fillStyle = "#1d7097" - break; - case "b": - border.fillStyle = "#31302e" - break; - case "r": - border.fillStyle = "#bf544c" - break; - case "g": - border.fillStyle = "#1c6449" - break; - case "m": - border.fillStyle = "#e3d591" - break; - default: - border.fillStyle = "#e0e0e0" - } - var startAngle = originAngle + i * angleSize - border.beginPath() - border.moveTo(identityX, identityY) - border.arc(identityX, identityY, identityRadius, startAngle, startAngle + angleSize) - border.lineTo(identityX, identityY) - border.fill() - } - border.drawImage(imgIdentity, identityX - identityRadius, identityY - identityRadius, 2 * identityRadius, 2 * identityRadius) - typeRightShift = 33 - } else { - typeRightShift = 0 - } - //RARE STAMP - if (document.getElementById("checkboxRareStamp").checked == true && stampBorder == true) { - imgBorderRareStamp.imgValues(329, rareStampY - 15, 90, 50, "imgSecondBorderRareStamp,imgRareStampMask") - border.mask("imgCardMask,source-over", imgBorderRareStamp) - if (document.getElementById("checkboxSecondColor").checked == true) { - border.mask("imgMultiGradient,source-over", imgSecondBorderRareStamp) - } - if (document.getElementById("checkboxBorderless").checked != true) { - //Draws over the rare stamp (part that's usually black) to match custom border color - border.mask("imgCardMask,source-over", imgRareStampMask, document.getElementById("inputColor").value) - } - //This is when the holo stamp is drawn - border.drawImage(imgRareStamp, 340, rareStampY, 70, 37) - } - imgBorder.src = borderCanvas.toDataURL() -} - - -//============================================// -// Drawing on the card // -//============================================// -//Draw card art -function drawPicture() { - //scales the card art and draws it - card.rotate(document.getElementById("imageRotation").value * Math.PI / 180); - var imageScale = document.getElementById("imageSize").value * 0.01 - var imageLeftShift = parseInt(document.getElementById("imageLeft").value) - var imageUpShift = parseInt(document.getElementById("imageUp").value) - if (imgArt.width > 0) { - card.drawImage(imgArt, artX - imageLeftShift, artY - imageUpShift, imgArt.width * imageScale, imgArt.height * imageScale) - } - card.rotate(document.getElementById("imageRotation").value * Math.PI / -180); -} - -//Draw the set symbol -function drawSetSymbol() { - //scales the set symbol so that it fits in the correct area and centers it - if (imgSetSymbol.width > 0 && document.getElementById("checkboxSetSymbol").checked == true) { - var height = setSymbolHeight - var width = imgSetSymbol.width * (height / imgSetSymbol.height) - if (width > setSymbolWidth) { - width = setSymbolWidth - height = imgSetSymbol.height * (width / imgSetSymbol.width) - } - height *= document.getElementById("setSymbolSize").value / 100 - width *= document.getElementById("setSymbolSize").value / 100 - var y = setSymbolY - height / 2 - var x = setSymbolRight - width / centerSetSymbol - card.drawImage(imgSetSymbol, x, y, width, height) - } -} - -//Draw the watermark -function drawWatermark() { - //The watermark is centered/scaled just like the set symbol - if (imgWatermark.width > 0 && document.getElementById("checkboxWatermark").checked == true) { - var height = watermarkHeight - var width = imgWatermark.width * (height / imgWatermark.height) - if (width > watermarkWidth) { - width = watermarkWidth - height = imgWatermark.height * (width / imgWatermark.width) - } - var x = watermarkX - width / 2 - var y = watermarkY - height / 2 - imgWatermark.imgValues(x, y, width, height) - //globalAlpha insures that the watermark is drawn partially transparent. This value may not be perfect but the watermark colors are calibrated to it - card.globalAlpha = document.getElementById("inputWatermarkOpacity").value - //if the following if statement is true, the watermark will be drawn in two halves of the chosen colors. Otherwise, a single watermark of the first chosen color is drawn. - if (document.getElementById("checkboxOriginalWatermark").checked == true) { - card.mask("imgCardMask,source-over", imgWatermark) - } else if (document.getElementById("checkboxSecondWatermarkColor").checked == true) { - card.mask("imgMultiGradient,source-over;imgCardMask,source-out", imgWatermark, document.getElementById("watermarkColorSelection").value) - card.mask("imgMultiGradient,source-over", imgWatermark, document.getElementById("secondWatermarkColorSelection").value) - } else { - card.mask("imgCardMask,source-over", imgWatermark, document.getElementById("watermarkColorSelection").value) - } - } - card.globalAlpha = 1 -} - -//Draw the mana cost -function drawManaCost() { - //the symbols string splits the mana cost input into an array of strings which is then put into a for loop that draws the appropriate set symbol then adjusts the xShift so the set symbols are spaced properly - card.fillStyle = "Black" - var symbols = document.getElementById("inputCost").value.toLowerCase().replace(/{/g, " ").replace(/}/g, " ").split(" ") - var xShift = 0 - for (var n = symbols.length; n > -1; n--) { - if (manaSymbolCode.indexOf(symbols[n]) != -1) { - card.beginPath() - card.arc(manaCostX + xShift + manaCostRadius - 1, manaCostY + manaCostRadius + 3.5, manaCostRadius, 0, 6.29, false) - card.fill() - card.drawImage(manaSymbolImages[manaSymbolCode.indexOf(symbols[n])], manaCostX + xShift, manaCostY, manaCostRadius * 2, manaCostRadius * 2) - xShift -= 39 - } - } -} - -//Write card text (title, type, pt, and rules) -function writeText() { - //Draws the entered text onto the card, also draws the power/toughness box if necessary - //All use these: - card.textBaseline = "top" - // if (flipBorder == true && document.getElementById("checkboxFlippedDark").checked == true) { - // card.fillStyle = "White"//attention - // } else { - // card.fillStyle = "Black" - // } - //Title - card.fillStyle = document.getElementById("inputTitleColor").value - card.textAlign = titleAlign - canvas.style.letterSpacing = titleFontSpacing - card.font = titleFont - if (document.getElementById("checkboxTitleOutline").checked == true) { - card.strokeStyle = document.getElementById("inputTitleOutlineColor").value - card.lineWidth = 2 - card.strokeText(document.getElementById("inputName").value, titleX + titleRightShift, titleY + textBaselineShift[0] * card.font.split("px")[0]) - } - card.fillText(document.getElementById("inputName").value, titleX + titleRightShift, titleY + textBaselineShift[0] * card.font.split("px")[0]) - //Type - card.fillStyle = document.getElementById("inputTypeColor").value - card.textAlign = typeAlign - canvas.style.letterSpacing = typeFontSpacing - card.font = typeFont - if (document.getElementById("checkboxTypeOutline").checked == true) { - card.strokeStyle = document.getElementById("inputTypeOutlineColor").value - card.lineWidth = 2 - card.strokeText(document.getElementById("inputType").value, typeX + typeRightShift, typeY + textBaselineShift[0] * card.font.split("px")[0]) - } - card.fillText(document.getElementById("inputType").value, typeX + typeRightShift, typeY + textBaselineShift[0] * card.font.split("px")[0]) - //Power/Toughness - if (document.getElementById("checkboxCreature").checked == true && creatureBorder == true) { - // if (imgBorderCreature.src.substr(imgBorderCreature.src.length - 14) == "vehicle/pt.png" || borderPath == "data/borders/planeswalker/") { - // card.fillStyle = "White"//attention - // } - card.fillStyle = document.getElementById("inputCreatureColor").value - card.textAlign = "center" - card.drawImage(imgBorderCreature, imgBorderCreature.imgX, imgBorderCreature.imgY, imgBorderCreature.imgW, imgBorderCreature.imgH) - canvas.style.letterSpacing = ptFontSpacing - card.font = ptFont - powerToughness = document.getElementById("inputPowerToughness").value - card.fillText(powerToughness, ptTextX, ptTextY + textBaselineShift[0] * card.font.split("px")[0]) - } - card.textAlign = "left" - // card.fillStyle = "Black"//attention - //Rules Text - card.fillStyle = document.getElementById("inputRulesColor").value - canvas.style.letterSpacing = textFontSpacing + "px" - card.font = document.getElementById("textSize").value + textFont - var text = document.getElementById("inputText").value - drawText(text, textX, textY) - //Flip Tip? - if (document.getElementById("checkboxFlipTip").checked == true && flipBorder == true) { - card.textAlign = "right" - card.fillStyle="#666" - canvas.style.letterSpacing = "0px" - card.font = "28px belerenb" - card.fillText(document.getElementById("inputFlipTip").value, 688, 886 + textBaselineShift[0] * card.font.split("px")[0]) - card.textAlign = "left" - } -} - -//Bottom info on M15 cards -function bottomInfoM15() { - card.fillStyle = document.getElementById("inputInfoColor").value - var shiftInfo = 446 - canvas.style.letterSpacing = "1.5px" - card.font = "19px relaymedium" - var bottomLine = document.getElementById("inputSet").value + " \u00b7 " + document.getElementById("inputLanguage").value - card.fillText(bottomLine, 48, infoY + textBaselineShift[0] * card.font.split("px")[0]) - var artistBrushShift = card.measureText(bottomLine).width + 58 - imgArtistBrush.imgValues(artistBrushShift, infoY + 2, 21, 13) - card.mask("imgCardMask,source-over", imgArtistBrush, card.fillStyle) - card.font = "18px relaymedium" - canvas.style.letterSpacing = "2px" - if (card.measureText(document.getElementById("inputNumber").value).width > artistBrushShift - 58) { - artistBrushShift = card.measureText(document.getElementById("inputNumber").value).width + 58 - } - card.fillText(document.getElementById("inputNumber").value, 49, infoY - 20 + textBaselineShift[0] * card.font.split("px")[0]) - card.fillText(document.getElementById("inputRarity").value, artistBrushShift - 1, infoY - 20 + textBaselineShift[0] * card.font.split("px")[0]) - if (446 < artistBrushShift + card.measureText(document.getElementById("inputRarity").value).width && document.getElementById("checkboxCreature").checked == false) { - shiftInfo = artistBrushShift + card.measureText(document.getElementById("inputRarity").value).width + 5 - } - canvas.style.letterSpacing = "-0.1px" - card.font = "22px matrixbsc" - card.fillText(document.getElementById("inputArtist").value, artistBrushShift + 21, infoY + textBaselineShift[1] * card.font.split("px")[0]) - if (446 < artistBrushShift + 21 + card.measureText(document.getElementById("inputArtist").value).width && document.getElementById("checkboxCreature").checked == true) { - shiftInfo = artistBrushShift + card.measureText(document.getElementById("inputArtist").value).width + 26 - } - //This is where "CC —" is hardcoded. The only reason is to prevent users from easily typing in the trademark and copyright that's usually on real cards. It's also there so I can see if a card was created with my program, it makes me feel good :) - if (document.getElementById("inputInfo").value != "") { - canvas.style.letterSpacing = "0px" - card.font = "17px mplantin" - var bottomInfo = "CC \u2014 " + document.getElementById("inputInfo").value - if (bottomInfo == "CC \u2014 secretcode") { - var year = date.getFullYear() - bottomInfo = "\u2122 & \u00a9 " + year + " Wizards of the Coast" - } - if (document.getElementById("checkboxCreature").checked == true) { - card.fillText(bottomInfo, shiftInfo, infoY + 1 + textBaselineShift[0] * card.font.split("px")[0]) - } else { - card.fillText(bottomInfo, shiftInfo, infoY - 17 + textBaselineShift[0] * card.font.split("px")[0]) - } - } -} - - -//============================================// -// Text processor! (kind of) // -//============================================// -//Write the rules and flavor text! -function drawText(text, xCoord, yCoord) { - var x = xCoord - var lineSpace = parseInt(document.getElementById("textShift").value, 10) - var textSize = parseInt(document.getElementById("textSize").value, 10) - var y = yCoord + parseInt(document.getElementById("textDown").value, 10) - var textXShift = 0 - var words = (text).split(" ") - var line = "" - var tempTextWidth = textWidth - var outlineRulesText - if (document.getElementById("checkboxRulesOutline").checked == true) { - outlineRulesText = true - card.strokeStyle = document.getElementById("inputRulesOutlineColor").value - card.lineWidth = 2 - } - for (var wordIndex = 0; wordIndex < words.length; wordIndex ++) { - if (words[wordIndex].includes("{") == false || words[wordIndex].includes("}") == false) { - //Just a regular old word - testLine = line + words[wordIndex] - var lineWidth = card.measureText(testLine).width - if (lineWidth + textXShift + x > tempTextWidth && wordIndex > 0) { - //Word is too big - if (outlineRulesText == true) { - card.strokeText(line, x + textXShift, y + textBaselineShift[0] * card.font.split("px")[0]) - } - card.fillText(line, x + textXShift, y + textBaselineShift[0] * card.font.split("px")[0]) - line = words[wordIndex] + " " - y += textSize + 1 - textXShift = 0 - } else { - //Word fits - line = testLine + " " - } - if (wordIndex + 1 == words.length) { - if (outlineRulesText == true) { - card.strokeText(line, x + textXShift, y + textBaselineShift[0] * card.font.split("px")[0]) - } - card.fillText(line, x + textXShift, y + textBaselineShift[0] * card.font.split("px")[0]) - } - } else { - //Symbols and more! - var splitWord = words[wordIndex].split("{") - for (var splitIndex = 0; splitIndex < splitWord.length; splitIndex ++) { - //Write what's there first! - if (outlineRulesText == true) { - card.strokeText(line, x + textXShift, y + textBaselineShift[0] * card.font.split("px")[0]) - } - card.fillText(line, x + textXShift, y + textBaselineShift[0] * card.font.split("px")[0]) - textXShift += card.measureText(line).width - line = "" - if (splitWord[splitIndex].includes("}")) { - var plainWord = "" - var megaSplit = splitWord[splitIndex].split("}") - //series of if statements to determine an action based off of the given code - if (megaSplit[0].toLowerCase() == "i") { - canvas.style.letterSpacing = textFontSpacing * 1/3 + "px" - card.font = textSize * italicSize + textFont + "i" - } else if (megaSplit[0].toLowerCase() == "/i") { - canvas.style.letterSpacing = textFontSpacing + "px" - card.font = textSize + textFont - } else if (megaSplit[0].toLowerCase() == "center") { - card.textAlign="center" - x = cardWidth / 2 - tempTextWidth = textWidth * 1.5 - } else if (megaSplit[0].toLowerCase() == "right") { - card.textAlign="right" - tempTextWidth = textWidth * 1.9 - x = cardWidth - xCoord - } else if (megaSplit[0].toLowerCase() == "left") { - card.textAlign="left" - tempTextWidth = textWidth - x = xCoord - } else if (megaSplit[0].toLowerCase() == "line") { - textXShift = 0 - y += lineSpace + textSize + 1 - } else if (megaSplit[0].toLowerCase() == "linenospace") { - textXShift = 0 - y += textSize + 1 - } else if (megaSplit[0].toLowerCase() == "bar") { - card.drawImage(imgBar, cardWidth / 2 - imgBar.width / 2, y + textSize + lineSpace) - textXShift = 0 - y += 2 * lineSpace + textSize + 3 - } else if (megaSplit[0].toLowerCase() == "chaos") { - //The chaos symbol (on planar cards) needs to be a bit bigger - card.drawImage(manaSymbolImages[56], x + textXShift + textSize * 0.054, y + textSize * 0.17, textSize, manaSymbolImages[56].height * textSize / manaSymbolImages[56].width) - textXShift += textSize * 1 - } else if (megaSplit[0].toLowerCase() == "plane") { - //This draws the large chaos symbol found on planar cards and permenantly shifts the text over - card.drawImage(manaSymbolImages[57], x, y + 6, 48, 42) - x += 58 - } else if (megaSplit[0].toLowerCase().slice(0, 2) == "up") { - y -= parseInt(megaSplit[0].toLowerCase().slice(2, megaSplit[0].length)) - } else if (megaSplit[0].toLowerCase().slice(0, 4) == "down") { - y += parseInt(megaSplit[0].toLowerCase().slice(4, megaSplit[0].length)) - } else if (megaSplit[0].toLowerCase().slice(0, 4) == "left") { - x -= parseInt(megaSplit[0].toLowerCase().slice(4, megaSplit[0].length)) - } else if (megaSplit[0].toLowerCase().slice(0, 5) == "right") { - x += parseInt(megaSplit[0].toLowerCase().slice(5, megaSplit[0].length)) - } else { - //It's an image (mana symbol, tap, etc...) - card.drawImage(manaSymbolImages[manaSymbolCode.indexOf(megaSplit[0].toLowerCase())], x + textXShift + textSize * 0.054, y + textSize * 0.075 + parseInt(document.getElementById("inputSymbolDown").value) + textBaselineShift[0] * card.font.split("px")[0], textSize * 0.77, textSize * 0.77) - textXShift += textSize * 0.84 - } - if (megaSplit[1] != "") { - plainWord = megaSplit[1] + " " - } else if (splitIndex == splitWord.length - 1) { - line += " " - } - } else { - plainWord = splitWord[splitIndex] - } - if (plainWord != "") { - //After isolating the plain word, write it! - testLine = line + plainWord - var lineWidth = card.measureText(testLine).width - if (lineWidth + textXShift + x > tempTextWidth && wordIndex > 0) { - //Word is too big - if (outlineRulesText == true) { - card.strokeText(line, x + textXShift, y + textBaselineShift[0] * card.font.split("px")[0]) - } - card.fillText(line, x + textXShift, y + textBaselineShift[0] * card.font.split("px")[0]) - line = plainWord - y += textSize + 1 - textXShift = 0 - } else { - //Word fits - line = testLine - } - if (wordIndex + 1 == words.length) { - if (outlineRulesText == true) { - card.strokeText(line, x + textXShift, y + textBaselineShift[0] * card.font.split("px")[0]) - } - card.fillText(line, x + textXShift, y + textBaselineShift[0] * card.font.split("px")[0]) - } - } - } - } - } - //Make things go back to normal :) - card.textAlign="left" -} - - -//============================================// -// Various website-related code // -//============================================// -//Toggles the visibility of predetermined sections of the input boxes -function toggleView(targetId, targetClass) { - for (var i = 0; i < document.getElementsByClassName(targetClass).length; i++) { - document.getElementsByClassName(targetClass)[i].classList.remove("shown") - } - document.getElementById(targetClass + "-" + targetId).classList.add("shown") -} -//Randomizes the sample cards at the bottom of the page. Runs it here too -function randomizeSampleCards(count) { - var cardNumbers = [] - while (cardNumbers.length < 3) { - var randomNumber = Math.floor(Math.random() * count) + 1 - if (cardNumbers.indexOf(randomNumber) > -1) { - continue - } - cardNumbers[cardNumbers.length] = randomNumber - var imgName = "sampleCard" + cardNumbers.length - window[imgName] = new Image() - window[imgName].src = "images/sampleCards/sample-card-" + randomNumber + ".png" - } - sampleCard1.onload = function() { - document.getElementById("sampleCardA").src = sampleCard1.src - } - sampleCard2.onload = function() { - document.getElementById("sampleCardB").src = sampleCard2.src - } - sampleCard3.onload = function() { - document.getElementById("sampleCardC").src = sampleCard3.src - } -} - - -//============================================// -// Image loading // -//============================================// -//Loads the set symbol from the gatherer site -function loadSetSymbol() { - imgSetSymbol.cropped = false - imgSetSymbol.src = "https://cors-anywhere.herokuapp.com/http://gatherer.wizards.com/Handlers/Image.ashx?type=symbol&set=" + document.getElementById("setSymbolCode").value.toUpperCase() + "&size=large&rarity=" + document.getElementById("setSymbolRarity").value.toUpperCase() -} -//Set Image to watermark!!! -function loadSetSymbolWatermark() { - imgWatermark.whiteToTransparent = false - imgWatermark.cropped = false - imgWatermark.src = "https://cors-anywhere.herokuapp.com/http://gatherer.wizards.com/Handlers/Image.ashx?type=symbol&set=" + document.getElementById("inputWatermarkSetCode").value.toUpperCase() + "&size=large&rarity=C" -} -//Loads an image from URL -function imageURL(input, targetImage) { - targetImage.cropped = false - if (targetImage == imgWatermark) { - imgWatermark.whiteToTransparent = false - } - targetImage.src = "https://cors-anywhere.herokuapp.com/" + input.value -} -function loadImage(event, destination, arg) { - if (arg != false) { - var input = event.target - var reader = new FileReader() - reader.onload = function() { - var dataURL = reader.result - destination.src = dataURL - destination.cropped = false - if (destination == imgWatermark) { - imgWatermark.whiteToTransparent = false - } - } - reader.readAsDataURL(input.files[0]) - } -} -//Loads card art from Scryfall via their api! -var savedArtList -function inputCardArtName(cardArtNameInput) { - var xhttp = new XMLHttpRequest() - xhttp.onreadystatechange = function() { - if (this.readyState == 4 && this.status == 200) { - var originalResponse = this.responseText - savedArtList = originalResponse.split('"art_crop":"') - savedArtList.splice(0, 1) - document.getElementById("inputCardArtNameNumber").max = savedArtList.length - document.getElementById("inputCardArtNameNumber").value = 1 - inputCardArtNameNumber(1) - } else if (this.readyState == 4 && this.status == 404) { - alert("Sorry, but we can't seem to find any art for '" + cardArtNameInput + "'") - } - } - xhttp.open("GET", "https://api.scryfall.com/cards/search?order=released&unique=art&q=name%3D" + cardArtNameInput.replace(/ /g, "_"), true) - xhttp.send() -} -function inputCardArtNameNumber(cardArtNameNumberInput) { - var tempArtUrlList = [] - for (i = 0; i < savedArtList.length; i ++) { - tempArtUrlList[i] = savedArtList[i].split('","border_crop":')[0] - } - imgArt.src = "https://cors-anywhere.herokuapp.com/" + tempArtUrlList[cardArtNameNumberInput - 1] - var tempArtArtistList = [] - for (i = 0; i < savedArtList.length; i ++) { - tempArtArtistList[i] = savedArtList[i].slice(savedArtList[i].indexOf('"artist":"') + 10, savedArtList[i].indexOf('","border_color":')) - } - document.getElementById("inputArtist").value = tempArtArtistList[cardArtNameNumberInput - 1] -} - - -//============================================// -// Image Processing // -//============================================// -Image.prototype.imgValues = function(x, y, w, h , otherImages) { - this.imgX = x - this.imgY = y - this.imgW = w - this.imgH = h - if (otherImages != undefined) { - otherImageList = otherImages.split(",") - for (i = 0; i < otherImageList.length; i ++) { - otherImage = window[otherImageList[i]] - otherImage.imgX = x - otherImage.imgY = y - otherImage.imgW = w - otherImage.imgH = h - } - } -} -var maskCanvas = document.createElement("canvas") -var maskContext = maskCanvas.getContext("2d") -CanvasRenderingContext2D.prototype.mask = function(masks, image, color) { - if (image.imgX == undefined) { - x = 0; y = 0; w = cardWidth; h = cardHeight; - } else { - x = image.imgX; y = image.imgY; w = image.imgW; h = image.imgH; - } - maskContext.clearRect(0, 0, cardWidth, cardHeight) - var maskList = masks.split(";") - for (var i = 0; i < maskList.length; i ++) { - var currentMask = maskList[i].split(",") - maskContext.globalCompositeOperation = currentMask[1] - if (window[currentMask[0]] != undefined) { - maskContext.drawImage(window[currentMask[0]], 0, 0, cardWidth, cardHeight) - } else { - maskContext.fillStyle = currentMask[0] - maskContext.fillRect(0, 0, cardWidth, cardHeight) - } - } - maskContext.globalCompositeOperation = "source-in" - if (image != "none") { - maskContext.drawImage(image, x, y, w, h) - } - if (color != undefined) { - maskContext.fillStyle = color - maskContext.fillRect(0, 0, cardWidth, cardHeight) - } - this.drawImage(maskCanvas, 0, 0, cardWidth, cardHeight) -} -//Create canvas for cropping the image -var cropCanvas = document.createElement("canvas") -var cropContext = cropCanvas.getContext("2d") -//Function that auto crops the image -function autocrop(url, destination) { - //Create image, size canvas, draw image - var imgTempSetSymbol = new Image() - imgTempSetSymbol.crossOrigin = "anonymous" - imgTempSetSymbol.src = url - imgTempSetSymbol.onload = function() { - if (imgTempSetSymbol.width > 0 && imgTempSetSymbol.height > 0) { - cropCanvas.width = imgTempSetSymbol.width - cropCanvas.height = imgTempSetSymbol.height - cropContext.drawImage(imgTempSetSymbol, 0, 0) - //declare variables - var width = cropCanvas.width - var height = cropCanvas.height - var pix = {x:[], y:[]} - var imageData = cropContext.getImageData(0,0,cropCanvas.width,cropCanvas.height) - var x, y, index - //Go through every pixel and - for (y = 0; y < height; y++) { - for (x = 0; x < width; x++) { - //(y * width + x) * 4 + 3 calculates the index at which the alpha value of the pixel at x, y is given - index = (y * width + x) * 4 + 3 - if (imageData.data[index] > 0) { - //pix is the image object that stores two arrays of x and y coordinates. These stored coordinates are all the visible pixels - pix.x.push(x) - pix.y.push(y) - } - } - } - //sorts the arrays numerically - pix.x.sort(function(a,b){return a-b}) - pix.y.sort(function(a,b){return a-b}) - var n = pix.x.length - 1 - //Finds the difference between the leftmost and rightmost visible pixels, and the topmost and bottommost pixels, cuts out a section of the canvas - width = pix.x[n] - pix.x[0] - height = pix.y[n] - pix.y[0] - var cropped = cropContext.getImageData(pix.x[0], pix.y[0], width + 1, height + 1) - //Resizes the canvas and draws cropped image - cropCanvas.width = width + 1 - cropCanvas.height = height + 1 - cropContext.putImageData(cropped, 0, 0) - //Saves the newly cropped image to the given image - destination.src = cropCanvas.toDataURL() - } - } -} -//Create a canvas to work on when making white pixels transparent -var transparentCanvas = document.createElement("canvas") -var transparentContext = transparentCanvas.getContext("2d") -//Function that auto the image -function whiteToTransparent(targetImage) { - //Create image, size canvas, draw image - var imgTemporary = new Image() - imgTemporary.crossOrigin = "anonymous" - imgTemporary.src = targetImage.src - imgTemporary.onload = function() { - if (imgTemporary.width > 0 && imgTemporary.height > 0) { - transparentCanvas.width = imgTemporary.width - transparentCanvas.height = imgTemporary.height - transparentContext.drawImage(imgTemporary, 0, 0) - //declare variables - var width = transparentCanvas.width - var height = transparentCanvas.height - var imageData = transparentContext.getImageData(0,0,transparentCanvas.width,transparentCanvas.height) - var x, y, index - //Go through every pixel and - for (y = 0; y < height; y++) { - for (x = 0; x < width; x++) { - index = (y * width + x) * 4 - if (imageData.data[index] >= 250 && imageData.data[index + 1] >= 250 && imageData.data[index + 2] >= 250) { - imageData.data[index + 3] = 0 - } - } - } - transparentContext.clearRect(0, 0, width, height) - transparentContext.putImageData(imageData, 0, 0) - targetImage.src = transparentCanvas.toDataURL() - } - } -} - - - -//============================================// -// Other // -//============================================// -//loadColors("white-White,blue-Blue,colorlessLand-Colorless Land,gold-Gold"), this is an example of how to use the function -function loadColors(colors) { - var endResult = "" - var colorList = colors.split(",") - for (var i = 0; i < colorList.length; i++) { - endResult += "" - } - document.getElementById("colorSelection").innerHTML = endResult -} -//Allows javascript files to be loaded through javascript code -function loadScript(scriptName){ - var script = document.createElement("script") - script.setAttribute("type","text/javascript") - script.setAttribute("src", scriptName) - if (typeof script != "undefined") { - document.getElementsByTagName("head")[0].appendChild(script) - } -} -//Best for last - downloads the image! -function downloadCardImage(linkElement) { - var cardImageData = canvas.toDataURL() - if (cardImageData == undefined) { - alert("Sorry, it seems that you cannot download your card. Please try using a different browser/device.") - } - linkElement.href = cardImageData -} - - -//============================================// -// Log it! // -//============================================// -console.log("The main.js file has finished loading.") - - -//============================================// -// Cookies! // -//============================================// function setCookie(cookieName, cookieValue) { var tempDate = new Date(); - tempDate.setTime(tempDate.getTime() + (31 * 24 * 60 * 60 * 1000)); //days*hours*minutes*seconds*milliseconds + tempDate.setTime(tempDate.getTime() + (12 * 31 * 24 * 60 * 60 * 1000)); //months*days*hours*minutes*seconds*milliseconds var expires = "expires=" + tempDate.toUTCString(); document.cookie = cookieName + "=" + cookieValue + ";" + expires + ";path=/"; } @@ -1118,13 +941,150 @@ function checkCookies() { 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 (isSafari == false && 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 Safari or Chrome. Everything may work perfectly, but if you notice that the cards look odd try using Safari or Chrome.") + } 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") } 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.") + } +} +checkCookies() + +//============================================// +// OTHER // +//============================================// +//changeme (FIND A BETTER PLACE FOR THIS) +function cwidth(originalValue = 750, originalCardWidth = 750) { + return (originalValue / originalCardWidth * cardWidth) +} +function cheight(originalValue = 1050, originalCardHeight = 1050) { + return (originalValue / originalCardHeight * cardHeight) } -checkCookies() \ No newline at end of file +//Runs stuff at the very end (once everything is set up) +checkCookies() +backToDefault("m15") +loadScript("data/other/setCodeList.js") +//changeme +setTimeout(function(){sectionTextFunction()}, 250) +setTimeout(function(){sectionTextFunction()}, 500) +//Only for working on frames n' stuff :) +// setTimeout(function(){ +// document.getElementById("inputCardVersion").value = "planeswalker" +// document.getElementById("inputCardVersion").onchange() +// }, 500) + +//============================================// +// RIP OLD CARD CONJURER // +//============================================// + +// //COLOR IDENTITY +// if (document.getElementById("checkboxIdentity").checked == true) { +// var identityList = document.getElementById("inputIdentity").value.toLowerCase().split(" ") +// var angleSize = Math.PI * 2 / identityList.length +// var identityRadius = 14 +// var identityX = typeX +// if (typeAlign == "left") { +// identityX += 8 +// } +// var identityY = typeY + 15 +// switch (identityList.length) { +// case 1: +// var originAngle = 0 +// break; +// case 2: +// var originAngle = 3 * Math.PI / 4 +// break; +// case 3: +// var originAngle = 7 * Math.PI / 6 +// break; +// case 4: +// var originAngle = 3 * Math.PI / 2 +// break; +// case 5: +// var originAngle = 13 * Math.PI / 10 +// break; +// default: +// var originAngle = 0 +// } +// for (var i = 0; i < identityList.length; i ++) { +// switch (identityList[i]) { +// case "w": +// border.fillStyle = "#f3f2ef" +// break; +// case "u": +// border.fillStyle = "#1d7097" +// break; +// case "b": +// border.fillStyle = "#31302e" +// break; +// case "r": +// border.fillStyle = "#bf544c" +// break; +// case "g": +// border.fillStyle = "#1c6449" +// break; +// case "m": +// border.fillStyle = "#e3d591" +// break; +// default: +// border.fillStyle = "#e0e0e0" +// } +// var startAngle = originAngle + i * angleSize +// border.beginPath() +// border.moveTo(identityX, identityY) +// border.arc(identityX, identityY, identityRadius, startAngle, startAngle + angleSize) +// border.lineTo(identityX, identityY) +// border.fill() +// } +// border.drawImage(imgIdentity, identityX - identityRadius, identityY - identityRadius, 2 * identityRadius, 2 * identityRadius) +// typeRightShift = 33 +// } else { +// typeRightShift = 0 +// } + + +// //============================================// +// // Cookies! // +// //============================================// +// function setCookie(cookieName, cookieValue) { +// var tempDate = new Date(); +// tempDate.setTime(tempDate.getTime() + (31 * 24 * 60 * 60 * 1000)); //days*hours*minutes*seconds*milliseconds +// var expires = "expires=" + tempDate.toUTCString(); +// document.cookie = cookieName + "=" + cookieValue + ";" + expires + ";path=/"; +// } +// function getCookie(cookieName) { +// var name = cookieName + "="; +// var cookieArray = document.cookie.split(";"); +// for(var i = 0; i < cookieArray.length; i++) { +// var tempCookie = cookieArray[i]; +// while (tempCookie.charAt(0) == " ") { +// tempCookie = tempCookie.substring(1); +// } +// if (tempCookie.indexOf(name) == 0) { +// return tempCookie.substring(name.length, tempCookie.length); +// } +// } +// return ""; +// } +// function checkCookies() { +// 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 (isSafari == false && 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 Safari or Chrome. Everything may work perfectly, but if you notice that the cards look odd try using Safari or Chrome.") +// } +// setCookie("visited", "true") +// } else { +// console.log("Welcome back to Card Conjurer!") +// } +// } + +// checkCookies() \ No newline at end of file diff --git a/data/other/setCodeList.js b/data/other/setCodeList.js new file mode 100644 index 00000000..3e24f4bb --- /dev/null +++ b/data/other/setCodeList.js @@ -0,0 +1,90 @@ +/* +This is a list of set codes. +It has all been typed manually, so there are possibly errors, but let's hope not! +Duplicates found and removed: ORI, W17, CED +Sets not found: Astral, Deckmasters, Duels of the Planeswalkers +The codes have been resourced from the following: +https://en.wikipedia.org/wiki/List_of_Magic:_The_Gathering_sets +Last updated: 3-29-19 +Last set added: +*/ +//Common through Rare +var setCodeListPreMythic = ['1E', '2E', '2U', '3E', '4E', '5E', '6E', '7E', '8ED', '9ED', '10E', 'AN', +'AQ', 'LE', 'DK', 'FE', 'HM', 'IA', 'AL', 'MI', 'VI', 'WL', 'TE', 'ST', 'EX', 'UZ', 'GU', 'AP', 'OD', +'TOR', 'JUD', 'ONS', 'LGN', 'SCG', 'MRD', 'DST', '5DN', 'CHK', 'BOK', 'SOK', 'RAV', 'GPT', 'DIS', 'CSP', +'TSP', 'PLC', 'FUT', 'LRW', 'MOR', 'SHM', 'EVE', 'PO', 'P2', 'PK', 'P3', 'P4', 'CH', 'BR', 'BD', 'EVG', +'UG', 'UNH', 'MED', 'ME2', 'ME3', 'ME4'] +//Common through Mythic +var setCodeListPostMythic = ['M10', 'M11', 'M12', 'M13', 'M14', 'M15', 'ORI', 'M19', 'ALA', 'CON', +'ARB', 'ZEN', 'WWK', 'ROE', 'SOM', 'MBS', 'NPH', 'ISD', 'DKA', 'AVR', 'RTR', 'GTC', 'DGM', 'THS', 'BNG', +'JOU', 'KTK', 'FRF', 'DTK', 'BFZ', 'OGW', 'SOI', 'EMN', 'KLD', 'AER', 'AKH', 'HOU', 'XLN', 'RIX', 'DOM', +'GRN', 'RNA', /*'MH1',*/ 'GS1', 'MD1', 'DD2', 'DDC', 'DDD', 'DDE', 'DDF', 'DDG', 'DDH', 'DDI', 'DDJ', 'DDK', +'DDL', 'DDM', 'DDN', 'DDP', 'DDQ', 'DDR', 'DDS', 'DDT', 'DDU', 'SS1', 'H09', 'PD2', 'PD3', 'MMA', 'MM2', +'EMA', 'MM3', 'IMA', 'A25', 'UMA', 'HOP', 'PC2', 'PCA', 'ARC', 'E01', 'CMD', 'CM1', 'C13', 'C14', 'C15', +'C16', 'CMA', 'C17', 'CM2', 'C18', 'CNS', 'CN2', 'E02', 'BBD', 'UST', 'VMA', 'TPR', 'W16', 'W17', +'GK1_IZZET', 'GK1_SELESN', 'GK1_BOROS', 'GK1_GOLGAR', 'GK2_RAKDOS', 'GK2_AZORIU', 'GK2_SIMIC', +'GK2_GRUUL', 'GK2_ORZHOV'] +//Only Rare +var setCodeListRareOnly = ['DRB'] +//Only Mythic +var setCodeListMythicOnly = ['V09', 'V10', 'V11', 'V12', 'V13', 'V14', 'V15', 'V16', 'V17', 'EXP', 'MPS_GRN'] +//Only Special +var setCodeListSpecialOnly = ['MPS_KLD', 'MPS_AKH'] + +randomSet() +function randomSet() { + var totalSetCount = setCodeListPreMythic.length + setCodeListPostMythic.length + setCodeListMythicOnly.length + setCodeListSpecialOnly.length + var randomSet = Math.floor(Math.random() * totalSetCount) + var possibleRarities, rarity, set + if (randomSet < setCodeListPreMythic.length) { + set = setCodeListPreMythic[randomSet] + possibleRarities = 3 + } else { + randomSet -= setCodeListPreMythic.length + if (randomSet < setCodeListPostMythic.length) { + set = setCodeListPostMythic[randomSet] + possibleRarities = 4 + } else { + randomSet -= setCodeListPostMythic.length + if (randomSet < setCodeListRareOnly.length) { + set = setCodeListRareOnly[randomSet] + possibleRarities = 7 + } else { + randomSet -= setCodeListRareOnly.length + if (randomSet < setCodeListMythicOnly.length) { + set = setCodeListMythicOnly[randomSet] + possibleRarities = 8 + } else { + randomSet -= setCodeListMythicOnly.length + set = setCodeListSpecialOnly[randomSet] + possibleRarities = 9 + } + } + + } + } + if (possibleRarities == 7) { + rarity = "R" + } else if (possibleRarities == 8) { + rarity = "M" + } else if (possibleRarities == 9) { + rarity = "S" + } else { + switch(Math.floor(Math.random() * possibleRarities)) { + case 3: + rarity = "M" + break + case 2: + rarity = "R" + break + case 1: + rarity = "U" + break + default: + rarity = "C" + } + } + document.getElementById("inputSetSymbolCode").value = set + document.getElementById("inputSetSymbolRarity").value = rarity + imageURL("http://gatherer.wizards.com/Handlers/Image.ashx?type=symbol&set=" + set + "&size=large&rarity=" + rarity, imgSetSymbol, "needsCrop") +} \ No newline at end of file diff --git a/images/sampleCards/sample-card-1.png b/images/sampleCards/old/sample-card-1.png similarity index 100% rename from images/sampleCards/sample-card-1.png rename to images/sampleCards/old/sample-card-1.png diff --git a/images/sampleCards/sample-card-10.png b/images/sampleCards/old/sample-card-10.png similarity index 100% rename from images/sampleCards/sample-card-10.png rename to images/sampleCards/old/sample-card-10.png diff --git a/images/sampleCards/sample-card-11.png b/images/sampleCards/old/sample-card-11.png similarity index 100% rename from images/sampleCards/sample-card-11.png rename to images/sampleCards/old/sample-card-11.png diff --git a/images/sampleCards/sample-card-12.png b/images/sampleCards/old/sample-card-12.png similarity index 100% rename from images/sampleCards/sample-card-12.png rename to images/sampleCards/old/sample-card-12.png diff --git a/images/sampleCards/sample-card-13.png b/images/sampleCards/old/sample-card-13.png similarity index 100% rename from images/sampleCards/sample-card-13.png rename to images/sampleCards/old/sample-card-13.png diff --git a/images/sampleCards/sample-card-14.png b/images/sampleCards/old/sample-card-14.png similarity index 100% rename from images/sampleCards/sample-card-14.png rename to images/sampleCards/old/sample-card-14.png diff --git a/images/sampleCards/sample-card-15.png b/images/sampleCards/old/sample-card-15.png similarity index 100% rename from images/sampleCards/sample-card-15.png rename to images/sampleCards/old/sample-card-15.png diff --git a/images/sampleCards/sample-card-2.png b/images/sampleCards/old/sample-card-2.png similarity index 100% rename from images/sampleCards/sample-card-2.png rename to images/sampleCards/old/sample-card-2.png diff --git a/images/sampleCards/sample-card-3.png b/images/sampleCards/old/sample-card-3.png similarity index 100% rename from images/sampleCards/sample-card-3.png rename to images/sampleCards/old/sample-card-3.png diff --git a/images/sampleCards/sample-card-4.png b/images/sampleCards/old/sample-card-4.png similarity index 100% rename from images/sampleCards/sample-card-4.png rename to images/sampleCards/old/sample-card-4.png diff --git a/images/sampleCards/sample-card-5.png b/images/sampleCards/old/sample-card-5.png similarity index 100% rename from images/sampleCards/sample-card-5.png rename to images/sampleCards/old/sample-card-5.png diff --git a/images/sampleCards/sample-card-6.png b/images/sampleCards/old/sample-card-6.png similarity index 100% rename from images/sampleCards/sample-card-6.png rename to images/sampleCards/old/sample-card-6.png diff --git a/images/sampleCards/sample-card-7.png b/images/sampleCards/old/sample-card-7.png similarity index 100% rename from images/sampleCards/sample-card-7.png rename to images/sampleCards/old/sample-card-7.png diff --git a/images/sampleCards/sample-card-8.png b/images/sampleCards/old/sample-card-8.png similarity index 100% rename from images/sampleCards/sample-card-8.png rename to images/sampleCards/old/sample-card-8.png diff --git a/images/sampleCards/sample-card-9.png b/images/sampleCards/old/sample-card-9.png similarity index 100% rename from images/sampleCards/sample-card-9.png rename to images/sampleCards/old/sample-card-9.png diff --git a/images/sampleCards/sample1.png b/images/sampleCards/sample1.png new file mode 100644 index 00000000..52d78237 Binary files /dev/null and b/images/sampleCards/sample1.png differ diff --git a/images/sampleCards/sample2.png b/images/sampleCards/sample2.png new file mode 100644 index 00000000..3fc43821 Binary files /dev/null and b/images/sampleCards/sample2.png differ diff --git a/images/sampleCards/sample3.png b/images/sampleCards/sample3.png new file mode 100644 index 00000000..0ddd6022 Binary files /dev/null and b/images/sampleCards/sample3.png differ diff --git a/images/sampleCards/sample4.png b/images/sampleCards/sample4.png new file mode 100644 index 00000000..d6812a54 Binary files /dev/null and b/images/sampleCards/sample4.png differ diff --git a/images/sampleCards/sample5.png b/images/sampleCards/sample5.png new file mode 100644 index 00000000..08e31ce2 Binary files /dev/null and b/images/sampleCards/sample5.png differ diff --git a/index.html b/index.html index f769b982..f8b6ce69 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,6 @@ - @@ -62,11 +61,20 @@
- +
-
Color
+
Frame
+
Text
+
Info
+
Art
+
Set Symbol
+
Watermark
+
Advanced
+
Download
+ +
-
+
Border - + + + + -
- Color +

+ Frame - +
- -
- + + +

+
+ +
+ +
- -
- + + +

+
+ +
+ +
- -
+ + + +

+
+ +
+ + + +
+
+ +
+ + +
- -
- -
-
- -
-
- -
- -
- - - -
- -
- -
- -
- -
- Border Color +
+ Frame Opacity + +
+ Title/Type Opacity + +
+ Rules Box Opacity + +
+ Pinline Opacity + +

+ Title Color Outline
- -
-
- -
- -
- -
-
- -
-
- -
-
- -
- Title Color Outline -
- -
- Type Color Outline + Type Color Outline
- -
- Rules Color Outline + Rules Color Outline
- -
- Power/Toughness Color
-
-
- Name - -
- Mana Cost - -
- Type - -
- -
- + Power/Toughness Color +

+ Border Color
+ Name + +
+ Mana Cost + +
+ Type + +
+ +
+ + + + +

Rules Text
- +
Rules Text Font Size - +
Pixels Between Paragraphs - +
Shift All Text Down - + +
+
+ Collector's Number +
- Shift Mana Symbols Down - + Rarity + +
+ Set Abbreviation + +
+ Language + +
+ Artist Credit + +
+ Other Information +
- Image - -
- -
- + Upload an Image + + +
Card Name Result:
Image Zoom - +
- Image Left - + Image X +
- Image Up - - Image Rotation - -
-
- Other Info - + Image Y +
- Card Number - -
- Rarity - -
- Set Abbreviation - -
- Language - -
- Artist Credit - -
- Info Color
+
- -
Set Code - -
- Set Symbol Rarity - -
- Custom Set Symbol - -
- + + Rarity + + Or Upload an Image + +
Scale Set Symbol - -
-
- Download
- Frame Rate - -
- -
+
- -
- + Watermark Opacity +
- -
- + Set Code + + Or Upload an Image + +
Watermark Color -
- + @@ -376,14 +339,14 @@ -
- -
- + @@ -393,32 +356,21 @@ - Watermark Opacity - -
- -
+
+
Planeswalker Ability Line Height - - - - - These values set the height of each ability box of the planeswalker. For evenly spaced boxes use (145, 145) or (90, 90, 90)
+ + + + Planeswalker Ability Values - - - - -
-
- Hand Size Modifier - - Life Total Modifier - + + + +
@@ -429,7 +381,6 @@
Mana Symbols
Other Codes
Set Codes
-
Card Colors
@@ -463,39 +414,31 @@
- Each of the following codes must include '{' before each code and '}' after. These codes aren't caps sensitive. + Each of the following codes must include '{' before each code and '}' after.
- Like the mana symbols, each of the following codes must include '{' before each code and '}' after. These codes are caps sensitive.
- • line → Skips to the next line
- • bar → Just like line, except adds the bar that usually seperates flavor text
- • lineNoSpace → Just like line, except stays closer to the previous line
- • i → Text is italicized
- • /i → Text returns to normal
- • left → Text aligns to the left
- • center → Text aligns to the center
- • right → Text aligns to the right
- • upX → Shifts the following text X pixels up
- • downX → Shifts the following text X pixels down
- • leftX → Shifts the following text X pixels left
- • rightX → Shifts the following text X pixels right
- • plane → Creates a large and shifts the following text to the right. This is designed for planar cards. + • {line} → Skips to the next line
+ • {bar} → Just like line, except adds the bar that usually seperates flavor text
+ • {lineNoSpace} → Just like line, except stays closer to the previous line
+ • {i} → Text is italicized
+ • {/i} → Text returns to normal
+ • {left} → Text aligns to the left
+ • {center} → Text aligns to the center
+ • {right} → Text aligns to the right
+ • {upX} → Shifts the following text X pixels up
+ • {downX} → Shifts the following text X pixels down
+ • {leftX} → Shifts the following text X pixels left
+ • {rightX} → Shifts the following text X pixels right
- Every set in Magic: The Gathering has an associated 2-3 letter code. For example, Homelands is HM and Innistrad is ISD. This program uses the codes from The Gatherer, the official Magic card database. A handy list of all sets and their codes can be found on Wikipedia. These codes aren't caps sensitive. -
-
- Under the 'Card Border' tab use the following guidelines:
- • Border → Selects the border style, such as planar card, m15 card, etc...
- • Color → Primary color
- • Second Color → Secondary color. Only affects the right half of the card, as seen on hybrid cards.
- • Third Color → Tertiary color. Affects the entire card, including power and toughness, as seen on two-colored gold cards.

- Under the 'Border (Advanced)' tab the checkboxes are fairly straightforward. Try each feature out to see what it does. + Every set in Magic: The Gathering has an associated 2-3 letter code. For example, Homelands is HM and Innistrad is ISD. This program uses the codes from The Gatherer, the official Magic card database. A handy list of all sets and their codes can be found on Wikipedia.
+ Card Conjurer has gone under some major changes since the making of this video, but it can still help to give a general idea of how to use the program: +

@@ -519,6 +462,10 @@ font-family: relaymedium; src: url("data/fonts/relay-medium.ttf"); } +@font-face { + font-family: gothammedium; + src: url("data/fonts/gotham-medium.ttf"); +} @font-face { font-family: belerenb; src: url("data/fonts/beleren-b.ttf"); @@ -527,10 +474,6 @@ font-family: belerenbsc; src: url("data/fonts/beleren-bsc.ttf"); } -@font-face { - font-family: matrixbsc; - src: url("data/fonts/matrix-bsc.ttf"); -} @font-face { font-family: matrix; src: url("data/fonts/matrix.ttf"); @@ -539,6 +482,10 @@ font-family: matrixb; src: url("data/fonts/matrix-b.ttf"); } +@font-face { + font-family: matrixbsc; + src: url("data/fonts/matrix-bsc.ttf"); +} @font-face { font-family: mplantin; src: url("data/fonts/mplantin.ttf"); @@ -564,6 +511,8 @@ font-size: 6vw; user-select: none; color: #eee; + -webkit-transition: 0.5s; + transition: 0.5s; } html { background: url("images/background.png") no-repeat center center fixed; @@ -826,4 +775,4 @@ References ... ---> +--> \ No newline at end of file