diff --git a/data/images/m15Promo/m15PromoMaskPinline.png b/data/images/m15Promo/m15PromoMaskPinline.png
new file mode 100644
index 00000000..d29d23cf
Binary files /dev/null and b/data/images/m15Promo/m15PromoMaskPinline.png differ
diff --git a/data/images/m15Promo/m15PromoMaskRules.png b/data/images/m15Promo/m15PromoMaskRules.png
new file mode 100644
index 00000000..6f620384
Binary files /dev/null and b/data/images/m15Promo/m15PromoMaskRules.png differ
diff --git a/data/images/m15Promo/m15PromoMaskType.png b/data/images/m15Promo/m15PromoMaskType.png
new file mode 100644
index 00000000..5da027d4
Binary files /dev/null and b/data/images/m15Promo/m15PromoMaskType.png differ
diff --git a/data/images/m15Promo/m15PromoNicknameFrameA.png b/data/images/m15Promo/m15PromoNicknameFrameA.png
new file mode 100644
index 00000000..113a2588
Binary files /dev/null and b/data/images/m15Promo/m15PromoNicknameFrameA.png differ
diff --git a/data/images/m15Promo/m15PromoNicknameFrameB.png b/data/images/m15Promo/m15PromoNicknameFrameB.png
new file mode 100644
index 00000000..f03bc0a1
Binary files /dev/null and b/data/images/m15Promo/m15PromoNicknameFrameB.png differ
diff --git a/data/images/m15Promo/m15PromoNicknameFrameG.png b/data/images/m15Promo/m15PromoNicknameFrameG.png
new file mode 100644
index 00000000..da38e754
Binary files /dev/null and b/data/images/m15Promo/m15PromoNicknameFrameG.png differ
diff --git a/data/images/m15Promo/m15PromoNicknameFrameL.png b/data/images/m15Promo/m15PromoNicknameFrameL.png
new file mode 100644
index 00000000..342d1719
Binary files /dev/null and b/data/images/m15Promo/m15PromoNicknameFrameL.png differ
diff --git a/data/images/m15Promo/m15PromoNicknameFrameM.png b/data/images/m15Promo/m15PromoNicknameFrameM.png
new file mode 100644
index 00000000..b7c0c6fe
Binary files /dev/null and b/data/images/m15Promo/m15PromoNicknameFrameM.png differ
diff --git a/data/images/m15Promo/m15PromoNicknameFrameR.png b/data/images/m15Promo/m15PromoNicknameFrameR.png
new file mode 100644
index 00000000..920468ad
Binary files /dev/null and b/data/images/m15Promo/m15PromoNicknameFrameR.png differ
diff --git a/data/images/m15Promo/m15PromoNicknameFrameU.png b/data/images/m15Promo/m15PromoNicknameFrameU.png
new file mode 100644
index 00000000..d0e18825
Binary files /dev/null and b/data/images/m15Promo/m15PromoNicknameFrameU.png differ
diff --git a/data/images/m15Promo/m15PromoNicknameFrameW.png b/data/images/m15Promo/m15PromoNicknameFrameW.png
new file mode 100644
index 00000000..66f6e883
Binary files /dev/null and b/data/images/m15Promo/m15PromoNicknameFrameW.png differ
diff --git a/data/images/m15Promo/m15PromoNicknameTextboxes.png b/data/images/m15Promo/m15PromoNicknameTextboxes.png
new file mode 100644
index 00000000..af8bbb93
Binary files /dev/null and b/data/images/m15Promo/m15PromoNicknameTextboxes.png differ
diff --git a/data/scripts/main.js b/data/scripts/main.js
index 5b00a415..d80fa50a 100644
--- a/data/scripts/main.js
+++ b/data/scripts/main.js
@@ -281,10 +281,13 @@ function maskOptionClicked(event) {
function loadMaskImages(listOfMasks) {
for (var i = 0; i < listOfMasks.length; i++) {
- var maskImage = new Image()
- maskImage.src = listOfMasks[i][1]
- maskImageList.push(maskImage)
- maskNameList.push(listOfMasks[i][0])
+ if (!maskNameList.includes(listOfMasks[i][0])) {
+ var maskImage = new Image()
+ maskImage.src = listOfMasks[i][1]
+ maskImageList.push(maskImage)
+ maskNameList.push(listOfMasks[i][0])
+ }
+
}
}
function loadFrameImages(listOfFrames, frameClass) {
diff --git a/data/scripts/versions/versionM15PromoNickname.js b/data/scripts/versions/versionM15PromoNickname.js
new file mode 100644
index 00000000..7b4ea3a3
--- /dev/null
+++ b/data/scripts/versions/versionM15PromoNickname.js
@@ -0,0 +1,98 @@
+var versionM15PromoNicknameImageList = [
+['Base Nickname Frame', 'data/images/m15Promo/m15PromoNicknameTextboxes.png', 0, 0, 1, 1, ['Full', 'Title (m15)', 'Type (m15 Promo)', 'Rules (m15 Promo)']],
+['White Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameW.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']],
+['Blue Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameU.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']],
+['Black Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameB.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']],
+['Red Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameR.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']],
+['Green Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameG.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']],
+['Multicolored Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameM.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']],
+['Artifact Nickname Frame', 'data/images/m15Promo/m15PromoNicknameFrameA.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']],
+['Land Nickname Frame', 'data/images/m15/m15NicknameFrameL.png', 0, 0, 1, 1, ['Full', 'Pinline (m15 Promo)', 'Border (m15)']],
+['White Nickname Title', 'data/images/m15/m15NicknameTitleW.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Blue Nickname Title', 'data/images/m15/m15NicknameTitleU.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Black Nickname Title', 'data/images/m15/m15NicknameTitleB.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Red Nickname Title', 'data/images/m15/m15NicknameTitleR.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Green Nickname Title', 'data/images/m15/m15NicknameTitleG.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Multicolored Nickname Title', 'data/images/m15/m15NicknameTitleM.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Artifact Nickname Title', 'data/images/m15/m15NicknameTitleA.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Land Nickname Title', 'data/images/m15/m15NicknameTitleL.png', 74/1500, 85/2100, 1352/1500, 221/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['White Nickname Legend Crown', 'data/images/m15/m15NicknameCrownW.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Blue Nickname Legend Crown', 'data/images/m15/m15NicknameCrownU.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Black Nickname Legend Crown', 'data/images/m15/m15NicknameCrownB.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Red Nickname Legend Crown', 'data/images/m15/m15NicknameCrownR.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Green Nickname Legend Crown', 'data/images/m15/m15NicknameCrownG.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Multicolored Nickname Legend Crown', 'data/images/m15/m15NicknameCrownM.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Artifact Nickname Legend Crown', 'data/images/m15/m15NicknameCrownA.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['Land Nickname Legend Crown', 'data/images/m15/m15NicknameCrownL.png', 36/1500, 36/2100, 1428/1500, 270/2100, ['Full', 'Nickname Legend Crown (m15)']],
+['White Nickname Power/Toughness', 'data/images/m15/m15NicknamePTW.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Blue Nickname Power/Toughness', 'data/images/m15/m15NicknamePTU.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Black Nickname Power/Toughness', 'data/images/m15/m15NicknamePTB.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Red Nickname Power/Toughness', 'data/images/m15/m15NicknamePTR.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Green Nickname Power/Toughness', 'data/images/m15/m15NicknamePTG.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Multicolored Nickname Power/Toughness', 'data/images/m15/m15NicknamePTM.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Artifact Nickname Power/Toughness', 'data/images/m15/m15NicknamePTA.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Colorless Nickname Power/Toughness', 'data/images/m15/m15NicknamePTC.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['White Power/Toughness', 'data/images/m15/m15PTW.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Blue Power/Toughness', 'data/images/m15/m15PTU.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Black Power/Toughness', 'data/images/m15/m15PTB.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Red Power/Toughness', 'data/images/m15/m15PTR.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Green Power/Toughness', 'data/images/m15/m15PTG.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Multicolored Power/Toughness', 'data/images/m15/m15PTM.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['Artifact Power/Toughness', 'data/images/m15/m15PTA.png', 1136/1500, 1858/2100, 282/1500, 154/2100, ['Full']],
+['White Legend Crown', 'data/images/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/m15/m15CrownU.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']],
+['Black Legend Crown', 'data/images/m15/m15CrownB.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']],
+['Red Legend Crown', 'data/images/m15/m15CrownR.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']],
+['Green Legend Crown', 'data/images/m15/m15CrownG.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']],
+['Multicolored Legend Crown', 'data/images/m15/m15CrownM.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']],
+['Artifact Legend Crown', 'data/images/m15/m15CrownA.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']],
+['Land Legend Crown', 'data/images/m15/m15CrownL.png', 41/1500, 40/2100, 1418/1500, 350/2100, ['Full', 'Legend Crown (m15)', 'Legend Crown W/ Pinline (m15)']],
+['Legend Crown Border Cover', 'data/images/m15/m15LegendCrownBorderCover.png', 0, 0, 1, 1, ['Full']]
+]
+
+var versionM15PromoNicknameMaskList = [['Nickname Legend Crown (m15)', 'data/images/m15/m15MaskNicknameLegendCrownStrokeless.png'], ['Nickname Title (m15)', 'data/images/m15/m15MaskNicknameTitleStrokeless.png'], ['Pinline (m15 Promo)', 'data/images/m15Promo/m15PromoMaskPinline.png'], ['Type (m15 Promo)', 'data/images/m15Promo/m15PromoMaskType.png'], ['Rules (m15 Promo)', 'data/images/m15Promo/m15PromoMaskRules.png']]
+
+if (!loadedVersions.includes('m15PromoNickname')) {
+ loadedVersions.push("m15PromoNickname")
+ loadMaskImages(versionM15PromoNicknameMaskList)
+ loadFrameImages(versionM15PromoNicknameImageList, 'frameClassM15Promo')
+}
+
+if (currentVersion != 'm15PromoNickname') {
+ currentVersion = 'm15PromoNickname'
+
+ hideFrameImages('frameClassM15Promo')
+
+ loadTextOptions([
+ new cardText('Card Nickname', '', 126/1500, 188/2100, 1248/1500, 80/2100, 'belerenb', 80/2100, 'white', ['oneLine=true']),
+ new cardText('Card Title', '', 210/1500, 276/2100, 1080/1500, 48/2100, 'belerenb', 48/2100, 'white', ['oneLine=true', 'textAlign="center"', 'fontStyle="italic "']),
+ new cardText('Card Type', '', 126/1500, 1439/2100, 1248/1500, 68/2100, 'belerenb', 68/2100, 'white', ['oneLine=true']),
+ new cardText('Rules Text', '', 135/1500, 1545/2100, 1230/1500, 450/2100, 'mplantin', 74/2100, 'white'),
+ new cardText('Power/Toughness', '', 1191/1500, 1954/2100, 205/1500, 78/2100, 'belerenbsc', 78/2100, 'white', ['oneLine=true,textAlign="center"'])
+ ])
+
+ artX = 0
+ artY = 0
+ artWidth = scaleX(1)
+ artHeight = scaleY(1936 / 2100)
+
+ manaCostXPath = '1316 - 78 * manaSymbolIndex'
+ manaCostYPath = '121'
+ manaCostDiameter = '70'
+ manaCostShadowOffset = '[-2, 6]'
+ manaCostDirection = 'reverse'
+
+ setSymbolX = [scaleX(1382/1500), 'right']
+ setSymbolY = [scaleY(1416/2100), 'center']
+ setSymbolWidth = scaleX(180/1500)
+ setSymbolHeight = scaleY(86/2100)
+
+ watermarkX = scaleX(0.5)
+ watermarkY = scaleY(1630/2100)
+ watermarkWidth = scaleX(1140/1500)
+ watermarkHeight = scaleY(484/2100)
+
+ bottomInfoFunction = 'bottomInfoM15'
+
+ bottomInfoUpdated()
+}
\ No newline at end of file
diff --git a/index.html b/index.html
index a5fcc69c..ca302742 100644
--- a/index.html
+++ b/index.html
@@ -160,6 +160,7 @@
+