//checks to see if it needs to run
if (!loadedVersions.includes('/js/frames/versionSaga.js')) {
loadedVersions.push('/js/frames/versionSaga.js');
sizeCanvas('saga');
document.querySelector('#creator-menu-tabs').innerHTML += '
Saga
';
var newHTML = document.createElement('div');
newHTML.id = 'creator-menu-saga';
newHTML.classList.add('hidden');
newHTML.innerHTML = `
`;
if (!card.saga) {
card.saga = {abilities:[1, 1, 1, 0], count:3, x:0.1, width:0.3947};
}
document.querySelector('#creator-menu-sections').appendChild(newHTML);
var sagaChapter = new Image();
setImageUrl(sagaChapter, '/img/frames/saga/sagaChapter.png');
var sagaDivider = new Image();
setImageUrl(sagaDivider, '/img/frames/saga/sagaDivider.png');
sagaChapter.onload = sagaDivider.onload = sagaEdited;
fixSagaInputs(sagaEdited);
}
function sagaEdited() {
//gather data
card.saga.abilities[0] = document.querySelector('#saga-chapters-0').value;
card.saga.abilities[1] = document.querySelector('#saga-chapters-1').value;
card.saga.abilities[2] = document.querySelector('#saga-chapters-2').value;
card.saga.abilities[3] = document.querySelector('#saga-chapters-3').value;
card.saga.count = 0;
var lastY = card.text.ability0.y;
for (var i = 0; i < 4; i ++) {
card.text['ability' + i].y = lastY;
var height = parseFloat((parseInt(document.querySelector('#saga-height-' + i).value) / card.height).toFixed(4));
if (height > 0) {
card.saga.count ++;
}
card.text['ability' + i].height = height;
lastY += height;
}
fixSagaInputs();
//draw to saga canvas
sagaContext.clearRect(0, 0, sagaCanvas.width, sagaCanvas.height);
sagaContext.font = 'normal normal 550 ' + scaleHeight(0.0324) + 'px plantinsemibold';
sagaContext.textAlign = 'center';
var sagaCount = 1;
for (var i = 0; i < card.saga.count; i ++) {
var x = scaleX(card.saga.x);
var y = scaleY(card.text['ability' + i].y);
var width = scaleWidth(card.saga.width);
var height = scaleHeight(card.text['ability' + i].height);
if (sagaDivider.complete) {
sagaContext.drawImage(sagaDivider, x, y - scaleHeight(0.0029) / 2, width, scaleHeight(0.0029));
}
if (sagaChapter.complete) {
var numeralX = x - scaleWidth(0.0614);
var numeralWidth = scaleWidth(0.0787);
var numeralHeight = scaleHeight(0.0629);
var numeralY = y + (height - numeralHeight) / 2;
var numeralTextX = numeralX + scaleWidth(0.0394);
var numeralTextY = numeralY + scaleHeight(0.0429);
if (card.saga.abilities[i] == 1) {
sagaContext.drawImage(sagaChapter, numeralX, numeralY, numeralWidth, numeralHeight);
sagaContext.fillText(romanNumeral(sagaCount), numeralTextX, numeralTextY);
sagaCount ++;
} else if (card.saga.abilities[i] == 2) {
var numeralSpread = scaleHeight(0.0358);
var numeralTextSpread = scaleHeight(0.0358);
sagaContext.drawImage(sagaChapter, numeralX, numeralY - numeralSpread, numeralWidth, numeralHeight);
sagaContext.drawImage(sagaChapter, numeralX, numeralY + numeralSpread, numeralWidth, numeralHeight);
sagaContext.fillText(romanNumeral(sagaCount), numeralTextX, numeralTextY - numeralTextSpread);
sagaContext.fillText(romanNumeral(sagaCount + 1), numeralTextX, numeralTextY + numeralTextSpread);
sagaCount += 2;
} else {
var numeralSpread = 2 * scaleHeight(0.0358);
var numeralTextSpread = 2 * scaleHeight(0.0358);
sagaContext.drawImage(sagaChapter, numeralX, numeralY - numeralSpread, numeralWidth, numeralHeight);
sagaContext.drawImage(sagaChapter, numeralX, numeralY, numeralWidth, numeralHeight);
sagaContext.drawImage(sagaChapter, numeralX, numeralY + numeralSpread, numeralWidth, numeralHeight);
sagaContext.fillText(romanNumeral(sagaCount), numeralTextX, numeralTextY - numeralTextSpread);
sagaContext.fillText(romanNumeral(sagaCount + 1), numeralTextX, numeralTextY);
sagaContext.fillText(romanNumeral(sagaCount + 2), numeralTextX, numeralTextY + numeralTextSpread);
sagaCount += 3;
}
}
}
drawTextBuffer();
drawCard();
}
function fixSagaInputs(callback) {
document.querySelector('#saga-height-0').value = scaleHeight(card.text.ability0.height);
document.querySelector('#saga-chapters-0').value = card.saga.abilities[0];
document.querySelector('#saga-height-1').value = scaleHeight(card.text.ability1.height);
document.querySelector('#saga-chapters-1').value = card.saga.abilities[1];
document.querySelector('#saga-height-2').value = scaleHeight(card.text.ability2.height);
document.querySelector('#saga-chapters-2').value = card.saga.abilities[2];
document.querySelector('#saga-height-3').value = scaleHeight(card.text.ability3.height);
document.querySelector('#saga-chapters-3').value = card.saga.abilities[3];
if (callback) {
callback();
}
}
function romanNumeral(input) {
switch(input) {
case 1: return 'I';
case 2: return 'II';
case 3: return 'III';
case 4: return 'IV';
case 5: return 'V';
case 6: return 'VI';
default: return input;
}
}