diff --git a/img/frames/dungeon/regular/b.png b/img/frames/dungeon/regular/b.png
new file mode 100644
index 00000000..8d697422
Binary files /dev/null and b/img/frames/dungeon/regular/b.png differ
diff --git a/img/frames/dungeon/regular/bThumb.png b/img/frames/dungeon/regular/bThumb.png
new file mode 100644
index 00000000..9052f8ab
Binary files /dev/null and b/img/frames/dungeon/regular/bThumb.png differ
diff --git a/img/frames/dungeon/regular/floor.png b/img/frames/dungeon/regular/floor.png
new file mode 100644
index 00000000..d2c9a93f
Binary files /dev/null and b/img/frames/dungeon/regular/floor.png differ
diff --git a/img/frames/dungeon/regular/floorThumb.png b/img/frames/dungeon/regular/floorThumb.png
new file mode 100644
index 00000000..e9859c99
Binary files /dev/null and b/img/frames/dungeon/regular/floorThumb.png differ
diff --git a/img/frames/dungeon/walls/fx/corner.png b/img/frames/dungeon/walls/fx/corner.png
new file mode 100644
index 00000000..579b4d37
Binary files /dev/null and b/img/frames/dungeon/walls/fx/corner.png differ
diff --git a/img/frames/dungeon/walls/fx/cross.png b/img/frames/dungeon/walls/fx/cross.png
new file mode 100644
index 00000000..7b2a2c93
Binary files /dev/null and b/img/frames/dungeon/walls/fx/cross.png differ
diff --git a/img/frames/dungeon/walls/fx/straight.png b/img/frames/dungeon/walls/fx/straight.png
new file mode 100644
index 00000000..964a8b08
Binary files /dev/null and b/img/frames/dungeon/walls/fx/straight.png differ
diff --git a/img/frames/dungeon/walls/fx/t.png b/img/frames/dungeon/walls/fx/t.png
new file mode 100644
index 00000000..7f0597c6
Binary files /dev/null and b/img/frames/dungeon/walls/fx/t.png differ
diff --git a/img/frames/dungeon/walls/shape/corner.png b/img/frames/dungeon/walls/shape/corner.png
new file mode 100644
index 00000000..28fe0313
Binary files /dev/null and b/img/frames/dungeon/walls/shape/corner.png differ
diff --git a/img/frames/dungeon/walls/shape/cross.png b/img/frames/dungeon/walls/shape/cross.png
new file mode 100644
index 00000000..3c349428
Binary files /dev/null and b/img/frames/dungeon/walls/shape/cross.png differ
diff --git a/img/frames/dungeon/walls/shape/straight.png b/img/frames/dungeon/walls/shape/straight.png
new file mode 100644
index 00000000..3a539e24
Binary files /dev/null and b/img/frames/dungeon/walls/shape/straight.png differ
diff --git a/img/frames/dungeon/walls/shape/t.png b/img/frames/dungeon/walls/shape/t.png
new file mode 100644
index 00000000..fb8f4191
Binary files /dev/null and b/img/frames/dungeon/walls/shape/t.png differ
diff --git a/img/manaSymbols/oldtap.svg b/img/manaSymbols/oldtap.svg
index 50c005fc..91259a65 100644
--- a/img/manaSymbols/oldtap.svg
+++ b/img/manaSymbols/oldtap.svg
@@ -11,11 +11,11 @@
version="1.1"
width="600"
height="600"
- id="svg5391">
+ id="svg5426">
+ id="defs5428" />
+ id="metadata5431">
@@ -27,19 +27,24 @@
+
diff --git a/img/manaSymbols/originaltap.svg b/img/manaSymbols/originaltap.svg
new file mode 100644
index 00000000..50c005fc
--- /dev/null
+++ b/img/manaSymbols/originaltap.svg
@@ -0,0 +1,45 @@
+
+
+
+
diff --git a/js/creator-20.js b/js/creator-20.js
index 48644030..a4795ef2 100644
--- a/js/creator-20.js
+++ b/js/creator-20.js
@@ -233,7 +233,7 @@ function toggleCollapse(event) {
}
//Mana Symbols
var manaSymbols = [];
-loadManaSymbols(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', 'w', 'u', 'b', 'r', 'g', 'c', 'x', 'y', 'z', 't', 'untap', 'e', 's']);
+loadManaSymbols(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', 'w', 'u', 'b', 'r', 'g', 'c', 'x', 'y', 'z', 't', 'untap', 'e', 's', 'oldtap', 'originaltap']);
loadManaSymbols(['wu', 'wb', 'ub', 'ur', 'br', 'bg', 'rg', 'rw', 'gw', 'gu', '2w', '2u', '2b', '2r', '2g', 'wp', 'up', 'bp', 'rp', 'gp'], [1.2, 1.2]);
loadManaSymbols(['bar.png', 'whitebar.png']);
loadManaSymbols(['chaos'], [1.2, 1]);
diff --git a/js/frames/packDungeon.js b/js/frames/packDungeon.js
new file mode 100644
index 00000000..8e8aeade
--- /dev/null
+++ b/js/frames/packDungeon.js
@@ -0,0 +1,40 @@
+//Create objects for common properties across available frames
+// var masks = [{src:'/img/frames/saga/sagaMaskPinline.png', name:'Pinline'}, {src:'/img/frames/m15/regular/m15MaskTitle.png', name:'Title'}, {src:'/img/frames/saga/sagaMaskType.png', name:'Type'}, {src:'/img/frames/saga/sagaMaskFrame.png', name:'Frame'}, {src:'/img/frames/saga/sagaMaskBanner.png', name:'Banner'}, {src:'/img/frames/saga/sagaMaskBannerRight.png', name:'Banner (Right)'}, {src:'/img/frames/saga/sagaMaskText.png', name:'Text'}, {src:'/img/frames/saga/sagaMaskTextRight.png', name:'Text (Right)'}, {src:'/img/frames/saga/sagaMaskBorder.png', name:'Border'}];
+//defines available frames
+availableFrames = [
+ {name:'White Frame', src:'/img/frames/dungeon/regular/b.png', complementary:7},
+ {name:'Blue Frame', src:'/img/frames/dungeon/regular/b.png', complementary:7},
+ {name:'Black Frame', src:'/img/frames/dungeon/regular/b.png', complementary:7},
+ {name:'Red Frame', src:'/img/frames/dungeon/regular/b.png', complementary:7},
+ {name:'Green Frame', src:'/img/frames/dungeon/regular/b.png', complementary:7},
+ {name:'Multicolored Frame', src:'/img/frames/dungeon/regular/b.png', complementary:7},
+ {name:'Land Frame', src:'/img/frames/dungeon/regular/b.png', complementary:7},
+ {name:'Floor', src:'/img/frames/dungeon/regular/floor.png'}
+];
+//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 = 'dungeon';
+ card.onload = '/js/frames/versionDungeon.js';
+ loadScript('/js/frames/versionDungeon.js');
+ //art bounds
+ card.artBounds = {x:0, y:0, width:1, height:1};
+ autoFitArt();
+ //set symbol bounds
+ card.setSymbolBounds = {x:0.9227, y:0.8739, width:0.12, height:0.0381, vertical:'center', horizontal: 'right'};
+ resetSetSymbol();
+ //watermark bounds
+ card.watermarkBounds = {x:0.3027, y:0.4748, width:0.3547, height:0.6767};
+ resetWatermark();
+ //text
+ loadTextOptions({
+ title: {name:'Title', text:'', x:0.0854, y:0.0522, width:0.8292, height:0.0543, oneLine:true, font:'belerenbsc', size:0.0381, color:'white', align:'center'},
+ room1: {name:'Ability 1', text:'', x:0.1334, y:0.2896, width:0.35, height:0.1786, size:0.0305},
+ });
+}
+//loads available frames
+loadFramePack();
diff --git a/js/frames/versionDungeon.js b/js/frames/versionDungeon.js
new file mode 100644
index 00000000..a6b83532
--- /dev/null
+++ b/js/frames/versionDungeon.js
@@ -0,0 +1,90 @@
+//checks to see if it needs to run
+if (!loadedVersions.includes('/js/frames/versionDungeon.js')) {
+ loadedVersions.push('/js/frames/versionDungeon.js');
+ sizeCanvas('dungeon');
+ document.querySelector('#creator-menu-tabs').innerHTML += '
Dungeon
';
+ var newHTML = document.createElement('div');
+ newHTML.id = 'creator-menu-dungeon';
+ newHTML.classList.add('hidden');
+ newHTML.innerHTML = `
+
+
+
+
`;
+ if (!card.dungeon) {
+ card.dungeon = {abilities:[1, 1, 1, 0], count:3, x:0.1, width:0.3947};
+ }
+ document.querySelector('#creator-menu-sections').appendChild(newHTML);
+ var dungeonFX1 = new Image();
+ dungeonFX1.src = '/img/frames/dungeon/walls/fx/straight.png';
+ var dungeonFX2 = new Image();
+ dungeonFX2.src = '/img/frames/dungeon/walls/fx/corner.png';
+ var dungeonFX3 = new Image();
+ dungeonFX3.src = '/img/frames/dungeon/walls/fx/t.png';
+ var dungeonFX4 = new Image();
+ dungeonFX4.src = '/img/frames/dungeon/walls/fx/cross.png';
+ var dungeonShape1 = new Image();
+ dungeonShape1.src = '/img/frames/dungeon/walls/shape/straight.png';
+ var dungeonShape2 = new Image();
+ dungeonShape2.src = '/img/frames/dungeon/walls/shape/corner.png';
+ var dungeonShape3 = new Image();
+ dungeonShape3.src = '/img/frames/dungeon/walls/shape/t.png';
+ var dungeonShape4 = new Image();
+ dungeonShape4.src = '/img/frames/dungeon/walls/shape/cross.png';
+ // var dungeonTexture = new Image();
+ // dungeonTexture.src = '/img/frames/dungeon/dungeonTexture.png';
+ dungeonShape4.onload = dungeonEdited;
+}
+
+function dungeonEdited() {
+ //gather data
+ data = document.querySelector('#dungeon-input').value;
+ rooms = [];
+ data.replace(/ /g, '').split('\n').forEach(room => {
+ newRoom = room.split(',');
+ for (i = 0; i < newRoom.length; i++) {
+ newRoom[i] = parseInt(newRoom[i]);
+ }
+ rooms.push(newRoom);
+ });
+ console.log(rooms);
+
+ //draw to dungeon canvas
+ dungeonContext.clearRect(0, 0, dungeonCanvas.width, dungeonCanvas.height);
+
+
+ drawTextBuffer();
+ drawCard();
+}
+
+//Data structures...
+
+class Vertex {
+ constructor(x = 0, y = 0, up = false, down = false, left = false, right = false) {
+ this.x = x;
+ this.y = y;
+ this.up = up;
+ this.down = down;
+ this.left = left;
+ this.right = right;
+ }
+}
+
+class Graph {
+ // defining vertex array and
+ // adjacent list
+ constructor(noOfVertices)
+ {
+ this.noOfVertices = noOfVertices;
+ this.AdjList = new Map();
+ }
+
+ // functions to be implemented
+
+ // addVertex(v)
+ // addEdge(v, w)
+ // printGraph()
+
+ // bfs(v)
+ // dfs(v)
+}
\ No newline at end of file