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 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + 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 = ` +
+
Adjust the height (first input) and chapter count (second input) of each Dungeon ability
+ +
`; + 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