diff --git a/data/images/ixalan/ixalanFrameB.png b/data/images/ixalan/ixalanFrameB.png
new file mode 100644
index 00000000..0ce8c519
Binary files /dev/null and b/data/images/ixalan/ixalanFrameB.png differ
diff --git a/data/images/ixalan/ixalanFrameG.png b/data/images/ixalan/ixalanFrameG.png
new file mode 100644
index 00000000..2b8547dc
Binary files /dev/null and b/data/images/ixalan/ixalanFrameG.png differ
diff --git a/data/images/ixalan/ixalanFrameL.png b/data/images/ixalan/ixalanFrameL.png
new file mode 100644
index 00000000..0140deed
Binary files /dev/null and b/data/images/ixalan/ixalanFrameL.png differ
diff --git a/data/images/ixalan/ixalanFrameM.png b/data/images/ixalan/ixalanFrameM.png
new file mode 100644
index 00000000..beb6f4c6
Binary files /dev/null and b/data/images/ixalan/ixalanFrameM.png differ
diff --git a/data/images/ixalan/ixalanFrameR.png b/data/images/ixalan/ixalanFrameR.png
new file mode 100644
index 00000000..886b2362
Binary files /dev/null and b/data/images/ixalan/ixalanFrameR.png differ
diff --git a/data/images/ixalan/ixalanFrameU.png b/data/images/ixalan/ixalanFrameU.png
new file mode 100644
index 00000000..b7f14840
Binary files /dev/null and b/data/images/ixalan/ixalanFrameU.png differ
diff --git a/data/images/ixalan/ixalanFrameW.png b/data/images/ixalan/ixalanFrameW.png
new file mode 100644
index 00000000..0f3376c8
Binary files /dev/null and b/data/images/ixalan/ixalanFrameW.png differ
diff --git a/data/images/ixalan/ixalanIconArtifact.png b/data/images/ixalan/ixalanIconArtifact.png
new file mode 100644
index 00000000..31899bec
Binary files /dev/null and b/data/images/ixalan/ixalanIconArtifact.png differ
diff --git a/data/images/ixalan/ixalanIconCreature.png b/data/images/ixalan/ixalanIconCreature.png
new file mode 100644
index 00000000..efaae6e6
Binary files /dev/null and b/data/images/ixalan/ixalanIconCreature.png differ
diff --git a/data/images/ixalan/ixalanIconEnchantment.png b/data/images/ixalan/ixalanIconEnchantment.png
new file mode 100644
index 00000000..e1d1c577
Binary files /dev/null and b/data/images/ixalan/ixalanIconEnchantment.png differ
diff --git a/data/images/ixalan/ixalanIconInstant.png b/data/images/ixalan/ixalanIconInstant.png
new file mode 100644
index 00000000..d40b5dda
Binary files /dev/null and b/data/images/ixalan/ixalanIconInstant.png differ
diff --git a/data/images/ixalan/ixalanIconMulti.png b/data/images/ixalan/ixalanIconMulti.png
new file mode 100644
index 00000000..5618c6a5
Binary files /dev/null and b/data/images/ixalan/ixalanIconMulti.png differ
diff --git a/data/images/ixalan/ixalanIconSorcery.png b/data/images/ixalan/ixalanIconSorcery.png
new file mode 100644
index 00000000..a3bac563
Binary files /dev/null and b/data/images/ixalan/ixalanIconSorcery.png differ
diff --git a/data/scripts/versions/ixalan/regular.js b/data/scripts/versions/ixalan/regular.js
new file mode 100644
index 00000000..7e0124bf
--- /dev/null
+++ b/data/scripts/versions/ixalan/regular.js
@@ -0,0 +1,20 @@
+if (!loadedVersions.includes('ixalanRegular')) {
+ loadedVersions.push('ixalanRegular')
+ loadFrameImages([
+ ['White Frame', 'data/images/ixalan/ixalanFrameW.png', 0, 0, 1, 1, ['Full']],
+ ['Blue Frame', 'data/images/ixalan/ixalanFrameU.png', 0, 0, 1, 1, ['Full']],
+ ['Black Frame', 'data/images/ixalan/ixalanFrameB.png', 0, 0, 1, 1, ['Full']],
+ ['Red Frame', 'data/images/ixalan/ixalanFrameR.png', 0, 0, 1, 1, ['Full']],
+ ['Green Frame', 'data/images/ixalan/ixalanFrameG.png', 0, 0, 1, 1, ['Full']],
+ ['Multicolored Frame', 'data/images/ixalan/ixalanFrameM.png', 0, 0, 1, 1, ['Full']],
+ ['Land Frame', 'data/images/ixalan/ixalanFrameL.png', 0, 0, 1, 1, ['Full']],
+ ['Artifact Icon', 'data/images/ixalan/ixalanIconArtifact.png', 90/1500, 105/2100, 100/1500, 101/2100, ['Full']],
+ ['Creature Icon', 'data/images/ixalan/ixalanIconCreature.png', 90/1500, 105/2100, 100/1500, 101/2100, ['Full']],
+ ['Enchantment Icon', 'data/images/ixalan/ixalanIconEnchantment.png', 90/1500, 105/2100, 100/1500, 101/2100, ['Full']],
+ ['Instant Icon', 'data/images/ixalan/ixalanIconInstant.png', 90/1500, 105/2100, 100/1500, 101/2100, ['Full']],
+ ['Multitype Icon', 'data/images/ixalan/ixalanIconMulti.png', 90/1500, 105/2100, 100/1500, 101/2100, ['Full']],
+ ['Sorcery Icon', 'data/images/ixalan/ixalanIconSorcery.png', 90/1500, 105/2100, 100/1500, 101/2100, ['Full']],
+ ], 'frameClassIxalanRegular')
+}
+
+hideFrameImages('frameClassIxalanRegular')
\ No newline at end of file
diff --git a/data/scripts/versions/ixalan/version.js b/data/scripts/versions/ixalan/version.js
new file mode 100644
index 00000000..2ca67cbf
--- /dev/null
+++ b/data/scripts/versions/ixalan/version.js
@@ -0,0 +1,41 @@
+if (!loadedVersions.includes('ixalan')) {
+ loadedVersions.push('ixalan')
+ // loadMaskImages([])
+}
+
+if (currentVersion != 'ixalan') {
+ currentVersion = 'ixalan'
+
+ loadTextOptions([
+ new cardText('Card Title', '', 165/1500, 174/2100, 1170/1500, 79/2100, 'belerenbsc', 79/2100, 'black', ['oneLine=true','textAlign="center"']),
+ new cardText('Card Type', '', 165/1500, 1262/2100, 1170/1500, 68/2100, 'belerenb', 68/2100, 'black', ['oneLine=true','textAlign="center"']),
+ new cardText('Rules Text', '', 196/1500, 1327/2100, 1112/1500, 700/2100, 'mplantin', 73/2100, 'black')
+ ])
+
+ artX = scaleX(60 / 1500)
+ artY = scaleY(206 / 2100)
+ artWidth = scaleX(1380 / 1500)
+ artHeight = scaleY(934 / 2100)
+
+ manaCostXPath = '1316 - 78 * manaSymbolIndex'
+ manaCostYPath = '109'
+ manaCostDiameter = '70'
+ manaCostShadowOffset = '[-2, 6]'
+ manaCostDirection = 'reverse'
+
+ setSymbolX = [cardWidth / 2, 'center']
+ setSymbolY = [scaleY(244/2100), 'center']
+ setSymbolWidth = scaleX(180/1500)
+ setSymbolHeight = scaleY(84/2100)
+
+ watermarkX = scaleX(0.5)
+ watermarkY = scaleY(1630/2100)
+ watermarkWidth = scaleX(1140/1500)
+ watermarkHeight = scaleY(484/2100)
+
+ bottomInfoFunction = 'bottomInfoM15'
+
+ bottomInfoUpdated()
+}
+
+loadFramePackOptions([['regular', 'Regular']])
\ No newline at end of file
diff --git a/index.html b/index.html
index 75e62186..410ecb7d 100644
--- a/index.html
+++ b/index.html
@@ -50,6 +50,7 @@
+