diff --git a/img/frames/m15/transform/extended/ab.png b/img/frames/m15/transform/extended/ab.png
new file mode 100644
index 00000000..1efdd919
Binary files /dev/null and b/img/frames/m15/transform/extended/ab.png differ
diff --git a/img/frames/m15/transform/extended/abThumb.png b/img/frames/m15/transform/extended/abThumb.png
new file mode 100644
index 00000000..cc3f0404
Binary files /dev/null and b/img/frames/m15/transform/extended/abThumb.png differ
diff --git a/img/frames/m15/transform/extended/af.png b/img/frames/m15/transform/extended/af.png
new file mode 100644
index 00000000..49661e86
Binary files /dev/null and b/img/frames/m15/transform/extended/af.png differ
diff --git a/img/frames/m15/transform/extended/afThumb.png b/img/frames/m15/transform/extended/afThumb.png
new file mode 100644
index 00000000..51b70bbd
Binary files /dev/null and b/img/frames/m15/transform/extended/afThumb.png differ
diff --git a/img/frames/m15/transform/extended/bb.png b/img/frames/m15/transform/extended/bb.png
new file mode 100644
index 00000000..d4296c72
Binary files /dev/null and b/img/frames/m15/transform/extended/bb.png differ
diff --git a/img/frames/m15/transform/extended/bbThumb.png b/img/frames/m15/transform/extended/bbThumb.png
new file mode 100644
index 00000000..24c822b6
Binary files /dev/null and b/img/frames/m15/transform/extended/bbThumb.png differ
diff --git a/img/frames/m15/transform/extended/bf.png b/img/frames/m15/transform/extended/bf.png
new file mode 100644
index 00000000..6168dc89
Binary files /dev/null and b/img/frames/m15/transform/extended/bf.png differ
diff --git a/img/frames/m15/transform/extended/bfThumb.png b/img/frames/m15/transform/extended/bfThumb.png
new file mode 100644
index 00000000..b7936ee4
Binary files /dev/null and b/img/frames/m15/transform/extended/bfThumb.png differ
diff --git a/img/frames/m15/transform/extended/gb.png b/img/frames/m15/transform/extended/gb.png
new file mode 100644
index 00000000..7cd5ee91
Binary files /dev/null and b/img/frames/m15/transform/extended/gb.png differ
diff --git a/img/frames/m15/transform/extended/gbThumb.png b/img/frames/m15/transform/extended/gbThumb.png
new file mode 100644
index 00000000..468b19c7
Binary files /dev/null and b/img/frames/m15/transform/extended/gbThumb.png differ
diff --git a/img/frames/m15/transform/extended/gf.png b/img/frames/m15/transform/extended/gf.png
new file mode 100644
index 00000000..f53dcd54
Binary files /dev/null and b/img/frames/m15/transform/extended/gf.png differ
diff --git a/img/frames/m15/transform/extended/gfThumb.png b/img/frames/m15/transform/extended/gfThumb.png
new file mode 100644
index 00000000..7b8e1454
Binary files /dev/null and b/img/frames/m15/transform/extended/gfThumb.png differ
diff --git a/img/frames/m15/transform/extended/lb.png b/img/frames/m15/transform/extended/lb.png
new file mode 100644
index 00000000..fdee066a
Binary files /dev/null and b/img/frames/m15/transform/extended/lb.png differ
diff --git a/img/frames/m15/transform/extended/lbThumb.png b/img/frames/m15/transform/extended/lbThumb.png
new file mode 100644
index 00000000..29577944
Binary files /dev/null and b/img/frames/m15/transform/extended/lbThumb.png differ
diff --git a/img/frames/m15/transform/extended/lf.png b/img/frames/m15/transform/extended/lf.png
new file mode 100644
index 00000000..d09563db
Binary files /dev/null and b/img/frames/m15/transform/extended/lf.png differ
diff --git a/img/frames/m15/transform/extended/lfThumb.png b/img/frames/m15/transform/extended/lfThumb.png
new file mode 100644
index 00000000..6007b16b
Binary files /dev/null and b/img/frames/m15/transform/extended/lfThumb.png differ
diff --git a/img/frames/m15/transform/extended/mb.png b/img/frames/m15/transform/extended/mb.png
new file mode 100644
index 00000000..0329ebfe
Binary files /dev/null and b/img/frames/m15/transform/extended/mb.png differ
diff --git a/img/frames/m15/transform/extended/mbThumb.png b/img/frames/m15/transform/extended/mbThumb.png
new file mode 100644
index 00000000..24975716
Binary files /dev/null and b/img/frames/m15/transform/extended/mbThumb.png differ
diff --git a/img/frames/m15/transform/extended/mf.png b/img/frames/m15/transform/extended/mf.png
new file mode 100644
index 00000000..be5d516e
Binary files /dev/null and b/img/frames/m15/transform/extended/mf.png differ
diff --git a/img/frames/m15/transform/extended/mfThumb.png b/img/frames/m15/transform/extended/mfThumb.png
new file mode 100644
index 00000000..a290d3d7
Binary files /dev/null and b/img/frames/m15/transform/extended/mfThumb.png differ
diff --git a/img/frames/m15/transform/extended/pinlineBack.svg b/img/frames/m15/transform/extended/pinlineBack.svg
new file mode 100644
index 00000000..cc7fa3b0
--- /dev/null
+++ b/img/frames/m15/transform/extended/pinlineBack.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/img/frames/m15/transform/extended/pinlineBackThumb.png b/img/frames/m15/transform/extended/pinlineBackThumb.png
new file mode 100644
index 00000000..f5010e75
Binary files /dev/null and b/img/frames/m15/transform/extended/pinlineBackThumb.png differ
diff --git a/img/frames/m15/transform/extended/pinlineFront.svg b/img/frames/m15/transform/extended/pinlineFront.svg
new file mode 100644
index 00000000..97124cea
--- /dev/null
+++ b/img/frames/m15/transform/extended/pinlineFront.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/img/frames/m15/transform/extended/pinlineFrontThumb.png b/img/frames/m15/transform/extended/pinlineFrontThumb.png
new file mode 100644
index 00000000..d7106c07
Binary files /dev/null and b/img/frames/m15/transform/extended/pinlineFrontThumb.png differ
diff --git a/img/frames/m15/transform/extended/rb.png b/img/frames/m15/transform/extended/rb.png
new file mode 100644
index 00000000..7b9e9617
Binary files /dev/null and b/img/frames/m15/transform/extended/rb.png differ
diff --git a/img/frames/m15/transform/extended/rbThumb.png b/img/frames/m15/transform/extended/rbThumb.png
new file mode 100644
index 00000000..04f06447
Binary files /dev/null and b/img/frames/m15/transform/extended/rbThumb.png differ
diff --git a/img/frames/m15/transform/extended/rf.png b/img/frames/m15/transform/extended/rf.png
new file mode 100644
index 00000000..a086efaa
Binary files /dev/null and b/img/frames/m15/transform/extended/rf.png differ
diff --git a/img/frames/m15/transform/extended/rfThumb.png b/img/frames/m15/transform/extended/rfThumb.png
new file mode 100644
index 00000000..eac8ef8b
Binary files /dev/null and b/img/frames/m15/transform/extended/rfThumb.png differ
diff --git a/img/frames/m15/transform/extended/ub.png b/img/frames/m15/transform/extended/ub.png
new file mode 100644
index 00000000..cf058d38
Binary files /dev/null and b/img/frames/m15/transform/extended/ub.png differ
diff --git a/img/frames/m15/transform/extended/ubThumb.png b/img/frames/m15/transform/extended/ubThumb.png
new file mode 100644
index 00000000..d71bc35e
Binary files /dev/null and b/img/frames/m15/transform/extended/ubThumb.png differ
diff --git a/img/frames/m15/transform/extended/uf.png b/img/frames/m15/transform/extended/uf.png
new file mode 100644
index 00000000..928b1a2c
Binary files /dev/null and b/img/frames/m15/transform/extended/uf.png differ
diff --git a/img/frames/m15/transform/extended/ufThumb.png b/img/frames/m15/transform/extended/ufThumb.png
new file mode 100644
index 00000000..69beabfb
Binary files /dev/null and b/img/frames/m15/transform/extended/ufThumb.png differ
diff --git a/img/frames/m15/transform/extended/wb.png b/img/frames/m15/transform/extended/wb.png
new file mode 100644
index 00000000..ac5498c4
Binary files /dev/null and b/img/frames/m15/transform/extended/wb.png differ
diff --git a/img/frames/m15/transform/extended/wbThumb.png b/img/frames/m15/transform/extended/wbThumb.png
new file mode 100644
index 00000000..36cfb382
Binary files /dev/null and b/img/frames/m15/transform/extended/wbThumb.png differ
diff --git a/img/frames/m15/transform/extended/wf.png b/img/frames/m15/transform/extended/wf.png
new file mode 100644
index 00000000..667fe99a
Binary files /dev/null and b/img/frames/m15/transform/extended/wf.png differ
diff --git a/img/frames/m15/transform/extended/wfThumb.png b/img/frames/m15/transform/extended/wfThumb.png
new file mode 100644
index 00000000..6a52000b
Binary files /dev/null and b/img/frames/m15/transform/extended/wfThumb.png differ
diff --git a/js/frames/groupDFC.js b/js/frames/groupDFC.js
index ef4e49d7..7f357b08 100644
--- a/js/frames/groupDFC.js
+++ b/js/frames/groupDFC.js
@@ -6,6 +6,8 @@ loadFramePacks([
{name:'Other Frames', value:'disabled'},
{name:'Borderless (Front)', value:'TransformBorderlessFront'},
{name:'Borderless (Back)', value:'TransformBorderlessBack'},
+ {name:'Extended Art (Front)', value:'TransformExtendedFront'},
+ {name:'Extended Art (Back)', value:'TransformExtendedBack'},
{name:'SDCC15 (Blackout)', value:'TransformSDCC15'},
{name:'Addons', value:'disabled'},
{name:'Legend Crowns', value:'TransformLegendCrowns'},
diff --git a/js/frames/packTransformExtendedBack.js b/js/frames/packTransformExtendedBack.js
new file mode 100644
index 00000000..acd7004c
--- /dev/null
+++ b/js/frames/packTransformExtendedBack.js
@@ -0,0 +1,49 @@
+//Create objects for common properties across available frames
+var masks = [{src:'/img/frames/m15/transform/extended/pinlineBack.svg', 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/transform/regular/maskFrameBack.png', name:'Frame'}, {src:'/img/frames/m15/regular/m15MaskBorder.png', name:'Border'}];
+var bounds = {x:0.7573, y:0.8848, width:0.188, height:0.0733};
+//defines available frames
+availableFrames = [
+ {name:'White Frame', src:'/img/frames/m15/transform/extended/wb.png', masks:masks},
+ {name:'Blue Frame', src:'/img/frames/m15/transform/extended/ub.png', masks:masks},
+ {name:'Black Frame', src:'/img/frames/m15/transform/extended/bb.png', masks:masks},
+ {name:'Red Frame', src:'/img/frames/m15/transform/extended/rb.png', masks:masks},
+ {name:'Green Frame', src:'/img/frames/m15/transform/extended/gb.png', masks:masks},
+ {name:'Multicolored Frame', src:'/img/frames/m15/transform/extended/mb.png', masks:masks},
+ {name:'Artifact Frame', src:'/img/frames/m15/transform/extended/ab.png', masks:masks},
+ {name:'Land Frame', src:'/img/frames/m15/transform/extended/lb.png', masks:masks},
+ {name:'White Power/Toughness', src:'/img/frames/m15/transform/regular/ptW.png', bounds:bounds},
+ {name:'Blue Power/Toughness', src:'/img/frames/m15/transform/regular/ptU.png', bounds:bounds},
+ {name:'Black Power/Toughness', src:'/img/frames/m15/transform/regular/ptB.png', bounds:bounds},
+ {name:'Red Power/Toughness', src:'/img/frames/m15/transform/regular/ptR.png', bounds:bounds},
+ {name:'Green Power/Toughness', src:'/img/frames/m15/transform/regular/ptG.png', bounds:bounds},
+ {name:'Multicolored Power/Toughness', src:'/img/frames/m15/transform/regular/ptM.png', bounds:bounds},
+ {name:'Artifact Power/Toughness', src:'/img/frames/m15/transform/regular/ptA.png', bounds:bounds}
+];
+//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 = 'transformExtendedBack';
+ //art bounds
+ card.artBounds = {x:0, y:0.081, width:1, height:0.531};
+ autoFitArt();
+ //set symbol bounds
+ card.setSymbolBounds = {x:0.9213, y:0.5910, width:0.12, height:0.0410, 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:'', y:0.0613, width:0.9292, height:71/2100, oneLine:true, size:71/1638, align:'right', shadowX:-0.001, shadowY:0.0029, manaCost:true, manaSpacing:0},
+ title: {name:'Title', text:'', x:0.16, y:0.0522, width:0.7547, height:0.0543, oneLine:true, font:'belerenb', size:0.0381, color:'white'},
+ type: {name:'Type', text:'', x:0.1294, y:0.5664, width:0.7854, height:0.0543, oneLine:true, font:'belerenb', size:0.0324, color:'white', shadowX:0.0014, shadowY:0.001},
+ rules: {name:'Rules Text', text:'', x:0.086, y:0.6303, width:0.828, height:0.2875, size:0.0362},
+ pt: {name:'Power/Toughness', text:'', x:0.7928, y:0.902, width:0.1367, height:0.0372, size:0.0372, font:'belerenbsc', oneLine:true, align:'center', color:'white'}
+ });
+}
+//loads available frames
+loadFramePack();
\ No newline at end of file
diff --git a/js/frames/packTransformExtendedFront.js b/js/frames/packTransformExtendedFront.js
new file mode 100644
index 00000000..5465a2d0
--- /dev/null
+++ b/js/frames/packTransformExtendedFront.js
@@ -0,0 +1,50 @@
+//Create objects for common properties across available frames
+var masks = [{src:'/img/frames/m15/transform/extended/pinlineFront.svg', name:'Pinline'}, {src:'/img/frames/m15/transform/regular/maskTitle.png', name:'Title'}, {src:'/img/frames/m15/regular/m15MaskType.png', name:'Type'}, {src:'/img/frames/m15/transform/regular/maskRulesFront.png', name:'Rules'}, {src:'/img/frames/m15/transform/regular/maskFrameFront.png', name:'Frame'}, {src:'/img/frames/m15/transform/regular/maskBorderFront.png', name:'Border'}];
+var bounds = {x:0.7573, y:0.8848, width:0.188, height:0.0733};
+//defines available frames
+availableFrames = [
+ {name:'White Frame', src:'/img/frames/m15/transform/extended/wf.png', masks:masks},
+ {name:'Blue Frame', src:'/img/frames/m15/transform/extended/uf.png', masks:masks},
+ {name:'Black Frame', src:'/img/frames/m15/transform/extended/bf.png', masks:masks},
+ {name:'Red Frame', src:'/img/frames/m15/transform/extended/rf.png', masks:masks},
+ {name:'Green Frame', src:'/img/frames/m15/transform/extended/gf.png', masks:masks},
+ {name:'Multicolored Frame', src:'/img/frames/m15/transform/extended/mf.png', masks:masks},
+ {name:'Artifact Frame', src:'/img/frames/m15/transform/extended/af.png', masks:masks},
+ {name:'Land Frame', src:'/img/frames/m15/transform/extended/lf.png', masks:masks},
+ {name:'White Power/Toughness', src:'/img/frames/m15/regular/m15PTW.png', bounds:bounds},
+ {name:'Blue Power/Toughness', src:'/img/frames/m15/regular/m15PTU.png', bounds:bounds},
+ {name:'Black Power/Toughness', src:'/img/frames/m15/regular/m15PTB.png', bounds:bounds},
+ {name:'Red Power/Toughness', src:'/img/frames/m15/regular/m15PTR.png', bounds:bounds},
+ {name:'Green Power/Toughness', src:'/img/frames/m15/regular/m15PTG.png', bounds:bounds},
+ {name:'Multicolored Power/Toughness', src:'/img/frames/m15/regular/m15PTM.png', bounds:bounds},
+ {name:'Artifact Power/Toughness', src:'/img/frames/m15/regular/m15PTA.png', bounds:bounds}
+];
+//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 = 'transformExtendedFront';
+ //art bounds
+ card.artBounds = {x:0, y:0.081, width:1, height:0.531};
+ autoFitArt();
+ //set symbol bounds
+ card.setSymbolBounds = {x:0.9213, y:0.5910, width:0.12, height:0.0410, 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:'', y:0.0613, width:0.9292, height:71/2100, oneLine:true, size:71/1638, align:'right', shadowX:-0.001, shadowY:0.0029, manaCost:true, manaSpacing:0},
+ title: {name:'Title', text:'', x:0.16, y:0.0522, width:0.7547, height:0.0543, oneLine:true, font:'belerenb', size:0.0381},
+ type: {name:'Type', text:'', x:0.0854, y:0.5664, width:0.8292, height:0.0543, oneLine:true, font:'belerenb', size:0.0324, color:'white', shadowX:0.0014, shadowY:0.001},
+ rules: {name:'Rules Text', text:'', x:0.086, y:0.6303, width:0.828, height:0.2875, size:0.0362},
+ reminder: {name:'Reverse PT', text:'', x:0.086, y:0.842, width:0.838, height:0.0362, size:0.0291, oneLine:true, color:'#666', align:'right', font:'belerenbsc'},
+ pt: {name:'Power/Toughness', text:'', x:0.7928, y:0.902, width:0.1367, height:0.0372, size:0.0372, font:'belerenbsc', oneLine:true, align:'center'}
+ });
+}
+//loads available frames
+loadFramePack();
\ No newline at end of file