diff --git a/Makefile b/Makefile index 5475649e..119de786 100644 --- a/Makefile +++ b/Makefile @@ -1,2 +1,2 @@ start: - docker build -f Dockerfile --target "prod" . -t "cardconjurer-client" && docker run -dit -h 127.0.0.1 -p 4242:4242 "cardconjurer-client" + docker build -f Dockerfile --target "prod" . -t "cardconjurer-client" && docker run -dit -h 127.0.0.1 -p 80:80 "cardconjurer-client" diff --git a/creator/index.html b/creator/index.html index 5b90937c..da1e16b9 100644 --- a/creator/index.html +++ b/creator/index.html @@ -206,7 +206,10 @@
Enter card text
- +
+ + +
Edit the placement and size of the selected textbox
Adjust font size
diff --git a/css/style-9.css b/css/style-9.css index d51296b1..c33ef807 100644 --- a/css/style-9.css +++ b/css/style-9.css @@ -95,6 +95,22 @@ font-family: amanda; src: url('../fonts/Amanda Std Regular.otf') format('opentype'); } +@font-face { + font-family: gillsans; + src: url('../fonts/Gill Sans Medium.otf') format('opentype'); +} +@font-face { + font-family: gillsansbold; + src: url('../fonts/Gill Sans Condensed Bold.otf') format('opentype'); +} +@font-face { + font-family: gillsansitalic; + src: url('../fonts/Gill Sans Medium Italic') format('opentype'); +} +@font-face { + font-family: gillsansbolditalic; + src: url('../fonts/Gill Sans Bold Italic.otf') format('opentype'); +} /*Variables*/ :root { --site-background: url('../img/lowpolyBackground.svg'); diff --git a/fonts/Gill Sans Bold Italic.otf b/fonts/Gill Sans Bold Italic.otf new file mode 100644 index 00000000..28086fdc Binary files /dev/null and b/fonts/Gill Sans Bold Italic.otf differ diff --git a/fonts/Gill Sans Condensed Bold.otf b/fonts/Gill Sans Condensed Bold.otf new file mode 100644 index 00000000..35972c21 Binary files /dev/null and b/fonts/Gill Sans Condensed Bold.otf differ diff --git a/fonts/Gill Sans Medium Italic.otf b/fonts/Gill Sans Medium Italic.otf new file mode 100644 index 00000000..a85acdcb Binary files /dev/null and b/fonts/Gill Sans Medium Italic.otf differ diff --git a/fonts/Gill Sans Medium.otf b/fonts/Gill Sans Medium.otf new file mode 100644 index 00000000..b1f61776 Binary files /dev/null and b/fonts/Gill Sans Medium.otf differ diff --git a/img/frames/custom/pokemon/boomerangs/colorless.png b/img/frames/custom/pokemon/boomerangs/colorless.png new file mode 100644 index 00000000..eff4762a Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/colorless.png differ diff --git a/img/frames/custom/pokemon/boomerangs/colorlessThumb.png b/img/frames/custom/pokemon/boomerangs/colorlessThumb.png new file mode 100644 index 00000000..bec58014 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/colorlessThumb.png differ diff --git a/img/frames/custom/pokemon/boomerangs/dark.png b/img/frames/custom/pokemon/boomerangs/dark.png new file mode 100644 index 00000000..b094f2be Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/dark.png differ diff --git a/img/frames/custom/pokemon/boomerangs/darkThumb.png b/img/frames/custom/pokemon/boomerangs/darkThumb.png new file mode 100644 index 00000000..e2e23069 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/darkThumb.png differ diff --git a/img/frames/custom/pokemon/boomerangs/div.png b/img/frames/custom/pokemon/boomerangs/div.png new file mode 100644 index 00000000..c38e4f19 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/div.png differ diff --git a/img/frames/custom/pokemon/boomerangs/divThumb.png b/img/frames/custom/pokemon/boomerangs/divThumb.png new file mode 100644 index 00000000..e45ca0c8 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/divThumb.png differ diff --git a/img/frames/custom/pokemon/boomerangs/fighting.png b/img/frames/custom/pokemon/boomerangs/fighting.png new file mode 100644 index 00000000..012d19e7 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/fighting.png differ diff --git a/img/frames/custom/pokemon/boomerangs/fightingThumb.png b/img/frames/custom/pokemon/boomerangs/fightingThumb.png new file mode 100644 index 00000000..b5412048 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/fightingThumb.png differ diff --git a/img/frames/custom/pokemon/boomerangs/fire.png b/img/frames/custom/pokemon/boomerangs/fire.png new file mode 100644 index 00000000..421a56d4 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/fire.png differ diff --git a/img/frames/custom/pokemon/boomerangs/fireThumb.png b/img/frames/custom/pokemon/boomerangs/fireThumb.png new file mode 100644 index 00000000..e20ac6f5 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/fireThumb.png differ diff --git a/img/frames/custom/pokemon/boomerangs/grass.png b/img/frames/custom/pokemon/boomerangs/grass.png new file mode 100644 index 00000000..ebe42a18 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/grass.png differ diff --git a/img/frames/custom/pokemon/boomerangs/grassThumb.png b/img/frames/custom/pokemon/boomerangs/grassThumb.png new file mode 100644 index 00000000..4f7dd8b1 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/grassThumb.png differ diff --git a/img/frames/custom/pokemon/boomerangs/left.png b/img/frames/custom/pokemon/boomerangs/left.png new file mode 100644 index 00000000..4566bbe1 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/left.png differ diff --git a/img/frames/custom/pokemon/boomerangs/leftThumb.png b/img/frames/custom/pokemon/boomerangs/leftThumb.png new file mode 100644 index 00000000..b8f4ed86 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/leftThumb.png differ diff --git a/img/frames/custom/pokemon/boomerangs/lightning.png b/img/frames/custom/pokemon/boomerangs/lightning.png new file mode 100644 index 00000000..103e617b Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/lightning.png differ diff --git a/img/frames/custom/pokemon/boomerangs/lightningThumb.png b/img/frames/custom/pokemon/boomerangs/lightningThumb.png new file mode 100644 index 00000000..035e6de9 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/lightningThumb.png differ diff --git a/img/frames/custom/pokemon/boomerangs/metal.png b/img/frames/custom/pokemon/boomerangs/metal.png new file mode 100644 index 00000000..881be487 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/metal.png differ diff --git a/img/frames/custom/pokemon/boomerangs/metalThumb.png b/img/frames/custom/pokemon/boomerangs/metalThumb.png new file mode 100644 index 00000000..56d4e4a9 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/metalThumb.png differ diff --git a/img/frames/custom/pokemon/boomerangs/psychic.png b/img/frames/custom/pokemon/boomerangs/psychic.png new file mode 100644 index 00000000..1988c09a Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/psychic.png differ diff --git a/img/frames/custom/pokemon/boomerangs/psychicThumb.png b/img/frames/custom/pokemon/boomerangs/psychicThumb.png new file mode 100644 index 00000000..71b5851a Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/psychicThumb.png differ diff --git a/img/frames/custom/pokemon/boomerangs/right.png b/img/frames/custom/pokemon/boomerangs/right.png new file mode 100644 index 00000000..ae0df2e3 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/right.png differ diff --git a/img/frames/custom/pokemon/boomerangs/rightThumb.png b/img/frames/custom/pokemon/boomerangs/rightThumb.png new file mode 100644 index 00000000..f3d1745d Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/rightThumb.png differ diff --git a/img/frames/custom/pokemon/boomerangs/water.png b/img/frames/custom/pokemon/boomerangs/water.png new file mode 100644 index 00000000..8f61aa96 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/water.png differ diff --git a/img/frames/custom/pokemon/boomerangs/waterThumb.png b/img/frames/custom/pokemon/boomerangs/waterThumb.png new file mode 100644 index 00000000..d75958e9 Binary files /dev/null and b/img/frames/custom/pokemon/boomerangs/waterThumb.png differ diff --git a/img/frames/custom/pokemon/colorless.png b/img/frames/custom/pokemon/colorless.png new file mode 100644 index 00000000..405713a5 Binary files /dev/null and b/img/frames/custom/pokemon/colorless.png differ diff --git a/img/frames/custom/pokemon/colorlessThumb.png b/img/frames/custom/pokemon/colorlessThumb.png new file mode 100644 index 00000000..df2b58a0 Binary files /dev/null and b/img/frames/custom/pokemon/colorlessThumb.png differ diff --git a/img/frames/custom/pokemon/dark.png b/img/frames/custom/pokemon/dark.png new file mode 100644 index 00000000..d9e3197a Binary files /dev/null and b/img/frames/custom/pokemon/dark.png differ diff --git a/img/frames/custom/pokemon/darkThumb.png b/img/frames/custom/pokemon/darkThumb.png new file mode 100644 index 00000000..26bd99f1 Binary files /dev/null and b/img/frames/custom/pokemon/darkThumb.png differ diff --git a/img/frames/custom/pokemon/extension.png b/img/frames/custom/pokemon/extension.png new file mode 100644 index 00000000..243104dd Binary files /dev/null and b/img/frames/custom/pokemon/extension.png differ diff --git a/img/frames/custom/pokemon/extensionThumb.png b/img/frames/custom/pokemon/extensionThumb.png new file mode 100644 index 00000000..051aa1d9 Binary files /dev/null and b/img/frames/custom/pokemon/extensionThumb.png differ diff --git a/img/frames/custom/pokemon/fighting.png b/img/frames/custom/pokemon/fighting.png new file mode 100644 index 00000000..0c979102 Binary files /dev/null and b/img/frames/custom/pokemon/fighting.png differ diff --git a/img/frames/custom/pokemon/fightingThumb.png b/img/frames/custom/pokemon/fightingThumb.png new file mode 100644 index 00000000..387b55c3 Binary files /dev/null and b/img/frames/custom/pokemon/fightingThumb.png differ diff --git a/img/frames/custom/pokemon/fire.png b/img/frames/custom/pokemon/fire.png new file mode 100644 index 00000000..0a7a64eb Binary files /dev/null and b/img/frames/custom/pokemon/fire.png differ diff --git a/img/frames/custom/pokemon/fireThumb.png b/img/frames/custom/pokemon/fireThumb.png new file mode 100644 index 00000000..a5163ee7 Binary files /dev/null and b/img/frames/custom/pokemon/fireThumb.png differ diff --git a/img/frames/custom/pokemon/grass.png b/img/frames/custom/pokemon/grass.png new file mode 100644 index 00000000..4ef63523 Binary files /dev/null and b/img/frames/custom/pokemon/grass.png differ diff --git a/img/frames/custom/pokemon/grassThumb.png b/img/frames/custom/pokemon/grassThumb.png new file mode 100644 index 00000000..9375d1bb Binary files /dev/null and b/img/frames/custom/pokemon/grassThumb.png differ diff --git a/img/frames/custom/pokemon/lightning.png b/img/frames/custom/pokemon/lightning.png new file mode 100644 index 00000000..a7513d9a Binary files /dev/null and b/img/frames/custom/pokemon/lightning.png differ diff --git a/img/frames/custom/pokemon/lightningThumb.png b/img/frames/custom/pokemon/lightningThumb.png new file mode 100644 index 00000000..9fc66cf2 Binary files /dev/null and b/img/frames/custom/pokemon/lightningThumb.png differ diff --git a/img/frames/custom/pokemon/metal.png b/img/frames/custom/pokemon/metal.png new file mode 100644 index 00000000..6b5082fa Binary files /dev/null and b/img/frames/custom/pokemon/metal.png differ diff --git a/img/frames/custom/pokemon/metalThumb.png b/img/frames/custom/pokemon/metalThumb.png new file mode 100644 index 00000000..d638cdbd Binary files /dev/null and b/img/frames/custom/pokemon/metalThumb.png differ diff --git a/img/frames/custom/pokemon/psychic.png b/img/frames/custom/pokemon/psychic.png new file mode 100644 index 00000000..7aa7fee6 Binary files /dev/null and b/img/frames/custom/pokemon/psychic.png differ diff --git a/img/frames/custom/pokemon/psychicThumb.png b/img/frames/custom/pokemon/psychicThumb.png new file mode 100644 index 00000000..90415cd4 Binary files /dev/null and b/img/frames/custom/pokemon/psychicThumb.png differ diff --git a/img/frames/custom/pokemon/water.png b/img/frames/custom/pokemon/water.png new file mode 100644 index 00000000..cf684f46 Binary files /dev/null and b/img/frames/custom/pokemon/water.png differ diff --git a/img/frames/custom/pokemon/waterThumb.png b/img/frames/custom/pokemon/waterThumb.png new file mode 100644 index 00000000..9bb5423c Binary files /dev/null and b/img/frames/custom/pokemon/waterThumb.png differ diff --git a/img/manaSymbols/pokemon/pokemon0.png b/img/manaSymbols/pokemon/pokemon0.png new file mode 100644 index 00000000..b0e348d3 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon0.png differ diff --git a/img/manaSymbols/pokemon/pokemon1.png b/img/manaSymbols/pokemon/pokemon1.png new file mode 100644 index 00000000..a7718e57 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon1.png differ diff --git a/img/manaSymbols/pokemon/pokemon10.png b/img/manaSymbols/pokemon/pokemon10.png new file mode 100644 index 00000000..6b61238c Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon10.png differ diff --git a/img/manaSymbols/pokemon/pokemon11.png b/img/manaSymbols/pokemon/pokemon11.png new file mode 100644 index 00000000..63fef7c2 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon11.png differ diff --git a/img/manaSymbols/pokemon/pokemon12.png b/img/manaSymbols/pokemon/pokemon12.png new file mode 100644 index 00000000..630eed1d Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon12.png differ diff --git a/img/manaSymbols/pokemon/pokemon13.png b/img/manaSymbols/pokemon/pokemon13.png new file mode 100644 index 00000000..90417ad8 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon13.png differ diff --git a/img/manaSymbols/pokemon/pokemon14.png b/img/manaSymbols/pokemon/pokemon14.png new file mode 100644 index 00000000..efcfe5d7 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon14.png differ diff --git a/img/manaSymbols/pokemon/pokemon15.png b/img/manaSymbols/pokemon/pokemon15.png new file mode 100644 index 00000000..ed164347 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon15.png differ diff --git a/img/manaSymbols/pokemon/pokemon16.png b/img/manaSymbols/pokemon/pokemon16.png new file mode 100644 index 00000000..dd51ed08 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon16.png differ diff --git a/img/manaSymbols/pokemon/pokemon17.png b/img/manaSymbols/pokemon/pokemon17.png new file mode 100644 index 00000000..8d592da5 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon17.png differ diff --git a/img/manaSymbols/pokemon/pokemon18.png b/img/manaSymbols/pokemon/pokemon18.png new file mode 100644 index 00000000..aec29883 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon18.png differ diff --git a/img/manaSymbols/pokemon/pokemon19.png b/img/manaSymbols/pokemon/pokemon19.png new file mode 100644 index 00000000..e10a6c27 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon19.png differ diff --git a/img/manaSymbols/pokemon/pokemon2.png b/img/manaSymbols/pokemon/pokemon2.png new file mode 100644 index 00000000..528e3bec Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon2.png differ diff --git a/img/manaSymbols/pokemon/pokemon20.png b/img/manaSymbols/pokemon/pokemon20.png new file mode 100644 index 00000000..1504bfdb Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon20.png differ diff --git a/img/manaSymbols/pokemon/pokemon3.png b/img/manaSymbols/pokemon/pokemon3.png new file mode 100644 index 00000000..0f632f34 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon3.png differ diff --git a/img/manaSymbols/pokemon/pokemon4.png b/img/manaSymbols/pokemon/pokemon4.png new file mode 100644 index 00000000..22234daa Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon4.png differ diff --git a/img/manaSymbols/pokemon/pokemon5.png b/img/manaSymbols/pokemon/pokemon5.png new file mode 100644 index 00000000..5beeac76 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon5.png differ diff --git a/img/manaSymbols/pokemon/pokemon6.png b/img/manaSymbols/pokemon/pokemon6.png new file mode 100644 index 00000000..eb08487f Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon6.png differ diff --git a/img/manaSymbols/pokemon/pokemon7.png b/img/manaSymbols/pokemon/pokemon7.png new file mode 100644 index 00000000..a0494605 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon7.png differ diff --git a/img/manaSymbols/pokemon/pokemon8.png b/img/manaSymbols/pokemon/pokemon8.png new file mode 100644 index 00000000..d4acc35e Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon8.png differ diff --git a/img/manaSymbols/pokemon/pokemon9.png b/img/manaSymbols/pokemon/pokemon9.png new file mode 100644 index 00000000..0ae3b2b1 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemon9.png differ diff --git a/img/manaSymbols/pokemon/pokemonb.png b/img/manaSymbols/pokemon/pokemonb.png new file mode 100644 index 00000000..a407921c Binary files /dev/null and b/img/manaSymbols/pokemon/pokemonb.png differ diff --git a/img/manaSymbols/pokemon/pokemonc.png b/img/manaSymbols/pokemon/pokemonc.png new file mode 100644 index 00000000..c4d2fe11 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemonc.png differ diff --git a/img/manaSymbols/pokemon/pokemong.png b/img/manaSymbols/pokemon/pokemong.png new file mode 100644 index 00000000..b9beb9a9 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemong.png differ diff --git a/img/manaSymbols/pokemon/pokemonr.png b/img/manaSymbols/pokemon/pokemonr.png new file mode 100644 index 00000000..17898019 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemonr.png differ diff --git a/img/manaSymbols/pokemon/pokemont.png b/img/manaSymbols/pokemon/pokemont.png new file mode 100644 index 00000000..009cd66d Binary files /dev/null and b/img/manaSymbols/pokemon/pokemont.png differ diff --git a/img/manaSymbols/pokemon/pokemonu.png b/img/manaSymbols/pokemon/pokemonu.png new file mode 100644 index 00000000..0e90c412 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemonu.png differ diff --git a/img/manaSymbols/pokemon/pokemonw.png b/img/manaSymbols/pokemon/pokemonw.png new file mode 100644 index 00000000..74e55d62 Binary files /dev/null and b/img/manaSymbols/pokemon/pokemonw.png differ diff --git a/js/creator-23.js b/js/creator-23.js index 618694a4..25e3b484 100644 --- a/js/creator-23.js +++ b/js/creator-23.js @@ -2324,7 +2324,9 @@ function writeText(textObject, targetContext) { if (rawText.includes('//')) { rawText = rawText.replace(/\/\//g, '{lns}'); } - if (autoFramePack == 'Seventh' || autoFramePack == '8th' || autoFramePack == 'Praetors' || card.version == 'invocation') { + if (card.version == 'pokemon') { + rawText = rawText.replace(/{flavor}/g, '{oldflavor}{fontsize-20}{fontgillsansbolditalic}'); + } else if (autoFramePack == 'Seventh' || autoFramePack == '8th' || card.version == 'invocation') { rawText = rawText.replace(/{flavor}/g, '{oldflavor}'); } rawText = rawText.replace(/ - /g, ' — '); @@ -2448,7 +2450,9 @@ function writeText(textObject, targetContext) { } lineContext.drawImage(getManaSymbol(barImageName).image, canvasMargin + (textWidth - barWidth) / 2, canvasMargin + barDistance * textSize, barWidth, barHeight); } else if (possibleCode == 'i') { - if (textFont == 'mplantin') { + if (textFont == 'gilllsans') { + textFontExtension = 'italic'; + } else if (textFont == 'mplantin') { textFontExtension = 'i'; textFontStyle = textFontStyle.replace('italic ', ''); } else { @@ -2461,10 +2465,18 @@ function writeText(textObject, targetContext) { textFontStyle = textFontStyle.replace('italic ', ''); lineContext.font = textFontStyle + textSize + 'px ' + textFont + textFontExtension; } else if (possibleCode == 'bold') { - if (!textFontStyle.includes('bold')) {textFontStyle += 'bold ';} + if (textFont == 'gillsans') { + textFontExtension = 'bold'; + } else { + if (!textFontStyle.includes('bold')) {textFontStyle += 'bold ';} + } lineContext.font = textFontStyle + textSize + 'px ' + textFont + textFontExtension; } else if (possibleCode == '/bold') { - textFontStyle = textFontStyle.replace('bold ', ''); + if (textFont == 'gillsans') { + textFontExtension = ''; + } else { + textFontStyle = textFontStyle.replace('bold ', ''); + } lineContext.font = textFontStyle + textSize + 'px ' + textFont + textFontExtension; } else if (possibleCode == 'left') { textAlign = 'left'; @@ -2558,7 +2570,7 @@ function writeText(textObject, targetContext) { if (word.includes('set')) { var bottomTextSubstring = card.bottomInfo.midLeft.text.substring(0, card.bottomInfo.midLeft.text.indexOf(' {savex}')).replace('{elemidinfo-set}', document.querySelector('#info-set').value || '').replace('{elemidinfo-language}', document.querySelector('#info-language').value || ''); justifyWidth = lineContext.measureText(bottomTextSubstring).width; - } else if (word.includes('number') && wordToWrite.includes('/')) { + } else if (word.includes('number') && wordToWrite.includes('/') && card.version != 'pokemon') { fillJustify = true; wordToWrite = Array.from(wordToWrite).join(' '); } @@ -3155,8 +3167,12 @@ function fetchSetSymbol() { if (setSymbolAliases.has(setCode.toLowerCase())) setCode = setSymbolAliases.get(setCode.toLowerCase()); uploadSetSymbol('http://gatherer.wizards.com/Handlers/Image.ashx?type=symbol&set=' + setCode + '&size=large&rarity=' + setRarity, 'resetSetSymbol'); } else { + var extension = 'svg'; + if (['moc', 'ltr'].includes(setCode.toLowerCase())) { + extension = 'png'; + } if (setSymbolAliases.has(setCode.toLowerCase())) setCode = setSymbolAliases.get(setCode.toLowerCase()); - uploadSetSymbol(fixUri(`/img/setSymbols/official/${setCode.toLowerCase()}-${setRarity}.svg`), 'resetSetSymbol'); + uploadSetSymbol(fixUri(`/img/setSymbols/official/${setCode.toLowerCase()}-${setRarity}.` + extension), 'resetSetSymbol'); } } function lockSetSymbolCode() { @@ -3540,7 +3556,35 @@ function changeCardIndex() { }); rulesText = curlyQuotes(rulesText).replace(/{Q}/g, '{untap}').replace(/{\u221E}/g, "{inf}").replace(/• /g, '• {indent}'); rulesText = rulesText.replace('(If this card is your chosen companion, you may put it into your hand from outside the game for {3} any time you could cast a sorcery.)', '(If this card is your chosen companion, you may put it into your hand from outside the game for {3} as a sorcery.)') - card.text.rules.text = langFontCode + rulesText; + + if (card.version == 'pokemon') { + if (cardToImport.type_line.toLowerCase().includes('creature')) { + card.text.rules.text = langFontCode + rulesText; + card.text.rulesnoncreature.text = ''; + + card.text.middleStatTitle.text = 'power'; + card.text.rightStatTitle.text = 'toughness'; + + } else if (cardToImport.type_line.toLowerCase().includes('planeswalker')) { + card.text.rules.text = langFontCode + rulesText; + card.text.rulesnoncreature.text = ''; + + card.text.pt.text = '{' + (cardToImport.loyalty || '' + '}'); + + card.text.middleStatTitle.text = ''; + card.text.rightStatTitle.text = 'loyalty'; + } else { + card.text.rulesnoncreature.text = langFontCode + rulesText; + card.text.rules.text = ''; + + card.text.middleStatTitle.text = ''; + card.text.rightStatTitle.text = ''; + } + + } else { + card.text.rules.text = langFontCode + rulesText; + } + if (cardToImport.flavor_text) { var flavorText = cardToImport.flavor_text; var flavorTextCounter = 1; @@ -3555,23 +3599,49 @@ function changeCardIndex() { flavorTextCounter ++; } - if (!cardToImport.oracle_text || cardToImport.oracle_text == '') { - card.text.rules.text += '{i}'; + if (card.version == 'pokemon') { + if (cardToImport.type_line.toLowerCase().includes('creature')) { + if (!cardToImport.oracle_text || cardToImport.oracle_text == '') { + card.text.rules.text += '{i}'; + } else { + card.text.rules.text += '{flavor}'; + } + } else { + if (!cardToImport.oracle_text || cardToImport.oracle_text == '') { + card.text.rulesnoncreature.text += '{i}'; + } else { + card.text.rulesnoncreature.text += '{flavor}'; + } + } + card.text.rulesnoncreature.text += curlyQuotes(flavorText.replace('\n', '{lns}')); } else { - card.text.rules.text += '{flavor}'; + if (!cardToImport.oracle_text || cardToImport.oracle_text == '') { + card.text.rules.text += '{i}'; + } else { + card.text.rules.text += '{flavor}'; + } + card.text.rules.text += curlyQuotes(flavorText.replace('\n', '{lns}')); } - card.text.rules.text += curlyQuotes(flavorText.replace('\n', '{lns}')); + + } } + if (card.text.pt) { if (card.version == 'invocation') { card.text.pt.text = cardToImport.power + '\n' + cardToImport.toughness || ''; + } else if (card.version == 'pokemon') { + card.text.middleStat.text = '{' + (cardToImport.power || '') + '}'; + card.text.pt.text = '{' + (cardToImport.toughness || '') + '}'; + + if (card.text.middleStat && card.text.middleStat.text == '{}') {card.text.middleStat.text = '';} } else { card.text.pt.text = cardToImport.power + '/' + cardToImport.toughness || ''; } } if (card.text.pt && card.text.pt.text == undefined + '/' + undefined) {card.text.pt.text = '';} if (card.text.pt && card.text.pt.text == undefined + '\n' + undefined) {card.text.pt.text = '';} + if (card.text.pt && card.text.pt.text == '{}') {card.text.pt.text = '';} if (card.version.includes('planeswalker')) { card.text.loyalty.text = cardToImport.loyalty || ''; var planeswalkerAbilities = cardToImport.oracle_text.split('\n'); diff --git a/js/frameSearch.js b/js/frameSearch.js index 77a5ff17..3c5bd394 100644 --- a/js/frameSearch.js +++ b/js/frameSearch.js @@ -200,6 +200,7 @@ const frameNames = new Map ([ ['Kaldheim, Fullart - @feuer_ameise', 'FeuerAmeiseKaldheim'], ['Celid\'s Asap', 'CustomCelidAsap'], ['Magrao\'s Kaldheim', 'CustomMagraoKaldheim'], + ['Pokemon', 'Pokemon'], ]); frameSearch = (str) => { diff --git a/js/frames/groupCustom.js b/js/frames/groupCustom.js index 4860f09c..c8892937 100644 --- a/js/frames/groupCustom.js +++ b/js/frames/groupCustom.js @@ -34,5 +34,6 @@ loadFramePacks([ {name:'Ixalan - @feuer_ameise', value:'FeuerAmeiseIxalan'}, {name:'Kaldheim, Fullart - @feuer_ameise', value:'FeuerAmeiseKaldheim'}, {name:'Celid\'s Asap', value:'CustomCelidAsap'}, - {name:'Magrao\'s Kaldheim', value:'CustomMagraoKaldheim'} + {name:'Magrao\'s Kaldheim', value:'CustomMagraoKaldheim'}, + {name:'Pokemon', value:'Pokemon'} ]) \ No newline at end of file diff --git a/js/frames/manaSymbolsPokemon.js b/js/frames/manaSymbolsPokemon.js new file mode 100644 index 00000000..3e743d34 --- /dev/null +++ b/js/frames/manaSymbolsPokemon.js @@ -0,0 +1,36 @@ +//checks to see if it needs to run +if (!card.manaSymbols.includes('/js/frames/manaSymbolsPokemon.js')) { + card.manaSymbols.push('/js/frames/manaSymbolsPokemon.js'); +} +if (!mana.get('pokemonw')) { + loadManaSymbols([ + 'pokemon/pokemonw.png', + 'pokemon/pokemonu.png', + 'pokemon/pokemonb.png', + 'pokemon/pokemonr.png', + 'pokemon/pokemong.png', + 'pokemon/pokemonc.png', + 'pokemon/pokemont.png', + 'pokemon/pokemon0.png', + 'pokemon/pokemon1.png', + 'pokemon/pokemon2.png', + 'pokemon/pokemon3.png', + 'pokemon/pokemon4.png', + 'pokemon/pokemon5.png', + 'pokemon/pokemon6.png', + 'pokemon/pokemon7.png', + 'pokemon/pokemon8.png', + 'pokemon/pokemon9.png', + 'pokemon/pokemon10.png', + 'pokemon/pokemon11.png', + 'pokemon/pokemon12.png', + 'pokemon/pokemon13.png', + 'pokemon/pokemon14.png', + 'pokemon/pokemon15.png', + 'pokemon/pokemon16.png', + 'pokemon/pokemon17.png', + 'pokemon/pokemon18.png', + 'pokemon/pokemon19.png', + 'pokemon/pokemon20.png', + ]); +} \ No newline at end of file diff --git a/js/frames/packMargin-1.js b/js/frames/packMargin-1.js index 285cec98..f3bf209e 100644 --- a/js/frames/packMargin-1.js +++ b/js/frames/packMargin-1.js @@ -14,7 +14,8 @@ availableFrames = [ {name:'Black Extension (Cornered)', src:'/img/frames/margins/blackCorners.png', bounds:bounds}, {name:'White Border Extension', src:'/img/frames/white.png', ogBounds:ogBounds, bounds:bounds, masks:masks, noDefaultMask:true}, {name:'Silver Border Extension', src:'/img/frames/silver.png', ogBounds:ogBounds, bounds:bounds, masks:masks, noDefaultMask:true}, - {name:'Gold Border Extension', src:'/img/frames/gold.png', ogBounds:ogBounds, bounds:bounds, masks:masks, noDefaultMask:true} + {name:'Gold Border Extension', src:'/img/frames/gold.png', ogBounds:ogBounds, bounds:bounds, masks:masks, noDefaultMask:true}, + {name:'Pokemon Border Extension', src:'/img/frames/custom/pokemon/extension.png', ogBounds:ogBounds, bounds:bounds, masks:masks, noDefaultMask:true} ]; //disables/enables the "Load Frame Version" button document.querySelector('#loadFrameVersion').disabled = false; diff --git a/js/frames/packPokemon.js b/js/frames/packPokemon.js new file mode 100644 index 00000000..a5073876 --- /dev/null +++ b/js/frames/packPokemon.js @@ -0,0 +1,75 @@ +//Create objects for common properties across available frames +// var masks = [{src:'/img/frames/m15/regular/m15MaskPinline.png', name:'Pinline'}, {src:'/img/frames/m15/regular/m15MaskTitle.png', name:'Title'}, {src:'/img/frames/m15/regular/m15MaskType.png', name:'Type'}, {src:'/img/frames/m15/regular/m15MaskRules.png', name:'Rules'}, {src:'/img/frames/m15/regular/m15MaskFrame.png', name:'Frame'}, {src:'/img/frames/m15/regular/m15MaskBorder.png', name:'Border'}]; +var masks = []; +var boomerangMasks = [{src:'/img/frames/custom/pokemon/boomerangs/div.png', name:'Divider'}, {src:'/img/frames/custom/pokemon/boomerangs/left.png', name:'Left'}, {src:'/img/frames/custom/pokemon/boomerangs/right.png', name:'Right'}]; +// var bounds = {x:0.7573, y:0.8848, width:0.188, height:0.0733}; +//defines available frames +availableFrames = [ + {name: 'Psychic Frame', src:'/img/frames/custom/pokemon/psychic.png'}, + {name: 'Water Frame', src:'/img/frames/custom/pokemon/water.png'}, + {name: 'Lightning Frame', src:'/img/frames/custom/pokemon/lightning.png'}, + {name: 'Metal Frame', src:'/img/frames/custom/pokemon/metal.png'}, + {name: 'Fighting Frame', src:'/img/frames/custom/pokemon/fighting.png'}, + {name: 'Fire Frame', src:'/img/frames/custom/pokemon/fire.png'}, + {name: 'Grass Frame', src:'/img/frames/custom/pokemon/grass.png'}, + {name: 'Colorless Frame', src:'/img/frames/custom/pokemon/colorless.png'}, + {name: 'Darkness Frame', src:'/img/frames/custom/pokemon/dark.png'}, + + {name: 'Psychic Boomerangs', src:'/img/frames/custom/pokemon/boomerangs/psychic.png', masks:boomerangMasks}, + {name: 'Water Boomerangs', src:'/img/frames/custom/pokemon/boomerangs/water.png', masks:boomerangMasks}, + {name: 'Lightning Boomerangs', src:'/img/frames/custom/pokemon/boomerangs/lightning.png', masks:boomerangMasks}, + {name: 'Metal Boomerangs', src:'/img/frames/custom/pokemon/boomerangs/metal.png', masks:boomerangMasks}, + {name: 'Fighting Boomerangs', src:'/img/frames/custom/pokemon/boomerangs/fighting.png', masks:boomerangMasks}, + {name: 'Fire Boomerangs', src:'/img/frames/custom/pokemon/boomerangs/fire.png', masks:boomerangMasks}, + {name: 'Grass Boomerangs', src:'/img/frames/custom/pokemon/boomerangs/grass.png', masks:boomerangMasks}, + {name: 'Colorless Boomerangs', src:'/img/frames/custom/pokemon/boomerangs/colorless.png', masks:boomerangMasks}, + {name: 'Darkness Boomerangs', src:'/img/frames/custom/pokemon/boomerangs/dark.png', masks:boomerangMasks} +]; +//disables/enables the "Load Frame Version" button +document.querySelector('#loadFrameVersion').disabled = false; +//defines process for loading this version, if applicable +document.querySelector('#loadFrameVersion').onclick = async function() { + //resets things so that every frame doesn't have to + await resetCardIrregularities(); + //sets card version + card.version = 'pokemon'; + loadScript('/js/frames/manaSymbolsPokemon.js'); + notify('Use the separate text entry for noncreature cards in order for the text to be spaced differently'); + notify('Try making keyword abilities bold using {bold}!'); + //art bounds + card.artBounds = {x:172/1500, y:259/2100, width:1156/1500, height:819/2100}; + autoFitArt(); + //set symbol bounds + card.setSymbolBounds = {x:1356/1500, y:1140/2100, width:116/1500, height:61/2100, vertical:'center', horizontal: 'right'}; + resetSetSymbol(); + //watermark bounds + card.watermarkBounds = {x:0.5, y:0.7762, width:0.75, height:0.2305}; + resetWatermark(); + //text + loadTextOptions({ + mana: {name:'Mana Cost', text:'', x:758/1500, y:142/2100, width:597/1500, height:102/2100, oneLine:true, size:64/1500, align:'right', manaCost:true, manaSpacing:0, manaPrefix:'pokemon'}, + title: {name:'Title', text:'', x:146/1500, y:153/2100, width:1195/1500, height:71/2100, oneLine:true, font:'gillsansbold', size:71/1500}, + type: {name:'Type', text:'', x:251/1500, y:1122/2100, width:1001/1500, height:42/2100, oneLine:true, font:'gillsansbolditalic', size:28/1500, align:'center'}, + rules: {name:'Rules Text', text:'', x:150/1500, y:1185/2100, width:1205/1500, height:629/2100, size:47/1500, font:'gillsans', manaPrefix:'pokemon'}, + rulesnoncreature: {name:'Rules Text (noncreature)', text:'', x:150/1500, y:1185/2100, width:1205/1500, height:785/2100, size:47/1500, font:'gillsans', manaPrefix:'pokemon'}, + // leftStatTitle: {name:'Left Stat Title', text:'', x:139/1500, y:1817/2100, width: 228/1500, height: 43/2100, size: 79/1500, font:'gillsansbold', align:'center'}, + middleStatTitle: {name:'Middle Stat Title', text:'power', x:629/1500, y:1817/2100, width: 228/1500, height: 43/2100, size: 79/1500, font:'gillsansbold', align:'center'}, + rightStatTitle: {name:'Right Stat Title', text:'toughness', x:1135/1500, y:1817/2100, width: 228/1500, height: 43/2100, size: 79/1500, font:'gillsansbold', align:'center'}, + // leftStat: {name:'Left Stat', text:'', x:139/1500, y:1880/2100, width: 228/1500, height: 61/2100, size: 61/1500, font:'gillsansbold', align:'center', manaPrefix:'pokemon'}, + middleStat: {name:'Middle Stat', text:'', x:585/1500, y:1872/2100, width: 300/1500, height: 102/2100, size: 79/1500, font:'gillsansbold', align:'center', manaPrefix:'pokemon'}, + pt: {name:'Right Stat', text:'', x:1098/1500, y:1872/2100, width: 300/1500, height: 102/2100, size: 79/1500, font:'gillsansbold', align:'center', manaPrefix:'pokemon'}, + // pt: {name:'Power/Toughness', text:'', x:1189/1500, y:1894/2100, width:205/1500, height:78/2100, size:61/1500, font:'gillsansbold', oneLine:true, align:'center'} + + }); + + loadBottomInfo({ + top: {text:'Illus. {elemidinfo-artist}', x:85/1500, y:1969/2100, width:411/1500, height:25/2100, oneLine:true, font:'gillsansbold', size:25/1500, align:'left'}, + bottom: {text:'{elemidinfo-number} {elemidinfo-rarity}', x:1005/1500, y:1969/2100, width:411/1500, height:25/2100, oneLine:true, font:'gillsansbold', size:25/1500, align:'right'}, + }); +} +//loads available frames +loadFramePack(); +//Only for the main version as the webpage loads: +if (!card.text) { + document.querySelector('#loadFrameVersion').click(); +} \ No newline at end of file