Files
cardconjurer/OLDdata/versions/planeswalker.js
2020-03-27 10:56:46 -07:00

202 lines
13 KiB
JavaScript

//============================================//
// Card Conjurer, by Kyle Burton //
//============================================//
if (version.currentVersion != "planeswalker") {
//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'"]
]
version.frameIndexToInsert = 5;
}
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.manaCostVersion = "m15"
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")
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", scale(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 += "<div class='tabOption mainEditor' onclick='toggleTabs(event, `planeswalker`, `mainEditor`)'>Planeswalker</div>"
var planeswalkerTab = document.createElement("div")
planeswalkerTab.classList.add("tabContent")
planeswalkerTab.classList.add("mainEditor")
planeswalkerTab.id = "planeswalker"
planeswalkerTab.innerHTML = `
One: <input type="number" class="input number" id="inputPlaneswalker1" oninput="planeswalkerAbilities()" value="99" min="0" max="1039"><input type="text" class="input text" id="inputPlaneswalker1Icon" oninput="planeswalkerAbilities()" value="+1">
Two: <input type="number" class="input number" id="inputPlaneswalker2" oninput="planeswalkerAbilities()" value="100" min="0" max="1039"><input type="text" class="input text" id="inputPlaneswalker2Icon" oninput="planeswalkerAbilities()" value="0">
Three: <input type="number" class="input number" id="inputPlaneswalker3" oninput="planeswalkerAbilities()" value="101" min="0" max="1039"><input type="text" class="input text" id="inputPlaneswalker3Icon" oninput="planeswalkerAbilities()" value="-3">
Four: <input type="number" class="input number" id="inputPlaneswalker4" oninput="planeswalkerAbilities()" value="0" min="0" max="1039"><input type="text" class="input text" id="inputPlaneswalker4Icon" oninput="planeswalkerAbilities()" value="-9"><br>
For two-ability Planeswalkers only:<br>
<input type="checkbox" onchange="changePlaneswalkerAbilityLayout()" id="inputWARSpacing"> Use War of the Spark ability spacing<br>
<input type="checkbox" onchange="changePlaneswalkerAbilityLayout()" id="inputWARReverse"> Reverse War of the Spark ability spacing<br>
<input type="checkbox" onchange="invertPlaneswalkerColors()" id="inputColorInvert"> Dark ability boxes`
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"
var lightToDarkPlaneswalkerDarkened= new Image()
lightToDarkPlaneswalkerDarkened.crossOrigin = "anonymous";
lightToDarkPlaneswalkerDarkened.src = "data/images/planeswalker/abilityLineOddDarkened.png"
var darkToLightPlaneswalkerDarkened = new Image()
darkToLightPlaneswalkerDarkened.crossOrigin = "anonymous";
darkToLightPlaneswalkerDarkened.onload = function() {invertPlaneswalkerColors()}
darkToLightPlaneswalkerDarkened.src = "data/images/planeswalker/abilityLineEvenDarkened.png"
setTimeout(planeswalkerAbilities, 1000);
//placeholders:
var darkColor = "#a4a4a4";
var lightColor = "white";
var planeswalkerLightToDark = new Image()
var planeswalkerDarkToLight = new Image()
planeswalkerDarkToLight.onload = planeswalkerAbilities()
}
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(683), scale(756), scale(830), scale(904)]]
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 = lightColor
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(planeswalkerLightToDark, scale(91), window["ability" + (i + 1) + "Y"] - scale(10) + lastAdjust, scale(599), scale(20))
} else {
planeswalkerContext.fillStyle = darkColor
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(planeswalkerDarkToLight, 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 = scale(30) + "px 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()
}
function invertPlaneswalkerColors() {
if (document.getElementById("inputColorInvert").checked) {
darkColor = "#5b5b5b"
lightColor = "black"
planeswalkerLightToDark.src = lightToDarkPlaneswalkerDarkened.src
planeswalkerDarkToLight.src = darkToLightPlaneswalkerDarkened.src
} else {
darkColor = "#a4a4a4"
lightColor = "white"
planeswalkerLightToDark.src = lightToDarkPlaneswalker.src
planeswalkerDarkToLight.src = darkToLightPlaneswalker.src
}
// planeswalkerAbilities();
}