//============================================//
// Card Conjurer, by Kyle Burton //
//============================================//
version.currentVersion = "planeswalker"
version.artX = scale(50)
version.artY = scale(95)
version.artWidth = scale(754)
version.artHeight = scale(853)
version.setSymbolRight = scale(687)
version.setSymbolVertical = scale(612)
version.setSymbolWidth = scale(90)
version.setSymbolHeight = scale(42)
version.bottomInfoFunction = "m15PlaneswalkerBottomInfo"
version.manaCostX = scale(653)
version.manaCostY = scale(43)
version.manaCostDiameter = scale(34)
version.manaCostDistance = scale(-39)
version.manaCostDirection = "horizontal"
version.watermarkWidth = scale(520)
version.watermarkHeight = scale(250)
version.watermarkY = scale(800)
version.masksToAdd = ["Title Planeswalker", "Type Planeswalker", "Pinline Planeswalker", "Frame Planeswalker", "Border Planeswalker", "Loyalty Planeswalker", "Rules Text Planeswalker"]
filterFramePicker("frameClassPlaneswalker")
//Name, text, x, y, width, height, font, size, color, other, alternative-function
version.textList = [
["Title", "", scale(65), scale(65), scale(630), 0, "belerenb", scale(39), "black", "oneLine=true"],
["Type", "", scale(65), scale(615), scale(630), 0, "belerenb", scale(33), "black", "oneLine=true"],
["First Ability","",,,,,,,,,"planeswalkerAbilities"],
["Second Ability", "",,,,,,,,,"ignore"],
["Third Ability", "",,,,,,,,,"ignore"],
["Fourth Ability", "",,,,,,,,,"ignore"],
["Loyalty", "", scale(615), scale(958), scale(79), 0, "belerenb", scale(38), "white", "oneLine=true,textAlign='center'"]
]
function m15PlaneswalkerBottomInfo() { //remember to ctrl+f for 'artistBrushWidth' and adjust that when fixing these values!
bottomInfoContext.clearRect(0, 0, cardWidth, cardHeight)
bottomInfoContext.writeText(document.getElementById("inputInfoNumber").value + " " + document.getElementById("inputInfoRarity").value + " *Not For Sale*", scale(46), scale(982), scale(329), 0, "gothammedium", scale(17), "white", "oneLine=true")
bottomInfoContext.writeText(document.getElementById("inputInfoSet").value + " \u2022 " + document.getElementById("inputInfoLanguage").value + " {font:belerenbsc}{artistBrush}{fontsize1}" + document.getElementById("inputInfoArtist").value, scale(46), scale(1002), scale(375), 0, "gothammedium", 17, "white", "oneLine=true")
bottomInfoContext.writeText("\u2122 & \u00a9 " + date.getFullYear() + " Wizards of the Coast", cardWidth / 2, scale(1001), scale(322), 0, "mplantin", scale(17), "white", "oneLine=true,textAlign='right'")
cardImageUpdated()
}
if (!version.addedPlaneswalker) {
version.addedPlaneswalker = true
document.getElementById("mainTabMenu").innerHTML += "
Planeswalker
"
var planeswalkerTab = document.createElement("div")
planeswalkerTab.classList.add("tabContent")
planeswalkerTab.classList.add("mainEditor")
planeswalkerTab.id = "planeswalker"
planeswalkerTab.innerHTML = `
One:
Two:
Three:
Four:
For two-ability Planeswalkers only:
Use War of the Spark ability spacing
Reverse War of the Spark ability spacing`
document.getElementById("cardMenu").appendChild(planeswalkerTab)
newCanvas("planeswalker");
var planeswalkerPlus = new Image()
planeswalkerPlus.crossOrigin = "anonymous";
planeswalkerPlus.src = "data/images/planeswalker/planeswalkerPlus.png"
var planeswalkerNeutral = new Image()
planeswalkerNeutral.crossOrigin = "anonymous";
planeswalkerNeutral.src = "data/images/planeswalker/planeswalkerNeutral.png"
var planeswalkerMinus = new Image()
planeswalkerMinus.crossOrigin = "anonymous";
planeswalkerMinus.src = "data/images/planeswalker/planeswalkerMinus.png"
var lightToDarkPlaneswalker = new Image()
lightToDarkPlaneswalker.crossOrigin = "anonymous";
lightToDarkPlaneswalker.src = "data/images/planeswalker/abilityLineOdd.png"
var darkToLightPlaneswalker = new Image()
darkToLightPlaneswalker.crossOrigin = "anonymous";
darkToLightPlaneswalker.onload = function() {planeswalkerAbilities()}
darkToLightPlaneswalker.src = "data/images/planeswalker/abilityLineEven.png"
}
m15PlaneswalkerBottomInfo()
finishChangingVersion("data/images/planeswalker/planeswalkerCSV.csv")
var planeswalkerAbilityLayout = [[0], [0, scale(784)], [0, scale(730), scale(863)], [0, scale(697), scale(784), scale(878)], [0, scale(100), scale(200), scale(300), scale(400)]]
var planeswalkerAbilityCount = 3;
var ability1Y = 0, ability2Y = 0, ability3Y = 0, ability4Y = 0, ability5Y = cardHeight;
//planeswalkerContext.writeText(version.textList[2][1], 64, ability1Y, 616, 0, "mplantin", 38, "black", "lineSpace=0.97");
function planeswalkerAbilities() {
planeswalkerContext.clearRect(0, 0, cardWidth, cardHeight)
planeswalkerAbilityCount = 0
for (var i = 1; i < 5; i++) {
if (getValue("inputPlaneswalker" + i) != 0) {
planeswalkerAbilityCount += 1;
} else {
break
}
}
if (planeswalkerAbilityCount > 0) {
ability1Y = scale(648)
if (planeswalkerAbilityCount > 1) {
window.ability2Y = getValue("inputPlaneswalker1") + ability1Y
if (planeswalkerAbilityCount > 2) {
ability3Y = getValue("inputPlaneswalker2") + ability2Y
if (planeswalkerAbilityCount > 3) {
ability4Y = getValue("inputPlaneswalker3") + ability3Y
planeswalkerContext.writeText(version.textList[5][1], scale(133), ability4Y + (scale(950) - ability4Y) / 2, scale(555), 0, "mplantin", scale(38), "black", "lineSpace=0.97");
}
planeswalkerContext.writeText(version.textList[4][1], scale(133), ability3Y + getValue("inputPlaneswalker3") / 2, scale(555), 0, "mplantin", scale(38), "black", "lineSpace=0.97");
}
planeswalkerContext.writeText(version.textList[3][1], scale(133), ability2Y + getValue("inputPlaneswalker2") / 2, scale(555), 0, "mplantin", scale(38), "black", "lineSpace=0.97");
}
planeswalkerContext.writeText(version.textList[2][1], scale(133), ability1Y + getValue("inputPlaneswalker1") / 2, scale(555), 0, "mplantin", scale(38), "black", "lineSpace=0.97", "planeswalkerTextFunction");
}
}
function planeswalkerTextFunction() {
planeswalkerContext.globalCompositeOperation = "destination-over"
var lastAdjust = 0
for (var i = 1; i < planeswalkerAbilityCount + 1; i++) {
if (i == planeswalkerAbilityCount) {
lastAdjust = 2 * cardHeight
}
if (i % 2 == 1) {
planeswalkerContext.fillStyle = "white"
planeswalkerContext.globalAlpha = 0.608
planeswalkerContext.fillRect(scale(91), window["ability" + i + "Y"] + scale(10), scale(599), window["ability" + (i + 1) + "Y"] - window["ability" + i + "Y"] - scale(20) + lastAdjust)
if (i == 1 && planeswalkerAbilityCount != 1) {
planeswalkerContext.fillRect(scale(91), window["ability" + i + "Y"], scale(599), scale(10))
}
planeswalkerContext.globalAlpha = 1
planeswalkerContext.drawImage(lightToDarkPlaneswalker, scale(91), window["ability" + (i + 1) + "Y"] - scale(10) + lastAdjust, scale(599), scale(20))
} else {
planeswalkerContext.fillStyle = "#a4a4a4"
planeswalkerContext.globalAlpha = 0.706
planeswalkerContext.fillRect(scale(91), window["ability" + i + "Y"] + scale(10), scale(599), window["ability" + (i + 1) + "Y"] - window["ability" + i + "Y"] - scale(20) + lastAdjust)
planeswalkerContext.globalAlpha = 1
planeswalkerContext.drawImage(darkToLightPlaneswalker, scale(91), window["ability" + (i + 1)+ "Y"] - scale(10) + lastAdjust, scale(599), scale(20))
}
}
planeswalkerContext.globalCompositeOperation = "destination-in"
planeswalkerContext.drawImage(maskList[maskNameList.indexOf("Rules Text Planeswalker")], 0, 0, cardWidth, cardHeight)
planeswalkerContext.globalCompositeOperation = "source-over"
planeswalkerContext.fillStyle = "white"
planeswalkerContext.font = "30px belerenbsc"
planeswalkerContext.textAlign = "center"
for (var i = 1; i < planeswalkerAbilityCount + 1; i++) {
var planeswalkerIconValue = document.getElementById("inputPlaneswalker" + i + "Icon").value
var planeswalkerMidpoint = getValue("inputPlaneswalker" + i + "") / 2 + window["ability" + i + "Y"]
if (planeswalkerIconValue.includes("+")) {
planeswalkerContext.drawImage(planeswalkerPlus, scale(22), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] - scale(35), scale(105), scale(76))
planeswalkerContext.fillText(planeswalkerIconValue, scale(77), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] + scale(10))
} else if (planeswalkerIconValue.includes("-")) {
planeswalkerContext.drawImage(planeswalkerMinus, scale(21), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] - scale(24), scale(106), scale(74))
planeswalkerContext.fillText(planeswalkerIconValue, scale(77), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] + scale(11))
} else if (planeswalkerIconValue != "") {
planeswalkerContext.drawImage(planeswalkerNeutral, scale(21), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] - scale(24), scale(106), scale(64))
planeswalkerContext.fillText(planeswalkerIconValue, scale(77), planeswalkerAbilityLayout[planeswalkerAbilityCount][i] + scale(12))
}
}
cardImageUpdated()
}
function changePlaneswalkerAbilityLayout() {
if (document.getElementById("inputWARSpacing").checked) {
if (document.getElementById("inputWARReverse").checked) {
planeswalkerAbilityLayout[2] = [0, scale(784), scale(878)]
} else {
planeswalkerAbilityLayout[2] = [0, scale(697), scale(784)]
}
} else {
planeswalkerAbilityLayout[2] = [0, scale(730), scale(863)]
}
planeswalkerAbilities()
}