forked from GithubMirrors/cardconjurer
		
	save/load
This commit is contained in:
		
							
								
								
									
										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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Kyle
					Kyle