diff --git a/app.js b/app.js index 951fcbb..873dcba 100644 --- a/app.js +++ b/app.js @@ -36,7 +36,7 @@ app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.use(favicon()); -app.use(logger('dev')); +app.use(logger(':remote-addr - [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length]')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(cookieParser()); diff --git a/lib/cards.json b/lib/cards.json index 1b2c57f..fbf4b52 100755 --- a/lib/cards.json +++ b/lib/cards.json @@ -5,6 +5,8 @@ "num": "S01C01", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -32,6 +34,8 @@ "num": "S01C02", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -59,6 +63,8 @@ "num": "S01C03", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -86,6 +92,8 @@ "num": "S01C04", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -113,6 +121,8 @@ "num": "S01C05", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -140,6 +150,8 @@ "num": "S01C06", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -167,6 +179,8 @@ "num": "S01C07", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -194,6 +208,8 @@ "num": "S01C08", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -221,6 +237,8 @@ "num": "S01C09", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -248,6 +266,8 @@ "num": "S01C10", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -275,6 +295,8 @@ "num": "S01C11", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -302,6 +324,8 @@ "num": "S01C12", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -329,6 +353,8 @@ "num": "S01C13", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -356,6 +382,8 @@ "num": "S01C14", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -383,6 +411,8 @@ "num": "S01C15", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -410,6 +440,8 @@ "num": "S01C16", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -437,6 +469,8 @@ "num": "S01C17", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -464,6 +498,8 @@ "num": "S01C18", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -491,6 +527,8 @@ "num": "S01C19", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -518,6 +556,8 @@ "num": "S01C20", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -545,6 +585,8 @@ "num": "S01C21", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -572,6 +614,8 @@ "num": "S01C22", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -599,6 +643,8 @@ "num": "S01C23", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -626,6 +672,8 @@ "num": "S01C24", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -653,6 +701,8 @@ "num": "S01C25", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -680,6 +730,8 @@ "num": "S01C26", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -707,6 +759,8 @@ "num": "S01C27", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -734,6 +788,8 @@ "num": "S01C28", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -761,6 +817,8 @@ "num": "S01C29", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -788,6 +846,8 @@ "num": "S01C30", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -815,6 +875,8 @@ "num": "S01C31", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -842,6 +904,8 @@ "num": "S01C32", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -869,6 +933,8 @@ "num": "S01C33", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -896,6 +962,8 @@ "num": "S01C34", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -923,6 +991,8 @@ "num": "S01C35", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -950,6 +1020,8 @@ "num": "S01C36", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -977,6 +1049,8 @@ "num": "S01C37", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1004,6 +1078,8 @@ "num": "S01C38", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1031,6 +1107,8 @@ "num": "S01C39", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1058,6 +1136,8 @@ "num": "S01C40", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1085,6 +1165,8 @@ "num": "S01C41", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1112,6 +1194,8 @@ "num": "S01C42", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1139,6 +1223,8 @@ "num": "S01C43", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1166,6 +1252,8 @@ "num": "S01C44", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "God Goddess Deity", "race_idx": "god goddess deity", "type": "Entity", @@ -1193,6 +1281,8 @@ "num": "S01C45", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1220,6 +1310,8 @@ "num": "S01C46", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1247,6 +1339,8 @@ "num": "S01C47", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1274,6 +1368,8 @@ "num": "S01C48", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1301,6 +1397,8 @@ "num": "S01C49", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1328,6 +1426,8 @@ "num": "S01C50", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1355,6 +1455,8 @@ "num": "S01C51", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1382,6 +1484,8 @@ "num": "S01C52", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1409,6 +1513,8 @@ "num": "S01C53", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1436,6 +1542,8 @@ "num": "S01C54", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1463,6 +1571,8 @@ "num": "S01C55", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1490,6 +1600,8 @@ "num": "S01C56", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1517,6 +1629,8 @@ "num": "S01C57", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1544,6 +1658,8 @@ "num": "S01C58", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1571,6 +1687,8 @@ "num": "S01C59", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1598,6 +1716,8 @@ "num": "S01C60", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1625,6 +1745,8 @@ "num": "S01C61", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1652,6 +1774,8 @@ "num": "S01C62", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1679,6 +1803,8 @@ "num": "S01C63", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1706,6 +1832,8 @@ "num": "S01C64", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1733,6 +1861,8 @@ "num": "S01C65", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1760,6 +1890,8 @@ "num": "S01C66", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1787,6 +1919,8 @@ "num": "S01C67", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1814,6 +1948,8 @@ "num": "S01C68", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1841,6 +1977,8 @@ "num": "S01C69", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1868,6 +2006,8 @@ "num": "S01C70", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -1895,6 +2035,8 @@ "num": "S01C71", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1922,6 +2064,8 @@ "num": "S01C72", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -1949,6 +2093,8 @@ "num": "S01C73", "culture": "Aztec", "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -1976,6 +2122,8 @@ "num": "S01C74", "culture": "Egyptian", "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -2003,6 +2151,8 @@ "num": "S01C75", "culture": "Greek", "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -2030,6 +2180,8 @@ "num": "S01C76", "culture": "Japanese", "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -2057,6 +2209,8 @@ "num": "S01C77", "culture": "Norse", "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -2084,6 +2238,8 @@ "num": "S01C78", "culture": "Sumerian", "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -2106,497 +2262,477 @@ "copyright_licensee": "Excalibre Games" } , { - "name": "Arena of Eternity", - "name_ang": "arena", - "num": "S01N01", - "culture": "Eternal", - "culture_idx": "eternal", - "race": "", - "race_idx": "", - "type": "Battleground", - "type_idx": "battleground", - "element": "Air", - "element_idx": "air", - "image": "battlegrounds/eternal/arena.jpg", - "credit": "Aaron Logan, 2004.", - "source": "https://commons.wikimedia.org/wiki/File:Lightmatter_colosseum.jpg", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "landscape", - "ability_name": "", - "ability_text": "", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Bifröst", - "name_ang": "bifrost", - "num": "S01N02", - "culture": "Norse", - "culture_idx": "norse", - "race": "", - "race_idx": "", - "type": "Battleground", - "type_idx": "battleground", - "element": "Fire", - "element_idx": "fire", - "image": "battlegrounds/norse/bifrost.jpg", - "credit": "Arthur Rackham, 1910.", - "source": "https://commons.wikimedia.org/wiki/File:Ring17.jpg", - "flavor": "Bifröst is a burning rainbow bridge that reaches between Midgard (the world) and Asgard, the realm of the Norse gods and goddesses.", - "attack": "", - "defense": "", - "power": "", - "tags": "landscape", - "ability_name": "", - "ability_text": "Deities get Attack +2 and have \"EMPOWER: Destroy Bifröst and remove 2 energy points from each entity in the battle.\"", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Duat", - "name_ang": "duat", - "num": "S01N03", - "culture": "Egyptian", - "culture_idx": "egyptian", - "race": "", - "race_idx": "", - "type": "Battleground", - "type_idx": "battleground", - "element": "Law", - "element_idx": "law", - "image": "battlegrounds/egyptian/duat.jpg", - "credit": "Artist unknown, ca. 1300 BCE.", - "source": "https://commons.wikimedia.org/wiki/File:BD_Weighing_of_the_Heart.jpg", - "flavor": "The Egyptian land of the dead is called the Duat, where the souls of the deceased undergo the final judgment of the \"Weighing of the Heart\".", - "attack": "", - "defense": "", - "power": "", - "tags": "landscape", - "ability_name": "", - "ability_text": "When an entity would be defeated, that entity may make a die roll. If that roll is even, that entity remains in the battle with 1 energy point. Each entity may only use this ability once per round.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Mount Olympus", - "name_ang": "mount_olympus", - "num": "S01N04", - "culture": "Greek", - "culture_idx": "greek", - "race": "", - "race_idx": "", - "type": "Battleground", - "type_idx": "battleground", - "element": "Earth", - "element_idx": "earth", - "image": "battlegrounds/greek/olympus.jpg", - "credit": "Francisco Bayeu, 1762.", - "source": "https://commons.wikimedia.org/wiki/File:El_Olimpo_batalla_con_los_gigantes.jpg", - "flavor": "Many of the Greek gods and goddesses live on Mount Olympus, which contains the palaces of the gods within its crevasses, as well their meeting place, Pantheon.", - "attack": "", - "defense": "", - "power": "", - "tags": "landscape", - "ability_name": "", - "ability_text": "When an entity loses a clash, remove two energy points from that entity.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "R'lyeh", - "name_ang": "rlyeh", - "num": "S01N05", - "culture": "Old Ones", - "culture_idx": "old-ones", - "race": "", - "race_idx": "", - "type": "Battleground", - "type_idx": "battleground", - "element": "Chaos", - "element_idx": "chaos", - "image": "battlegrounds/mythos/rlyeh.jpg", - "credit": "Modified, original by Reimund Bertrams / Pixabay, 2014.", - "source": "https://pixabay.com/en/blue-sky-night-romantic-259458/", - "flavor": "\"[H]alf-seen columns of unsanctified temples that rest on nameless rocks beneath space and reach up to dizzy vacua above the spheres of light and darkness.\"", - "attack": "", - "defense": "", - "power": "", - "tags": "landscape", - "ability_name": "", - "ability_text": "Entities with {CHAOS} or {OLD_ONES} cannot be defeated by any entity's ability.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Asteroid Impact", - "name_ang": "asteroid_impact", - "num": "S01N06", - "culture": "", - "culture_idx": "", - "race": "", - "race_idx": "", - "type": "Intervention", - "type_idx": "intervention", - "element": "Air Chaos Fire", - "element_idx": "air chaos fire", - "image": "interventions/asteroid.jpg", - "credit": "Don Davis / NASA, 1991.", - "source": "https://commons.wikimedia.org/wiki/File:Planetoid_crashing_into_primordial_Earth.jpg", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "", - "ability_name": "", - "ability_text": "This intervention may only be used immediately after an attack hits. Remove up to 2 energy points from an opposing entity.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Avalanche", - "name_ang": "avalanche", - "num": "S01N07", - "culture": "", - "culture_idx": "", - "race": "", - "race_idx": "", - "type": "Intervention", - "type_idx": "intervention", - "element": "Chaos Earth Water", - "element_idx": "chaos earth water", - "image": "interventions/avalanche.jpg", - "credit": "Philipp Jakob Loutherbourg d. J., 1803.", - "source": "http://en.wikipedia.org/wiki/File:Avalanche_on_Everest.JPG", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "", - "ability_name": "", - "ability_text": "This intervention may only be used immediately after an opposing entity makes a defense or clash roll. That roll gets -2.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Blizzard", - "name_ang": "blizzard", - "num": "S01N08", - "culture": "", - "culture_idx": "", - "race": "", - "race_idx": "", - "type": "Intervention", - "type_idx": "intervention", - "element": "Air Earth Law Water", - "element_idx": "air earth law water", - "image": "interventions/blizzard.jpg", - "credit": "MihaiParaschiv / Pixabay, 2016.", - "source": "https://pixabay.com/en/landscape-winter-snow-sky-mountain-1253022/", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "", - "ability_name": "", - "ability_text": "This intervention may only be used immediately after an opposing faction uses an intervention. That intervention is discarded, and its effects are nullified.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Drought", - "name_ang": "drought", - "num": "S01N09", - "culture": "", - "culture_idx": "", - "race": "", - "race_idx": "", - "type": "Intervention", - "type_idx": "intervention", - "element": "Earth Fire Law", - "element_idx": "earth fire law", - "image": "interventions/drought.jpg", - "credit": "Alireza Javaheri, 2003.", - "source": "https://commons.wikimedia.org/wiki/File:Along_the_rail_road_-_Iran_-_Shahroud_-_panoramio.jpg", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "", - "ability_name": "", - "ability_text": "This intervention may only be used immediately after an entity in this faction is attacked and the attack hits. No energy may be removed as a result of that attack.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Firestorm", - "name_ang": "firestorm", - "num": "S01N10", - "culture": "", - "culture_idx": "", - "race": "", - "race_idx": "", - "type": "Intervention", - "type_idx": "intervention", - "element": "Air Chaos Fire Water", - "element_idx": "air chaos fire water", - "image": "interventions/firestorm.jpg", - "credit": "NARA, 1933.", - "source": "https://commons.wikimedia.org/wiki/File:View_of_Tillamook_Fire,_Oregon_from_airplane_-_NARA_-_299308.jpg", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "", - "ability_name": "", - "ability_text": "This intervention may only be used immediately after an attack hits. An entity in this faction may immediately make an attack.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Ice Storm", - "name_ang": "ice_storm", - "num": "S01N11", - "culture": "", - "culture_idx": "", - "race": "", - "race_idx": "", - "type": "Intervention", - "type_idx": "intervention", - "element": "Air Law Water", - "element_idx": "air law water", - "image": "interventions/ice.jpg", - "credit": "Richardfabi / Wikimedia Commons, 2005.", - "source": "https://commons.wikimedia.org/wiki/File:Windbuchencom.jpg", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "", - "ability_name": "", - "ability_text": "This intervention may only be used immediately after a defense roll is made. That roll gets either +2 or -2.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Maelstrom", - "name_ang": "maelstrom", - "num": "S01N12", - "culture": "", - "culture_idx": "", - "race": "", - "race_idx": "", - "type": "Intervention", - "type_idx": "intervention", - "element": "Air Chaos Water", - "element_idx": "air chaos water", - "image": "interventions/maelstrom.jpg", - "credit": "Harry Clarke, 1919.", - "source": "https://commons.wikimedia.org/wiki/File:Maelstrom-Clarke.jpg", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "", - "ability_name": "", - "ability_text": "This intervention may only be used immediately after an entity in this faction makes an attack and the attack misses. Remove up to 2 energy points from an opposing entity.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Sunblast", - "name_ang": "sunblast", - "num": "S01N13", - "culture": "", - "culture_idx": "", - "race": "", - "race_idx": "", - "type": "Intervention", - "type_idx": "intervention", - "element": "Air Fire Law", - "element_idx": "air fire law", - "image": "interventions/sunblast.jpg", - "credit": "CopyrightFreePhotos.HQ101.com, 2005.", - "source": "https://commons.wikimedia.org/wiki/File:Sun_Halo.JPG", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "", - "ability_name": "", - "ability_text": "This intervention may only be used immediately after an attack roll is made. That roll gets either +2 or -2.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Tsunami", - "name_ang": "tsunami", - "num": "S01N14", - "culture": "", - "culture_idx": "", - "race": "", - "race_idx": "", - "type": "Intervention", - "type_idx": "intervention", - "element": "Earth Law Water", - "element_idx": "earth law water", - "image": "interventions/tsunami.jpg", - "credit": "Jon Sullivan, ca. 2009.", - "source": "https://commons.wikimedia.org/wiki/File:Ocean_surface_wave.jpg", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "", - "ability_name": "", - "ability_text": "This intervention may only be used immediately after an entity in this faction makes an attack or clash roll. That roll gets +2.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Volcanic Blast", - "name_ang": "volcanic_blast", - "num": "S01N15", - "culture": "", - "culture_idx": "", - "race": "", - "race_idx": "", - "type": "Intervention", - "type_idx": "intervention", - "element": "Chaos Earth Fire Law", - "element_idx": "chaos earth fire law", - "image": "interventions/volcanic2.jpg", - "credit": "Joseph Wright of Derby, ca. 1776.", - "source": "http://commons.wikimedia.org/wiki/File:Puu_oo.jpg", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "", - "ability_name": "", - "ability_text": "This intervention may only be used immediately after an entity in this faction is defeated. Remove up to 3 energy points from an opposing entity.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Wildfire", - "name_ang": "wildfire", - "num": "S01N16", - "culture": "", - "culture_idx": "", - "race": "", - "race_idx": "", - "type": "Intervention", - "type_idx": "intervention", - "element": "Chaos Earth Fire", - "element_idx": "chaos earth fire", - "image": "interventions/wildfire.jpg", - "credit": "FEMA, 1996.", - "source": "https://commons.wikimedia.org/wiki/File:FEMA_-_1502_-_Photograph_by_FEMA_News_Photo_taken_on_10-23-1996_in_California.jpg", - "flavor": "", - "attack": "", - "defense": "", - "power": "", - "tags": "", - "ability_name": "", - "ability_text": "This intervention may only be used immediately after an entity in this faction is attacked and the attack hits. Remove up to 2 energy points from the attacking entity.", - "copyright_year": "2016-2017", - "copyright_owner": "Eric Woodward", - "copyright_license": "All Rights Reserved", - "copyright_licensee": "Excalibre Games" - } -, { - "name": "Prometheus", - "name_ang": "prometheus", - "num": "S01P01", - "culture": "Greek", - "culture_idx": "greek", - "race": "God Titan Deity", - "race_idx": "god titan deity", + "name": "Chalchiuhtlicue", + "name_ang": "chalchiuhtlicue", + "num": "S01D01", + "culture": "Aztec", + "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", + "race": "Goddess Deity", + "race_idx": "goddess deity", "type": "Entity", "type_idx": "entity", - "element": "Law", - "element_idx": "law", - "image": "greek/prometheus.jpg", - "credit": "Theodoor Rombouts, ca. 1620-1635.", - "source": "https://commons.wikimedia.org/wiki/File:Rubens_-_Prometheus_Bound.jpg", - "flavor": "Prometheus was said to have stolen fire from the gods and given it to humans, earning the wrath of Zeus.", - "attack": "6", + "element": "Water", + "element_idx": "water", + "image": "aztec/chalchiuhtlicue.jpg", + "credit": "Artist unknown, photo by FA2010 / Wikimedia Commons.", + "source": "http://commons.wikimedia.org/wiki/File:Azteken_Wasserg%C3%B6ttin_Chalchiuhtlicue_EthnM.jpg", + "flavor": "Chalchiuhtlicue released 52 years of rain, destroying the old world and making way for the current one.", + "attack": "8", "defense": "6", - "power": "7", - "tags": "", - "ability_name": "Stealer of Fire", - "ability_text": "Deities with {FIRE} have no abilities.", + "power": "6", + "tags": "demo", + "ability_name": "Purifying Flood", + "ability_text": "When this goddess is invoked, she may choose an opposing entity to make a defense roll. If that roll is less than 11, that entity is defeated.", "copyright_year": "2016-2017", "copyright_owner": "Eric Woodward", "copyright_license": "All Rights Reserved", "copyright_licensee": "Excalibre Games" } , { - "name": "Cthulhu", - "name_ang": "cthulhu", - "num": "S01P02", - "culture": "Old Ones", - "culture_idx": "old-ones", + "name": "Mictecacihuatl", + "name_ang": "mictecacihuatl", + "num": "S01D02", + "culture": "Aztec", + "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", + "race": "Goddess Deity", + "race_idx": "goddess deity", + "type": "Entity", + "type_idx": "entity", + "element": "Chaos", + "element_idx": "chaos", + "image": "aztec/mictecacihuatl.jpg", + "credit": "Artist unknown.", + "source": "http://commons.wikimedia.org/wiki/File:Mictlancihuatl_3.jpg", + "flavor": "As the goddess of the underworld, Mictecacihuatl is said to watch over the bones of the dead.", + "attack": "7", + "defense": "7", + "power": "7", + "tags": "demo", + "ability_name": "Lady of the Dead", + "ability_text": "Empower: This goddess may choose an opposing entity, and force that entity to make a defense roll. If that roll is less than 11, this goddess may remove up to 2 energy points from that entity.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Mictlantecuhtli", + "name_ang": "mictlantecuhtli", + "num": "S01D03", + "culture": "Aztec", + "culture_idx": "aztec", + "pantheon": "Aztec", + "pantheon_idx": "aztec", "race": "God Deity", "race_idx": "god deity", "type": "Entity", "type_idx": "entity", "element": "Chaos", "element_idx": "chaos", - "image": "mythos/cthulhu-sea.jpg", - "credit": "Modified, original copyright Somnolent-Droid / DeviantArt, 2012.", - "source": "http://somnolent-droid.deviantart.com/art/Cthulhu-sleeps-316062905", - "flavor": "\"That is not dead which can eternal lie. And with strange aeons even death may die.\"", - "attack": "7", + "image": "aztec/mictlantecuhtli.jpg", + "credit": "Artist unknown, photo copyright Anagoria / Wikimedia Commons.", + "source": "http://commons.wikimedia.org/wiki/File:2013-12-24_Mictlantecuhtli_anagoria.JPG", + "flavor": "The Aztec underworld is named Mictlan, and is presided over by Mictlantecuhtli and Mictecacihuatl.", + "attack": "6", "defense": "6", - "power": "7", - "tags": "", - "ability_name": "The Sleeper of R'lyeh", - "ability_text": "When this god is invoked, and at the start of each round, this god may clash with an opposing entity. When this god wins a clash, he may remove an energy point from an opposing entity.", + "power": "8", + "tags": "demo", + "ability_name": "Lord of Mictlan", + "ability_text": "When this god is invoked, and at the start of each round, he may clash with an opposing entity. When this god wins a clash, he may remove an energy point from the losing entity.", "copyright_year": "2016-2017", "copyright_owner": "Eric Woodward", "copyright_license": "All Rights Reserved", "copyright_licensee": "Excalibre Games" } -, { +, { + "name": "Horus", + "name_ang": "horus", + "num": "S01D04", + "culture": "Egyptian", + "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", + "race": "God Deity", + "race_idx": "god deity", + "type": "Entity", + "type_idx": "entity", + "element": "Air", + "element_idx": "air", + "image": "egyptian/horus.jpg", + "credit": "Artist unknown.", + "source": "http://commons.wikimedia.org/wiki/File:Horus_3.jpg", + "flavor": "Har-Wer means \"Horus the Great\", so-named because of his victories over his uncle, Set.", + "attack": "7", + "defense": "7", + "power": "7", + "tags": "demo", + "ability_name": "Har-Wer", + "ability_text": "After this god makes an attack and hits, he may clash with an opposing entity. Once per round when this god wins a clash, he may immediately make an attack.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Sekhmet", + "name_ang": "sekhmet", + "num": "S01D05", + "culture": "Egyptian", + "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", + "race": "Goddess Deity", + "race_idx": "goddess deity", + "type": "Entity", + "type_idx": "entity", + "element": "Fire", + "element_idx": "fire", + "image": "egyptian/sekhmet.jpg", + "credit": "Artist unknown, 12th century BCE.", + "source": "http://commons.wikimedia.org/wiki/File:Ramses_III_and_the_Memphis_gods.jpg", + "flavor": "Sekhmet is a warrior goddess who was seen as the protector of the pharaohs.", + "attack": "7", + "defense": "7", + "power": "7", + "tags": "demo", + "ability_name": "Lady of Slaughter", + "ability_text": "Each round, this goddess may give +2 to the first attack roll made by a supporting entity.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Apollo", + "name_ang": "apollo", + "num": "S01D06", + "culture": "Greek", + "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", + "race": "God Deity", + "race_idx": "god deity", + "type": "Entity", + "type_idx": "entity", + "element": "Law", + "element_idx": "law", + "image": "greek/apollo.jpg", + "credit": "Giovanni Battista Tiepolo, 1757.", + "source": "http://www.wikiart.org/en/giovanni-battista-tiepolo/apollo-and-diana-1757", + "flavor": "Apollo's skill with a bow is so great that he is called Argyrotoxus, which means \"with silver bow\".", + "attack": "7", + "defense": "6", + "power": "6", + "tags": "demo", + "ability_name": "Apollo Argyrotoxus", + "ability_text": "When a supporting entity makes an attack roll, that entity may roll an additional die and take the highest number among dice rolled.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Hephaestus", + "name_ang": "hephaestus", + "num": "S01D07", + "culture": "Greek", + "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", + "race": "God Deity", + "race_idx": "god deity", + "type": "Entity", + "type_idx": "entity", + "element": "Fire", + "element_idx": "fire", + "image": "greek/hephaestus.jpg", + "credit": "Guillaume Coustou the Younger, 1742, photo by Marie-Lan Nguyen / Wikimedia Commons.", + "source": "http://commons.wikimedia.org/wiki/File:Vulcan_Coustou_Louvre_MR1814.jpg", + "flavor": "Hephaestus's skill at forging lead to him being called Clytotechnes, which means \"famed for crafts\".", + "attack": "7", + "defense": "6", + "power": "8", + "tags": "demo", + "ability_name": "Hephaestus Clytotechnes", + "ability_text": "When either this god or a supporting entity is attacked, this god may give -1 to the attack roll.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Hermes", + "name_ang": "hermes", + "num": "S01D08", + "culture": "Greek", + "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", + "race": "God Deity", + "race_idx": "god deity", + "type": "Entity", + "type_idx": "entity", + "element": "Air", + "element_idx": "air", + "image": "greek/hermes.jpg", + "credit": "Hendrick Goltzius, 1611.", + "source": "http://commons.wikimedia.org/wiki/File:Mercurybyhendrickgoltzius.jpeg", + "flavor": "As a god of athletics and games, Hermes is known as Promachus, meaning \"champion\".", + "attack": "7", + "defense": "7", + "power": "6", + "tags": "demo", + "ability_name": "Hermes Promachus", + "ability_text": "Once per round when this god makes an attack, he may make an additional attack.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Bishamonten", + "name_ang": "bishamonten", + "num": "S01D09", + "culture": "Japanese", + "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", + "race": "God Deity", + "race_idx": "god deity", + "type": "Entity", + "type_idx": "entity", + "element": "Earth", + "element_idx": "earth", + "image": "japanese/bishamonten.jpg", + "credit": "Artist unknown, 15th century, photo by Miguelwang2010 / Wikimedia Commons.", + "source": "http://commons.wikimedia.org/wiki/File:2009.12.01_%E6%9A%98%E8%87%BA%E5%B1%B1%E5%A4%A7%E8%A6%BA%E5%AF%BA_43.JPG", + "flavor": "As a protector of holy places, Bishamonten is called Tamonten, or \"listening to many teachings\".", + "attack": "8", + "defense": "6", + "power": "7", + "tags": "demo", + "ability_name": "Tamonten", + "ability_text": "When this god is attacked and the attack hits, the attacking entity removes 1 less energy point from him, to a minimum of 1.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Izanami", + "name_ang": "izanami", + "num": "S01D10", + "culture": "Japanese", + "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", + "race": "Goddess Deity", + "race_idx": "goddess deity", + "type": "Entity", + "type_idx": "entity", + "element": "Chaos", + "element_idx": "chaos", + "image": "japanese/izanami.jpg", + "credit": "Kobayashi Eitaku, ca. 1885.", + "source": "http://commons.wikimedia.org/wiki/File:Kobayashi_Izanami_and_izanagi.jpg", + "flavor": "Izanami rules Yomi, the land of the dead, and is called Yomotsu ōkami, \"Grand Deity of Yomi.\"", + "attack": "6", + "defense": "6", + "power": "8", + "tags": "demo", + "ability_name": "Yomotsu ōkami", + "ability_text": "When this goddess is invoked, she may clash with an opposing entity. If this goddess wins that clash, the opposing entity is defeated.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Susanoo", + "name_ang": "susanoo", + "num": "S01D11", + "culture": "Japanese", + "culture_idx": "japanese", + "pantheon": "Japanese", + "pantheon_idx": "japanese", + "race": "God Deity", + "race_idx": "god deity", + "type": "Entity", + "type_idx": "entity", + "element": "Water", + "element_idx": "water", + "image": "japanese/susanoo.jpg", + "credit": "Utagawa Kuniyoshi, ca. 1830.", + "source": "http://commons.wikimedia.org/wiki/File:Dragon_Susanoo_no_mikoto_and_the_water_dragon.jpg", + "flavor": "Susanoo's sword was called Amenohabakiri, which means \"Snake-Slayer of Takamagahara\".", + "attack": "7", + "defense": "7", + "power": "6", + "tags": "demo", + "ability_name": "Amenohabakiri", + "ability_text": "Each round, this god may give +2 to the first defense roll made by a supporting entity.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Skaði", + "name_ang": "skadi", + "num": "S01D12", + "culture": "Norse", + "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", + "race": "Goddess Deity", + "race_idx": "goddess deity", + "type": "Entity", + "type_idx": "entity", + "element": "Law", + "element_idx": "law", + "image": "norse/skadi.jpg", + "credit": "Carl Fredrik von Saltza, 1893.", + "source": "http://commons.wikimedia.org/wiki/File:Skade_by_Saltza.jpg", + "flavor": "Skaði is called Öndurdís, or \"(she) of the snow shoe\", because she is associated with winter and hunting.", + "attack": "6", + "defense": "7", + "power": "7", + "tags": "demo", + "ability_name": "Öndurdís", + "ability_text": "Once per round when an entity makes a roll, this goddess may give -1 to that roll.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Sól", + "name_ang": "sol", + "num": "S01D13", + "culture": "Norse", + "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", + "race": "Goddess Deity", + "race_idx": "goddess deity", + "type": "Entity", + "type_idx": "entity", + "element": "Fire", + "element_idx": "fire", + "image": "norse/sol.jpg", + "credit": "H. A. Guerber, 1909.", + "source": "http://commons.wikimedia.org/wiki/File:The_Wolves_Pursuing_Sol_and_Mani.jpg", + "flavor": "The goddess Sól drives a sun-chariot named Álfröðull, which means \"elf disc\".", + "attack": "6", + "defense": "6", + "power": "8", + "tags": "demo", + "ability_name": "Álfröðull", + "ability_text": "When this goddess makes an attack roll, she may use her current energy point total as her Attack score. This goddess may never have more than 9 energy points.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Thor", + "name_ang": "thor", + "num": "S01D14", + "culture": "Norse", + "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", + "race": "God Deity", + "race_idx": "god deity", + "type": "Entity", + "type_idx": "entity", + "element": "Air", + "element_idx": "air", + "image": "norse/thor.jpg", + "credit": "Mårten Eskil Winge, 1872.", + "source": "http://commons.wikimedia.org/wiki/File:Thor.jpg", + "flavor": "Thor's hammer can level mountains, and is called Mjölnir, or \"that which smashes\".", + "attack": "7", + "defense": "7", + "power": "7", + "tags": "demo", + "ability_name": "Mjölnir", + "ability_text": "Once per round after this god makes an attack, if the attack roll was even, he may make an additional attack.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Bau", + "name_ang": "bau", + "num": "S01D15", + "culture": "Sumerian", + "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", + "race": "Goddess Deity", + "race_idx": "goddess deity", + "type": "Entity", + "type_idx": "entity", + "element": "Earth", + "element_idx": "earth", + "image": "sumerian/bau.jpg", + "credit": "Artist unknown, ca. 2150 BCE, photo copyright Marie-Lan Nguyen / Wikimedia Commons.", + "source": "http://commons.wikimedia.org/wiki/File:Fragment_Bau_Louvre_AO4572.jpg", + "flavor": "A goddess of fertility and healing, Bau was the patron deity of the city of Lagash.", + "attack": "7", + "defense": "7", + "power": "6", + "tags": "demo", + "ability_name": "The Beautiful Woman", + "ability_text": "When this goddess makes an attack and the attack hits, she may give an energy point to any supporting entity.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Enki", + "name_ang": "enki", + "num": "S01D16", + "culture": "Sumerian", + "culture_idx": "sumerian", + "pantheon": "Sumerian", + "pantheon_idx": "sumerian", + "race": "God Deity", + "race_idx": "god deity", + "type": "Entity", + "type_idx": "entity", + "element": "Water", + "element_idx": "water", + "image": "sumerian/enki.jpg", + "credit": "Artist unknown.", + "source": "http://commons.wikimedia.org/wiki/File:Ea_(Babilonian)_-_EnKi_(Sumerian).jpg", + "flavor": "Enki is called the lord of the Abzu, the groundwater located within the earth.", + "attack": "6", + "defense": "6", + "power": "8", + "tags": "demo", + "ability_name": "Lord of the Abzu", + "ability_text": "When this god makes a defense roll, he may use his current energy point total as his Defense score. This god may never have more than 9 energy points.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { "name": "Azathoth", "name_ang": "azathoth", "num": "S01R01", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -2624,6 +2760,8 @@ "num": "S01R02", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -2651,6 +2789,8 @@ "num": "S01R03", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -2678,6 +2818,8 @@ "num": "S01R04", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -2705,6 +2847,8 @@ "num": "S01R05", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -2732,6 +2876,8 @@ "num": "S01R06", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "Goddess Deity", "race_idx": "goddess deity", "type": "Entity", @@ -2759,6 +2905,8 @@ "num": "S01R07", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -2786,6 +2934,8 @@ "num": "S01R08", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "God Deity", "race_idx": "god deity", "type": "Entity", @@ -2813,6 +2963,8 @@ "num": "S01R09", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -2840,6 +2992,8 @@ "num": "S01R10", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -2867,6 +3021,8 @@ "num": "S01R11", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -2894,6 +3050,8 @@ "num": "S01R12", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -2921,6 +3079,8 @@ "num": "S01R13", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -2948,6 +3108,8 @@ "num": "S01R14", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -2975,6 +3137,8 @@ "num": "S01R15", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -3002,6 +3166,8 @@ "num": "S01R16", "culture": "Old Ones", "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", "race": "Creature", "race_idx": "creature", "type": "Entity", @@ -3023,4 +3189,526 @@ "copyright_license": "All Rights Reserved", "copyright_licensee": "Excalibre Games" } +, { + "name": "Arena of Eternity", + "name_ang": "arena", + "num": "S01N01", + "culture": "Eternal", + "culture_idx": "eternal", + "pantheon": "Eternal", + "pantheon_idx": "eternal", + "race": "", + "race_idx": "", + "type": "Battleground", + "type_idx": "battleground", + "element": "Air", + "element_idx": "air", + "image": "battlegrounds/eternal/arena.jpg", + "credit": "Aaron Logan, 2004.", + "source": "https://commons.wikimedia.org/wiki/File:Lightmatter_colosseum.jpg", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "landscape", + "ability_name": "", + "ability_text": "", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Bifröst", + "name_ang": "bifrost", + "num": "S01N02", + "culture": "Norse", + "culture_idx": "norse", + "pantheon": "Norse", + "pantheon_idx": "norse", + "race": "", + "race_idx": "", + "type": "Battleground", + "type_idx": "battleground", + "element": "Fire", + "element_idx": "fire", + "image": "battlegrounds/norse/bifrost.jpg", + "credit": "Arthur Rackham, 1910.", + "source": "https://commons.wikimedia.org/wiki/File:Ring17.jpg", + "flavor": "Bifröst is a burning rainbow bridge that reaches between Midgard (the world) and Asgard, the realm of the Norse gods and goddesses.", + "attack": "", + "defense": "", + "power": "", + "tags": "landscape", + "ability_name": "", + "ability_text": "Deities get Attack +2 and have \"EMPOWER: Destroy Bifröst and remove 2 energy points from each entity in the battle.\"", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Duat", + "name_ang": "duat", + "num": "S01N03", + "culture": "Egyptian", + "culture_idx": "egyptian", + "pantheon": "Egyptian", + "pantheon_idx": "egyptian", + "race": "", + "race_idx": "", + "type": "Battleground", + "type_idx": "battleground", + "element": "Law", + "element_idx": "law", + "image": "battlegrounds/egyptian/duat.jpg", + "credit": "Artist unknown, ca. 1300 BCE.", + "source": "https://commons.wikimedia.org/wiki/File:BD_Weighing_of_the_Heart.jpg", + "flavor": "The Egyptian land of the dead is called the Duat, where the souls of the deceased undergo the final judgment of the \"Weighing of the Heart\".", + "attack": "", + "defense": "", + "power": "", + "tags": "landscape", + "ability_name": "", + "ability_text": "When an entity would be defeated, that entity may make a die roll. If that roll is even, that entity remains in the battle with 1 energy point. Each entity may only use this ability once per round.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Mount Olympus", + "name_ang": "mount_olympus", + "num": "S01N04", + "culture": "Greek", + "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", + "race": "", + "race_idx": "", + "type": "Battleground", + "type_idx": "battleground", + "element": "Earth", + "element_idx": "earth", + "image": "battlegrounds/greek/olympus.jpg", + "credit": "Francisco Bayeu, 1762.", + "source": "https://commons.wikimedia.org/wiki/File:El_Olimpo_batalla_con_los_gigantes.jpg", + "flavor": "Many of the Greek gods and goddesses live on Mount Olympus, which contains the palaces of the gods within its crevasses, as well their meeting place, Pantheon.", + "attack": "", + "defense": "", + "power": "", + "tags": "landscape", + "ability_name": "", + "ability_text": "When an entity loses a clash, remove two energy points from that entity.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "R'lyeh", + "name_ang": "rlyeh", + "num": "S01N05", + "culture": "Old Ones", + "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", + "race": "", + "race_idx": "", + "type": "Battleground", + "type_idx": "battleground", + "element": "Chaos", + "element_idx": "chaos", + "image": "battlegrounds/mythos/rlyeh.jpg", + "credit": "Modified, original by Reimund Bertrams / Pixabay, 2014.", + "source": "https://pixabay.com/en/blue-sky-night-romantic-259458/", + "flavor": "\"[H]alf-seen columns of unsanctified temples that rest on nameless rocks beneath space and reach up to dizzy vacua above the spheres of light and darkness.\"", + "attack": "", + "defense": "", + "power": "", + "tags": "landscape", + "ability_name": "", + "ability_text": "Entities with {CHAOS} or {OLD_ONES} cannot be defeated by any entity's ability.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Asteroid Impact", + "name_ang": "asteroid_impact", + "num": "S01N06", + "culture": "", + "culture_idx": "", + "pantheon": "", + "pantheon_idx": "", + "race": "", + "race_idx": "", + "type": "Intervention", + "type_idx": "intervention", + "element": "Air Chaos Fire", + "element_idx": "air chaos fire", + "image": "interventions/asteroid.jpg", + "credit": "Don Davis / NASA, 1991.", + "source": "https://commons.wikimedia.org/wiki/File:Planetoid_crashing_into_primordial_Earth.jpg", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "", + "ability_name": "", + "ability_text": "This intervention may only be used immediately after an attack hits. Remove up to 2 energy points from an opposing entity.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Avalanche", + "name_ang": "avalanche", + "num": "S01N07", + "culture": "", + "culture_idx": "", + "pantheon": "", + "pantheon_idx": "", + "race": "", + "race_idx": "", + "type": "Intervention", + "type_idx": "intervention", + "element": "Chaos Earth Water", + "element_idx": "chaos earth water", + "image": "interventions/avalanche.jpg", + "credit": "Philipp Jakob Loutherbourg d. J., 1803.", + "source": "http://en.wikipedia.org/wiki/File:Avalanche_on_Everest.JPG", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "", + "ability_name": "", + "ability_text": "This intervention may only be used immediately after an opposing entity makes a defense or clash roll. That roll gets -2.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Blizzard", + "name_ang": "blizzard", + "num": "S01N08", + "culture": "", + "culture_idx": "", + "pantheon": "", + "pantheon_idx": "", + "race": "", + "race_idx": "", + "type": "Intervention", + "type_idx": "intervention", + "element": "Air Earth Law Water", + "element_idx": "air earth law water", + "image": "interventions/blizzard.jpg", + "credit": "MihaiParaschiv / Pixabay, 2016.", + "source": "https://pixabay.com/en/landscape-winter-snow-sky-mountain-1253022/", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "", + "ability_name": "", + "ability_text": "This intervention may only be used immediately after an opposing faction uses an intervention. That intervention is discarded, and its effects are nullified.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Drought", + "name_ang": "drought", + "num": "S01N09", + "culture": "", + "culture_idx": "", + "pantheon": "", + "pantheon_idx": "", + "race": "", + "race_idx": "", + "type": "Intervention", + "type_idx": "intervention", + "element": "Earth Fire Law", + "element_idx": "earth fire law", + "image": "interventions/drought.jpg", + "credit": "Alireza Javaheri, 2003.", + "source": "https://commons.wikimedia.org/wiki/File:Along_the_rail_road_-_Iran_-_Shahroud_-_panoramio.jpg", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "", + "ability_name": "", + "ability_text": "This intervention may only be used immediately after an entity in this faction is attacked and the attack hits. No energy may be removed as a result of that attack.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Firestorm", + "name_ang": "firestorm", + "num": "S01N10", + "culture": "", + "culture_idx": "", + "pantheon": "", + "pantheon_idx": "", + "race": "", + "race_idx": "", + "type": "Intervention", + "type_idx": "intervention", + "element": "Air Chaos Fire Water", + "element_idx": "air chaos fire water", + "image": "interventions/firestorm.jpg", + "credit": "NARA, 1933.", + "source": "https://commons.wikimedia.org/wiki/File:View_of_Tillamook_Fire,_Oregon_from_airplane_-_NARA_-_299308.jpg", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "", + "ability_name": "", + "ability_text": "This intervention may only be used immediately after an attack hits. An entity in this faction may immediately make an attack.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Ice Storm", + "name_ang": "ice_storm", + "num": "S01N11", + "culture": "", + "culture_idx": "", + "pantheon": "", + "pantheon_idx": "", + "race": "", + "race_idx": "", + "type": "Intervention", + "type_idx": "intervention", + "element": "Air Law Water", + "element_idx": "air law water", + "image": "interventions/ice.jpg", + "credit": "Richardfabi / Wikimedia Commons, 2005.", + "source": "https://commons.wikimedia.org/wiki/File:Windbuchencom.jpg", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "", + "ability_name": "", + "ability_text": "This intervention may only be used immediately after a defense roll is made. That roll gets either +2 or -2.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Maelstrom", + "name_ang": "maelstrom", + "num": "S01N12", + "culture": "", + "culture_idx": "", + "pantheon": "", + "pantheon_idx": "", + "race": "", + "race_idx": "", + "type": "Intervention", + "type_idx": "intervention", + "element": "Air Chaos Water", + "element_idx": "air chaos water", + "image": "interventions/maelstrom.jpg", + "credit": "Harry Clarke, 1919.", + "source": "https://commons.wikimedia.org/wiki/File:Maelstrom-Clarke.jpg", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "", + "ability_name": "", + "ability_text": "This intervention may only be used immediately after an entity in this faction makes an attack and the attack misses. Remove up to 2 energy points from an opposing entity.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Sunblast", + "name_ang": "sunblast", + "num": "S01N13", + "culture": "", + "culture_idx": "", + "pantheon": "", + "pantheon_idx": "", + "race": "", + "race_idx": "", + "type": "Intervention", + "type_idx": "intervention", + "element": "Air Fire Law", + "element_idx": "air fire law", + "image": "interventions/sunblast.jpg", + "credit": "CopyrightFreePhotos.HQ101.com, 2005.", + "source": "https://commons.wikimedia.org/wiki/File:Sun_Halo.JPG", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "", + "ability_name": "", + "ability_text": "This intervention may only be used immediately after an attack roll is made. That roll gets either +2 or -2.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Tsunami", + "name_ang": "tsunami", + "num": "S01N14", + "culture": "", + "culture_idx": "", + "pantheon": "", + "pantheon_idx": "", + "race": "", + "race_idx": "", + "type": "Intervention", + "type_idx": "intervention", + "element": "Earth Law Water", + "element_idx": "earth law water", + "image": "interventions/tsunami.jpg", + "credit": "Jon Sullivan, ca. 2009.", + "source": "https://commons.wikimedia.org/wiki/File:Ocean_surface_wave.jpg", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "", + "ability_name": "", + "ability_text": "This intervention may only be used immediately after an entity in this faction makes an attack or clash roll. That roll gets +2.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Volcanic Blast", + "name_ang": "volcanic_blast", + "num": "S01N15", + "culture": "", + "culture_idx": "", + "pantheon": "", + "pantheon_idx": "", + "race": "", + "race_idx": "", + "type": "Intervention", + "type_idx": "intervention", + "element": "Chaos Earth Fire Law", + "element_idx": "chaos earth fire law", + "image": "interventions/volcanic2.jpg", + "credit": "Joseph Wright of Derby, ca. 1776.", + "source": "http://commons.wikimedia.org/wiki/File:Puu_oo.jpg", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "", + "ability_name": "", + "ability_text": "This intervention may only be used immediately after an entity in this faction is defeated. Remove up to 3 energy points from an opposing entity.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Wildfire", + "name_ang": "wildfire", + "num": "S01N16", + "culture": "", + "culture_idx": "", + "pantheon": "", + "pantheon_idx": "", + "race": "", + "race_idx": "", + "type": "Intervention", + "type_idx": "intervention", + "element": "Chaos Earth Fire", + "element_idx": "chaos earth fire", + "image": "interventions/wildfire.jpg", + "credit": "FEMA, 1996.", + "source": "https://commons.wikimedia.org/wiki/File:FEMA_-_1502_-_Photograph_by_FEMA_News_Photo_taken_on_10-23-1996_in_California.jpg", + "flavor": "", + "attack": "", + "defense": "", + "power": "", + "tags": "", + "ability_name": "", + "ability_text": "This intervention may only be used immediately after an entity in this faction is attacked and the attack hits. Remove up to 2 energy points from the attacking entity.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Prometheus", + "name_ang": "prometheus", + "num": "S01P01", + "culture": "Greek", + "culture_idx": "greek", + "pantheon": "Greek", + "pantheon_idx": "greek", + "race": "God Titan Deity", + "race_idx": "god titan deity", + "type": "Entity", + "type_idx": "entity", + "element": "Law", + "element_idx": "law", + "image": "greek/prometheus.jpg", + "credit": "Theodoor Rombouts, ca. 1620-1635.", + "source": "https://commons.wikimedia.org/wiki/File:Rubens_-_Prometheus_Bound.jpg", + "flavor": "Prometheus was said to have stolen fire from the gods and given it to humans, earning the wrath of Zeus.", + "attack": "6", + "defense": "6", + "power": "7", + "tags": "", + "ability_name": "Stealer of Fire", + "ability_text": "Deities with {FIRE} have no abilities.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } +, { + "name": "Cthulhu", + "name_ang": "cthulhu", + "num": "S01P02", + "culture": "Old Ones", + "culture_idx": "old-ones", + "pantheon": "Old Ones", + "pantheon_idx": "old-ones", + "race": "God Deity", + "race_idx": "god deity", + "type": "Entity", + "type_idx": "entity", + "element": "Chaos", + "element_idx": "chaos", + "image": "mythos/cthulhu-sea.jpg", + "credit": "Modified, original copyright Somnolent-Droid / DeviantArt, 2012.", + "source": "http://somnolent-droid.deviantart.com/art/Cthulhu-sleeps-316062905", + "flavor": "\"That is not dead which can eternal lie. And with strange aeons even death may die.\"", + "attack": "7", + "defense": "6", + "power": "7", + "tags": "", + "ability_name": "The Sleeper of R'lyeh", + "ability_text": "When this god is invoked, and at the start of each round, this god may clash with an opposing entity. When this god wins a clash, he may remove an energy point from an opposing entity.", + "copyright_year": "2016-2017", + "copyright_owner": "Eric Woodward", + "copyright_license": "All Rights Reserved", + "copyright_licensee": "Excalibre Games" + } ] diff --git a/lib/links.json b/lib/links.json new file mode 100644 index 0000000..227f0aa --- /dev/null +++ b/lib/links.json @@ -0,0 +1,323 @@ +{ + "Chalchiuhtlicue" : { + "wp": "https://en.wikipedia.org/wiki/Chalchiuhtlicue" + }, + "Chicomecōātl" : { + "wp": "https://en.wikipedia.org/wiki/Chicomecoatl" + }, + "Cihuacóatl" : { + "wp": "https://en.wikipedia.org/wiki/Cihuacoatl" + }, + "Coatlicue" : { + "wp": "https://en.wikipedia.org/wiki/Coatlicue" + }, + "Huehuetéotl" : { + "wp": "https://en.wikipedia.org/wiki/Huehueteotl" + }, + "Huitzilopochtli" : { + "wp": "https://en.wikipedia.org/wiki/Huitzilopochtli" + }, + "Mictecacihuatl" : { + "wp": "https://en.wikipedia.org/wiki/Mictecacihuatl" + }, + "Mictlantecuhtli" : { + "wp": "https://en.wikipedia.org/wiki/Mictlantecuhtli" + }, + "Quetzalcóatl" : { + "wp": "https://en.wikipedia.org/wiki/Quetzalcoatl" + }, + "Tezcatlipōca" : { + "wp": "https://en.wikipedia.org/wiki/Tezcatlipoca" + }, + "Tlālōc" : { + "wp": "https://en.wikipedia.org/wiki/Tlaloc" + }, + "Xiuhtecuhtli" : { + "wp": "https://en.wikipedia.org/wiki/Xiuhtecuhtli" + }, + "Amun" : { + "wp": "https://en.wikipedia.org/wiki/Amun" + }, + "Anubis" : { + "wp": "https://en.wikipedia.org/wiki/Anubis" + }, + "Hathor" : { + "wp": "https://en.wikipedia.org/wiki/Hathor" + }, + "Horus" : { + "wp": "https://en.wikipedia.org/wiki/Horus" + }, + "Isis" : { + "wp": "https://en.wikipedia.org/wiki/Isis" + }, + "Osiris" : { + "wp": "https://en.wikipedia.org/wiki/Osiris" + }, + "Ra" : { + "wp": "https://en.wikipedia.org/wiki/Ra" + }, + "Seker" : { + "wp": "https://en.wikipedia.org/wiki/Seker" + }, + "Sekhmet" : { + "wp": "https://en.wikipedia.org/wiki/Sekhmet" + }, + "Set" : { + "wp": "https://en.wikipedia.org/wiki/Set_(deity)" + }, + "Taweret" : { + "wp": "https://en.wikipedia.org/wiki/Taweret" + }, + "Wadjet" : { + "wp": "https://en.wikipedia.org/wiki/Wadjet" + }, + "Aphrodite" : { + "wp": "https://en.wikipedia.org/wiki/Aphrodite" + }, + "Apollo" : { + "wp": "https://en.wikipedia.org/wiki/Apollo" + }, + "Ares" : { + "wp": "https://en.wikipedia.org/wiki/Ares" + }, + "Artemis" : { + "wp": "https://en.wikipedia.org/wiki/Artemis" + }, + "Athena" : { + "wp": "https://en.wikipedia.org/wiki/Athena" + }, + "Demeter" : { + "wp": "https://en.wikipedia.org/wiki/Demeter" + }, + "Hephaestus" : { + "wp": "https://en.wikipedia.org/wiki/Hephaestus" + }, + "Hera" : { + "wp": "https://en.wikipedia.org/wiki/Hera" + }, + "Hermes" : { + "wp": "https://en.wikipedia.org/wiki/Hermes" + }, + "Hestia" : { + "wp": "https://en.wikipedia.org/wiki/Hestia" + }, + "Poseidon" : { + "wp": "https://en.wikipedia.org/wiki/Poseidon" + }, + "Zeus" : { + "wp": "https://en.wikipedia.org/wiki/Zeus" + }, + "Amaterasu" : { + "wp": "https://en.wikipedia.org/wiki/Amaterasu" + }, + "Benzaiten" : { + "wp": "https://en.wikipedia.org/wiki/Benzaiten" + }, + "Bishamonten" : { + "wp": "Bishamonten" + }, + "Fūjin" : { + "wp": "https://en.wikipedia.org/wiki/F%C5%ABjin" + }, + "Izanagi" : { + "wp": "https://en.wikipedia.org/wiki/Izanagi" + }, + "Izanami" : { + "wp": "https://en.wikipedia.org/wiki/Izanami" + }, + "Jurōjin" : { + "wp": "https://en.wikipedia.org/wiki/Jur%C5%8Djin" + }, + "Oinari" : { + "wp": "https://en.wikipedia.org/wiki/Inari_%C5%8Ckami" + }, + "Raijin" : { + "wp": "https://en.wikipedia.org/wiki/Raijin" + }, + "Ryūjin" : { + "wp": "https://en.wikipedia.org/wiki/Raijin" + }, + "Shōki" : { + "wp": "https://en.wikipedia.org/wiki/Zhong_Kui" + }, + "Susanoo" : { + "wp": "https://en.wikipedia.org/wiki/Susanoo-no-Mikoto" + }, + "Baldr" : { + "wp": "https://en.wikipedia.org/wiki/Baldr" + }, + "Freyja" : { + "wp": "https://en.wikipedia.org/wiki/Freyja" + }, + "Frigg" : { + "wp": "https://en.wikipedia.org/wiki/Frigg" + }, + "Freyr" : { + "wp": "https://en.wikipedia.org/wiki/Freyr" + }, + "Heimdallr" : { + "wp": "https://en.wikipedia.org/wiki/Heimdallr" + }, + "Hel" : { + "wp": "https://en.wikipedia.org/wiki/Hel_(being)" + }, + "Iðunn" : { + "wp": "https://en.wikipedia.org/wiki/I%C3%B0unn" + }, + "Loki" : { + "wp": "https://en.wikipedia.org/wiki/Loki" + }, + "Óðin" : { + "wp": "https://en.wikipedia.org/wiki/Odin" + }, + "Skaði" : { + "wp": "https://en.wikipedia.org/wiki/Ska%C3%B0i" + }, + "Sól" : { + "wp": "https://en.wikipedia.org/wiki/S%C3%B3l_(sun)" + }, + "Thor" : { + "wp": "https://en.wikipedia.org/wiki/Thor" + }, + "Bau" : { + "wp": "https://en.wikipedia.org/wiki/Nintinugga" + }, + "Enki" : { + "wp": "https://en.wikipedia.org/wiki/Enki" + }, + "Enlil" : { + "wp": "https://en.wikipedia.org/wiki/Enlil" + }, + "Ereškigal" : { + "wp": "https://en.wikipedia.org/wiki/Ereshkigal" + }, + "Inanna" : { + "wp": "https://en.wikipedia.org/wiki/Inanna" + }, + "Iškur" : { + "wp": "https://en.wikipedia.org/wiki/Hadad" + }, + "Nanãya" : { + "wp": "https://en.wikipedia.org/wiki/Nanaya" + }, + "Narundi" : { + }, + "Ningal" : { + "wp": "https://en.wikipedia.org/wiki/Ningal" + }, + "Ninsumun" : { + "wp": "https://en.wikipedia.org/wiki/Ninsun" + }, + "Ninurta" : { + "wp": "https://en.wikipedia.org/wiki/Ninurta" + }, + "Utu" : { + "wp": "https://en.wikipedia.org/wiki/Utu" + }, + "Cihuātēotl" : { + "wp": "https://en.wikipedia.org/wiki/Cihuateteo" + }, + "Sphinx" : { + "wp": "https://en.wikipedia.org/wiki/Sphinx" + }, + "Hydra" : { + "wp": "https://en.wikipedia.org/wiki/Lernaean_Hydra" + }, + "Raiju" : { + "wp": "https://en.wikipedia.org/wiki/Raij%C5%AB" + }, + "Valkyrie" : { + "wp": "https://en.wikipedia.org/wiki/Valkyrie" + }, + "Anzû" : { + "wp": "https://en.wikipedia.org/wiki/Anz%C3%BB_(mythology)" + }, + "Azathoth" : { + "wp": "https://en.wikipedia.org/wiki/Azathoth", + "lc": "http://lovecraft.wikia.com/wiki/Azathoth" + }, + "Cthulhu" : { + "wp": "https://en.wikipedia.org/wiki/Cthulhu", + "lc": "http://lovecraft.wikia.com/wiki/Cthulhu" + }, + "Father Dagon" : { + "wp": "https://en.wikipedia.org/wiki/Dagon_(Cthulhu_Mythos)", + "lc": "http://lovecraft.wikia.com/wiki/Dagon" + }, + "Hastur" : { + "wp": "https://en.wikipedia.org/wiki/Hastur", + "lc": "http://lovecraft.wikia.com/wiki/Hastur" + }, + "Hypnos" : { + "wp": "https://en.wikipedia.org/wiki/Hypnos", + "lc": "http://lovecraft.wikia.com/wiki/Hypnos" + }, + "Mother Hydra" : { + "lc": "http://lovecraft.wikia.com/wiki/Hydra" + }, + "Nyarlathotep" : { + "wp": "https://en.wikipedia.org/wiki/Nyarlathotep", + "lc": "http://lovecraft.wikia.com/wiki/Nyarlathotep" + }, + "Yog-Sothoth" : { + "wp": "https://en.wikipedia.org/wiki/Yog-Sothoth", + "lc": "http://lovecraft.wikia.com/wiki/Yog-Sothoth" + }, + "Deep One" : { + "wp": "https://en.wikipedia.org/wiki/Deep_One", + "lc": "http://lovecraft.wikia.com/wiki/Deep_One" + }, + "Shoggoth" : { + "wp": "https://en.wikipedia.org/wiki/Shoggoth", + "lc": "http://lovecraft.wikia.com/wiki/Shoggoth" + }, + "Arena of Eternity" : { + }, + "Bifröst" : { + "wp": "https://en.wikipedia.org/wiki/Bifr%C3%B6st" + }, + "Duat" : { + "wp": "https://en.wikipedia.org/wiki/Duat" + }, + "Mount Olympus" : { + "wp": "https://en.wikipedia.org/wiki/Mount_Olympus" + }, + "R'lyeh" : { + "wp": "https://en.wikipedia.org/wiki/R%27lyeh" + }, + "Asteroid Impact" : { + "wp": "https://en.wikipedia.org/wiki/Asteroid_Impact" + }, + "Avalanche" : { + "wp": "https://en.wikipedia.org/wiki/Avalanche" + }, + "Blizzard" : { + "wp": "https://en.wikipedia.org/wiki/Blizzard" + }, + "Drought" : { + "wp": "https://en.wikipedia.org/wiki/Drought" + }, + "Firestorm" : { + "wp": "https://en.wikipedia.org/wiki/Firestorm" + }, + "Ice Storm" : { + "wp": "https://en.wikipedia.org/wiki/Ice_storm" + }, + "Maelstrom" : { + "wp": "https://en.wikipedia.org/wiki/Maelstrom" + }, + "Sunblast" : { + }, + "Tsunami" : { + "wp": "https://en.wikipedia.org/wiki/Tsunami" + }, + "Volcanic Blast" : { + "wp": "https://en.wikipedia.org/wiki/Eruption" + }, + "Wildfire" : { + "wp": "https://en.wikipedia.org/wiki/Wildfire" + }, + "Prometheus" : { + "wp": "https://en.wikipedia.org/wiki/Prometheus" + } +} diff --git a/package.json b/package.json index ab9bc35..8dd95d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mysticbits/codex-mythica", - "version": "0.1.5", + "version": "0.1.6", "private": true, "scripts": { "start": "nodejs ./bin/www" diff --git a/routes/index.js b/routes/index.js index f04c2f7..1090491 100644 --- a/routes/index.js +++ b/routes/index.js @@ -1,7 +1,24 @@ 'use strict'; -var express = require('express'); -var router = express.Router(); +const + express = require('express'), + sortByName = function(list) { + let + coll_opts = { + sensitivity: 'accent', + numeric: true, + caseFirst: "upper" + }, + coll = new Intl.Collator({}, coll_opts); + list.sort((a,b) => { + if (a[field] && b[field]) { + return coll.compare(a[field], b[field]); + } + return 1; + }); + return list; + }; +let router = express.Router(); /* GET home page. */ router.get('/', function(req, res) { @@ -12,11 +29,18 @@ router.get('/cards/:card_num', (req, res) => { req.params.card_num = (req.params.card_num || 'all'); let cards = require('../lib/cards.json'), - filtered = cards.filter(card => card.num.toLowerCase().indexOf(req.params.card_num.toLowerCase()) > -1 || req.params.card_num.toLowerCase() === 'all'); - + links = require('../lib/links.json'), + filtered = cards.filter(card => + card.num.toLowerCase().indexOf(req.params.card_num.toLowerCase()) > -1 || req.params.card_num.toLowerCase() === 'all' + ); if (filtered.length === 1) { - res.render('single', { title: filtered[0].name + ' (' + filtered[0].num + ')', card: filtered[0] }); + let card = filtered[0]; + if (links && card.hasOwnProperty('name') && links.hasOwnProperty(card.name)) { + Object.assign(card, links[card.name]); + } + res.render('single', { title: card.name + ' (' + card.num + ')', card: card }); } else { + filtered = sortByName(filtered); res.render('all', { title: 'All Cards', cards: filtered }); } }); @@ -25,5 +49,4 @@ router.get('/cards', function(req, res) { res.redirect('/cards/all'); }); - module.exports = router; diff --git a/routes/search.js b/routes/search.js index 9a955cd..0a3d88d 100644 --- a/routes/search.js +++ b/routes/search.js @@ -1,7 +1,32 @@ 'use strict'; -var express = require('express'); -var router = express.Router(); + +const + express = require('express'), + sortByField = function(field, order, list) { + field = (field || 'num'); + order = (order || 'asc'); + let + coll_opts = { + sensitivity: 'accent', + numeric: true, + caseFirst: "upper" + }, + coll = new Intl.Collator({}, coll_opts); + list.sort((a,b) => { + if (a[field] && b[field]) { + let res = coll.compare(a[field], b[field]) * (order !== 'asc' ? -1 : 1); + if (res === 0 && field !== 'name') { + return coll.compare(a['name'], b['name']) * (order !== 'asc' ? -1 : 1); + } + return res; + } + return 1; + }); + return list; + }; + +let router = express.Router(); /* GET search results page. */ router.get('/', function(req, res) { @@ -23,89 +48,96 @@ router.get('/', function(req, res) { q.races = Array.isArray(q.races) ? q.races : [q.races]; q.releases = (q.releases || []); q.releases = Array.isArray(q.releases) ? q.releases : [q.releases]; + q.sort_by = (q.sort_by || 'num').trim().toLowerCase(); + q.sort_order = (q.sort_order || 'asc').trim().toLowerCase(); + + console.log(`sort_by: ${q.sort_by}`); filtered = cards.filter(card => { - if (q.search_in.length > 0 && q.search_for.trim() !== '') { - if (!( - (q.search_in.indexOf('name') > -1 && (card.name.toLowerCase().indexOf(q.search_for) > -1 || card.name_ang.indexOf(q.search_for) > -1)) || - (q.search_in.indexOf('ability') > -1 && (card.ability_name.toLowerCase().indexOf(q.search_for) > -1 || card.ability_text.toLowerCase().indexOf(q.search_for) > -1)))) { + if (q.search_in.length > 0 && q.search_for.trim() !== '') { + if (!( + (q.search_in.indexOf('name') > -1 && (card.name.toLowerCase().indexOf(q.search_for) > -1 || card.name_ang.indexOf(q.search_for) > -1)) || + (q.search_in.indexOf('ability') > -1 && (card.ability_name.toLowerCase().indexOf(q.search_for) > -1 || card.ability_text.toLowerCase().indexOf(q.search_for) > -1)))) { + return false; + } + + } + + if (q.pantheons.length > 0 && card.pantheon) { + let + has_pantheon = false; + for (let i=0; i < q.pantheons.length; i++) { + if (card.pantheon_idx.indexOf(q.pantheons[i]) > -1) { + has_pantheon = true; + } + } + if (!has_pantheon) { return false; } + } - } - - if (q.pantheons.length > 0 && card.culture !== '') { - let - has_pantheon = false; - for (let i=0; i < q.pantheons.length; i++) { - if (card.culture_idx.indexOf(q.pantheons[i]) > -1) { - has_pantheon = true; + if (q.elements.length > 0) { + let + has_element = false; + for (let i=0; i < q.elements.length; i++) { + if (card.element_idx.indexOf(q.elements[i]) > -1) { + has_element = true; + } + } + if (!has_element) { + return false; } } - if (!has_pantheon) { - return false; - } - } - if (q.elements.length > 0) { - let - has_element = false; - for (let i=0; i < q.elements.length; i++) { - if (card.element_idx.indexOf(q.elements[i]) > -1) { - has_element = true; + if (q.races.length > 0 && card.race) { + let + has_race = false; + for (let i=0; i < q.races.length; i++) { + if (card.race_idx.indexOf(q.races[i]) > -1) { + has_race = true; + } + } + if (!has_race) { + return false; } } - if (!has_element) { - return false; - } - } - if (q.races.length > 0 && card.race !== '') { - let - has_race = false; - for (let i=0; i < q.races.length; i++) { - if (card.race_idx.indexOf(q.races[i]) > -1) { - has_race = true; + if (q.types.length > 0) { + let + has_type = false; + for (let i=0; i < q.types.length; i++) { + if (card.type_idx.indexOf(q.types[i]) > -1) { + has_type = true; + } + } + if (!has_type) { + return false; } } - if (!has_race) { - return false; - } - } - if (q.types.length > 0) { - let - has_type = false; - for (let i=0; i < q.types.length; i++) { - if (card.type_idx.indexOf(q.types[i]) > -1) { - has_type = true; + if (q.releases.length > 0) { + let + has_release = false; + for (let i=0; i < q.releases.length; i++) { + if (card.num.toLowerCase().indexOf(q.releases[i]) > -1) { + has_release = true; + } + } + if (!has_release) { + return false; } } - if (!has_type) { - return false; - } - } - - if (q.releases.length > 0) { - let - has_release = false; - for (let i=0; i < q.releases.length; i++) { - if (card.num.toLowerCase().indexOf(q.releases[i]) > -1) { - has_release = true; - } - } - if (!has_release) { - return false; - } - } - - return true; - }); + return true; + }); + if (q.sort_by !== 'name') { + filtered = sortByField('name', q.sort_order, filtered); + } + filtered = sortByField(q.sort_by, q.sort_order, filtered); } - res.render('search', { title: 'Search Results', query: req.query, cards: filtered }); + res.render('search', { title:`Search Results (${filtered.length})`, query: req.query, cards: filtered }); }); module.exports = router; diff --git a/views/partials/card.ejs b/views/partials/card.ejs index 610864e..5f92347 100644 --- a/views/partials/card.ejs +++ b/views/partials/card.ejs @@ -23,10 +23,10 @@
Release
<%- release_map[card.num.toLowerCase().substr(0,4)] %>
- <% if (card.culture !== '') { %> + <% if (card.pantheon !== '') { %>
Pantheon
-
<%= card.culture %>
+
<%= card.pantheon %>
<% } %> @@ -108,6 +108,18 @@
Flavor
<%- card.flavor %>
<% } %> + <% if ((card.wp && card.wp !== '') || (card.lc && card.lc !== '')) { %> +
Learn More
+
+ <% if (card.wp && card.wp !== '') { %> + Wikipedia + <% } %> + <% if (card.lc && card.lc !== '') { %> + Lovecraft Wiki + <% } %> +
+ <% } %> +
Copyright
© <%= card.copyright_year %> <%= card.copyright_owner %>
diff --git a/views/partials/preview.ejs b/views/partials/preview.ejs index 5d7d9ab..e07264e 100644 --- a/views/partials/preview.ejs +++ b/views/partials/preview.ejs @@ -8,9 +8,9 @@
<%= card.name %> - <% if (card.culture !== '') { %> - <%= card.culture %> + <% if (card.pantheon !== '') { %> + <%= card.pantheon %> <% } %> <%= card.num.toUpperCase() %>
<% if (card.race != '') { %> diff --git a/views/partials/search_form.ejs b/views/partials/search_form.ejs index 0b16a41..45e34ad 100644 --- a/views/partials/search_form.ejs +++ b/views/partials/search_form.ejs @@ -251,9 +251,49 @@ +
  • + + +
  • -
    Controls