mirror of
https://github.com/Investigamer/cardconjurer.git
synced 2025-07-26 21:04:58 -05:00
save/load
This commit is contained in:
@@ -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,11 +144,19 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id='setSymbolTab' class='hidden'>
|
||||
<div class="autoGrid">
|
||||
<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 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, & 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'>
|
||||
@@ -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)
|
||||
<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>
|
||||
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 |
223
data/scripts/localStorage.js
Normal file
223
data/scripts/localStorage.js
Normal 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')
|
||||
}
|
@@ -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++) {
|
||||
|
@@ -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']],
|
||||
|
@@ -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)']],
|
||||
|
@@ -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']])
|
||||
}
|
||||
|
||||
|
@@ -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)']],
|
||||
|
@@ -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)
|
||||
|
@@ -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']],
|
||||
|
@@ -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)
|
||||
|
@@ -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']],
|
||||
|
@@ -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']],
|
||||
|
@@ -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)
|
||||
|
@@ -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']],
|
||||
|
@@ -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']),
|
||||
|
@@ -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']]
|
||||
|
@@ -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)']],
|
||||
|
@@ -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)']],
|
||||
|
@@ -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']),
|
||||
|
@@ -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']),
|
||||
|
@@ -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)']],
|
||||
|
@@ -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)']],
|
||||
|
@@ -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)
|
||||
|
@@ -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)']],
|
||||
|
@@ -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)
|
||||
|
@@ -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']],
|
||||
|
@@ -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']],
|
||||
|
@@ -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']],
|
||||
|
@@ -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']),
|
||||
|
@@ -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)']],
|
||||
|
@@ -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
|
||||
|
@@ -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']],
|
||||
|
@@ -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']],
|
||||
|
@@ -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']],
|
||||
|
@@ -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']],
|
||||
|
@@ -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']),
|
||||
|
@@ -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)
|
||||
|
@@ -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')
|
||||
|
@@ -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)
|
||||
|
@@ -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)']],
|
||||
|
@@ -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)
|
||||
|
@@ -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)']],
|
||||
|
@@ -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)
|
||||
|
@@ -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']],
|
||||
|
@@ -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)
|
||||
|
@@ -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']],
|
||||
|
@@ -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"']),
|
||||
|
@@ -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"']),
|
||||
|
@@ -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"']),
|
||||
|
@@ -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)
|
||||
|
@@ -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']],
|
||||
|
@@ -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
|
||||
|
@@ -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">
|
||||
|
Reference in New Issue
Block a user