{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/icons/washerwoman.png","webpack:///./src/assets/icons/barista.png","webpack:///./src/assets/icons/cerenovus.png","webpack:///./src/assets/icons/amnesiac.png","webpack:///./src/assets/icons/shabaloth.png","webpack:///./src/components/Vote.vue?797d","webpack:///./src/assets/icons/lunatic.png","webpack:///./src/assets/icons/oracle.png","webpack:///./src/assets/icons/ravenkeeper.png","webpack:///./src/assets/icons/undertaker.png","webpack:///./src/assets/icons/chambermaid.png","webpack:///./src/assets/icons/plus.png","webpack:///./src/assets/icons/recluse.png","webpack:///./src/assets/icons/mutant.png","webpack:///./src/components/Screenshot.vue?8b06","webpack:///./src/assets/icons/chef.png","webpack:///./src/assets/icons/zombuul.png","webpack:///./src/assets/icons/sailor.png","webpack:///./src/assets/icons/widow.png","webpack:///./src/assets/icons/bonecollector.png","webpack:///./src/assets/icons/baron.png","webpack:///./src/assets/icons/bureaucrat.png","webpack:///./src/assets/icons/leviathan.png","webpack:///./src/assets/icons/artist.png","webpack:///./src/assets/icons/sage.png","webpack:///./src/assets/icons/scapegoat.png","webpack:///./src/assets/icons/philosopher.png","webpack:///./src/components/TownSquare.vue?b88a","webpack:///./src/assets/icons/butcher.png","webpack:///./src/assets/icons/towncrier.png","webpack:///./src/assets/icons/vortox.png","webpack:///./src/assets/icons/deviant.png","webpack:///./src/assets/icons/imp.png","webpack:///./src/assets/icons/moonchild.png","webpack:///./src/components/Gradients.vue?8fc3","webpack:///./src/assets/icons/snakecharmer.png","webpack:///./src/assets/icons/fortuneteller.png","webpack:///./src/assets/icons/fool.png","webpack:///./src/assets/icons/apprentice.png","webpack:///./src/assets/icons/librarian.png","webpack:///./src/assets/icons/soldier.png","webpack:///./src/components/Intro.vue?e756","webpack:///./src/assets/icons/minstrel.png","webpack:///./src/assets/icons/exorcist.png","webpack:///./src/assets/icons/harlot.png","webpack:///./src/assets/icons/goon.png","webpack:///./src/App.vue?876b","webpack:///./src/components/TownSquare.vue?ca3b","webpack:///./src/components/Player.vue?7dca","webpack:///./src/components/Token.vue?102e","webpack:///src/components/Token.vue","webpack:///./src/components/Token.vue?ca97","webpack:///./src/components/Token.vue","webpack:///src/components/Player.vue","webpack:///./src/components/Player.vue?1369","webpack:///./src/components/Player.vue","webpack:///./src/components/modals/ReminderModal.vue?8ce4","webpack:///./src/components/modals/Modal.vue?f762","webpack:///src/components/modals/Modal.vue","webpack:///./src/components/modals/Modal.vue?a5e5","webpack:///./src/components/modals/Modal.vue","webpack:///src/components/modals/ReminderModal.vue","webpack:///./src/components/modals/ReminderModal.vue?c533","webpack:///./src/components/modals/ReminderModal.vue","webpack:///./src/components/modals/RoleModal.vue?8410","webpack:///src/components/modals/RoleModal.vue","webpack:///./src/components/modals/RoleModal.vue?15f8","webpack:///./src/components/modals/RoleModal.vue","webpack:///src/components/TownSquare.vue","webpack:///./src/components/TownSquare.vue?335a","webpack:///./src/components/TownSquare.vue","webpack:///./src/components/TownInfo.vue?a24a","webpack:///src/components/TownInfo.vue","webpack:///./src/components/TownInfo.vue?6260","webpack:///./src/components/TownInfo.vue","webpack:///./src/components/Menu.vue?511a","webpack:///./src/components/Screenshot.vue?25b2","webpack:///src/components/Screenshot.vue","webpack:///./src/components/Screenshot.vue?82cf","webpack:///./src/components/Screenshot.vue","webpack:///src/components/Menu.vue","webpack:///./src/components/Menu.vue?9842","webpack:///./src/components/Menu.vue","webpack:///./src/components/modals/RolesModal.vue?6b78","webpack:///src/components/modals/RolesModal.vue","webpack:///./src/components/modals/RolesModal.vue?b003","webpack:///./src/components/modals/RolesModal.vue","webpack:///./src/components/modals/EditionModal.vue?6833","webpack:///src/components/modals/EditionModal.vue","webpack:///./src/components/modals/EditionModal.vue?d6f4","webpack:///./src/components/modals/EditionModal.vue","webpack:///./src/components/Intro.vue?5932","webpack:///src/components/Intro.vue","webpack:///./src/components/Intro.vue?a380","webpack:///./src/components/Intro.vue","webpack:///./src/components/modals/ReferenceModal.vue?5e2b","webpack:///src/components/modals/ReferenceModal.vue","webpack:///./src/components/modals/ReferenceModal.vue?c23b","webpack:///./src/components/modals/ReferenceModal.vue","webpack:///./src/components/Vote.vue?cb2a","webpack:///src/components/Vote.vue","webpack:///./src/components/Vote.vue?2a1c","webpack:///./src/components/Vote.vue","webpack:///./src/components/Gradients.vue?1d20","webpack:///src/components/Gradients.vue","webpack:///./src/components/Gradients.vue?d8ff","webpack:///./src/components/Gradients.vue","webpack:///src/App.vue","webpack:///./src/App.vue?b65f","webpack:///./src/App.vue","webpack:///./src/store/socket.js","webpack:///./src/store/modules/players.js","webpack:///./src/store/modules/session.js","webpack:///./src/store/index.js","webpack:///./src/main.js","webpack:///./src/components/modals/EditionModal.vue?ba51","webpack:///./src/assets/icons/cannibal.png","webpack:///./src/App.vue?6ee5","webpack:///./src/assets/icons/goblin.png","webpack:///./src/assets/icons/x.png","webpack:///./src/assets/icons sync ^\\.\\/.*\\.png$","webpack:///./src/assets/icons/butler.png","webpack:///./src/assets/icons/juggler.png","webpack:///./src/assets/icons/balloonist.png","webpack:///./src/assets/icons/innkeeper.png","webpack:///./src/assets/icons/good.png","webpack:///./src/assets/icons/flowergirl.png","webpack:///./src/assets/icons/monk.png","webpack:///./src/assets/icons/nodashii.png","webpack:///./src/assets/icons/saint.png","webpack:///./src/assets/icons/fanggu.png","webpack:///./src/components/modals/ReminderModal.vue?effe","webpack:///./src/assets/icons/dreamer.png","webpack:///./src/components/Player.vue?6d3c","webpack:///./src/components/modals/RolesModal.vue?d184","webpack:///./src/assets/icons/pithag.png","webpack:///./src/assets/icons/bishop.png","webpack:///./src/components/modals/Modal.vue?3563","webpack:///./src/assets/icons/mathematician.png","webpack:///./src/assets/icons/assassin.png","webpack:///./src/assets/icons/godfather.png","webpack:///./src/assets/icons/thief.png","webpack:///./src/assets/icons/tinker.png","webpack:///./src/assets/icons/pukka.png","webpack:///./src/assets/icons/voudon.png","webpack:///./src/assets/icons/seamstress.png","webpack:///./src/assets/icons/klutz.png","webpack:///./src/assets/icons/matron.png","webpack:///./src/components/TownInfo.vue?f155","webpack:///./src/assets/icons/mayor.png","webpack:///./src/assets/icons/professor.png","webpack:///./src/assets/icons/investigator.png","webpack:///./src/assets/icons/tealady.png","webpack:///./src/assets/icons/empath.png","webpack:///./src/assets/icons/evil.png","webpack:///./src/assets/icons/fisherman.png","webpack:///./src/assets/icons/po.png","webpack:///./src/assets/icons/grandmother.png","webpack:///./src/assets/icons/gossip.png","webpack:///./src/assets/icons/devilsadvocate.png","webpack:///./src/assets/icons/beggar.png","webpack:///./src/components/Token.vue?ab2f","webpack:///./src/assets/icons/slayer.png","webpack:///./src/assets/icons/savant.png","webpack:///./src/assets/icons/drunk.png","webpack:///./src/components/modals/ReferenceModal.vue?db13","webpack:///./src/assets/icons/gambler.png","webpack:///./src/store/persistence.js","webpack:///./src/assets/icons/eviltwin.png","webpack:///./src/assets/icons/spy.png","webpack:///./src/assets/icons/courtier.png","webpack:///./src/components/modals/RoleModal.vue?3ac5","webpack:///./src/assets/icons/gunslinger.png","webpack:///./src/assets/icons/virgin.png","webpack:///./src/assets/icons/judge.png","webpack:///./src/assets/icons/sweetheart.png","webpack:///./src/assets/icons/poisoner.png","webpack:///./src/assets/icons/scarletwoman.png","webpack:///./src/assets/icons/vigormortis.png","webpack:///./src/assets/icons/witch.png","webpack:///./src/assets/icons/mastermind.png","webpack:///./src/assets/icons/clockmaker.png","webpack:///./src/assets/icons/barber.png","webpack:///./src/assets/icons/custom.png","webpack:///./src/components/Menu.vue?9d13","webpack:///./src/assets/icons/pacifist.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","class","screenshot","grimoire","isScreenshot","style","backgroundImage","background","attrs","on","keyup","players","_e","session","nomination","takeScreenshot","ref","_v","_s","version","staticRenderFns","staticClass","public","isPublic","spectator","isSpectator","vote","_l","player","index","from","Math","max","swap","move","nominate","$event","$emit","handleTrigger","closed","isBluffsOpen","stopPropagation","toggleBluffs","openRoleModal","bluffs","selectedPlayer","dead","isDead","isVoteless","you","sessionId","id","playerId","votes","voteLocked","role","team","toggleStatus","nightOrder","first","isNightOrder","_f","firstNightReminder","other","otherNightReminder","cancel","swapPlayer","movePlayer","nominatePlayer","updatePlayer","active","isMenuOpen","changeName","removePlayer","claimSeat","reminder","removeReminder","setRole","reminders","ability","props","type","default","filters","nameToFontSize","methods","component","components","Token","required","computed","indexOf","indexAdjusted","lockedVote","zoom","unit","innerWidth","innerHeight","width","isSwap","handleEmojis","text","replace","height","x","y","$refs","getBoundingClientRect","prompt","$store","commit","playerIndex","directives","rawName","modals","availableReminders","expression","toggleModal","addReminder","close","_t","Modal","state","roles","forEach","some","map","availableRoles","Player","RoleModal","ReminderModal","method","params","confirm","to","undefined","edition","teams","traveler","alive","townsfolk","outsider","minion","demon","nonTravelers","getters","filter","game","leaveSession","playerCount","success","isScreenshotSuccess","open","toggleMenu","tab","toggleGrimoire","toggleNightOrder","setZoom","round","setBackground","hostSession","joinSession","copySessionUrl","addPlayer","randomizeSeatings","clearPlayers","clearRoles","stream","canvas","video","alert","navigator","mediaDevices","getDisplayMedia","cursor","audio","err","srcObject","play","setTimeout","context","getContext","setAttribute","videoWidth","videoHeight","drawImage","toBlob","blob","item","ClipboardItem","clipboard","write","Screenshot","dimensions","capture","random","substr","permissions","query","then","url","location","href","split","link","writeText","dispatch","teamRoles","selected","disabled","selectedRoles","assignRoles","selectRandomRoles","randomElement","arr","floor","roleSelection","values","reduce","a","b","hasSelectedSetupRoles","setup","$set","composition","keys","available","sort","pop","mounted","watch","isCustom","script","handleURL","handleUpload","openUpload","promptURL","setEdition","editions","scripts","upload","click","file","files","size","reader","FileReader","addEventListener","parseScript","JSON","parse","readAsText","res","fetch","json","editionName","playersByRole","join","find","rolesGrouped","rolesFirstNight","firstNight","rolesOtherNight","otherNight","nominator","nominee","ceil","voters","votingSpeed","preventDefault","setVotingSpeed","stop","start","finish","nominatorStyle","transform","transitionDuration","nomineeStyle","lock","rotation","min","canVote","reorder","clearInterval","voteTimer","setInterval","findIndex","diff","speed","gradient","gradients","Vote","ReferenceModal","Intro","TownInfo","TownSquare","Menu","EditionModal","RolesModal","Gradients","menu","ctrlKey","metaKey","toLocaleLowerCase","store","_wss","_socket","_isSpectator","_gamestate","_store","_pingInterval","_pingTimer","_players","connect","channel","disconnect","WebSocket","_handleMessage","onopen","_onOpen","onclose","command","readyState","send","stringify","_send","sendGamestate","_ping","_handlePing","clearTimeout","console","log","_updateEdition","_updateGamestate","_updatePlayer","_updateSeat","_handleVote","_handleLock","_handleBye","toString","_open","roleId","sendEdition","gamestate","Array","now","Date","getTime","seat","oldIndex","subscribe","payload","hash","lockVote","sendPlayer","param","NEWPLAYER","includes","Map","set","actions","rootState","mutations","namespaced","val","handleVote","claimedSeat","setSessionId","setPlayerId","setSpectator","setPlayerCount","voteSync","use","rolesJSONbyId","getRolesByEdition","selectedEdition","localeCompare","Store","reference","document","title","modal","status","roleIds","has","plugins","socket","faIcons","fabIcons","add","config","productionTip","h","App","$mount","webpackContext","req","webpackContextResolve","e","Error","code","resolve","localStorage","getItem","parseFloat","setItem","removeItem"],"mappings":"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","file":"js/app.f6870c81.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/townsquare/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"56d7\",\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"img/washerwoman.a0c66e53.png\";","module.exports = __webpack_public_path__ + \"img/barista.fd2bba67.png\";","module.exports = __webpack_public_path__ + \"img/cerenovus.736554ca.png\";","module.exports = __webpack_public_path__ + \"img/amnesiac.03ce8f67.png\";","module.exports = __webpack_public_path__ + \"img/shabaloth.f461dd08.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vote.vue?vue&type=style&index=0&id=4c39e147&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vote.vue?vue&type=style&index=0&id=4c39e147&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/lunatic.f2982146.png\";","module.exports = __webpack_public_path__ + \"img/oracle.63459162.png\";","module.exports = __webpack_public_path__ + \"img/ravenkeeper.552f1f2f.png\";","module.exports = __webpack_public_path__ + \"img/undertaker.1df72155.png\";","module.exports = __webpack_public_path__ + \"img/chambermaid.b6f002ce.png\";","module.exports = __webpack_public_path__ + \"img/plus.c11bf1ed.png\";","module.exports = __webpack_public_path__ + \"img/recluse.a6519a1d.png\";","module.exports = __webpack_public_path__ + \"img/mutant.b28a535c.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Screenshot.vue?vue&type=style&index=0&id=6443af38&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Screenshot.vue?vue&type=style&index=0&id=6443af38&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/chef.d4e7f9a6.png\";","module.exports = __webpack_public_path__ + \"img/zombuul.ec71a259.png\";","module.exports = __webpack_public_path__ + \"img/sailor.631521c2.png\";","module.exports = __webpack_public_path__ + \"img/widow.ec8d8cb0.png\";","module.exports = __webpack_public_path__ + \"img/bonecollector.846af8c8.png\";","module.exports = __webpack_public_path__ + \"img/baron.9ce9bd3b.png\";","module.exports = __webpack_public_path__ + \"img/bureaucrat.88ec372a.png\";","module.exports = __webpack_public_path__ + \"img/leviathan.dfbff6e8.png\";","module.exports = __webpack_public_path__ + \"img/artist.f89690cd.png\";","module.exports = __webpack_public_path__ + \"img/sage.5afc100d.png\";","module.exports = __webpack_public_path__ + \"img/scapegoat.8bd95c23.png\";","module.exports = __webpack_public_path__ + \"img/philosopher.92032c70.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownSquare.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownSquare.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/butcher.e0b672b7.png\";","module.exports = __webpack_public_path__ + \"img/towncrier.18a4377b.png\";","module.exports = __webpack_public_path__ + \"img/vortox.6add3a3a.png\";","module.exports = __webpack_public_path__ + \"img/deviant.e8a761ae.png\";","module.exports = __webpack_public_path__ + \"img/imp.cd0fa5b8.png\";","module.exports = __webpack_public_path__ + \"img/moonchild.6c84161e.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gradients.vue?vue&type=style&index=0&id=1e202a64&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gradients.vue?vue&type=style&index=0&id=1e202a64&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/snakecharmer.e512cc1e.png\";","module.exports = __webpack_public_path__ + \"img/fortuneteller.4396927c.png\";","module.exports = __webpack_public_path__ + \"img/fool.a730aab3.png\";","module.exports = __webpack_public_path__ + \"img/apprentice.b7055345.png\";","module.exports = __webpack_public_path__ + \"img/librarian.6fd7f267.png\";","module.exports = __webpack_public_path__ + \"img/soldier.451de0df.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Intro.vue?vue&type=style&index=0&id=64d39c3f&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Intro.vue?vue&type=style&index=0&id=64d39c3f&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/minstrel.1647382d.png\";","module.exports = __webpack_public_path__ + \"img/exorcist.8c0f5cac.png\";","module.exports = __webpack_public_path__ + \"img/harlot.1a418200.png\";","module.exports = __webpack_public_path__ + \"img/goon.719106f2.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ screenshot: _vm.grimoire.isScreenshot },style:({\n backgroundImage: _vm.grimoire.background\n ? (\"url('\" + (_vm.grimoire.background) + \"')\")\n : ''\n }),attrs:{\"id\":\"app\",\"tabindex\":\"-1\"},on:{\"keyup\":_vm.keyup}},[_c('transition',{attrs:{\"name\":\"blur\"}},[(!_vm.players.length)?_c('Intro'):_vm._e(),(_vm.players.length && !_vm.session.nomination)?_c('TownInfo'):_vm._e(),(_vm.session.nomination)?_c('Vote'):_vm._e()],1),_c('TownSquare',{on:{\"screenshot\":_vm.takeScreenshot}}),_c('Menu',{ref:\"menu\"}),_c('EditionModal'),_c('RolesModal'),_c('ReferenceModal'),_c('Gradients'),_c('span',{attrs:{\"id\":\"version\"}},[_vm._v(\"v\"+_vm._s(_vm.version))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"square\",class:{\n public: _vm.grimoire.isPublic,\n spectator: _vm.session.isSpectator,\n vote: _vm.session.nomination\n },attrs:{\"id\":\"townsquare\"}},[_c('ul',{staticClass:\"circle\",class:['size-' + _vm.players.length]},_vm._l((_vm.players),function(player,index){return _c('Player',{key:index,class:{\n from: Math.max(_vm.swap, _vm.move, _vm.nominate) === index,\n swap: _vm.swap > -1,\n move: _vm.move > -1,\n nominate: _vm.nominate > -1\n },attrs:{\"player\":player},on:{\"screenshot\":function($event){return _vm.$emit('screenshot', $event)},\"trigger\":function($event){return _vm.handleTrigger(index, $event)}}})}),1),(_vm.players.length > 6)?_c('div',{ref:\"bluffs\",staticClass:\"bluffs\",class:{ closed: !_vm.isBluffsOpen }},[_c('h3',[_c('font-awesome-icon',{attrs:{\"icon\":\"camera\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.takeScreenshot($event)}}}),(_vm.session.isSpectator)?_c('span',[_vm._v(\"Other characters\")]):_c('span',[_vm._v(\"Demon bluffs\")]),_c('font-awesome-icon',{attrs:{\"icon\":\"times-circle\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleBluffs($event)}}}),_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleBluffs($event)}}})],1),_c('ul',_vm._l((_vm.bluffs),function(index){return _c('li',{key:index,on:{\"click\":function($event){return _vm.openRoleModal(index * -1)}}},[_c('Token',{attrs:{\"role\":_vm.grimoire.bluffs[index - 1]}})],1)}),0)]):_vm._e(),_c('ReminderModal',{attrs:{\"player-index\":_vm.selectedPlayer}}),_c('RoleModal',{attrs:{\"player-index\":_vm.selectedPlayer}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{style:(_vm.zoom)},[_c('div',{ref:\"player\",staticClass:\"player\",class:[\n {\n dead: _vm.player.isDead,\n 'no-vote': _vm.player.isVoteless,\n you: _vm.session.sessionId && _vm.player.id && _vm.player.id === _vm.session.playerId,\n 'vote-yes': _vm.session.votes[_vm.index],\n 'vote-lock': _vm.voteLocked\n },\n _vm.player.role.team\n ]},[_c('div',{staticClass:\"shroud\",on:{\"click\":function($event){return _vm.toggleStatus()}}}),_c('div',{staticClass:\"life\",on:{\"click\":function($event){return _vm.toggleStatus()}}}),(_vm.nightOrder.get(_vm.player).first && _vm.grimoire.isNightOrder)?_c('div',{staticClass:\"night first\"},[_c('em',[_vm._v(_vm._s(_vm.nightOrder.get(_vm.player).first)+\".\")]),(_vm.player.role.firstNightReminder)?_c('span',[_vm._v(_vm._s(_vm._f(\"handleEmojis\")(_vm.player.role.firstNightReminder)))]):_vm._e()]):_vm._e(),(_vm.nightOrder.get(_vm.player).other && _vm.grimoire.isNightOrder)?_c('div',{staticClass:\"night other\"},[_c('em',[_vm._v(_vm._s(_vm.nightOrder.get(_vm.player).other)+\".\")]),(_vm.player.role.otherNightReminder)?_c('span',[_vm._v(_vm._s(_vm._f(\"handleEmojis\")(_vm.player.role.otherNightReminder)))]):_vm._e()]):_vm._e(),_c('Token',{attrs:{\"role\":_vm.player.role},on:{\"set-role\":function($event){return _vm.$emit('trigger', ['openRoleModal'])}}}),_c('div',{staticClass:\"overlay\"},[_c('font-awesome-icon',{staticClass:\"vote\",attrs:{\"icon\":\"skull\",\"title\":\"Voted YES\"},on:{\"click\":function($event){return _vm.vote()}}}),_c('font-awesome-icon',{staticClass:\"vote\",attrs:{\"icon\":\"times\",\"title\":\"Voted NO\"},on:{\"click\":function($event){return _vm.vote()}}}),_c('font-awesome-icon',{staticClass:\"cancel\",attrs:{\"icon\":\"times-circle\",\"title\":\"Cancel\"},on:{\"click\":function($event){return _vm.cancel()}}}),_c('font-awesome-icon',{staticClass:\"swap\",attrs:{\"icon\":\"exchange-alt\",\"title\":\"Swap seats with this player\"},on:{\"click\":function($event){return _vm.swapPlayer(_vm.player)}}}),_c('font-awesome-icon',{staticClass:\"move\",attrs:{\"icon\":\"redo-alt\",\"title\":\"Move player to this seat\"},on:{\"click\":function($event){return _vm.movePlayer(_vm.player)}}}),_c('font-awesome-icon',{staticClass:\"nominate\",attrs:{\"icon\":\"hand-point-right\",\"title\":\"Nominate this player\"},on:{\"click\":function($event){return _vm.nominatePlayer(_vm.player)}}})],1),(_vm.player.id && _vm.session.sessionId)?_c('font-awesome-icon',{staticClass:\"seat\",attrs:{\"icon\":\"chair\"}}):_vm._e(),(_vm.player.isDead && !_vm.player.isVoteless)?_c('font-awesome-icon',{staticClass:\"has-vote\",attrs:{\"icon\":\"vote-yea\",\"title\":\"Ghost vote\"},on:{\"click\":function($event){return _vm.updatePlayer('isVoteless', true)}}}):_vm._e(),_c('div',{staticClass:\"name\",class:{ active: _vm.isMenuOpen },on:{\"click\":function($event){_vm.isMenuOpen = !_vm.isMenuOpen}}},[_vm._v(\" \"+_vm._s(_vm.player.name)+\" \")]),_c('transition',{attrs:{\"name\":\"fold\"}},[(_vm.isMenuOpen)?_c('ul',{staticClass:\"menu\"},[(!_vm.session.isSpectator)?[_c('li',{on:{\"click\":_vm.changeName}},[_c('font-awesome-icon',{attrs:{\"icon\":\"user-edit\"}}),_vm._v(\"Rename \")],1),(!_vm.session.nomination)?_c('li',{on:{\"click\":function($event){return _vm.nominatePlayer()}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"hand-point-right\"}}),_vm._v(\" Nomination \")],1):_vm._e(),_c('li',{on:{\"click\":function($event){return _vm.movePlayer()}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"redo-alt\"}}),_vm._v(\" Move player \")],1),_c('li',{on:{\"click\":function($event){return _vm.swapPlayer()}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"exchange-alt\"}}),_vm._v(\" Swap seats \")],1),_c('li',{staticClass:\"screenshot\",on:{\"click\":_vm.takeScreenshot}},[_c('font-awesome-icon',{attrs:{\"icon\":\"camera\"}}),_vm._v(\" Screenshot \")],1),_c('li',{on:{\"click\":_vm.removePlayer}},[_c('font-awesome-icon',{attrs:{\"icon\":\"times-circle\"}}),_vm._v(\" Remove \")],1)]:_vm._e(),(_vm.session.isSpectator)?_c('li',{on:{\"click\":_vm.claimSeat}},[_c('font-awesome-icon',{attrs:{\"icon\":\"chair\"}}),(_vm.player.id !== _vm.session.playerId)?[_vm._v(\" Claim seat \")]:[_vm._v(\" Vacate seat \")]],2):_vm._e()],2):_vm._e()])],1),(_vm.player.reminders)?_vm._l((_vm.player.reminders),function(reminder){return _c('div',{key:reminder.role + ' ' + reminder.name,staticClass:\"reminder\",class:[reminder.role],on:{\"click\":function($event){return _vm.removeReminder(reminder)}}},[_c('span',{staticClass:\"icon\",style:({\n backgroundImage: (\"url(\" + (require('../assets/icons/' +\n reminder.role +\n '.png')) + \")\")\n })}),_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(reminder.name))])])}):_vm._e(),_c('div',{staticClass:\"reminder add\",on:{\"click\":function($event){return _vm.$emit('trigger', ['openReminderModal'])}}},[_c('span',{staticClass:\"icon\"})])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"token\",class:[_vm.role.id],on:{\"click\":_vm.setRole}},[(_vm.role.id)?_c('span',{staticClass:\"icon\",style:({\n backgroundImage: (\"url(\" + (require('../assets/icons/' +\n _vm.role.id +\n '.png')) + \")\")\n })}):_vm._e(),(_vm.role.firstNight)?_c('span',{staticClass:\"leaf-left\"}):_vm._e(),(_vm.role.otherNight)?_c('span',{staticClass:\"leaf-right\"}):_vm._e(),(_vm.role.reminders && _vm.role.reminders.length)?_c('span',{class:['leaf-top' + _vm.role.reminders.length]}):_vm._e(),(_vm.role.setup)?_c('span',{staticClass:\"leaf-orange\"}):_vm._e(),_c('svg',{staticClass:\"name\",attrs:{\"viewBox\":\"0 0 150 150\"}},[_c('path',{attrs:{\"d\":\"M 13 75 C 13 160, 138 160, 138 75\",\"id\":\"curve\",\"fill\":\"transparent\"}}),_c('text',{staticClass:\"label mozilla\",attrs:{\"width\":\"150\",\"x\":\"66.6%\",\"text-anchor\":\"middle\",\"font-size\":_vm._f(\"nameToFontSize\")(_vm.role.name)}},[_c('textPath',{attrs:{\"xlink:href\":\"#curve\"}},[_vm._v(\" \"+_vm._s(_vm.role.name)+\" \")])])]),_c('div',{staticClass:\"edition\",class:[(\"edition-\" + (_vm.role.edition)), _vm.role.team]}),(_vm.role.ability)?_c('div',{staticClass:\"ability\"},[_vm._v(\" \"+_vm._s(_vm.role.ability)+\" \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Token.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Token.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Token.vue?vue&type=template&id=4d8bb4f3&scoped=true&\"\nimport script from \"./Token.vue?vue&type=script&lang=js&\"\nexport * from \"./Token.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Token.vue?vue&type=style&index=0&id=4d8bb4f3&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d8bb4f3\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Player.vue?vue&type=template&id=42c0ac05&\"\nimport script from \"./Player.vue?vue&type=script&lang=js&\"\nexport * from \"./Player.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.players[_vm.playerIndex])?_c('Modal',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.modals.reminder && _vm.availableReminders.length),expression:\"modals.reminder && availableReminders.length\"}],on:{\"close\":function($event){return _vm.toggleModal('reminder')}}},[_c('h3',[_vm._v(\"Choose a reminder token:\")]),_c('ul',{staticClass:\"reminders\"},_vm._l((_vm.availableReminders),function(reminder){return _c('li',{key:reminder.role + ' ' + reminder.name,staticClass:\"reminder\",class:[reminder.role],on:{\"click\":function($event){return _vm.addReminder(reminder)}}},[_c('span',{staticClass:\"icon\",style:({\n backgroundImage: (\"url(\" + (require('../../assets/icons/' +\n reminder.role +\n '.png')) + \")\")\n })}),_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(reminder.name))])])}),0)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"modal-fade\"}},[_c('div',{staticClass:\"modal-backdrop\",on:{\"click\":_vm.close}},[_c('div',{staticClass:\"modal\",attrs:{\"role\":\"dialog\",\"aria-labelledby\":\"modalTitle\",\"aria-describedby\":\"modalDescription\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('font-awesome-icon',{staticClass:\"close\",attrs:{\"icon\":\"times-circle\"},on:{\"click\":_vm.close}}),_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Modal.vue?vue&type=template&id=4b4950be&\"\nimport script from \"./Modal.vue?vue&type=script&lang=js&\"\nexport * from \"./Modal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Modal.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReminderModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReminderModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReminderModal.vue?vue&type=template&id=248e6d58&scoped=true&\"\nimport script from \"./ReminderModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ReminderModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ReminderModal.vue?vue&type=style&index=0&id=248e6d58&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"248e6d58\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.modals.role && _vm.availableRoles.length),expression:\"modals.role && availableRoles.length\"}],on:{\"close\":function($event){return _vm.toggleModal('role')}}},[_c('h3',[_vm._v(\" Choose a new character for \"+_vm._s(_vm.playerIndex >= 0 && _vm.players.length ? _vm.players[_vm.playerIndex].name : \"bluffing\")+\" \")]),_c('ul',{staticClass:\"tokens\"},_vm._l((_vm.availableRoles),function(role){return _c('li',{key:role.id,class:[role.team],on:{\"click\":function($event){return _vm.setRole(role)}}},[_c('Token',{attrs:{\"role\":role}})],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoleModal.vue?vue&type=template&id=91110818&scoped=true&\"\nimport script from \"./RoleModal.vue?vue&type=script&lang=js&\"\nexport * from \"./RoleModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RoleModal.vue?vue&type=style&index=0&id=91110818&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"91110818\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownSquare.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownSquare.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TownSquare.vue?vue&type=template&id=28928bc4&\"\nimport script from \"./TownSquare.vue?vue&type=script&lang=js&\"\nexport * from \"./TownSquare.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TownSquare.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"info\"},[_c('li',{staticClass:\"edition\",class:['edition-' + _vm.edition]}),(_vm.players.length - _vm.teams.traveler < 5)?_c('li',[_vm._v(\" Please add more players! \")]):_vm._e(),_c('li',[_vm._v(\" \"+_vm._s(_vm.players.length)+\" \"),_c('font-awesome-icon',{staticClass:\"players\",attrs:{\"icon\":\"users\"}}),_vm._v(\" \"+_vm._s(_vm.teams.alive)+\" \"),_c('font-awesome-icon',{staticClass:\"alive\",attrs:{\"icon\":\"heartbeat\"}}),_vm._v(\" \"+_vm._s(_vm.teams.votes)+\" \"),_c('font-awesome-icon',{staticClass:\"votes\",attrs:{\"icon\":\"vote-yea\"}})],1),(_vm.players.length - _vm.teams.traveler >= 5)?_c('li',[_vm._v(\" \"+_vm._s(_vm.teams.townsfolk)+\" \"),_c('font-awesome-icon',{staticClass:\"townsfolk\",attrs:{\"icon\":\"user-friends\"}}),_vm._v(\" \"+_vm._s(_vm.teams.outsider)+\" \"),_c('font-awesome-icon',{staticClass:\"outsider\",attrs:{\"icon\":_vm.teams.outsider > 1 ? 'user-friends' : 'user'}}),_vm._v(\" \"+_vm._s(_vm.teams.minion)+\" \"),_c('font-awesome-icon',{staticClass:\"minion\",attrs:{\"icon\":_vm.teams.minion > 1 ? 'user-friends' : 'user'}}),_vm._v(\" \"+_vm._s(_vm.teams.demon)+\" \"),_c('font-awesome-icon',{staticClass:\"demon\",attrs:{\"icon\":_vm.teams.demon > 1 ? 'user-friends' : 'user'}}),(_vm.teams.traveler)?[_vm._v(\" \"+_vm._s(_vm.teams.traveler)+\" \"),_c('font-awesome-icon',{staticClass:\"traveler\",attrs:{\"icon\":_vm.teams.traveler > 1 ? 'user-friends' : 'user'}})]:_vm._e()],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TownInfo.vue?vue&type=template&id=280b29dc&scoped=true&\"\nimport script from \"./TownInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./TownInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TownInfo.vue?vue&type=style&index=0&id=280b29dc&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"280b29dc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"controls\"}},[_c('Screenshot',{ref:\"screenshot\"}),(_vm.session.sessionId)?_c('span',{staticClass:\"session\",class:{ spectator: _vm.session.isSpectator },attrs:{\"title\":(\"You're currently in a live game with \" + (_vm.session.playerCount) + \" other players!\")},on:{\"click\":_vm.leaveSession}},[_c('font-awesome-icon',{attrs:{\"icon\":\"broadcast-tower\"}}),_vm._v(\" \"+_vm._s(_vm.session.playerCount)+\" \")],1):_vm._e(),_c('span',{staticClass:\"camera\"},[_c('font-awesome-icon',{class:{ success: _vm.grimoire.isScreenshotSuccess },attrs:{\"icon\":\"camera\",\"title\":\"Take a screenshot\"},on:{\"click\":function($event){return _vm.takeScreenshot()}}})],1),_c('div',{staticClass:\"menu\",class:{ open: _vm.grimoire.isMenuOpen }},[_c('font-awesome-icon',{attrs:{\"icon\":\"cog\"},on:{\"click\":_vm.toggleMenu}}),_c('ul',[_c('li',{staticClass:\"tabs\",class:_vm.tab},[_c('font-awesome-icon',{attrs:{\"icon\":\"book-open\"},on:{\"click\":function($event){_vm.tab = 'grimoire'}}}),_c('font-awesome-icon',{attrs:{\"icon\":\"broadcast-tower\"},on:{\"click\":function($event){_vm.tab = 'session'}}}),(!_vm.session.isSpectator)?_c('font-awesome-icon',{attrs:{\"icon\":\"users\"},on:{\"click\":function($event){_vm.tab = 'players'}}}):_vm._e(),_c('font-awesome-icon',{attrs:{\"icon\":\"theater-masks\"},on:{\"click\":function($event){_vm.tab = 'characters'}}}),_c('font-awesome-icon',{attrs:{\"icon\":\"question\"},on:{\"click\":function($event){_vm.tab = 'help'}}})],1),(_vm.tab === 'grimoire')?[_c('li',{staticClass:\"headline\"},[_vm._v(\"Grimoire\")]),(_vm.players.length)?_c('li',{on:{\"click\":_vm.toggleGrimoire}},[(!_vm.grimoire.isPublic)?[_vm._v(\"Hide\")]:_vm._e(),(_vm.grimoire.isPublic)?[_vm._v(\"Show\")]:_vm._e(),_c('em',[_vm._v(\"[G]\")])],2):_vm._e(),(_vm.players.length)?_c('li',{on:{\"click\":_vm.toggleNightOrder}},[_vm._v(\" Night order \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":[\n 'fas',\n _vm.grimoire.isNightOrder ? 'check-square' : 'square'\n ]}})],1)]):_vm._e(),(_vm.players.length)?_c('li',[_vm._v(\" Zoom \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":\"search-minus\"},on:{\"click\":function($event){return _vm.setZoom(_vm.grimoire.zoom - 1)}}}),_vm._v(\" \"+_vm._s(Math.round(100 + _vm.grimoire.zoom * 10))+\"% \"),_c('font-awesome-icon',{attrs:{\"icon\":\"search-plus\"},on:{\"click\":function($event){return _vm.setZoom(_vm.grimoire.zoom + 1)}}})],1)]):_vm._e(),_c('li',{on:{\"click\":_vm.setBackground}},[_vm._v(\" Background image \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":\"image\"}})],1)])]:_vm._e(),(_vm.tab === 'session')?[(_vm.session.sessionId)?_c('li',{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.session.isSpectator ? \"Playing\" : \"Hosting\")+\" \")]):_c('li',{staticClass:\"headline\"},[_vm._v(\" Live Session \")]),(!_vm.session.sessionId)?_c('li',{on:{\"click\":_vm.hostSession}},[_vm._v(\" Host (Storyteller)\"),_c('em',[_vm._v(\"[H]\")])]):_vm._e(),(!_vm.session.sessionId)?_c('li',{on:{\"click\":_vm.joinSession}},[_vm._v(\" Join (Player)\"),_c('em',[_vm._v(\"[J]\")])]):_vm._e(),(_vm.session.sessionId)?_c('li',{on:{\"click\":_vm.copySessionUrl}},[_vm._v(\" Copy player link \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":\"copy\"}})],1)]):_vm._e(),(_vm.session.sessionId)?_c('li',{on:{\"click\":_vm.leaveSession}},[_vm._v(\" Leave Session \"),_c('em',[_vm._v(_vm._s(_vm.session.sessionId))])]):_vm._e()]:_vm._e(),(_vm.tab === 'players' && !_vm.session.isSpectator)?[_c('li',{staticClass:\"headline\"},[_vm._v(\"Players\")]),(_vm.players.length < 20)?_c('li',{on:{\"click\":_vm.addPlayer}},[_vm._v(\"Add\"),_c('em',[_vm._v(\"[A]\")])]):_vm._e(),(_vm.players.length > 2)?_c('li',{on:{\"click\":_vm.randomizeSeatings}},[_vm._v(\" Randomize \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":\"dice\"}})],1)]):_vm._e(),(_vm.players.length)?_c('li',{on:{\"click\":_vm.clearPlayers}},[_vm._v(\" Remove all \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":\"trash-alt\"}})],1)]):_vm._e()]:_vm._e(),(_vm.tab === 'characters')?[_c('li',{staticClass:\"headline\"},[_vm._v(\"Characters\")]),(!_vm.session.isSpectator)?_c('li',{on:{\"click\":function($event){return _vm.toggleModal('edition')}}},[_vm._v(\" Select Edition \"),_c('em',[_vm._v(\"[E]\")])]):_vm._e(),(!_vm.session.isSpectator && _vm.players.length > 4)?_c('li',{on:{\"click\":function($event){return _vm.toggleModal('roles')}}},[_vm._v(\" Choose & Assign \"),_c('em',[_vm._v(\"[C]\")])]):_vm._e(),(_vm.players.length)?_c('li',{on:{\"click\":_vm.clearRoles}},[_vm._v(\" Remove all \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":\"trash-alt\"}})],1)]):_vm._e()]:_vm._e(),(_vm.tab === 'help')?[_c('li',{staticClass:\"headline\"},[_vm._v(\"Help\")]),_c('li',{on:{\"click\":function($event){return _vm.toggleModal('reference')}}},[_vm._v(\" Reference Sheet \"),_c('em',[_vm._v(\"[R]\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://discord.gg/tkWDny6\",\"target\":\"_blank\"}},[_vm._v(\" Join Discord \")]),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":['fab', 'discord']}})],1)]),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/bra1n/townsquare\",\"target\":\"_blank\"}},[_vm._v(\" Source code \")]),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":['fab', 'github']}})],1)])]:_vm._e()],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"screenshot\"}},[_c('video',{ref:\"video\",attrs:{\"autoplay\":\"\"}}),_c('canvas',{ref:\"canvas\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Screenshot.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Screenshot.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Screenshot.vue?vue&type=template&id=6443af38&scoped=true&\"\nimport script from \"./Screenshot.vue?vue&type=script&lang=js&\"\nexport * from \"./Screenshot.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Screenshot.vue?vue&type=style&index=0&id=6443af38&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6443af38\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Menu.vue?vue&type=template&id=cf05c89e&scoped=true&\"\nimport script from \"./Menu.vue?vue&type=script&lang=js&\"\nexport * from \"./Menu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Menu.vue?vue&type=style&index=0&id=cf05c89e&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cf05c89e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.nonTravelers >= 5)?_c('Modal',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.modals.roles),expression:\"modals.roles\"}],staticClass:\"roles\",on:{\"close\":function($event){return _vm.toggleModal('roles')}}},[_c('h3',[_vm._v(\"Select the characters for \"+_vm._s(_vm.nonTravelers)+\" players:\")]),_vm._l((_vm.roleSelection),function(teamRoles,team){return _c('ul',{key:team,staticClass:\"tokens\"},[_c('li',{staticClass:\"count\",class:[team]},[_vm._v(\" \"+_vm._s(teamRoles.filter(function (role) { return role.selected; }).length)+\" / \"+_vm._s(_vm.game[_vm.nonTravelers - 5][team])+\" \")]),_vm._l((teamRoles),function(role){return _c('li',{key:role.id,class:[role.team, role.selected ? 'selected' : ''],on:{\"click\":function($event){role.selected = !role.selected}}},[_c('Token',{attrs:{\"role\":role}})],1)})],2)}),(_vm.hasSelectedSetupRoles)?_c('div',{staticClass:\"warning\"},[_vm._v(\" Warning: there are characters selected that modify the game setup! The randomizer does not account for these characters. \")]):_vm._e(),_c('div',{staticClass:\"button-group\"},[_c('div',{staticClass:\"button\",class:{\n disabled: _vm.selectedRoles > _vm.nonTravelers || !_vm.selectedRoles\n },on:{\"click\":_vm.assignRoles}},[_c('font-awesome-icon',{attrs:{\"icon\":\"people-arrows\"}}),_vm._v(\" Assign \"+_vm._s(_vm.selectedRoles)+\" characters randomly \")],1),_c('div',{staticClass:\"button\",on:{\"click\":_vm.selectRandomRoles}},[_c('font-awesome-icon',{attrs:{\"icon\":\"random\"}}),_vm._v(\" Shuffle characters \")],1)])],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RolesModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RolesModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RolesModal.vue?vue&type=template&id=a67c4086&scoped=true&\"\nimport script from \"./RolesModal.vue?vue&type=script&lang=js&\"\nexport * from \"./RolesModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RolesModal.vue?vue&type=style&index=0&id=a67c4086&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a67c4086\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.modals.edition),expression:\"modals.edition\"}],staticClass:\"editions\",on:{\"close\":function($event){return _vm.toggleModal('edition')}}},[(!_vm.isCustom)?_c('div',[_c('h3',[_vm._v(\"Select an edition:\")]),_c('ul',{staticClass:\"editions\"},[_vm._l((_vm.editions),function(edition){return _c('li',{key:edition.id,staticClass:\"edition\",class:['edition-' + edition.id],on:{\"click\":function($event){return _vm.setEdition(edition.id)}}},[_vm._v(\" \"+_vm._s(edition.name)+\" \")])}),_c('li',{staticClass:\"edition edition-custom\",on:{\"click\":function($event){_vm.isCustom = true}}},[_vm._v(\" Custom Script \")])],2)]):_c('div',{staticClass:\"custom\"},[_c('h3',[_vm._v(\"Upload a custom script\")]),_vm._v(\" To play with a custom script, you need to select the characters you want to play with in the official \"),_c('a',{attrs:{\"href\":\"https://bloodontheclocktower.com/script-tool/\",\"target\":\"_blank\"}},[_vm._v(\"Script Tool\")]),_vm._v(\" and then upload the generated \\\"custom-list.json\\\" either directly here or provide a URL to such a hosted JSON file.\"),_c('br'),_c('h3',[_vm._v(\"Some popular custom scripts:\")]),_c('ul',{staticClass:\"scripts\"},_vm._l((_vm.scripts),function(script,index){return _c('li',{key:index,on:{\"click\":function($event){return _vm.handleURL(script[1])}}},[_vm._v(\" \"+_vm._s(script[0])+\" \")])}),0),_c('input',{ref:\"upload\",attrs:{\"type\":\"file\",\"accept\":\"application/json\"},on:{\"change\":_vm.handleUpload}}),_c('div',{staticClass:\"button-group\"},[_c('div',{staticClass:\"button\",on:{\"click\":_vm.openUpload}},[_c('font-awesome-icon',{attrs:{\"icon\":\"file-upload\"}}),_vm._v(\" Upload JSON \")],1),_c('div',{staticClass:\"button\",on:{\"click\":_vm.promptURL}},[_c('font-awesome-icon',{attrs:{\"icon\":\"link\"}}),_vm._v(\" Enter URL \")],1),_c('div',{staticClass:\"button\",on:{\"click\":function($event){_vm.isCustom = false}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"undo\"}}),_vm._v(\" Back \")],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditionModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditionModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditionModal.vue?vue&type=template&id=36ae1bc0&scoped=true&\"\nimport script from \"./EditionModal.vue?vue&type=script&lang=js&\"\nexport * from \"./EditionModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditionModal.vue?vue&type=style&index=0&id=36ae1bc0&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"36ae1bc0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"intro\"},[_c('img',{attrs:{\"src\":\"static/apple-icon.png\",\"alt\":\"\"}}),_vm._v(\" Welcome to the (unofficial) \"),_c('b',[_vm._v(\" Virtual Blood on the Clocktower Town Square\")]),_vm._v(\"!\"),_c('br'),_vm._v(\" Please add more players through the \"),_c('span',{staticClass:\"button\",on:{\"click\":_vm.toggleMenu}},[_c('font-awesome-icon',{attrs:{\"icon\":\"cog\"}}),_vm._v(\" Menu \")],1),_vm._v(\" on the top right or by pressing \"),_c('b',[_vm._v(\"[A]\")]),_vm._v(\".\"),_c('br'),_vm._v(\" This project is free and open source and can be found on \"),_c('a',{attrs:{\"href\":\"https://github.com/bra1n/townsquare\",\"target\":\"_blank\"}},[_vm._v(\"GitHub\")]),_vm._v(\". \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Intro.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Intro.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Intro.vue?vue&type=template&id=64d39c3f&scoped=true&\"\nimport script from \"./Intro.vue?vue&type=script&lang=js&\"\nexport * from \"./Intro.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Intro.vue?vue&type=style&index=0&id=64d39c3f&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"64d39c3f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.roles.size)?_c('Modal',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.modals.reference),expression:\"modals.reference\"}],staticClass:\"characters\",on:{\"close\":function($event){return _vm.toggleModal('reference')}}},[(!_vm.isNightOrder)?[_c('font-awesome-icon',{staticClass:\"toggle\",attrs:{\"icon\":\"cloud-moon\",\"title\":\"Show Night Order\"},on:{\"click\":function($event){_vm.isNightOrder = !_vm.isNightOrder}}}),_c('h3',[_vm._v(\" Character Reference \"),_c('font-awesome-icon',{attrs:{\"icon\":\"address-card\"}}),_vm._v(\" \"+_vm._s(_vm.editionName)+\" \")],1),_c('ul',{staticClass:\"legend\"},[_c('li',[_c('span',{staticClass:\"name\"},[_vm._v(\"Name\")]),_c('span',{staticClass:\"icon\"},[_vm._v(\"Icon\")]),_c('span',{staticClass:\"ability\"},[_vm._v(\"Ability\")]),(Object.keys(_vm.playersByRole).length)?_c('span',{staticClass:\"player\"},[_vm._v(\" Player \")]):_vm._e()])]),_vm._l((_vm.rolesGrouped),function(teamRoles,team){return _c('div',{key:team,class:[team]},[_c('h4',[_vm._v(_vm._s(team))]),_c('ul',_vm._l((teamRoles),function(role){return _c('li',{key:role.id,class:[team]},[_c('span',{staticClass:\"name\"},[_vm._v(_vm._s(role.name))]),(role.id)?_c('span',{staticClass:\"icon\",style:({\n backgroundImage: (\"url(\" + (require('../../assets/icons/' +\n role.id +\n '.png')) + \")\")\n })}):_vm._e(),_c('span',{staticClass:\"ability\"},[_vm._v(_vm._s(role.ability))]),(Object.keys(_vm.playersByRole).length)?_c('span',{staticClass:\"player\"},[_vm._v(_vm._s(_vm.playersByRole[role.id] ? _vm.playersByRole[role.id].join(\", \") : \"\"))]):_vm._e()])}),0)])})]:[_c('font-awesome-icon',{staticClass:\"toggle\",attrs:{\"icon\":\"address-card\",\"title\":\"Show Character Reference\"},on:{\"click\":function($event){_vm.isNightOrder = !_vm.isNightOrder}}}),_c('h3',[_vm._v(\" Night Order \"),_c('font-awesome-icon',{attrs:{\"icon\":\"cloud-moon\"}}),_vm._v(\" \"+_vm._s(_vm.editionName)+\" \")],1),_c('div',{staticClass:\"night\"},[_c('ul',{staticClass:\"first\"},[_c('li',{staticClass:\"headline\"},[_vm._v(\"First Night\")]),_vm._l((_vm.rolesFirstNight),function(role){return _c('li',{key:role.id,class:[role.team]},[_c('span',{staticClass:\"name\"},[_vm._v(\" \"+_vm._s(role.name)+\" \")]),(role.id)?_c('span',{staticClass:\"icon\",style:({\n backgroundImage: (\"url(\" + (require('../../assets/icons/' +\n role.id +\n '.png')) + \")\")\n })}):_vm._e()])})],2),_c('ul',{staticClass:\"other\"},[_c('li',{staticClass:\"headline\"},[_vm._v(\"Other Nights\")]),_vm._l((_vm.rolesOtherNight),function(role){return _c('li',{key:role.id,class:[role.team]},[(role.id)?_c('span',{staticClass:\"icon\",style:({\n backgroundImage: (\"url(\" + (require('../../assets/icons/' +\n role.id +\n '.png')) + \")\")\n })}):_vm._e(),_c('span',{staticClass:\"name\"},[_vm._v(\" \"+_vm._s(role.name)+\" \")])])})],2)])]],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReferenceModal.vue?vue&type=template&id=e9ecebd6&scoped=true&\"\nimport script from \"./ReferenceModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ReferenceModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ReferenceModal.vue?vue&type=style&index=0&id=e9ecebd6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e9ecebd6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"vote\"}},[_c('div',{staticClass:\"arrows\"},[_c('span',{staticClass:\"nominee\",style:(_vm.nomineeStyle)}),_c('span',{staticClass:\"nominator\",style:(_vm.nominatorStyle)})]),_c('div',{staticClass:\"overlay\"},[_c('em',{staticClass:\"blue\"},[_vm._v(_vm._s(_vm.nominator.name))]),_vm._v(\" nominated \"),_c('em',[_vm._v(_vm._s(_vm.nominee.name))]),_vm._v(\"! \"),_c('br'),(_vm.nominee.role.team !== 'traveler')?[_c('em',{staticClass:\"blue\"},[_vm._v(_vm._s(Math.ceil(_vm.alive / 2))+\" votes\")]),_vm._v(\" required to \"),_c('em',[_vm._v(\"execute\")]),_vm._v(\". \")]:[_c('em',[_vm._v(_vm._s(Math.ceil(_vm.players.length / 2))+\" votes\")]),_vm._v(\" required to \"),_c('em',[_vm._v(\"exile\")]),_vm._v(\". \")],(_vm.session.lockedVote > 1)?_c('div',[(_vm.voters.length)?_c('em',{staticClass:\"blue\"},[_vm._v(_vm._s(_vm.voters.join(\", \"))+\" \")]):_c('span',[_vm._v(\"nobody\")]),_vm._v(\" voted \"),_c('em',[_vm._v(\"YES\")])]):_vm._e(),(!_vm.session.isSpectator)?[(!_vm.session.lockedVote)?_c('div',[_vm._v(\" Vote time per player: \"),_c('font-awesome-icon',{attrs:{\"icon\":\"minus-circle\"},on:{\"mousedown\":function($event){$event.preventDefault();return _vm.setVotingSpeed(-1)}}}),_vm._v(\" \"+_vm._s(_vm.session.votingSpeed)+\"s \"),_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"},on:{\"mousedown\":function($event){$event.preventDefault();return _vm.setVotingSpeed(1)}}})],1):_vm._e(),_c('div',{staticClass:\"button-group\"},[(!_vm.session.lockedVote)?_c('div',{staticClass:\"button\",on:{\"click\":_vm.start}},[_vm._v(\" Start Vote \")]):_c('div',{staticClass:\"button\",on:{\"click\":_vm.stop}},[_vm._v(\" Reset Vote \")]),_c('div',{staticClass:\"button\",on:{\"click\":_vm.finish}},[_vm._v(\"Finish\")])])]:(_vm.canVote)?[(!_vm.session.lockedVote)?_c('div',[_vm._v(\" \"+_vm._s(_vm.session.votingSpeed)+\" seconds between votes \")]):_vm._e(),_c('div',{staticClass:\"button-group\"},[_c('div',{staticClass:\"button vote-no\",on:{\"click\":function($event){return _vm.vote(false)}}},[_vm._v(\"Vote NO\")]),_c('div',{staticClass:\"button vote-yes\",on:{\"click\":function($event){return _vm.vote(true)}}},[_vm._v(\"Vote YES\")])])]:(!_vm.player)?_c('div',[_vm._v(\" Please claim a seat to vote. \")]):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vote.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vote.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Vote.vue?vue&type=template&id=4c39e147&scoped=true&\"\nimport script from \"./Vote.vue?vue&type=script&lang=js&\"\nexport * from \"./Vote.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Vote.vue?vue&type=style&index=0&id=4c39e147&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c39e147\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"gradients\"}},_vm._l((_vm.gradients),function(gradient,index){return _c('svg',{key:index,attrs:{\"width\":\"0\",\"height\":\"0\"}},[_c('linearGradient',{attrs:{\"id\":gradient[0],\"x1\":\"50%\",\"y1\":\"100%\",\"x2\":\"50%\",\"y2\":\"0%\"}},[_c('stop',{style:({ 'stop-color': gradient[2], 'stop-opacity': 1 }),attrs:{\"offset\":\"0%\"}}),_c('stop',{style:({ 'stop-color': gradient[1], 'stop-opacity': 1 }),attrs:{\"offset\":\"100%\"}})],1)],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gradients.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gradients.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Gradients.vue?vue&type=template&id=1e202a64&scoped=true&\"\nimport script from \"./Gradients.vue?vue&type=script&lang=js&\"\nexport * from \"./Gradients.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Gradients.vue?vue&type=style&index=0&id=1e202a64&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e202a64\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=9c882d1c&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import rolesJSON from \"../roles.json\";\n\nclass LiveSession {\n constructor(store) {\n // this._wss = \"ws://localhost:8081/\";\n this._wss = \"wss://baumgart.biz:8080/\";\n this._socket = null;\n this._isSpectator = true;\n this._gamestate = [];\n this._store = store;\n this._pingInterval = 30 * 1000; // 30 seconds between pings\n this._pingTimer = null;\n this._players = {}; // map of players connected to a session\n // reconnect to previous session\n if (this._store.state.session.sessionId) {\n this.connect(this._store.state.session.sessionId);\n }\n }\n\n /**\n * Open a new session for the passed channel.\n * @param channel\n * @private\n */\n _open(channel) {\n this.disconnect();\n this._socket = new WebSocket(this._wss + channel);\n this._socket.addEventListener(\"message\", this._handleMessage.bind(this));\n this._socket.onopen = this._onOpen.bind(this);\n this._socket.onclose = () => {\n this._socket = null;\n this._store.commit(\"session/setSessionId\", \"\");\n clearInterval(this._pingTimer);\n this._pingTimer = null;\n };\n }\n\n /**\n * Send a message through the socket.\n * @param command\n * @param params\n * @private\n */\n _send(command, params) {\n if (this._socket && this._socket.readyState === 1) {\n this._socket.send(JSON.stringify([command, params]));\n }\n }\n\n /**\n * Open event handler for socket.\n * @private\n */\n _onOpen() {\n if (this._isSpectator) {\n this._send(\"req\", \"gs\");\n } else {\n this.sendGamestate();\n }\n this._ping();\n }\n\n /**\n * Send a ping message with player ID and ST flag.\n * @private\n */\n _ping() {\n this._send(\"ping\", [this._isSpectator, this._store.state.session.playerId]);\n this._handlePing();\n clearTimeout(this._pingTimer);\n this._pingTimer = setTimeout(this._ping.bind(this), this._pingInterval);\n }\n\n /**\n * Handle an incoming socket message.\n * @param data\n * @private\n */\n _handleMessage({ data }) {\n let command, params;\n try {\n [command, params] = JSON.parse(data);\n } catch (err) {\n console.log(\"unsupported socket message\", data);\n }\n switch (command) {\n case \"req\":\n if (params === \"gs\") {\n this.sendGamestate();\n }\n break;\n case \"edition\":\n this._updateEdition(params);\n break;\n case \"gs\":\n this._updateGamestate(params);\n break;\n case \"player\":\n this._updatePlayer(params);\n break;\n case \"claim\":\n this._updateSeat(params);\n break;\n case \"ping\":\n this._handlePing(params);\n break;\n case \"nomination\":\n this._store.commit(\"session/nomination\", params);\n break;\n case \"votingSpeed\":\n this._store.commit(\"session/setVotingSpeed\", params);\n break;\n case \"vote\":\n this._handleVote(params);\n break;\n case \"lock\":\n this._handleLock(params);\n break;\n case \"bye\":\n this._handleBye(params);\n break;\n }\n }\n\n /**\n * Connect to a new live session, either as host or spectator.\n * Set a unique playerId if there isn't one yet.\n * @param channel\n */\n connect(channel) {\n if (!this._store.state.session.playerId) {\n this._store.commit(\n \"session/setPlayerId\",\n Math.random()\n .toString(36)\n .substr(2)\n );\n }\n this._store.commit(\"session/setPlayerCount\", 0);\n this._isSpectator = this._store.state.session.isSpectator;\n this._open(channel);\n }\n\n /**\n * Close the current session, if any.\n */\n disconnect() {\n this._store.commit(\"session/setPlayerCount\", 0);\n if (this._socket) {\n this._send(\"bye\", this._store.state.session.playerId);\n this._socket.close();\n this._socket = null;\n }\n }\n\n /**\n * Publish the current gamestate.\n */\n sendGamestate() {\n if (this._isSpectator) return;\n this._gamestate = this._store.state.players.players.map(player => ({\n name: player.name,\n id: player.id,\n isDead: player.isDead,\n isVoteless: player.isVoteless,\n ...(player.role && player.role.team === \"traveler\"\n ? { roleId: player.role.id }\n : {})\n }));\n this.sendEdition();\n this._send(\"gs\", {\n gamestate: this._gamestate,\n nomination: this._store.state.session.nomination,\n votingSpeed: this._store.state.session.votingSpeed\n });\n }\n\n /**\n * Update the gamestate based on incoming data.\n * @param data\n * @private\n */\n _updateGamestate(data) {\n if (!this._isSpectator) return;\n const { gamestate, nomination, votingSpeed } = data;\n this._store.commit(\"session/nomination\", nomination);\n this._store.commit(\"session/setVotingSpeed\", votingSpeed);\n const players = this._store.state.players.players;\n // adjust number of players\n if (players.length < gamestate.length) {\n for (let x = players.length; x < gamestate.length; x++) {\n this._store.commit(\"players/add\", gamestate[x].name);\n }\n } else if (players.length > gamestate.length) {\n for (let x = players.length; x > gamestate.length; x--) {\n this._store.commit(\"players/remove\", x - 1);\n }\n }\n // update status for each player\n gamestate.forEach((state, x) => {\n const player = players[x];\n const { roleId } = state;\n // update relevant properties\n [\"name\", \"id\", \"isDead\", \"isVoteless\"].forEach(property => {\n const value = state[property];\n if (player[property] !== value) {\n this._store.commit(\"players/update\", { player, property, value });\n }\n });\n // roles are special, because of travelers\n if (roleId && player.role.id !== roleId) {\n const role = rolesJSON.find(r => r.id === roleId);\n this._store.commit(\"players/update\", {\n player,\n property: \"role\",\n value: role\n });\n } else if (!roleId && player.role.team === \"traveler\") {\n this._store.commit(\"players/update\", {\n player,\n property: \"role\",\n value: {}\n });\n }\n });\n }\n\n /**\n * Publish an edition update. ST only\n */\n sendEdition() {\n if (this._isSpectator) return;\n const { edition } = this._store.state;\n let roles;\n if (edition === \"custom\") {\n roles = Array.from(this._store.state.roles.keys());\n }\n this._send(\"edition\", {\n edition,\n ...(roles ? { roles } : {})\n });\n }\n\n /**\n * Update edition and roles for custom editions.\n * @param edition\n * @param roles\n * @private\n */\n _updateEdition({ edition, roles }) {\n if (!this._isSpectator) return;\n this._store.commit(\"setEdition\", edition);\n if (roles) {\n this._store.commit(\"setRoles\", roles);\n }\n }\n\n /**\n * Publish a player update.\n * @param player\n * @param property\n * @param value\n */\n sendPlayer({ player, property, value }) {\n if (this._isSpectator || property === \"reminders\") return;\n const index = this._store.state.players.players.indexOf(player);\n if (property === \"role\") {\n if (value.team && value.team === \"traveler\") {\n // update local gamestate to remember this player as a traveler\n this._gamestate[index].roleId = value.id;\n this._send(\"player\", {\n index,\n property,\n value: value.id\n });\n } else if (this._gamestate[index].roleId) {\n // player was previously a traveler\n delete this._gamestate[index].roleId;\n this._send(\"player\", { index, property, value: \"\" });\n }\n } else {\n this._send(\"player\", { index, property, value });\n }\n }\n\n /**\n * Update a player based on incoming data.\n * @param index\n * @param property\n * @param value\n * @private\n */\n _updatePlayer({ index, property, value }) {\n const player = this._store.state.players.players[index];\n if (!player) return;\n // special case where a player stops being a traveler\n if (property === \"role\") {\n if (!value && player.role.team === \"traveler\") {\n // reset to an unknown role\n this._store.commit(\"players/update\", {\n player,\n property: \"role\",\n value: {}\n });\n } else {\n // load traveler role\n const role = rolesJSON.find(r => r.id === value);\n this._store.commit(\"players/update\", {\n player,\n property: \"role\",\n value: role\n });\n }\n } else {\n // just update the player otherwise\n this._store.commit(\"players/update\", { player, property, value });\n }\n }\n\n /**\n * Handle a ping message by another player / storyteller\n * @param isSpectator\n * @param playerId\n * @private\n */\n _handlePing([isSpectator, playerId] = []) {\n const now = new Date().getTime();\n if (playerId) {\n this._players[playerId] = now;\n if (!this._isSpectator && !isSpectator) {\n alert(\"Another storyteller joined the session!\");\n }\n }\n // remove players that haven't sent a ping in twice the timespan\n for (let player in this._players) {\n if (now - this._players[player] > this._pingInterval * 2) {\n delete this._players[player];\n }\n }\n // remove claimed seats from players that are no longer connected\n this._store.state.players.players.forEach(player => {\n if (!this._isSpectator && player.id && !this._players[player.id]) {\n this._store.commit(\"players/update\", {\n player,\n property: \"id\",\n value: \"\"\n });\n }\n });\n this._store.commit(\n \"session/setPlayerCount\",\n Object.keys(this._players).length\n );\n }\n\n /**\n * Handle a player leaving the sessions\n * @param playerId\n * @private\n */\n _handleBye(playerId) {\n delete this._players[playerId];\n this._store.commit(\n \"session/setPlayerCount\",\n Object.keys(this._players).length\n );\n }\n\n /**\n * Claim a seat, needs to be confirmed by the Storyteller.\n * @param seat either -1 or the index of the seat claimed\n */\n claimSeat(seat) {\n if (!this._isSpectator) return;\n if (this._store.state.players.players.length > seat) {\n this._send(\"claim\", [seat, this._store.state.session.playerId]);\n }\n }\n\n /**\n * Update a player id associated with that seat.\n * @param index seat index or -1\n * @param value playerId to add / remove\n * @private\n */\n _updateSeat([index, value]) {\n if (this._isSpectator) return;\n const property = \"id\";\n const players = this._store.state.players.players;\n // remove previous seat\n const oldIndex = players.findIndex(({ id }) => id === value);\n if (oldIndex >= 0 && oldIndex !== index) {\n this._store.commit(\"players/update\", {\n player: players[oldIndex],\n property,\n value: \"\"\n });\n }\n // add playerId to new seat\n if (index >= 0) {\n const player = players[index];\n if (!player) return;\n this._store.commit(\"players/update\", { player, property, value });\n }\n // update player session list as if this was a ping\n this._handlePing([true, value]);\n }\n\n /**\n * A player nomination. ST only\n * This also syncs the voting speed to the players.\n * @param nomination [nominator, nominee]\n */\n nomination(nomination) {\n if (this._isSpectator) return;\n const players = this._store.state.players.players;\n if (\n !nomination ||\n (players.length > nomination[0] && players.length > nomination[1])\n ) {\n this.setVotingSpeed(this._store.state.session.votingSpeed);\n this._send(\"nomination\", nomination);\n }\n }\n\n /**\n * Send the voting speed. ST only\n * @param votingSpeed voting speed in seconds, minimum 1\n */\n setVotingSpeed(votingSpeed) {\n if (this._isSpectator) return;\n if (votingSpeed) {\n this._send(\"votingSpeed\", votingSpeed);\n }\n }\n\n /**\n * Send a vote. Player or ST\n * @param index Seat of the player\n * @param sync Flag whether to sync this vote with others or not\n */\n vote([index]) {\n const player = this._store.state.players.players[index];\n if (\n this._store.state.session.playerId === player.id ||\n !this._isSpectator\n ) {\n // send vote only if it is your own vote or you are the storyteller\n this._send(\"vote\", [index, this._store.state.session.votes[index]]);\n }\n }\n\n /**\n * Handle an incoming vote, but not if it is for your own seat.\n * @param index\n * @param vote\n */\n _handleVote([index, vote]) {\n this._store.commit(\"session/vote\", [index, vote]);\n }\n\n /**\n * Lock a vote. ST only\n */\n lockVote() {\n if (this._isSpectator) return;\n const { lockedVote, votes, nomination } = this._store.state.session;\n const { players } = this._store.state.players;\n const index = (nomination[1] + lockedVote - 1) % players.length;\n this._send(\"lock\", [this._store.state.session.lockedVote, votes[index]]);\n }\n\n /**\n * Update vote lock and the locked vote, if it differs.\n * @param lock\n * @param vote\n * @private\n */\n _handleLock([lock, vote]) {\n this._store.commit(\"session/lockVote\", lock);\n if (lock > 1) {\n const { lockedVote, nomination } = this._store.state.session;\n const { players } = this._store.state.players;\n const index = (nomination[1] + lockedVote - 1) % players.length;\n if (this._store.state.session.votes[index] !== vote) {\n this._store.commit(\"session/vote\", [index, vote]);\n }\n }\n }\n}\n\nexport default store => {\n // setup\n const session = new LiveSession(store);\n\n // listen to mutations\n store.subscribe(({ type, payload }) => {\n switch (type) {\n case \"session/setSessionId\":\n if (payload) {\n session.connect(payload);\n } else {\n window.location.hash = \"\";\n session.disconnect();\n }\n break;\n case \"session/claimSeat\":\n session.claimSeat(payload);\n break;\n case \"session/nomination\":\n session.nomination(payload);\n break;\n case \"session/voteSync\":\n session.vote(payload);\n break;\n case \"session/lockVote\":\n session.lockVote();\n break;\n case \"session/setVotingSpeed\":\n session.setVotingSpeed(payload);\n break;\n case \"setEdition\":\n session.sendEdition();\n break;\n case \"players/set\":\n case \"players/swap\":\n case \"players/move\":\n case \"players/clear\":\n case \"players/remove\":\n case \"players/add\":\n session.sendGamestate();\n break;\n case \"players/update\":\n session.sendPlayer(payload);\n break;\n }\n });\n\n // check for session Id in hash\n const [command, param] = window.location.hash.substr(1).split(\"/\");\n if (command === \"play\") {\n store.commit(\"session/setSpectator\", true);\n store.commit(\"session/setSessionId\", param);\n }\n};\n","const NEWPLAYER = {\n name: \"\",\n id: \"\",\n role: {},\n reminders: [],\n isVoteless: false,\n isDead: false\n};\n\nconst state = () => ({\n players: []\n});\n\nconst getters = {\n alive({ players }) {\n return players.filter(player => !player.isDead).length;\n },\n nonTravelers({ players }) {\n const nonTravelers = players.filter(\n player => player.role.team !== \"traveler\"\n );\n return Math.min(nonTravelers.length, 15);\n },\n // calculate a Map of player => night order\n nightOrder({ players }) {\n const firstNight = [0];\n const otherNight = [0];\n players.forEach(({ role, isDead }) => {\n if (isDead) return;\n if (role.firstNight && !firstNight.includes(role.firstNight)) {\n firstNight.push(role.firstNight);\n }\n if (role.otherNight && !otherNight.includes(role.otherNight)) {\n otherNight.push(role.otherNight);\n }\n });\n firstNight.sort((a, b) => a - b);\n otherNight.sort((a, b) => a - b);\n const nightOrder = new Map();\n players.forEach(player => {\n const first = Math.max(firstNight.indexOf(player.role.firstNight), 0);\n const other = Math.max(otherNight.indexOf(player.role.otherNight), 0);\n nightOrder.set(player, { first, other });\n });\n return nightOrder;\n }\n};\n\nconst actions = {\n randomize({ state, commit }) {\n const players = state.players\n .map(a => [Math.random(), a])\n .sort((a, b) => a[0] - b[0])\n .map(a => a[1]);\n commit(\"set\", players);\n },\n clearRoles({ state, commit, rootState }) {\n let players;\n if (rootState.session.isSpectator) {\n players = state.players.map(player => {\n if (player.role.team !== \"traveler\") {\n player.role = {};\n }\n player.reminders = [];\n return player;\n });\n } else {\n players = state.players.map(({ name, id }) => ({\n ...NEWPLAYER,\n name,\n id\n }));\n }\n commit(\"set\", players);\n }\n};\n\nconst mutations = {\n clear(state) {\n state.players = [];\n },\n set(state, players = []) {\n state.players = players;\n },\n update(state, { player, property, value }) {\n const index = state.players.indexOf(player);\n if (index >= 0) {\n state.players[index][property] = value;\n }\n },\n add(state, name) {\n state.players.push({\n ...NEWPLAYER,\n name\n });\n },\n remove(state, index) {\n state.players.splice(index, 1);\n },\n swap(state, [from, to]) {\n [state.players[from], state.players[to]] = [\n state.players[to],\n state.players[from]\n ];\n },\n move(state, [from, to]) {\n state.players.splice(to, 0, state.players.splice(from, 1)[0]);\n }\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n};\n","// helper functions\nconst set = key => (state, val) => {\n state[key] = val;\n};\n\nconst handleVote = (state, [index, vote]) => {\n if (!state.nomination) return;\n state.votes = [...state.votes];\n state.votes[index] = vote === undefined ? !state.votes[index] : vote;\n};\n\nconst state = () => ({\n sessionId: \"\",\n isSpectator: false,\n playerCount: 0,\n playerId: \"\",\n claimedSeat: -1,\n nomination: false,\n votes: [],\n lockedVote: 0,\n votingSpeed: 3\n});\n\nconst getters = {};\n\nconst actions = {};\n\nconst mutations = {\n setSessionId: set(\"sessionId\"),\n setPlayerId: set(\"playerId\"),\n setSpectator: set(\"isSpectator\"),\n setPlayerCount: set(\"playerCount\"),\n setVotingSpeed: set(\"votingSpeed\"),\n claimSeat: set(\"claimedSeat\"),\n nomination(state, nomination) {\n state.nomination = nomination;\n state.votes = [];\n state.lockedVote = 0;\n },\n /**\n * Store a vote with and without syncing it to the live session.\n * This is necessary in order to prevent infinite voting loops.\n * @param state\n * @param vote\n */\n vote: handleVote,\n voteSync: handleVote,\n lockVote(state, lock) {\n state.lockedVote = lock !== undefined ? lock : state.lockedVote + 1;\n }\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n};\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport persistence from \"./persistence\";\nimport socket from \"./socket\";\nimport players from \"./modules/players\";\nimport session from \"./modules/session\";\nimport editionJSON from \"../editions.json\";\nimport rolesJSON from \"../roles.json\";\n\nVue.use(Vuex);\n\nconst rolesJSONbyId = new Map(rolesJSON.map(role => [role.id, role]));\n\nconst getRolesByEdition = (edition = \"tb\") => {\n const selectedEdition =\n editionJSON.find(({ id }) => id === edition) || editionJSON[0];\n return new Map(\n rolesJSON\n .filter(\n r => r.edition === edition || selectedEdition.roles.includes(r.id)\n )\n .sort((a, b) => b.team.localeCompare(a.team))\n .map(role => [role.id, role])\n );\n};\n\nexport default new Vuex.Store({\n modules: {\n players,\n session\n },\n state: {\n grimoire: {\n isNightOrder: true,\n isPublic: true,\n isMenuOpen: false,\n isScreenshot: false,\n isScreenshotSuccess: false,\n zoom: 0,\n background: \"\",\n bluffs: []\n },\n modals: {\n reference: false,\n edition: false,\n roles: false,\n role: false,\n reminder: false\n },\n edition: \"tb\",\n roles: getRolesByEdition()\n },\n mutations: {\n toggleMenu({ grimoire }) {\n grimoire.isMenuOpen = !grimoire.isMenuOpen;\n },\n toggleGrimoire({ grimoire }, isPublic) {\n if (isPublic === true || isPublic === false) {\n grimoire.isPublic = isPublic;\n } else {\n grimoire.isPublic = !grimoire.isPublic;\n }\n document.title = `Blood on the Clocktower ${\n grimoire.isPublic ? \"Town Square\" : \"Grimoire\"\n }`;\n },\n toggleNightOrder({ grimoire }) {\n grimoire.isNightOrder = !grimoire.isNightOrder;\n },\n setZoom({ grimoire }, zoom) {\n grimoire.zoom = zoom;\n },\n setBackground({ grimoire }, background) {\n grimoire.background = background;\n },\n setBluff({ grimoire }, { index, role } = {}) {\n if (index !== undefined) {\n grimoire.bluffs.splice(index, 1, role);\n } else {\n grimoire.bluffs = [];\n }\n },\n toggleModal({ modals }, name) {\n if (name) {\n modals[name] = !modals[name];\n }\n for (let modal in modals) {\n if (modal === name) continue;\n modals[modal] = false;\n }\n },\n updateScreenshot({ grimoire }, status) {\n if (status !== true && status !== false) {\n grimoire.isScreenshotSuccess = false;\n grimoire.isScreenshot = true;\n } else {\n grimoire.isScreenshotSuccess = status;\n grimoire.isScreenshot = false;\n }\n },\n setRoles(state, roleIds) {\n state.roles = new Map(\n roleIds\n .filter(roleId => rolesJSONbyId.has(roleId))\n .sort((a, b) =>\n rolesJSONbyId.get(b).team.localeCompare(rolesJSONbyId.get(a).team)\n )\n .map(roleId => [roleId, rolesJSONbyId.get(roleId)])\n );\n },\n setEdition(state, edition) {\n state.edition = edition;\n state.modals.edition = false;\n if (edition !== \"custom\") {\n state.roles = getRolesByEdition(edition);\n }\n }\n },\n plugins: [persistence, socket]\n});\n","import Vue from \"vue\";\nimport App from \"./App\";\nimport store from \"./store\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { fas } from \"@fortawesome/free-solid-svg-icons\";\nimport { fab } from \"@fortawesome/free-brands-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\n\nconst faIcons = [\n \"AddressCard\",\n \"BookOpen\",\n \"BroadcastTower\",\n \"Camera\",\n \"Chair\",\n \"CheckSquare\",\n \"CloudMoon\",\n \"Cog\",\n \"Copy\",\n \"Dice\",\n \"ExchangeAlt\",\n \"FileUpload\",\n \"HandPointRight\",\n \"Heartbeat\",\n \"Image\",\n \"Link\",\n \"MinusCircle\",\n \"PeopleArrows\",\n \"PlusCircle\",\n \"Question\",\n \"Random\",\n \"RedoAlt\",\n \"SearchMinus\",\n \"SearchPlus\",\n \"Skull\",\n \"Square\",\n \"TheaterMasks\",\n \"Times\",\n \"TimesCircle\",\n \"TrashAlt\",\n \"Undo\",\n \"User\",\n \"UserEdit\",\n \"UserFriends\",\n \"Users\",\n \"VoteYea\"\n];\nconst fabIcons = [\"Github\", \"Discord\"];\nlibrary.add(\n ...faIcons.map(i => fas[\"fa\" + i]),\n ...fabIcons.map(i => fab[\"fa\" + i])\n);\nVue.component(\"font-awesome-icon\", FontAwesomeIcon);\nVue.config.productionTip = false;\n\nnew Vue({\n render: h => h(App),\n store\n}).$mount(\"#app\");\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditionModal.vue?vue&type=style&index=0&id=36ae1bc0&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditionModal.vue?vue&type=style&index=0&id=36ae1bc0&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/cannibal.e2bfb541.png\";","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/goblin.7ebbd9ad.png\";","module.exports = __webpack_public_path__ + \"img/x.fbca4d75.png\";","var map = {\n\t\"./amnesiac.png\": \"043b\",\n\t\"./apprentice.png\": \"4bea\",\n\t\"./artist.png\": \"2cd0\",\n\t\"./assassin.png\": \"9187\",\n\t\"./balloonist.png\": \"65db\",\n\t\"./barber.png\": \"fcc6\",\n\t\"./barista.png\": \"027a\",\n\t\"./baron.png\": \"24d3\",\n\t\"./beggar.png\": \"cfcc\",\n\t\"./bishop.png\": \"8030\",\n\t\"./bonecollector.png\": \"23b1\",\n\t\"./bureaucrat.png\": \"25f6\",\n\t\"./butcher.png\": \"37dd\",\n\t\"./butler.png\": \"64fe\",\n\t\"./cannibal.png\": \"5bd9\",\n\t\"./cerenovus.png\": \"0436\",\n\t\"./chambermaid.png\": \"125e\",\n\t\"./chef.png\": \"1e83\",\n\t\"./clockmaker.png\": \"f93f\",\n\t\"./courtier.png\": \"ee02\",\n\t\"./custom.png\": \"fd83\",\n\t\"./deviant.png\": \"3b65\",\n\t\"./devilsadvocate.png\": \"cd8b\",\n\t\"./dreamer.png\": \"71b8\",\n\t\"./drunk.png\": \"d97d\",\n\t\"./empath.png\": \"bb7a\",\n\t\"./evil.png\": \"c24f\",\n\t\"./eviltwin.png\": \"e014\",\n\t\"./exorcist.png\": \"5072\",\n\t\"./fanggu.png\": \"6ac0\",\n\t\"./fisherman.png\": \"c5db\",\n\t\"./flowergirl.png\": \"66ae\",\n\t\"./fool.png\": \"4720\",\n\t\"./fortuneteller.png\": \"43e8\",\n\t\"./gambler.png\": \"dce6\",\n\t\"./goblin.png\": \"5c8e\",\n\t\"./godfather.png\": \"99d0\",\n\t\"./good.png\": \"667e\",\n\t\"./goon.png\": \"55aa\",\n\t\"./gossip.png\": \"cadc\",\n\t\"./grandmother.png\": \"c9f5\",\n\t\"./gunslinger.png\": \"ee92\",\n\t\"./harlot.png\": \"559e\",\n\t\"./imp.png\": \"3e70\",\n\t\"./innkeeper.png\": \"663c\",\n\t\"./investigator.png\": \"b570\",\n\t\"./judge.png\": \"f09b\",\n\t\"./juggler.png\": \"65ab\",\n\t\"./klutz.png\": \"adfc\",\n\t\"./leviathan.png\": \"2b04\",\n\t\"./librarian.png\": \"4d73\",\n\t\"./lunatic.png\": \"0b61\",\n\t\"./mastermind.png\": \"f834\",\n\t\"./mathematician.png\": \"8888\",\n\t\"./matron.png\": \"b1cb\",\n\t\"./mayor.png\": \"b223\",\n\t\"./minstrel.png\": \"4efd\",\n\t\"./monk.png\": \"6741\",\n\t\"./moonchild.png\": \"3f65\",\n\t\"./mutant.png\": \"17ad\",\n\t\"./nodashii.png\": \"68a4\",\n\t\"./oracle.png\": \"0c12\",\n\t\"./pacifist.png\": \"fff1\",\n\t\"./philosopher.png\": \"3603\",\n\t\"./pithag.png\": \"7f07\",\n\t\"./plus.png\": \"160b\",\n\t\"./po.png\": \"c73a\",\n\t\"./poisoner.png\": \"f282\",\n\t\"./professor.png\": \"b30c\",\n\t\"./pukka.png\": \"a6a2\",\n\t\"./ravenkeeper.png\": \"0c59\",\n\t\"./recluse.png\": \"177d\",\n\t\"./sage.png\": \"30b6\",\n\t\"./sailor.png\": \"223c\",\n\t\"./saint.png\": \"6936\",\n\t\"./savant.png\": \"d715\",\n\t\"./scapegoat.png\": \"327a\",\n\t\"./scarletwoman.png\": \"f322\",\n\t\"./seamstress.png\": \"ac7c\",\n\t\"./shabaloth.png\": \"0b29\",\n\t\"./slayer.png\": \"d62b\",\n\t\"./snakecharmer.png\": \"4021\",\n\t\"./soldier.png\": \"4e76\",\n\t\"./spy.png\": \"ec1e\",\n\t\"./sweetheart.png\": \"f1e5\",\n\t\"./tealady.png\": \"ba9b\",\n\t\"./thief.png\": \"9ce3\",\n\t\"./tinker.png\": \"9f7e\",\n\t\"./towncrier.png\": \"38a5\",\n\t\"./undertaker.png\": \"0e20\",\n\t\"./vigormortis.png\": \"f4bd\",\n\t\"./virgin.png\": \"eff4\",\n\t\"./vortox.png\": \"3a43\",\n\t\"./voudon.png\": \"a710\",\n\t\"./washerwoman.png\": \"013f\",\n\t\"./widow.png\": \"22c9\",\n\t\"./witch.png\": \"f558\",\n\t\"./x.png\": \"5cf2\",\n\t\"./zombuul.png\": \"20ca\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"61b0\";","module.exports = __webpack_public_path__ + \"img/butler.3763fa3d.png\";","module.exports = __webpack_public_path__ + \"img/juggler.7cc6d089.png\";","module.exports = __webpack_public_path__ + \"img/balloonist.3d6e31f8.png\";","module.exports = __webpack_public_path__ + \"img/innkeeper.8b0b87f1.png\";","module.exports = __webpack_public_path__ + \"img/good.9b3436c8.png\";","module.exports = __webpack_public_path__ + \"img/flowergirl.4ee69cb5.png\";","module.exports = __webpack_public_path__ + \"img/monk.a6f2667a.png\";","module.exports = __webpack_public_path__ + \"img/nodashii.5c943357.png\";","module.exports = __webpack_public_path__ + \"img/saint.f81db252.png\";","module.exports = __webpack_public_path__ + \"img/fanggu.cb4e346c.png\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReminderModal.vue?vue&type=style&index=0&id=248e6d58&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReminderModal.vue?vue&type=style&index=0&id=248e6d58&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/dreamer.ab7f2328.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RolesModal.vue?vue&type=style&index=0&id=a67c4086&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RolesModal.vue?vue&type=style&index=0&id=a67c4086&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/pithag.adc1ce12.png\";","module.exports = __webpack_public_path__ + \"img/bishop.dec14fdc.png\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/mathematician.31142ad1.png\";","module.exports = __webpack_public_path__ + \"img/assassin.db54a5ff.png\";","module.exports = __webpack_public_path__ + \"img/godfather.2febcd81.png\";","module.exports = __webpack_public_path__ + \"img/thief.60ce8845.png\";","module.exports = __webpack_public_path__ + \"img/tinker.669b5612.png\";","module.exports = __webpack_public_path__ + \"img/pukka.cbbc2d26.png\";","module.exports = __webpack_public_path__ + \"img/voudon.2b1f0492.png\";","module.exports = __webpack_public_path__ + \"img/seamstress.05f0eb74.png\";","module.exports = __webpack_public_path__ + \"img/klutz.c7e784cd.png\";","module.exports = __webpack_public_path__ + \"img/matron.ffb17746.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownInfo.vue?vue&type=style&index=0&id=280b29dc&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownInfo.vue?vue&type=style&index=0&id=280b29dc&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/mayor.98dda8d8.png\";","module.exports = __webpack_public_path__ + \"img/professor.8a5ccf04.png\";","module.exports = __webpack_public_path__ + \"img/investigator.13194f19.png\";","module.exports = __webpack_public_path__ + \"img/tealady.2d47353e.png\";","module.exports = __webpack_public_path__ + \"img/empath.d7a89ed7.png\";","module.exports = __webpack_public_path__ + \"img/evil.908a2622.png\";","module.exports = __webpack_public_path__ + \"img/fisherman.9077de7e.png\";","module.exports = __webpack_public_path__ + \"img/po.4c484011.png\";","module.exports = __webpack_public_path__ + \"img/grandmother.16001541.png\";","module.exports = __webpack_public_path__ + \"img/gossip.dd8d7312.png\";","module.exports = __webpack_public_path__ + \"img/devilsadvocate.e455fea0.png\";","module.exports = __webpack_public_path__ + \"img/beggar.b7a4fbda.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Token.vue?vue&type=style&index=0&id=4d8bb4f3&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Token.vue?vue&type=style&index=0&id=4d8bb4f3&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/slayer.0859544b.png\";","module.exports = __webpack_public_path__ + \"img/savant.16bfbc30.png\";","module.exports = __webpack_public_path__ + \"img/drunk.4883c5a1.png\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceModal.vue?vue&type=style&index=0&id=e9ecebd6&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceModal.vue?vue&type=style&index=0&id=e9ecebd6&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/gambler.000b4b9b.png\";","module.exports = store => {\n // initialize data\n if (localStorage.getItem(\"background\")) {\n store.commit(\"setBackground\", localStorage.background);\n }\n if (localStorage.getItem(\"zoom\")) {\n store.commit(\"setZoom\", parseFloat(localStorage.getItem(\"zoom\")));\n }\n if (localStorage.isPublic !== undefined) {\n store.commit(\"toggleGrimoire\", JSON.parse(localStorage.isPublic));\n }\n if (localStorage.edition !== undefined) {\n // this will initialize state.roles!\n store.commit(\"setEdition\", localStorage.edition);\n }\n if (localStorage.roles !== undefined) {\n store.commit(\"setRoles\", JSON.parse(localStorage.roles));\n }\n if (localStorage.bluffs !== undefined) {\n JSON.parse(localStorage.bluffs).forEach((role, index) => {\n store.commit(\"setBluff\", {\n index,\n role: store.state.roles.get(role) || {}\n });\n });\n }\n if (localStorage.players) {\n store.commit(\n \"players/set\",\n JSON.parse(localStorage.players).map(player => ({\n ...player,\n role: store.state.roles.get(player.role) || {}\n }))\n );\n }\n /**** Session related data *****/\n if (localStorage.getItem(\"playerId\")) {\n store.commit(\"session/setPlayerId\", localStorage.getItem(\"playerId\"));\n }\n if (localStorage.getItem(\"session\")) {\n const [spectator, sessionId] = JSON.parse(localStorage.getItem(\"session\"));\n store.commit(\"session/setSpectator\", spectator);\n store.commit(\"session/setSessionId\", sessionId);\n }\n\n // listen to mutations\n store.subscribe(({ type, payload }, state) => {\n switch (type) {\n case \"toggleGrimoire\":\n localStorage.setItem(\n \"isPublic\",\n JSON.stringify(state.grimoire.isPublic)\n );\n break;\n case \"setBackground\":\n if (payload) {\n localStorage.setItem(\"background\", payload);\n } else {\n localStorage.removeItem(\"background\");\n }\n break;\n case \"setZoom\":\n if (payload !== 0) {\n localStorage.setItem(\"zoom\", payload);\n } else {\n localStorage.removeItem(\"zoom\");\n }\n break;\n case \"setEdition\":\n if (payload === \"custom\") {\n localStorage.removeItem(\"edition\");\n } else {\n localStorage.setItem(\"edition\", payload);\n localStorage.removeItem(\"roles\");\n }\n break;\n case \"setRoles\":\n if (!payload.length) {\n localStorage.removeItem(\"roles\");\n } else {\n localStorage.setItem(\"roles\", JSON.stringify(payload));\n }\n break;\n case \"setBluff\":\n localStorage.setItem(\n \"bluffs\",\n JSON.stringify(state.grimoire.bluffs.map(({ id }) => id))\n );\n break;\n case \"players/add\":\n case \"players/update\":\n case \"players/remove\":\n case \"players/clear\":\n case \"players/set\":\n case \"players/swap\":\n case \"players/move\":\n if (state.players.players.length) {\n localStorage.setItem(\n \"players\",\n JSON.stringify(\n state.players.players.map(player => ({\n ...player,\n // simplify the stored data\n role: player.role.id || {}\n }))\n )\n );\n } else {\n localStorage.removeItem(\"players\");\n }\n break;\n case \"session/setSessionId\":\n if (payload) {\n localStorage.setItem(\n \"session\",\n JSON.stringify([state.session.isSpectator, payload])\n );\n } else {\n localStorage.removeItem(\"session\");\n }\n break;\n case \"session/setPlayerId\":\n if (payload) {\n localStorage.setItem(\"playerId\", payload);\n } else {\n localStorage.removeItem(\"playerId\");\n }\n break;\n }\n });\n};\n","module.exports = __webpack_public_path__ + \"img/eviltwin.06a5a8b8.png\";","module.exports = __webpack_public_path__ + \"img/spy.b739966f.png\";","module.exports = __webpack_public_path__ + \"img/courtier.345180fb.png\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleModal.vue?vue&type=style&index=0&id=91110818&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleModal.vue?vue&type=style&index=0&id=91110818&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/gunslinger.9f84c9f2.png\";","module.exports = __webpack_public_path__ + \"img/virgin.eaf181e8.png\";","module.exports = __webpack_public_path__ + \"img/judge.79ec3877.png\";","module.exports = __webpack_public_path__ + \"img/sweetheart.ec1cef03.png\";","module.exports = __webpack_public_path__ + \"img/poisoner.44c80b94.png\";","module.exports = __webpack_public_path__ + \"img/scarletwoman.d2cdaffd.png\";","module.exports = __webpack_public_path__ + \"img/vigormortis.7716a80d.png\";","module.exports = __webpack_public_path__ + \"img/witch.2f895245.png\";","module.exports = __webpack_public_path__ + \"img/mastermind.c3ba5fbb.png\";","module.exports = __webpack_public_path__ + \"img/clockmaker.41906ffc.png\";","module.exports = __webpack_public_path__ + \"img/barber.a354ad9e.png\";","module.exports = __webpack_public_path__ + \"img/custom.8ff972bc.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=style&index=0&id=cf05c89e&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=style&index=0&id=cf05c89e&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/pacifist.ad2d0310.png\";"],"sourceRoot":""}