save/load

This commit is contained in:
Kyle
2020-08-16 14:57:14 -07:00
parent 6b1f513b02
commit fbd1ae0538
54 changed files with 408 additions and 157 deletions

View File

@@ -37,7 +37,7 @@
<div onclick='toggleTabs(this, "setSymbolTab")' class='interactable'>Set Symbol</div>
<div onclick='toggleTabs(this, "watermarkTab")' class='interactable'>Watermark</div>
<div onclick='toggleTabs(this, "collectorTab")' class='interactable'>Collector</div>
<div onclick='toggleTabs(this, "importTab")' class='interactable'>Import</div>
<div onclick='toggleTabs(this, "importTab")' class='interactable'>Import/Save</div>
<div onclick='{toggleTabs(this, "tutorialTab"); if (document.getElementById("tutorial").src == "") {document.getElementById("tutorial").src = "https://www.youtube.com/embed/UrNk6I55S0Q"}}' class='interactable'>Tutorial</div>
</div>
<div id='tabOptions'>
@@ -144,12 +144,20 @@
</div>
</div>
<div id='setSymbolTab' class='hidden'>
<div class="autoGrid">
<div class="splitGrid">
<div>
<input type="file" accept="image/*" onchange="uploadImage(event, setSymbol)" placeholder="Via File Upload">
<input type="text" placeholder="Via URL" onchange="setSymbol.src = 'https://cors-anywhere.herokuapp.com/' + this.value">
<input type="text" id="inputSetCode" placeholder="Via Set Code" onchange="setSymbolFromGatherer()">
<input type="text" id="inputSetRarity" placeholder="Rarity" onchange="setSymbolFromGatherer()">
</div>
<div>
<div>X, Y, &amp; Zoom:</div>
<input type="number" value="0" id="inputSetSymbolX" oninput="setSymbol.onload()">
<input type="number" value="0" id="inputSetSymbolY" oninput="setSymbol.onload()">
<input type="number" value="100" step="0.1" min="0" id="inputSetSymbolZoom" oninput="setSymbol.onload()">
</div>
</div>
</div>
<div id='watermarkTab' class='hidden'>
<div class="autoGrid">
@@ -184,10 +192,26 @@
</div>
</div>
<div id='importTab' class='hidden'>
Type in a card name to import it! (Doesn't work with doublefaced or split cards)
<div>
Import a real card:
<input type="text" class="input text" id="inputCardNameTextImport" onchange="inputCardNameTextImport(this.value)" placeholder="Via Card Name">
Select which card to import:
<input type="number" class="input number" id="inputCardNameNumberTextImport" onchange="inputCardNameNumberTextImport(this.value)" value="1" min="1" max="1">
</div><br>
<div>
Load a saved card:
<select id="inputCardToImport" onchange="importSavedCard(this.value)">
<option disabled selected='selected'>None selected</option>
</select>
<button onclick='saveCard()'>Save current card</button>
<button onclick='deleteCard()'>Delete selected card</button>
</div><br>
<div>
Cards are saved to your browser's local storage. If you plan on clearing site data or switching devices, you can download your saved cards here:
<button onclick='downloadSavedCards()'>Download all saved cards</button>
And upload your saved cards file here:
<input oninput='uploadSavedCards(event)' type='file'>
</div>
</div>
<div id='tutorialTab' class='hidden' style='width: 100%; height: 56.25%;'>
<iframe width='1920' height='1080' allowfullscreen style='width: 100%; height:100%; border: none;' id='tutorial'></iframe>
@@ -277,6 +301,7 @@
<script defer src="/data/scripts/sortable.js"></script>
<script defer src="/data/scripts/main.js"></script>
<script defer src="/data/scripts/versions/m15/version.js"></script>
<script defer src="/data/scripts/localStorage.js"></script>
<div class='notificationContainer'></div>
</body>
<footer id='footer'>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

@@ -0,0 +1,223 @@
var localStorageCardKeyList = new Array()
var selectedCardKey = ''
if (localStorage.getItem('cardKeyList') == null) {
localStorage.setItem('cardKeyList', '[]')
} else {
loadSavedCards()
}
function loadSavedCards() {
localStorageCardKeyList = JSON.parse(localStorage.getItem('cardKeyList'))
document.getElementById('inputCardToImport').innerHTML = '<option disabled selected="selected">None selected</option>'
for (var i = 0; i < localStorageCardKeyList.length; i ++) {
document.getElementById('inputCardToImport').innerHTML += '<option>' + localStorageCardKeyList[i] + '</option>'
}
}
function saveCard() {
var savedCardKey = cardTextList[0].text
if (!savedCardKey) {
savedCardKey = 'unnamed'
}
savedCardKey = prompt('Please enter the name you\'d like to save your card as', savedCardKey)
if (localStorageCardKeyList.includes(savedCardKey)) {
if (!confirm('Would you like to overwrite the card you previously saved as ' + savedCardKey + "? (Pressing 'Cancel' will still save the card, but will affix a version number at the end)")) {
var originalCardKey = savedCardKey
var duplicateCount = 1
while (localStorageCardKeyList.includes(savedCardKey)) {
savedCardKey = originalCardKey + ' (' + duplicateCount + ')'
duplicateCount ++
}
}
}
if (!localStorageCardKeyList.includes(savedCardKey)) {
//If the card is new, add it, updated the select element, and update the localstorage
localStorageCardKeyList.push(savedCardKey)
localStorageCardKeyList.sort()
document.getElementById('inputCardToImport').innerHTML = '<option disabled selected="selected">None selected</option>'
for (var i = 0; i < localStorageCardKeyList.length; i ++) {
document.getElementById('inputCardToImport').innerHTML += '<option>' + localStorageCardKeyList[i] + '</option>'
}
localStorage.setItem('cardKeyList', JSON.stringify(localStorageCardKeyList))
}
var cardToBeSaved = new savedCard(savedCardKey)
cardToBeSaved.save()
}
function deleteCard() {
if (confirm('Are you sure you want to delete ' + selectedCardKey + '?')) {
localStorageCardKeyList.splice(localStorageCardKeyList.indexOf(selectedCardKey), 1)
document.getElementById('inputCardToImport').innerHTML = '<option disabled selected="selected">None selected</option>'
for (var i = 0; i < localStorageCardKeyList.length; i ++) {
document.getElementById('inputCardToImport').innerHTML += '<option>' + localStorageCardKeyList[i] + '</option>'
}
localStorage.setItem('cardKeyList', JSON.stringify(localStorageCardKeyList))
localStorage.removeItem(selectedCardKey)
}
}
function importSavedCard(localStorageKey = document.getElementById('inputCardToImport').value) {
if (localStorageKey) {
selectedCardKey = localStorageKey
importedCard = JSON.parse(localStorage.getItem(localStorageKey))
//Masks
loadMaskImages(importedCard.maskList)
//Version
document.getElementById('inputFrameVersion').value = importedCard.version.split('/')[0]
loadVersion(importedCard.version.split('/')[0])
if (!importedCard.version.includes('version')) {
loadScript('/data/scripts/versions/' + importedCard.version + '.js')
}
//Frame
document.getElementById('cardMaster').innerHTML = importedCard.cardMaster
cardMasterList = cardMasterList.slice(0, 2)
cardMasterList = cardMasterList.concat(importedCard.cardMasterList)
var tempObject = new cardImage()
var tempElement = tempObject.cardMasterElement()
for (var i = 2; i < cardMasterList.length; i ++) {
cardMasterList[i].image = new Image()
cardMasterList[i].image.src = cardMasterList[i].imageSource
cardMasterList[i].draw = tempObject.draw
}
for (var i = 0; i < document.getElementById('cardMaster').children.length; i ++) {
if (parseInt(document.getElementById('cardMaster').children[i].id.replace('uniqueNumber', '')) > 1) {
document.getElementById('cardMaster').children[i].onclick = tempElement.onclick
}
}
uniqueNumberTracker = importedCard.numberTracker
//Art
cardArt.src = importedCard.cardArt
setTimeout(function() {
document.getElementById('inputCardArtX').value = importedCard.artX
document.getElementById('inputCardArtY').value = importedCard.artY
document.getElementById('inputCardArtZoom').value = importedCard.artZoom
cardArtUpdated()
}, 500) //These are delayed to not get written over by the image loading
//Set Symbol
setSymbol.src = importedCard.setSymbol
document.getElementById('inputSetSymbolX').value = importedCard.setSymbolX
document.getElementById('inputSetSymbolY').value = importedCard.setSymbolY
document.getElementById('inputSetSymbolZoom').value = importedCard.setSymbolZoom
//Watermark
watermark.src = importedCard.watermark
document.getElementById('inputWatermarkPrimary').value = importedCard.watermarkPrimary
document.getElementById('inputWatermarkSecondary').value = importedCard.watermarkSecondary
document.getElementById('inputWatermarkOpacity').value = importedCard.watermarkOpacity
//Collector
document.getElementById('inputInfoNumber').value = importedCard.number
document.getElementById('inputInfoRarity').value = importedCard.rarity
document.getElementById('inputInfoSet').value = importedCard.set
document.getElementById('inputInfoLanguage').value = importedCard.language
document.getElementById('inputInfoArtist').value = importedCard.artist
bottomInfoUpdated()
//Text
document.getElementById('inputManaCost').value = importedCard.manaCost
manaCostUpdated()
setTimeout(function() {
cardTextList = importedCard.text
document.getElementById('textPicker').children[0].click()
drawCardText()
}, 500)
}
}
class savedCard {
constructor(keyToUse = 'unnamed') {
//Masks
this.maskList = []
for (var i = 0; i < cardMasterList.length; i ++) {
if (cardMasterList[i].masks != undefined) {
this.maskList.push([cardMasterList[i].masks[0], maskImageList[maskNameList.indexOf(cardMasterList[i].masks[0])].src])
}
}
//Frame Version
this.version = currentVersion
//Frame
this.cardMaster = document.getElementById('cardMaster').innerHTML.replace(' selected', '')
this.cardMasterList = cardMasterList.slice(2)
this.numberTracker = uniqueNumberTracker
//Art
this.cardArt = cardArt.src
this.artX = document.getElementById('inputCardArtX').value
this.artY = document.getElementById('inputCardArtY').value
this.artZoom = document.getElementById('inputCardArtZoom').value
//Set Symbol
this.setSymbol = setSymbol.src
this.setSymbolX = document.getElementById('inputSetSymbolX').value
this.setSymbolY = document.getElementById('inputSetSymbolY').value
this.setSymbolZoom = document.getElementById('inputSetSymbolZoom').value
//Watermark
this.watermark = watermark.src
this.watermarkPrimary = document.getElementById('inputWatermarkPrimary').value
this.watermarkSecondary = document.getElementById('inputWatermarkSecondary').value
this.watermarkOpacity = document.getElementById('inputWatermarkOpacity').value
//Collector
this.number = document.getElementById('inputInfoNumber').value
this.rarity = document.getElementById('inputInfoRarity').value
this.set = document.getElementById('inputInfoSet').value
this.language = document.getElementById('inputInfoLanguage').value
this.artist = document.getElementById('inputInfoArtist').value
//Text
this.manaCost = document.getElementById('inputManaCost').value
this.text = cardTextList
//Key
this.key = keyToUse
//Version Control
this.ccVersion = 1
}
save() {
localStorage.setItem(this.key, JSON.stringify(this))
}
}
function downloadSavedCards() {
var savedCardsText = ''
for (var i = 0; i < localStorageCardKeyList.length; i ++) {
savedCardsText += localStorageCardKeyList[i] + '<<cardData>>' + localStorage.getItem(localStorageCardKeyList[i]) + '<<newCard>>'
}
savedCardsText = savedCardsText.slice(0, -11)
var blob = new Blob([savedCardsText], {type: 'text'})
var a = document.createElement('a')
a.download = 'Card_Conjurer_Saved_Cards'
a.href = URL.createObjectURL(blob)
a.dataset.downloadurl = ['text', a.download, a.href].join(':')
a.style.display = 'none'
document.body.appendChild(a)
a.click()
document.body.removeChild(a)
setTimeout(function() { URL.revokeObjectURL(a.href); }, 1500)
}
function uploadSavedCards(event) {
var reader = new FileReader()
reader.onload = function() {
var uploadedCardList = reader.result.split('<<newCard>>')
for (var j = 0; j < uploadedCardList.length; j ++) {
var uploadedCard = uploadedCardList[j].split('<<cardData>>')
var savedCardKey = uploadedCard[0]
if (localStorageCardKeyList.includes(savedCardKey)) {
if (!confirm('Would you like to overwrite the card you previously saved as ' + savedCardKey + "? (Pressing 'Cancel' will still save the card, but will affix a version number at the end)")) {
var originalCardKey = savedCardKey
var duplicateCount = 1
while (localStorageCardKeyList.includes(savedCardKey)) {
savedCardKey = originalCardKey + ' (' + duplicateCount + ')'
duplicateCount ++
}
}
}
if (!localStorageCardKeyList.includes(savedCardKey)) {
//If the card is new, add it, updated the select element, and update the localstorage
localStorageCardKeyList.push(savedCardKey)
}
localStorage.setItem(savedCardKey, uploadedCard[1])
}
localStorageCardKeyList.sort()
document.getElementById('inputCardToImport').innerHTML = '<option disabled selected="selected">None selected</option>'
for (var i = 0; i < localStorageCardKeyList.length; i ++) {
document.getElementById('inputCardToImport').innerHTML += '<option>' + localStorageCardKeyList[i] + '</option>'
}
localStorage.setItem('cardKeyList', JSON.stringify(localStorageCardKeyList))
}
reader.readAsText(event.target.files[0], 'UTF-8')
}

View File

@@ -69,7 +69,9 @@ var watermarkDrawX = 0, watermarkDrawY = 0, watermarkDrawWidth = 0, watermarkDra
var cardArt = new Image()
cardArt.src = '/data/images/cardImages/blank.png'
var setSymbol = new Image()
setSymbol.src = '/data/images/cardImages/blank.png'
var watermark = new Image()
watermark.src = '/data/images/cardImages/blank.png'
cardArt.crossOrigin = "anonymous"
setSymbol.crossOrigin = "anonymous"
watermark.crossOrigin = "anonymous"
@@ -95,7 +97,8 @@ function setSymbolFromGatherer() {
} else if (document.getElementById('inputSetCode').value.toLowerCase() == 'none') {
setSymbol.src = '/data/images/cardImages/blank.png'
} else {
autoCrop(setSymbol, 'https://cors-anywhere.herokuapp.com/http://gatherer.wizards.com/Handlers/Image.ashx?type=symbol&set=' + document.getElementById('inputSetCode').value + '&size=large&rarity=' + document.getElementById('inputSetRarity').value)
setSymbol.src = 'https://cors-anywhere.herokuapp.com/http://gatherer.wizards.com/Handlers/Image.ashx?type=symbol&set=' + document.getElementById('inputSetCode').value + '&size=large&rarity=' + document.getElementById('inputSetRarity').value
// autoCrop(setSymbol, 'https://cors-anywhere.herokuapp.com/http://gatherer.wizards.com/Handlers/Image.ashx?type=symbol&set=' + document.getElementById('inputSetCode').value + '&size=large&rarity=' + document.getElementById('inputSetRarity').value)
}
}
setSymbol.onload = function() {
@@ -147,7 +150,7 @@ class cardPlaceholder {
}
draw() {
if (this.whatToDraw == textCanvas) {
if (currentVersion == 'planeswalker') {
if (currentVersion == 'm15Planeswalker/version') {
mainContext.drawImage(planeswalkerCanvas, 0, 0, cardWidth, cardHeight)
}
mainContext.globalAlpha = parseInt(document.getElementById('inputWatermarkOpacity').value) / 100
@@ -168,10 +171,11 @@ class cardPlaceholder {
}
}
class cardImage {
constructor(displayName = 'cardImage', imageSource = '', x = 0, y = 0, width = 1, height = 1, opacity = 1, masks = [], erase = false) {
constructor(displayName = 'cardImage', imageSource = '/data/images/cardImages/blank.png', x = 0, y = 0, width = 1, height = 1, opacity = 1, masks = ['Full'], erase = false) {
this.name = displayName
this.image = new Image()
this.image.src = imageSource
this.imageSource = imageSource
this.x = x
this.y = y
this.width = width
@@ -262,7 +266,7 @@ function drawCardObjects() {
}
}
}
mainContext.drawImage(setSymbol, setSymbolDrawX, setSymbolDrawY, setSymbolDrawWidth, setSymbolDrawHeight)
mainContext.drawImage(setSymbol, setSymbolDrawX + getFloat('inputSetSymbolX'), setSymbolDrawY + getFloat('inputSetSymbolY'), setSymbolDrawWidth * getFloat('inputSetSymbolZoom') / 100, setSymbolDrawHeight * getFloat('inputSetSymbolZoom') / 100)
mainContext.drawImage(bottomInfoCanvas, 0, 0, cardWidth, cardHeight)
mainContext.globalCompositeOperation = 'destination-over'
mainContext.drawImage(cardArt, scaleX(cardMasterList[0].x), scaleY(cardMasterList[0].y), scaleX(cardMasterList[0].width) * cardMasterList[0].zoom, scaleY(cardMasterList[0].height) * cardMasterList[0].zoom)
@@ -837,7 +841,7 @@ function inputCardNameNumberTextImport(index) {
} else {
importText('', 'Power/Toughness')
}
if (importCardTextResponse.includes('"loyalty":"') && currentVersion == 'planeswalker') {
if (importCardTextResponse.includes('"loyalty":"') && currentVersion == 'm15Planeswalker/version') {
importText(beforeAfter(importCardTextResponse, '"loyalty":"', '",'), 'Loyalty')
var abilityList = beforeAfter(importCardTextResponse, '"oracle_text":"', '",').replace(/ \\"/g, ' \u201C').replace(/\\"/g, '\u201D').split(/\\n/g)
for (var i = 0; i < abilityList.length; i++) {

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15FloatingCrowns')) {
loadedVersions.push("m15FloatingCrowns")
if (!loadedVersions.includes('expedition/floatingCrowns')) {
loadedVersions.push('expedition/floatingCrowns')
loadFrameImages([
['White Floating Legend Crown', '/data/images/cardImages/m15/m15CrownFloatingW.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']],
['Blue Floating Legend Crown', '/data/images/cardImages/m15/m15CrownFloatingU.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('expeditionRegular')) {
loadedVersions.push('expeditionRegular')
if (!loadedVersions.includes('expedition/regular')) {
loadedVersions.push('expedition/regular')
loadFrameImages([
['Land Frame', '/data/images/cardImages/expedition/expeditionFrameL.png', 0, 0, 1, 1, ['Full', 'Pinline (expedition)', 'Title (m15)', 'Type (m15 textless)', 'Frame (expedition)', 'Rules (expedition)', 'Border (m15)']],
['White Frame', '/data/images/cardImages/expedition/expeditionFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (expedition)', 'Title (m15)', 'Type (m15 textless)', 'Frame (expedition)', 'Rules (expedition)', 'Border (m15)']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('expedition')) {
loadedVersions.push('expedition')
if (!loadedVersions.includes('expedition/version')) {
loadedVersions.push('expedition/version')
loadMaskImages([['Pinline (expedition)', '/data/images/cardImages/expedition/expeditionMaskPinline.png'], ['Type (m15 textless)', '/data/images/cardImages/m15Textless/m15TextlessMaskType.png'], ['Rules (expedition)', '/data/images/cardImages/expedition/expeditionMaskTextbox.png'], ['Frame (expedition)', '/data/images/cardImages/expedition/expeditionMaskFrame.png']])
}

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('futureRegular')) {
loadedVersions.push('futureRegular')
if (!loadedVersions.includes('future/regular')) {
loadedVersions.push('future/regular')
loadFrameImages([
['White Frame', '/data/images/cardImages/future/futureFrameW.png', 0, 0, 1, 1, ['Full', 'Border (future)']],
['Blue Frame', '/data/images/cardImages/future/futureFrameU.png', 0, 0, 1, 1, ['Full', 'Border (future)']],

View File

@@ -1,12 +1,12 @@
if (!loadedVersions.includes('future')) {
loadedVersions.push('future')
if (!loadedVersions.includes('future/version')) {
loadedVersions.push('future/version')
loadMaskImages([['Border (future)', '/data/images/cardImages/future/futureMaskBorder.png'], ['Artifact Icon (future)', '/data/images/cardImages/future/futureMaskArtifact.png'], ['Creature Icon (future)', '/data/images/cardImages/future/futureMaskCreature.png'], ['Enchantment Icon (future)', '/data/images/cardImages/future/futureMaskEnchantment.png'], ['Instant Icon (future)', '/data/images/cardImages/future/futureMaskInstant.png'], ['Land Icon (future)', '/data/images/cardImages/future/futureMaskLand.png'], ['Multitype Icon (future)', '/data/images/cardImages/future/futureMaskMulti.png'], ['Sorcery Icon (future)', '/data/images/cardImages/future/futureMaskSorcery.png']])
addToManaSymbolList('/data/images/cardImages/manaSymbols/future/', ["f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", "f16", "f17", "f18", "f19", "f20", "fw", "fu", "fb", "fr", "fg", "fwu", "fwb", "fub", "fur", "fbr", "fbg", "frg", "frw", "fgw", "fgu", "fx"])
notify('The Future Shifted frame uses special mana symbols for 1-20, WUBRG, all hybrid mana symbols, and X. If you would like to use these, just add an "f" at the beginning of each symbol. For example, "2 g g" would become "f2 fg fg".', '#aaffaae0')
}
if (currentVersion != 'future') {
currentVersion = 'future'
if (currentVersion != 'future/version') {
currentVersion = 'future/version'
artX = scaleX(129 / 1500)
artY = scaleY(177 / 2100)

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('ixalanRegular')) {
loadedVersions.push('ixalanRegular')
if (!loadedVersions.includes('ixalan/regular')) {
loadedVersions.push('ixalan/regular')
loadFrameImages([
['White Frame', '/data/images/cardImages/ixalan/ixalanFrameW.png', 0, 0, 1, 1, ['Full']],
['Blue Frame', '/data/images/cardImages/ixalan/ixalanFrameU.png', 0, 0, 1, 1, ['Full']],

View File

@@ -1,10 +1,10 @@
if (!loadedVersions.includes('ixalan')) {
loadedVersions.push('ixalan')
if (!loadedVersions.includes('ixalan/version')) {
loadedVersions.push('ixalan/version')
// loadMaskImages([])
}
if (currentVersion != 'ixalan') {
currentVersion = 'ixalan'
if (currentVersion != 'ixalan/version') {
currentVersion = 'ixalan/version'
artX = scaleX(60 / 1500)
artY = scaleY(229 / 2100)

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15Companion')) {
loadedVersions.push('m15Companion')
if (!loadedVersions.includes('m15/companion')) {
loadedVersions.push('m15/companion')
loadFrameImages([
['White Companion Legend Crown', '/data/images/cardImages/m15/m15InnerCrownWCompanion.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']],
['Blue Companion Legend Crown', '/data/images/cardImages/m15/m15InnerCrownUCompanion.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15DarkPT')) {
loadedVersions.push("m15DarkPT")
if (!loadedVersions.includes('m15/darkPT')) {
loadedVersions.push("m15/darkPT")
loadFrameImages([
['Darkened White Power/Toughness', '/data/images/cardImages/m15/m15NicknamePTW.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
['Darkened Blue Power/Toughness', '/data/images/cardImages/m15/m15NicknamePTU.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15Devoid')) {
loadedVersions.push("m15Devoid")
if (!loadedVersions.includes('m15/devoid')) {
loadedVersions.push("m15/devoid")
loadFrameImages([
['White Devoid Frame', '/data/images/cardImages/m15/devoid/m15DevoidFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']],
['Blue Devoid Frame', '/data/images/cardImages/m15/devoid/m15DevoidFrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']],
@@ -13,8 +13,8 @@ if (!loadedVersions.includes('m15Devoid')) {
], 'frameClassM15Devoid')
}
if (currentVersion != 'm15Devoid') {
currentVersion = 'm15Devoid'
if (currentVersion != 'm15/devoid') {
currentVersion = 'm15/devoid'
artX = scaleX(60 / 1500)
artY = scaleY(218 / 2100)

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15FloatingCrowns')) {
loadedVersions.push("m15FloatingCrowns")
if (!loadedVersions.includes('m15/floatingCrowns')) {
loadedVersions.push("m15/floatingCrowns")
loadFrameImages([
['Lower Crown Cutout', '/data/images/cardImages/black.png', 110/1500, 230/2100, 1280/1500, 30/2100, ['Full']],
['White Floating Legend Crown', '/data/images/cardImages/m15/m15CrownFloatingW.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15GenericShowcase')) {
loadedVersions.push('m15GenericShowcase')
if (!loadedVersions.includes('m15/genericShowcase')) {
loadedVersions.push('m15/genericShowcase')
loadFrameImages([
['White Frame', '/data/images/cardImages/m15/genericShowcase/m15GenericShowcaseFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline Super (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Border (m15)']],
['Blue Frame', '/data/images/cardImages/m15/genericShowcase/m15GenericShowcaseFrameU.png', 0, 0, 1, 1, ['Full', 'Pinline Super (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Border (m15)']],
@@ -20,8 +20,8 @@ if (!loadedVersions.includes('m15GenericShowcase')) {
], 'frameClassM15GenericShowcase')
}
if (currentVersion != 'm15GenericShowcase') {
currentVersion = 'm15GenericShowcase'
if (currentVersion != 'm15/genericShowcase') {
currentVersion = 'm15/genericShowcase'
loadTextOptions([
new cardText('Card Title', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'white', ['oneLine=true']),

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15Invention')) {
loadedVersions.push("m15Invention")
if (!loadedVersions.includes('m15/invention')) {
loadedVersions.push("m15/invention")
loadFrameImages([
['Invention Frame', '/data/images/cardImages/m15/invention/m15InventionFrameA.png', 0, 0, 1, 1, ['Full', 'Pinline Super (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)']],
['Invention Power/Toughness', '/data/images/cardImages/m15/invention/inventionPT.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']]

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15InventionClassic')) {
loadedVersions.push("m15InventionClassic")
if (!loadedVersions.includes('m15/inventionClassic')) {
loadedVersions.push("m15/inventionClassic")
loadMaskImages([['Frame Simple Invention (m15)', '/data/images/cardImages/m15/inventionClassic/m15MaskInventionClassicFrame.png']])
loadFrameImages([
['White Invention Frame', '/data/images/cardImages/m15/inventionClassic/m15FrameWInventionClassic.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)', 'Frame Simple Invention (m15)']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15LegendCrowns')) {
loadedVersions.push("m15LegendCrowns")
if (!loadedVersions.includes('m15/legendCrowns')) {
loadedVersions.push("m15/legendCrowns")
loadFrameImages([
['White Legend Crown', '/data/images/cardImages/m15/m15CrownW.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']],
['Blue Legend Crown', '/data/images/cardImages/m15/m15CrownU.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15M21Showcase')) {
loadedVersions.push("m15M21Showcase")
if (!loadedVersions.includes('m15/m21')) {
loadedVersions.push("m15/m21")
loadFrameImages([
['White M21 Showcase Frame', '/data/images/cardImages/m15/m21/m15M21FrameW.png', 0, 0, 1, 1, ['Full']],
['Blue M21 Showcase Frame', '/data/images/cardImages/m15/m21/m15M21FrameU.png', 0, 0, 1, 1, ['Full']],
@@ -23,8 +23,8 @@ if (!loadedVersions.includes('m15M21Showcase')) {
notify('The M21 Showcase frame uses special mana symbols for 1-9, WUBRG, and X. If you would like to use these, just add an "m21" at the beginning of each symbol. For example, "2 g g" would become "m212 m21g m21g". For the darkened mana symbols seen on the white frame, add an additional "d" at the beginning. For example, "3 w" would become "dm213 dm21w".', '#aaffaae0')
}
if (currentVersion != 'm15M21Showcase') {
currentVersion = 'm15M21Showcase'
if (currentVersion != 'm15/m21') {
currentVersion = 'm15/m21'
loadTextOptions([
new cardText('Card Title', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'white', ['oneLine=true']),

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15Nickname')) {
loadedVersions.push("m15Nickname")
if (!loadedVersions.includes('m15/nickname')) {
loadedVersions.push("m15/nickname")
loadMaskImages([['Nickname Legend Crown (m15)', '/data/images/cardImages/m15/m15MaskNicknameLegendCrownStrokeless.png'], ['Nickname Title (m15)', '/data/images/cardImages/m15/m15MaskNicknameTitleStrokeless.png']])
loadFrameImages([
['Base Nickname Frame', '/data/images/cardImages/m15/m15NicknameTextboxes.png', 0, 0, 1, 1, ['Full', 'Title (m15)', 'Type (m15)', 'Rules (m15)']],
@@ -38,8 +38,8 @@ if (!loadedVersions.includes('m15Nickname')) {
], 'frameClassM15Nickname')
}
if (currentVersion != 'm15Nickname') {
currentVersion = 'm15Nickname'
if (currentVersion != 'm15/nickname') {
currentVersion = 'm15/nickname'
loadTextOptions([
new cardText('Card Nickname', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'white', ['oneLine=true']),

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15Nyx')) {
loadedVersions.push("m15Nyx")
if (!loadedVersions.includes('m15/nyx')) {
loadedVersions.push("m15/nyx")
loadFrameImages([
['White Nyx Frame', '/data/images/cardImages/m15/m15FrameWNyx.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']],
['Blue Nyx Frame', '/data/images/cardImages/m15/m15FrameUNyx.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15Regular')) {
loadedVersions.push('m15Regular')
if (!loadedVersions.includes('m15/regular')) {
loadedVersions.push('m15/regular')
loadFrameImages([
['White Frame', '/data/images/cardImages/m15/m15FrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']],
['Blue Frame', '/data/images/cardImages/m15/m15FrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Frame (m15)', 'Border (m15)', 'Pinline Super (m15)']],

View File

@@ -1,10 +1,10 @@
if (!loadedVersions.includes('m15')) {
loadedVersions.push('m15')
if (!loadedVersions.includes('m15/version')) {
loadedVersions.push('m15/version')
loadMaskImages([['Full', '/data/images/cardImages/maskFull.png'], ['Border (m15)', '/data/images/cardImages/m15/m15MaskBorder.png'], ['Right Half', '/data/images/cardImages/maskRightHalf.png'], ['Middle Third', '/data/images/cardImages/maskMiddleThird.png'], ['Pinline (m15)', '/data/images/cardImages/m15/m15MaskPinline.png'], ['Title (m15)', '/data/images/cardImages/m15/m15MaskTitle.png'], ['Type (m15)', '/data/images/cardImages/m15/m15MaskType.png'], ['Rules (m15)', '/data/images/cardImages/m15/m15MaskRules.png'], ['Frame (m15)', '/data/images/cardImages/m15/m15MaskFrame.png'], ['Pinline Super (m15)', '/data/images/cardImages/m15/m15MaskPinlineSuper.png'], ['Legend Crown (m15)', '/data/images/cardImages/m15/m15MaskLegendCrown.png'], ['Legend Crown W/ Pinline (m15)', '/data/images/cardImages/m15/m15MaskLegendCrownPinline.png'], ['Alternative Border', '/data/images/cardImages/m15/m15MaskBorderSliver.png'], ['Alternative Border (Crown)', '/data/images/cardImages/m15/m15MaskBorderSliverCrown.png']])
}
if (currentVersion != 'm15') {
currentVersion = 'm15'
if (currentVersion != 'm15/version') {
currentVersion = 'm15/version'
artX = scaleX(115 / 1500)
artY = scaleY(237 / 2100)

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('planeswalkerRegular')) {
loadedVersions.push('planeswalkerRegular')
if (!loadedVersions.includes('m15Planeswalker/regular')) {
loadedVersions.push('m15Planeswalker/regular')
loadFrameImages([
['White Frame', '/data/images/cardImages/planeswalker/planeswalkerFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (planeswalker)', 'Title (planeswalker)', 'Type (planeswalker)', 'Frame (planeswalker)', 'Border (planeswalker)']],
['Blue Frame', '/data/images/cardImages/planeswalker/planeswalkerFrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (planeswalker)', 'Title (planeswalker)', 'Type (planeswalker)', 'Frame (planeswalker)', 'Border (planeswalker)']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('planeswalker')) {
loadedVersions.push('planeswalker')
if (!loadedVersions.includes('m15Planeswalker/version')) {
loadedVersions.push('m15Planeswalker/version')
newCanvas('planeswalker')
loadMaskImages([['Pinline (planeswalker)', '/data/images/cardImages/planeswalker/planeswalkerMaskPinline.png'], ['Border (planeswalker)', '/data/images/cardImages/planeswalker/planeswalkerMaskBorder.png'], ['Title (planeswalker)', '/data/images/cardImages/planeswalker/planeswalkerMaskTitle.png'], ['Type (planeswalker)', '/data/images/cardImages/planeswalker/planeswalkerMaskType.png'], ['Frame (planeswalker)', '/data/images/cardImages/planeswalker/planeswalkerMaskFrame.png'], ['Rules Text (planeswalker)', '/data/images/cardImages/planeswalker/planeswalkerMaskText.png']])
@@ -48,8 +48,8 @@ if (!loadedVersions.includes('planeswalker')) {
planeswalkerDarkToLight.onload = function(){planeswalkerAbilities()}
}
if (currentVersion != 'planeswalker') {
currentVersion = 'planeswalker'
if (currentVersion != 'm15Planeswalker/version') {
currentVersion = 'm15Planeswalker/version'
artX = scaleX(100 / 1500)
artY = scaleY(190 / 2100)

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15DarkPT')) {
loadedVersions.push("m15DarkPT")
if (!loadedVersions.includes('m15Promo/darkPT')) {
loadedVersions.push("m15Promo/darkPT")
loadFrameImages([
['Darkened White Power/Toughness', '/data/images/cardImages/m15/m15NicknamePTW.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
['Darkened Blue Power/Toughness', '/data/images/cardImages/m15/m15NicknamePTU.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15FloatingCrowns')) {
loadedVersions.push("m15FloatingCrowns")
if (!loadedVersions.includes('m15Promo/floatingCrowns')) {
loadedVersions.push("m15Promo/floatingCrowns")
loadFrameImages([
['Lower Crown Cutout', '/data/images/cardImages/black.png', 110/1500, 230/2100, 1280/1500, 30/2100, ['Full']],
['White Floating Legend Crown', '/data/images/cardImages/m15/m15CrownFloatingW.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15InnerCrowns')) {
loadedVersions.push('m15InnerCrowns')
if (!loadedVersions.includes('m15Promo/innerCrowns')) {
loadedVersions.push('m15Promo/innerCrowns')
loadFrameImages([
['White Companion Legend Crown', '/data/images/cardImages/m15/m15InnerCrownWCompanion.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']],
['Blue Companion Legend Crown', '/data/images/cardImages/m15/m15InnerCrownUCompanion.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15PromoNickname')) {
loadedVersions.push("m15PromoNickname")
if (!loadedVersions.includes('m15Promo/nickname')) {
loadedVersions.push("m15Promo/nickname")
loadFrameImages([
['Base Nickname Frame', '/data/images/cardImages/m15Promo/m15PromoNicknameTextboxes.png', 0, 0, 1, 1, ['Full', 'Title (m15)', 'Type (m15 Promo)', 'Rules (m15 Promo)']],
['White Nickname Frame', '/data/images/cardImages/m15Promo/m15PromoNicknameFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Titleless (m15 Promo)', 'Border (m15)']],
@@ -37,8 +37,8 @@ if (!loadedVersions.includes('m15PromoNickname')) {
], 'frameClassM15PromoNickname')
}
if (currentVersion != 'm15PromoNickname') {
currentVersion = 'm15PromoNickname'
if (currentVersion != 'm15Promo/nickname') {
currentVersion = 'm15Promo/nickname'
loadTextOptions([
new cardText('Card Nickname', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'white', ['oneLine=true']),

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15PromoRegular')) {
loadedVersions.push("m15PromoRegular")
if (!loadedVersions.includes('m15Promo/regular')) {
loadedVersions.push("m15Promo/regular")
loadFrameImages([
['Base Frame', '/data/images/cardImages/m15Promo/m15PromoTextboxes.png', 0, 0, 1, 1, ['Full', 'Title (m15)', 'Type (m15 Promo)', 'Rules (m15 Promo)']],
['White Frame', '/data/images/cardImages/m15Promo/m15PromoFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Titleless (m15 Promo)', 'Border (m15)']],

View File

@@ -1,10 +1,10 @@
if (!loadedVersions.includes('m15Promo')) {
loadedVersions.push("m15Promo")
if (!loadedVersions.includes('m15Promo/version')) {
loadedVersions.push("m15Promo/version")
loadMaskImages([['Nickname Legend Crown (m15)', '/data/images/cardImages/m15/m15MaskNicknameLegendCrownStrokeless.png'], ['Nickname Title (m15)', '/data/images/cardImages/m15/m15MaskNicknameTitleStrokeless.png'], ['Pinline (m15 Promo)', '/data/images/cardImages/m15Promo/m15PromoMaskPinline.png'], ['Titleless (m15 Promo)', '/data/images/cardImages/m15Promo/m15PromoMaskTitleless.png'], ['Type (m15 Promo)', '/data/images/cardImages/m15Promo/m15PromoMaskType.png'], ['Rules (m15 Promo)', '/data/images/cardImages/m15Promo/m15PromoMaskRules.png']])
}
if (currentVersion != 'm15Promo') {
currentVersion = 'm15Promo'
if (currentVersion != 'm15Promo/version') {
currentVersion = 'm15Promo/version'
artX = 0
artY = 0

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15DarkPT')) {
loadedVersions.push("m15DarkPT")
if (!loadedVersions.includes('m15Textless/darkPT')) {
loadedVersions.push("m15Textless/darkPT")
loadFrameImages([
['Darkened White Power/Toughness', '/data/images/cardImages/m15/m15NicknamePTW.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
['Darkened Blue Power/Toughness', '/data/images/cardImages/m15/m15NicknamePTU.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15FloatingCrowns')) {
loadedVersions.push("m15FloatingCrowns")
if (!loadedVersions.includes('m15Textless/floatingCrowns')) {
loadedVersions.push("m15Textless/floatingCrowns")
loadFrameImages([
['Lower Crown Cutout', '/data/images/cardImages/black.png', 110/1500, 230/2100, 1280/1500, 30/2100, ['Full']],
['White Floating Legend Crown', '/data/images/cardImages/m15/m15CrownFloatingW.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15InnerCrowns')) {
loadedVersions.push('m15InnerCrowns')
if (!loadedVersions.includes('m15Textless/innerCrowns')) {
loadedVersions.push('m15Textless/innerCrowns')
loadFrameImages([
['White Companion Legend Crown', '/data/images/cardImages/m15/m15InnerCrownWCompanion.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']],
['Blue Companion Legend Crown', '/data/images/cardImages/m15/m15InnerCrownUCompanion.png', 246/1500, 50/2100, 1008/1500, 50/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15TextlessInvention')) {
loadedVersions.push('m15TextlessInvention')
if (!loadedVersions.includes('m15Textless/invention')) {
loadedVersions.push('m15Textless/invention')
loadFrameImages([
['Invention Frame', '/data/images/cardImages/m15Textless/invention/m15TextlessFrameInvention.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Textless)', 'Title (m15)', 'Type (m15 Textless)', 'Filigree (m15 Textless)', 'Border (m15)']],
['Invention Power/Toughness', '/data/images/cardImages/m15/invention/inventionPT.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15TextlessGenericShowcase')) {
loadedVersions.push('m15TextlessGenericShowcase')
if (!loadedVersions.includes('m15Textless/genericShowcase')) {
loadedVersions.push('m15Textless/genericShowcase')
loadFrameImages([
['White Frame', '/data/images/cardImages/m15Textless/genericShowcase/m15TextlessGenericShowcaseFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Textless)', 'Title (m15)', 'Type (m15 Textless)', 'Border (m15)']],
['Blue Frame', '/data/images/cardImages/m15Textless/genericShowcase/m15TextlessGenericShowcaseFrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Textless)', 'Title (m15)', 'Type (m15 Textless)', 'Border (m15)']],
@@ -23,8 +23,8 @@ if (!loadedVersions.includes('m15TextlessGenericShowcase')) {
], 'frameClassM15TextlessGenericShowcase')
}
if (currentVersion != 'm15TextlessGenericShowcase') {
currentVersion = 'm15TextlessGenericShowcase'
if (currentVersion != 'm15Textless/genericShowcase') {
currentVersion = 'm15Textless/genericShowcase'
loadTextOptions([
new cardText('Card Title', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'white', ['oneLine=true']),

View File

@@ -1,10 +1,10 @@
if (!loadedVersions.includes('m15Textless')) {
loadedVersions.push('m15Textless')
if (!loadedVersions.includes('m15Textless/version')) {
loadedVersions.push('m15Textless/version')
loadMaskImages([['Border (m15)', '/data/images/cardImages/m15/m15MaskBorder.png'], ['Pinline (m15 Textless)', '/data/images/cardImages/m15Textless/m15TextlessMaskPinline.png'], ['Type (m15 Textless)', '/data/images/cardImages/m15Textless/m15TextlessMaskType.png'], ['Filigree (m15 Textless)', '/data/images/cardImages/m15Textless/invention/m15TextlessMaskInvention.png']])
}
if (currentVersion != 'm15Textless') {
currentVersion = 'm15Textless'
if (currentVersion != 'm15Textless/version') {
currentVersion = 'm15Textless/version'
artX = scaleX(60 / 1500)
artY = scaleY(60 / 2100)

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('planechaseRegular')) {
loadedVersions.push('planechaseRegular')
if (!loadedVersions.includes('planechase/regular')) {
loadedVersions.push('planechase/regular')
loadFrameImages([
['Planechase Frame', '/data/images/cardImages/planechase/planechaseFrame.png', 0, 0, 1, 1, ['Full']]
], 'frameClassPlanechaseRegular')

View File

@@ -1,10 +1,10 @@
if (!loadedVersions.includes('planechase')) {
loadedVersions.push('planechase')
if (!loadedVersions.includes('planechase/version')) {
loadedVersions.push('planechase/version')
notify('For the small Chaos symbol on Planar cards use "{chaos}", and for the large Chaos symbol use "{planechase}".', '#aaffaae0')
}
if (currentVersion != 'planechase') {
currentVersion = 'planechase'
if (currentVersion != 'planechase/version') {
currentVersion = 'planechase/version'
previewContext.translate(0, cardHeight / 2)
previewContext.rotate(-Math.PI / 2)

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('seventhRegular')) {
loadedVersions.push('seventhRegular')
if (!loadedVersions.includes('seventh/regular')) {
loadedVersions.push('seventh/regular')
loadFrameImages([
['White Frame', '/data/images/cardImages/seventh/seventhFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']],
['Blue Frame', '/data/images/cardImages/seventh/seventhFrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh)', 'Rules (seventh)', 'Frame (seventh)', 'Border (seventh)']],

View File

@@ -1,10 +1,10 @@
if (!loadedVersions.includes('seventh')) {
loadedVersions.push('seventh')
if (!loadedVersions.includes('seventh/version')) {
loadedVersions.push('seventh/version')
loadMaskImages([['Border (seventh)', '/data/images/cardImages/seventh/seventhMaskBorder.png'], ['Pinline (seventh)', '/data/images/cardImages/seventh/seventhMaskPinline.png'], ['Rules (seventh)', '/data/images/cardImages/seventh/seventhMaskRules.png'], ['Frame (seventh)', '/data/images/cardImages/seventh/seventhMaskFrame.png']])
}
if (currentVersion != 'seventh') {
currentVersion = 'seventh'
if (currentVersion != 'seventh/version') {
currentVersion = 'seventh/version'
artX = scaleX(177 / 1500)
artY = scaleY(206 / 2100)

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('seventhTextlessRegular')) {
loadedVersions.push('seventhTextlessRegular')
if (!loadedVersions.includes('seventhTextless/regular')) {
loadedVersions.push('seventhTextless/regular')
loadFrameImages([
['White Frame', '/data/images/cardImages/seventhTextless/seventhTextlessFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh textless)']],
['Blue Frame', '/data/images/cardImages/seventhTextless/seventhTextlessFrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (seventh textless)']],

View File

@@ -1,12 +1,12 @@
if (!loadedVersions.includes('seventhTextless')) {
loadedVersions.push('seventhTextless')
if (!loadedVersions.includes('seventhTextless/version')) {
loadedVersions.push('seventhTextless/version')
loadMaskImages([['Pinline (seventh textless)', '/data/images/cardImages/seventhTextless/seventhTextlessMaskPinline.png'], ['Border (seventh)', '/data/images/cardImages/seventh/seventhMaskBorder.png']])
// addToManaSymbolList('/data/images/cardImages/manaSymbols/old/', ["oldw.svg"])
// notify('The Seventh Textless frame uses special mana symbols for 1-20, WUBRG, all hybrid mana symbols, and X. If you would like to use these, just add an "old" at the beginning of each symbol. For example, "2 g g" would become "old2 oldg oldg".', '#aaffaae0')
}
if (currentVersion != 'seventhTextless') {
currentVersion = 'seventhTextless'
if (currentVersion != 'seventhTextless/version') {
currentVersion = 'seventhTextless/version'
artX = scaleX(174 / 1500)
artY = scaleY(205 / 2100)

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('storybookRegular')) {
loadedVersions.push('storybookRegular')
if (!loadedVersions.includes('storybook/regular')) {
loadedVersions.push('storybook/regular')
loadFrameImages([
['White Frame', '/data/images/cardImages/storybook/storybookFrameW.png', 0, 0, 1, 1, ['Full']],
['Blue Frame', '/data/images/cardImages/storybook/storybookFrameU.png', 0, 0, 1, 1, ['Full']],

View File

@@ -1,12 +1,11 @@
if (!loadedVersions.includes('storybook')) {
loadedVersions.push('storybook')
if (!loadedVersions.includes('storybook/version')) {
loadedVersions.push('storybook/version')
// loadMaskImages([['Storybook Right Half', '/data/images/cardImages/storybook/maskStorybookRightHalf.png']])
//special additional mana cost, title, and type
}
if (currentVersion != 'storybook') {
currentVersion = 'storybook'
if (currentVersion != 'storybook/version') {
currentVersion = 'storybook/version'
artX = scaleX(50/1500)
artY = scaleY(54/2100)

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('m15FloatingCrowns')) {
loadedVersions.push("m15FloatingCrowns")
if (!loadedVersions.includes('m15Token/floatingCrowns')) {
loadedVersions.push("m15Token/floatingCrowns")
loadFrameImages([
['Lower Crown Cutout', '/data/images/cardImages/black.png', 110/1500, 230/2100, 1280/1500, 30/2100, ['Full']],
['White Floating Legend Crown', '/data/images/cardImages/m15/m15CrownFloatingW.png', 46/1500, 40/2100, 1408/1500, 215/2100, ['Full']],

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('tokenRegular')) {
loadedVersions.push('tokenRegular')
if (!loadedVersions.includes('token/regular')) {
loadedVersions.push('token/regular')
loadMaskImages([['Pinline (token regular)', '/data/images/cardImages/token/tokenMaskRegularPinline.png'], ['Type (token regular)', '/data/images/cardImages/token/tokenMaskRegularType.png'], ['Rules (token regular)', '/data/images/cardImages/token/tokenMaskRegularRules.png']])
loadFrameImages([
['White Frame', '/data/images/cardImages/token/tokenFrameWRegular.png', 0, 0, 1, 1, ['Full', 'Pinline (token regular)', 'Title (m15)', 'Type (token regular)', 'Rules (token regular)', 'Border (m15)']],
@@ -24,8 +24,8 @@ if (!loadedVersions.includes('tokenRegular')) {
], 'frameClassTokenRegular')
}
if (currentVersion != 'tokenRegular') {
currentVersion = 'tokenRegular'
if (currentVersion != 'token/regular') {
currentVersion = 'token/regular'
loadTextOptions([
new cardText('Card Title', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'white', ['oneLine=true','textAlign="center"']),

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('tokenTall')) {
loadedVersions.push('tokenTall')
if (!loadedVersions.includes('token/tall')) {
loadedVersions.push('token/tall')
loadFrameImages([
['White Frame', '/data/images/cardImages/token/tokenFrameWTall.png', 0, 0, 1, 1, ['Full', 'Pinline Super (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Border (m15)']],
['Blue Frame', '/data/images/cardImages/token/tokenFrameUTall.png', 0, 0, 1, 1, ['Full', 'Pinline Super (m15)', 'Title (m15)', 'Type (m15)', 'Rules (m15)', 'Border (m15)']],
@@ -23,8 +23,8 @@ if (!loadedVersions.includes('tokenTall')) {
], 'frameClassTokenTall')
}
if (currentVersion != 'tokenTall') {
currentVersion = 'tokenTall'
if (currentVersion != 'token/tall') {
currentVersion = 'token/tall'
loadTextOptions([
new cardText('Card Title', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'white', ['oneLine=true','textAlign="center"']),

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('tokenTextless')) {
loadedVersions.push('tokenTextless')
if (!loadedVersions.includes('token/textless')) {
loadedVersions.push('token/textless')
loadMaskImages([['Pinline (token textless)', '/data/images/cardImages/token/tokenMaskTextlessPinline.png'], ['Type (m15 textless)', '/data/images/cardImages/m15Textless/m15TextlessMaskType.png']])
loadFrameImages([
['White Frame', '/data/images/cardImages/token/tokenFrameWTextless.png', 0, 0, 1, 1, ['Full', 'Pinline (token textless)', 'Title (m15)', 'Type (m15 textless)', 'Border (m15)']],
@@ -24,8 +24,8 @@ if (!loadedVersions.includes('tokenTextless')) {
], 'frameClassTokenTextless')
}
if (currentVersion != 'tokenTextless') {
currentVersion = 'tokenTextless'
if (currentVersion != 'token/textless') {
currentVersion = 'token/textless'
loadTextOptions([
new cardText('Card Title', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'white', ['oneLine=true','textAlign="center"']),

View File

@@ -1,9 +1,9 @@
if (!loadedVersions.includes('token')) {
loadedVersions.push('token')
if (!loadedVersions.includes('token/version')) {
loadedVersions.push('token/version')
}
if (currentVersion != 'token') {
currentVersion = 'token'
if (currentVersion != 'token/version') {
currentVersion = 'token/version'
artX = scaleX(60 / 1500)
artY = scaleY(60 / 2100)

View File

@@ -1,5 +1,5 @@
if (!loadedVersions.includes('unstableRegular')) {
loadedVersions.push('unstableRegular')
if (!loadedVersions.includes('unstable/regular')) {
loadedVersions.push('unstable/regular')
loadFrameImages([
['White Frame', '/data/images/cardImages/unstable/unstableFrameW.png', 0, 0, 1, 1, ['Full']],
['Blue Frame', '/data/images/cardImages/unstable/unstableFrameU.png', 0, 0, 1, 1, ['Full']],

View File

@@ -1,10 +1,10 @@
if (!loadedVersions.includes('unstable')) {
loadedVersions.push('unstable')
if (!loadedVersions.includes('unstable/version')) {
loadedVersions.push('unstable/version')
// loadMaskImages([])
}
if (currentVersion != 'unstable') {
currentVersion = 'unstable'
if (currentVersion != 'unstable/version') {
currentVersion = 'unstable/version'
artX = 0
artY = 0

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html5>
<html>
<head>
<script data-ad-client="ca-pub-8226515140557560" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- <script data-ad-client="ca-pub-8226515140557560" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> -->
<script async src="/data/scripts/cookies.js"></script>
<link rel="stylesheet" href="/data/styles/main.css">
<meta charset="UTF-8">