{"version":3,"file":"js/app.a52636bf.js","mappings":"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","sources":["webpack://townsquare/./src/assets/editions/ sync ^\\.\\/.*\\.png$","webpack://townsquare/./src/assets/icons/ sync ^\\.\\/.*\\.png$","webpack://townsquare/./src/App.vue?a3bf","webpack://townsquare/./src/components/TownSquare.vue?3f5d","webpack://townsquare/./src/components/Player.vue?9fff","webpack://townsquare/./src/components/Token.vue?83e8","webpack://townsquare/src/components/Token.vue","webpack://townsquare/./src/components/Token.vue?e802","webpack://townsquare/./src/components/Token.vue","webpack://townsquare/src/components/Player.vue","webpack://townsquare/./src/components/Player.vue?a595","webpack://townsquare/./src/components/Player.vue","webpack://townsquare/./src/components/modals/ReminderModal.vue?6112","webpack://townsquare/./src/components/modals/Modal.vue?04b1","webpack://townsquare/src/components/modals/Modal.vue","webpack://townsquare/./src/components/modals/Modal.vue?cbf6","webpack://townsquare/./src/components/modals/Modal.vue","webpack://townsquare/src/components/modals/ReminderModal.vue","webpack://townsquare/./src/components/modals/ReminderModal.vue?066f","webpack://townsquare/./src/components/modals/ReminderModal.vue","webpack://townsquare/./src/components/modals/RoleModal.vue?fe25","webpack://townsquare/src/components/modals/RoleModal.vue","webpack://townsquare/./src/components/modals/RoleModal.vue?898f","webpack://townsquare/./src/components/modals/RoleModal.vue","webpack://townsquare/src/components/TownSquare.vue","webpack://townsquare/./src/components/TownSquare.vue?e5c4","webpack://townsquare/./src/components/TownSquare.vue","webpack://townsquare/./src/components/TownInfo.vue?2b12","webpack://townsquare/src/components/TownInfo.vue","webpack://townsquare/./src/components/TownInfo.vue?eb23","webpack://townsquare/./src/components/TownInfo.vue","webpack://townsquare/./src/components/Menu.vue?5204","webpack://townsquare/src/components/Menu.vue","webpack://townsquare/./src/components/Menu.vue?f240","webpack://townsquare/./src/components/Menu.vue","webpack://townsquare/./src/components/modals/RolesModal.vue?04ce","webpack://townsquare/src/components/modals/RolesModal.vue","webpack://townsquare/./src/components/modals/RolesModal.vue?d5a7","webpack://townsquare/./src/components/modals/RolesModal.vue","webpack://townsquare/./src/components/modals/EditionModal.vue?298a","webpack://townsquare/src/components/modals/EditionModal.vue","webpack://townsquare/./src/components/modals/EditionModal.vue?004d","webpack://townsquare/./src/components/modals/EditionModal.vue","webpack://townsquare/./src/components/Intro.vue?f703","webpack://townsquare/src/components/Intro.vue","webpack://townsquare/./src/components/Intro.vue?0e6b","webpack://townsquare/./src/components/Intro.vue","webpack://townsquare/./src/components/modals/ReferenceModal.vue?91c3","webpack://townsquare/src/components/modals/ReferenceModal.vue","webpack://townsquare/./src/components/modals/ReferenceModal.vue?b30f","webpack://townsquare/./src/components/modals/ReferenceModal.vue","webpack://townsquare/./src/components/Vote.vue?62d2","webpack://townsquare/src/components/Vote.vue","webpack://townsquare/./src/components/Vote.vue?174d","webpack://townsquare/./src/components/Vote.vue","webpack://townsquare/./src/components/Gradients.vue?8e55","webpack://townsquare/src/components/Gradients.vue","webpack://townsquare/./src/components/Gradients.vue?becb","webpack://townsquare/./src/components/Gradients.vue","webpack://townsquare/./src/components/modals/NightOrderModal.vue?d47b","webpack://townsquare/src/components/modals/NightOrderModal.vue","webpack://townsquare/./src/components/modals/NightOrderModal.vue?45a4","webpack://townsquare/./src/components/modals/NightOrderModal.vue","webpack://townsquare/./src/components/modals/FabledModal.vue?94dc","webpack://townsquare/src/components/modals/FabledModal.vue","webpack://townsquare/./src/components/modals/FabledModal.vue?ef47","webpack://townsquare/./src/components/modals/FabledModal.vue","webpack://townsquare/./src/components/modals/VoteHistoryModal.vue?83a5","webpack://townsquare/src/components/modals/VoteHistoryModal.vue","webpack://townsquare/./src/components/modals/VoteHistoryModal.vue?9779","webpack://townsquare/./src/components/modals/VoteHistoryModal.vue","webpack://townsquare/./src/components/modals/GameStateModal.vue?73dc","webpack://townsquare/src/components/modals/GameStateModal.vue","webpack://townsquare/./src/components/modals/GameStateModal.vue?f514","webpack://townsquare/./src/components/modals/GameStateModal.vue","webpack://townsquare/src/App.vue","webpack://townsquare/./src/App.vue?6a4a","webpack://townsquare/./src/App.vue","webpack://townsquare/./src/store/socket.js","webpack://townsquare/./src/store/modules/players.js","webpack://townsquare/./src/store/modules/session.js","webpack://townsquare/./src/store/index.js","webpack://townsquare/./src/main.js","webpack://townsquare/./src/store/persistence.js","webpack://townsquare/webpack/bootstrap","webpack://townsquare/webpack/runtime/chunk loaded","webpack://townsquare/webpack/runtime/compat get default export","webpack://townsquare/webpack/runtime/define property getters","webpack://townsquare/webpack/runtime/global","webpack://townsquare/webpack/runtime/hasOwnProperty shorthand","webpack://townsquare/webpack/runtime/publicPath","webpack://townsquare/webpack/runtime/jsonp chunk loading","webpack://townsquare/webpack/startup"],"sourcesContent":["var map = {\n\t\"./bmr-demon.png\": 387,\n\t\"./bmr-minion.png\": 9764,\n\t\"./bmr-outsider.png\": 3396,\n\t\"./bmr-townsfolk.png\": 4174,\n\t\"./bmr.png\": 4085,\n\t\"./custom.png\": 5592,\n\t\"./luf.png\": 8142,\n\t\"./snv-demon.png\": 2867,\n\t\"./snv-minion.png\": 3571,\n\t\"./snv-outsider.png\": 3429,\n\t\"./snv-townsfolk.png\": 1822,\n\t\"./snv.png\": 9857,\n\t\"./tb-demon.png\": 6737,\n\t\"./tb-minion.png\": 972,\n\t\"./tb-outsider.png\": 2338,\n\t\"./tb-townsfolk.png\": 9600,\n\t\"./tb.png\": 6827\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 = 3821;","var map = {\n\t\"./acrobat.png\": 8035,\n\t\"./alchemist.png\": 9799,\n\t\"./alhadikhia.png\": 8723,\n\t\"./amnesiac.png\": 5118,\n\t\"./angel.png\": 6474,\n\t\"./apprentice.png\": 819,\n\t\"./artist.png\": 6835,\n\t\"./assassin.png\": 3169,\n\t\"./atheist.png\": 946,\n\t\"./balloonist.png\": 5926,\n\t\"./barber.png\": 8069,\n\t\"./barista.png\": 2437,\n\t\"./baron.png\": 8230,\n\t\"./beggar.png\": 1082,\n\t\"./bishop.png\": 5343,\n\t\"./bonecollector.png\": 1594,\n\t\"./boomdandy.png\": 3682,\n\t\"./bountyhunter.png\": 7479,\n\t\"./buddhist.png\": 1990,\n\t\"./bureaucrat.png\": 367,\n\t\"./butcher.png\": 177,\n\t\"./butler.png\": 4697,\n\t\"./cannibal.png\": 6214,\n\t\"./cerenovus.png\": 7637,\n\t\"./chambermaid.png\": 1146,\n\t\"./chef.png\": 1248,\n\t\"./choirboy.png\": 5081,\n\t\"./clockmaker.png\": 5102,\n\t\"./courtier.png\": 759,\n\t\"./cultleader.png\": 2763,\n\t\"./custom.png\": 7037,\n\t\"./damsel.png\": 5533,\n\t\"./deusexfiasco.png\": 8141,\n\t\"./deviant.png\": 1683,\n\t\"./devilsadvocate.png\": 5549,\n\t\"./djinn.png\": 393,\n\t\"./doomsayer.png\": 5142,\n\t\"./dreamer.png\": 1610,\n\t\"./drunk.png\": 3669,\n\t\"./duchess.png\": 2491,\n\t\"./empath.png\": 5695,\n\t\"./engineer.png\": 7571,\n\t\"./evil.png\": 1836,\n\t\"./eviltwin.png\": 7664,\n\t\"./exorcist.png\": 5858,\n\t\"./fabled.png\": 5025,\n\t\"./fanggu.png\": 1833,\n\t\"./farmer.png\": 4390,\n\t\"./fearmonger.png\": 5297,\n\t\"./fibbin.png\": 9332,\n\t\"./fiddler.png\": 5076,\n\t\"./fisherman.png\": 2776,\n\t\"./flowergirl.png\": 6053,\n\t\"./fool.png\": 647,\n\t\"./fortuneteller.png\": 9336,\n\t\"./gambler.png\": 4306,\n\t\"./gangster.png\": 782,\n\t\"./general.png\": 2990,\n\t\"./goblin.png\": 1730,\n\t\"./godfather.png\": 8536,\n\t\"./golem.png\": 7274,\n\t\"./good.png\": 6832,\n\t\"./goon.png\": 1273,\n\t\"./gossip.png\": 5965,\n\t\"./grandmother.png\": 4950,\n\t\"./gunslinger.png\": 7768,\n\t\"./harlot.png\": 6226,\n\t\"./hellslibrarian.png\": 5477,\n\t\"./heretic.png\": 6314,\n\t\"./huntsman.png\": 7893,\n\t\"./imp.png\": 2830,\n\t\"./innkeeper.png\": 6580,\n\t\"./investigator.png\": 9813,\n\t\"./judge.png\": 6306,\n\t\"./juggler.png\": 8785,\n\t\"./king.png\": 6865,\n\t\"./klutz.png\": 1938,\n\t\"./legion.png\": 2339,\n\t\"./leviathan.png\": 3245,\n\t\"./librarian.png\": 651,\n\t\"./lilmonsta.png\": 4090,\n\t\"./lleech.png\": 1424,\n\t\"./lunatic.png\": 2561,\n\t\"./lycanthrope.png\": 8746,\n\t\"./magician.png\": 4214,\n\t\"./marionette.png\": 712,\n\t\"./mastermind.png\": 7100,\n\t\"./mathematician.png\": 3850,\n\t\"./matron.png\": 8054,\n\t\"./mayor.png\": 8827,\n\t\"./mephit.png\": 3304,\n\t\"./mezepheles.png\": 295,\n\t\"./minion.png\": 847,\n\t\"./minstrel.png\": 3415,\n\t\"./monk.png\": 3100,\n\t\"./moonchild.png\": 8749,\n\t\"./mutant.png\": 4473,\n\t\"./nightwatchman.png\": 2666,\n\t\"./noble.png\": 1004,\n\t\"./nodashii.png\": 2458,\n\t\"./oracle.png\": 9624,\n\t\"./outsider.png\": 8814,\n\t\"./pacifist.png\": 5873,\n\t\"./philosopher.png\": 3300,\n\t\"./pithag.png\": 1282,\n\t\"./pixie.png\": 8637,\n\t\"./plus.png\": 4511,\n\t\"./po.png\": 5631,\n\t\"./poisoner.png\": 6763,\n\t\"./politician.png\": 4265,\n\t\"./poppygrower.png\": 8828,\n\t\"./preacher.png\": 3213,\n\t\"./professor.png\": 889,\n\t\"./psychopath.png\": 7826,\n\t\"./pukka.png\": 4486,\n\t\"./puzzlemaster.png\": 7002,\n\t\"./ravenkeeper.png\": 6965,\n\t\"./recluse.png\": 3035,\n\t\"./revolutionary.png\": 9038,\n\t\"./riot.png\": 8118,\n\t\"./sage.png\": 6544,\n\t\"./sailor.png\": 8984,\n\t\"./saint.png\": 4811,\n\t\"./savant.png\": 7884,\n\t\"./scapegoat.png\": 6701,\n\t\"./scarletwoman.png\": 3957,\n\t\"./seamstress.png\": 4201,\n\t\"./sentinel.png\": 4213,\n\t\"./shabaloth.png\": 2034,\n\t\"./slayer.png\": 8081,\n\t\"./snakecharmer.png\": 9900,\n\t\"./snitch.png\": 7988,\n\t\"./soldier.png\": 2231,\n\t\"./spiritofivory.png\": 3379,\n\t\"./spy.png\": 4013,\n\t\"./stormcatcher.png\": 3877,\n\t\"./sweetheart.png\": 6356,\n\t\"./tealady.png\": 3009,\n\t\"./thief.png\": 7112,\n\t\"./tinker.png\": 5380,\n\t\"./towncrier.png\": 4055,\n\t\"./toymaker.png\": 3163,\n\t\"./undertaker.png\": 5466,\n\t\"./vigormortis.png\": 4969,\n\t\"./virgin.png\": 6954,\n\t\"./vortox.png\": 6142,\n\t\"./voudon.png\": 152,\n\t\"./washerwoman.png\": 245,\n\t\"./widow.png\": 3729,\n\t\"./witch.png\": 6909,\n\t\"./x.png\": 1139,\n\t\"./zombuul.png\": 8899\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 = 6003;","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{\n night: _vm.grimoire.isNight,\n static: _vm.grimoire.isStatic\n },style:({\n backgroundImage: _vm.grimoire.background\n ? `url('${_vm.grimoire.background}')`\n : ''\n }),attrs:{\"id\":\"app\",\"tabindex\":\"-1\"},on:{\"keyup\":_vm.keyup}},[(_vm.grimoire.background && _vm.grimoire.background.match(/\\.(mp4|webm)$/i))?_c('video',{attrs:{\"id\":\"background\",\"src\":_vm.grimoire.background,\"autoplay\":\"\",\"loop\":\"\"}}):_vm._e(),_c('div',{staticClass:\"backdrop\"}),_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'),_c('Menu',{ref:\"menu\"}),_c('EditionModal'),_c('FabledModal'),_c('RolesModal'),_c('ReferenceModal'),_c('NightOrderModal'),_c('VoteHistoryModal'),_c('GameStateModal'),_c('Gradients'),_c('span',{attrs:{\"id\":\"version\"}},[_vm._v(\"v\"+_vm._s(_vm.version))])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;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:{\"trigger\":function($event){return _vm.handleTrigger(index, $event)}}})}),1),(_vm.players.length)?_c('div',{ref:\"bluffs\",staticClass:\"bluffs\",class:{ closed: !_vm.isBluffsOpen }},[_c('h3',[(_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.apply(null, arguments)}}}),_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleBluffs.apply(null, arguments)}}})],1),_c('ul',_vm._l((_vm.bluffSize),function(index){return _c('li',{key:index,on:{\"click\":function($event){return _vm.openRoleModal(index * -1)}}},[_c('Token',{attrs:{\"role\":_vm.bluffs[index - 1]}})],1)}),0)]):_vm._e(),(_vm.fabled.length)?_c('div',{staticClass:\"fabled\",class:{ closed: !_vm.isFabledOpen }},[_c('h3',[_c('span',[_vm._v(\"Fabled\")]),_c('font-awesome-icon',{attrs:{\"icon\":\"times-circle\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFabled.apply(null, arguments)}}}),_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFabled.apply(null, arguments)}}})],1),_c('ul',_vm._l((_vm.fabled),function(role,index){return _c('li',{key:index,on:{\"click\":function($event){return _vm.removeFabled(index)}}},[(_vm.nightOrder.get(role).first && _vm.grimoire.isNightOrder)?_c('div',{staticClass:\"night-order first\"},[_c('em',[_vm._v(_vm._s(_vm.nightOrder.get(role).first)+\".\")]),(role.firstNightReminder)?_c('span',[_vm._v(_vm._s(role.firstNightReminder))]):_vm._e()]):_vm._e(),(_vm.nightOrder.get(role).other && _vm.grimoire.isNightOrder)?_c('div',{staticClass:\"night-order other\"},[_c('em',[_vm._v(_vm._s(_vm.nightOrder.get(role).other)+\".\")]),(role.otherNightReminder)?_c('span',[_vm._v(_vm._s(role.otherNightReminder))]):_vm._e()]):_vm._e(),_c('Token',{attrs:{\"role\":role}})],1)}),0)]):_vm._e(),_c('ReminderModal',{attrs:{\"player-index\":_vm.selectedPlayer}}),_c('RoleModal',{attrs:{\"player-index\":_vm.selectedPlayer}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{style:(_vm.zoom)},[_c('div',{ref:\"player\",staticClass:\"player\",class:[\n {\n dead: _vm.player.isDead,\n marked: _vm.session.markedPlayer === _vm.index,\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-order first\"},[_c('em',[_vm._v(_vm._s(_vm.nightOrder.get(_vm.player).first)+\".\")]),(_vm.player.role.firstNightReminder)?_c('span',[_vm._v(_vm._s(_vm.player.role.firstNightReminder))]):_vm._e()]):_vm._e(),(_vm.nightOrder.get(_vm.player).other && _vm.grimoire.isNightOrder)?_c('div',{staticClass:\"night-order other\"},[_c('em',[_vm._v(_vm._s(_vm.nightOrder.get(_vm.player).other)+\".\")]),(_vm.player.role.otherNightReminder)?_c('span',[_vm._v(_vm._s(_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\":\"hand-paper\",\"title\":\"Hand UP\"},on:{\"click\":function($event){return _vm.vote()}}}),_c('font-awesome-icon',{staticClass:\"vote\",attrs:{\"icon\":\"times\",\"title\":\"Hand DOWN\"},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\",class:{ highlight: _vm.session.isRolesDistributed },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:\"marked\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"skull\"}})],1),_c('div',{staticClass:\"name\",class:{ active: _vm.isMenuOpen },on:{\"click\":function($event){_vm.isMenuOpen = !_vm.isMenuOpen}}},[_c('span',[_vm._v(_vm._s(_vm.player.name))]),(_vm.player.pronouns)?_c('font-awesome-icon',{attrs:{\"icon\":\"venus-mars\"}}):_vm._e(),(_vm.player.pronouns)?_c('div',{staticClass:\"pronouns\"},[_c('span',[_vm._v(_vm._s(_vm.player.pronouns))])]):_vm._e()],1),_c('transition',{attrs:{\"name\":\"fold\"}},[(_vm.isMenuOpen)?_c('ul',{staticClass:\"menu\"},[(\n !_vm.session.isSpectator ||\n (_vm.session.isSpectator && _vm.player.id === _vm.session.playerId)\n )?_c('li',{on:{\"click\":_vm.changePronouns}},[_c('font-awesome-icon',{attrs:{\"icon\":\"venus-mars\"}}),_vm._v(\"Change Pronouns \")],1):_vm._e(),(!_vm.session.isSpectator)?[_c('li',{on:{\"click\":_vm.changeName}},[_c('font-awesome-icon',{attrs:{\"icon\":\"user-edit\"}}),_vm._v(\"Rename \")],1),_c('li',{class:{ disabled: _vm.session.lockedVote },on:{\"click\":function($event){return _vm.movePlayer()}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"redo-alt\"}}),_vm._v(\" Move player \")],1),_c('li',{class:{ disabled: _vm.session.lockedVote },on:{\"click\":function($event){return _vm.swapPlayer()}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"exchange-alt\"}}),_vm._v(\" Swap seats \")],1),_c('li',{class:{ disabled: _vm.session.lockedVote },on:{\"click\":_vm.removePlayer}},[_c('font-awesome-icon',{attrs:{\"icon\":\"times-circle\"}}),_vm._v(\" Remove \")],1),(_vm.player.id && _vm.session.sessionId)?_c('li',{on:{\"click\":function($event){return _vm.updatePlayer('id', '', true)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"chair\"}}),_vm._v(\" Empty seat \")],1):_vm._e(),(!_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()]:_vm._e(),(_vm.session.isSpectator)?_c('li',{class:{ disabled: _vm.player.id && _vm.player.id !== _vm.session.playerId },on:{\"click\":_vm.claimSeat}},[_c('font-awesome-icon',{attrs:{\"icon\":\"chair\"}}),(!_vm.player.id)?[_vm._v(\" Claim seat \")]:(_vm.player.id === _vm.session.playerId)?[_vm._v(\" Vacate seat \")]:[_vm._v(\" Seat occupied\")]],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(${\n reminder.image && _vm.grimoire.isImageOptIn\n ? reminder.image\n : require('../assets/icons/' +\n (reminder.imageAlt || reminder.role) +\n '.png')\n })`\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\"})]),_c('div',{staticClass:\"reminderHoverTarget\"})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"token\",class:[_vm.role.id],on:{\"click\":_vm.setRole}},[(_vm.role.id)?_c('span',{staticClass:\"icon\",style:({\n backgroundImage: `url(${\n _vm.role.image && _vm.grimoire.isImageOptIn\n ? _vm.role.image\n : require('../assets/icons/' + (_vm.role.imageAlt || _vm.role.id) + '.png')\n })`\n })}):_vm._e(),(_vm.role.firstNight || _vm.role.firstNightReminder)?_c('span',{staticClass:\"leaf-left\"}):_vm._e(),(_vm.role.otherNight || _vm.role.otherNightReminder)?_c('span',{staticClass:\"leaf-right\"}):_vm._e(),(_vm.reminderLeaves)?_c('span',{class:['leaf-top' + _vm.reminderLeaves]}):_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()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Token.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Token.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Token.vue?vue&type=template&id=deec739a&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=deec739a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"deec739a\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Player.vue?vue&type=template&id=515f209e\"\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&id=515f209e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.modals.reminder && _vm.availableReminders.length && _vm.players[_vm.playerIndex])?_c('Modal',{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(${\n reminder.image && _vm.grimoire.isImageOptIn\n ? reminder.image\n : require('../../assets/icons/' +\n (reminder.imageAlt || reminder.role) +\n '.png')\n })`\n })}),_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(reminder.name))])])}),0)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('transition',{attrs:{\"name\":\"modal-fade\"}},[_c('div',{staticClass:\"modal-backdrop\",on:{\"click\":_vm.close}},[_c('div',{staticClass:\"modal\",class:{ maximized: _vm.isMaximized },attrs:{\"role\":\"dialog\",\"aria-labelledby\":\"modalTitle\",\"aria-describedby\":\"modalDescription\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('div',{staticClass:\"top-right-buttons\"},[_c('font-awesome-icon',{staticClass:\"top-right-button\",attrs:{\"icon\":['fas', _vm.isMaximized ? 'window-minimize' : 'window-maximize']},on:{\"click\":function($event){_vm.isMaximized = !_vm.isMaximized}}}),_c('font-awesome-icon',{staticClass:\"top-right-button\",attrs:{\"icon\":\"times-circle\"},on:{\"click\":_vm.close}})],1),_c('div',{staticClass:\"slot\"},[_vm._t(\"default\")],2)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Modal.vue?vue&type=template&id=fd92340c\"\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&id=fd92340c&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReminderModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReminderModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ReminderModal.vue?vue&type=template&id=334686bc&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=334686bc&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"334686bc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.modals.role && _vm.availableRoles.length)?_c('Modal',{on:{\"close\":_vm.close}},[_c('h3',[_vm._v(\" Choose a new character for \"+_vm._s(_vm.playerIndex >= 0 && _vm.players.length ? _vm.players[_vm.playerIndex].name : \"bluffing\")+\" \")]),(_vm.tab === 'editionRoles' || !_vm.otherTravelers.size)?_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):_vm._e(),(_vm.tab === 'otherTravelers' && _vm.otherTravelers.size)?_c('ul',{staticClass:\"tokens\"},_vm._l((_vm.otherTravelers.values()),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):_vm._e(),(_vm.playerIndex >= 0 && _vm.otherTravelers.size && !_vm.session.isSpectator)?_c('div',{staticClass:\"button-group\"},[_c('span',{staticClass:\"button\",class:{ townsfolk: _vm.tab === 'editionRoles' },on:{\"click\":function($event){_vm.tab = 'editionRoles'}}},[_vm._v(\"Edition Roles\")]),_c('span',{staticClass:\"button\",class:{ townsfolk: _vm.tab === 'otherTravelers' },on:{\"click\":function($event){_vm.tab = 'otherTravelers'}}},[_vm._v(\"Other Travelers\")])]):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoleModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoleModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RoleModal.vue?vue&type=template&id=2e3008b9&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=2e3008b9&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e3008b9\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TownSquare.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TownSquare.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TownSquare.vue?vue&type=template&id=009dc543\"\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&id=009dc543&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"info\"},[_c('li',{staticClass:\"edition\",class:['edition-' + _vm.edition.id],style:({\n backgroundImage: `url(${\n _vm.edition.logo && _vm.grimoire.isImageOptIn\n ? _vm.edition.logo\n : require('../assets/editions/' + _vm.edition.id + '.png')\n })`\n })}),(_vm.players.length - _vm.teams.traveler < 5)?_c('li',[_vm._v(\" Please add more players! \")]):_vm._e(),_c('li',[(!_vm.edition.isOfficial)?_c('span',{staticClass:\"meta\"},[_vm._v(\" \"+_vm._s(_vm.edition.name)+\" \"+_vm._s(_vm.edition.author ? \"by \" + _vm.edition.author : \"\")+\" \")]):_vm._e(),_c('span',[_vm._v(\" \"+_vm._s(_vm.players.length)+\" \"),_c('font-awesome-icon',{staticClass:\"players\",attrs:{\"icon\":\"users\"}})],1),_c('span',[_vm._v(\" \"+_vm._s(_vm.teams.alive)+\" \"),_c('font-awesome-icon',{staticClass:\"alive\",attrs:{\"icon\":\"heartbeat\"}})],1),_c('span',[_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',[_c('span',[_vm._v(\" \"+_vm._s(_vm.teams.townsfolk)+\" \"),_c('font-awesome-icon',{staticClass:\"townsfolk\",attrs:{\"icon\":\"user-friends\"}})],1),_c('span',[_vm._v(\" \"+_vm._s(_vm.teams.outsider)+\" \"),_c('font-awesome-icon',{staticClass:\"outsider\",attrs:{\"icon\":_vm.teams.outsider > 1 ? 'user-friends' : 'user'}})],1),_c('span',[_vm._v(\" \"+_vm._s(_vm.teams.minion)+\" \"),_c('font-awesome-icon',{staticClass:\"minion\",attrs:{\"icon\":_vm.teams.minion > 1 ? 'user-friends' : 'user'}})],1),_c('span',[_vm._v(\" \"+_vm._s(_vm.teams.demon)+\" \"),_c('font-awesome-icon',{staticClass:\"demon\",attrs:{\"icon\":_vm.teams.demon > 1 ? 'user-friends' : 'user'}})],1),(_vm.teams.traveler)?_c('span',[_vm._v(\" \"+_vm._s(_vm.teams.traveler)+\" \"),_c('font-awesome-icon',{staticClass:\"traveler\",attrs:{\"icon\":_vm.teams.traveler > 1 ? 'user-friends' : 'user'}})],1):_vm._e(),(_vm.grimoire.isNight)?_c('span',[_vm._v(\" Night phase \"),_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'cloud-moon']}})],1):_vm._e()]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TownInfo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TownInfo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TownInfo.vue?vue&type=template&id=e858a1da&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=e858a1da&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e858a1da\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"controls\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.session.voteHistory.length && _vm.session.sessionId),expression:\"session.voteHistory.length && session.sessionId\"}],staticClass:\"nomlog-summary\",attrs:{\"title\":`${_vm.session.voteHistory.length} recent ${\n _vm.session.voteHistory.length == 1 ? 'nomination' : 'nominations'\n }`},on:{\"click\":function($event){return _vm.toggleModal('voteHistory')}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"book-dead\"}}),_vm._v(\" \"+_vm._s(_vm.session.voteHistory.length)+\" \")],1),(_vm.session.sessionId)?_c('span',{staticClass:\"session\",class:{\n spectator: _vm.session.isSpectator,\n reconnecting: _vm.session.isReconnecting\n },attrs:{\"title\":`${_vm.session.playerCount} other players in this session${\n _vm.session.ping ? ' (' + _vm.session.ping + 'ms latency)' : ''\n }`},on:{\"click\":_vm.leaveSession}},[_c('font-awesome-icon',{attrs:{\"icon\":\"broadcast-tower\"}}),_vm._v(\" \"+_vm._s(_vm.session.playerCount)+\" \")],1):_vm._e(),_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.session.isSpectator)?_c('li',{on:{\"click\":_vm.toggleNight}},[(!_vm.grimoire.isNight)?[_vm._v(\"Switch to Night\")]:_vm._e(),(_vm.grimoire.isNight)?[_vm._v(\"Switch to Day\")]:_vm._e(),_c('em',[_vm._v(\"[S]\")])],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.edition.isOfficial)?_c('li',{on:{\"click\":_vm.imageOptIn}},[_c('small',[_vm._v(\"Show Custom Images\")]),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":[\n 'fas',\n _vm.grimoire.isImageOptIn ? 'check-square' : 'square'\n ]}})],1)]):_vm._e(),_c('li',{on:{\"click\":_vm.toggleStatic}},[_vm._v(\" Disable Animations \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":['fas', _vm.grimoire.isStatic ? 'check-square' : 'square']}})],1)]),_c('li',{on:{\"click\":_vm.toggleMuted}},[_vm._v(\" Mute Sounds \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":['fas', _vm.grimoire.isMuted ? 'volume-mute' : 'volume-up']}})],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]\")])]),_c('li',{on:{\"click\":_vm.joinSession}},[_vm._v(\"Join (Player)\"),_c('em',[_vm._v(\"[J]\")])])]:[(_vm.session.ping)?_c('li',[_vm._v(\" Delay to \"+_vm._s(_vm.session.isSpectator ? \"host\" : \"players\")+\" \"),_c('em',[_vm._v(_vm._s(_vm.session.ping)+\"ms\")])]):_vm._e(),_c('li',{on:{\"click\":_vm.copySessionUrl}},[_vm._v(\" Copy player link \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":\"copy\"}})],1)]),(!_vm.session.isSpectator)?_c('li',{on:{\"click\":_vm.distributeRoles}},[_vm._v(\" Send Characters \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":\"theater-masks\"}})],1)]):_vm._e(),(_vm.session.voteHistory.length || !_vm.session.isSpectator)?_c('li',{on:{\"click\":function($event){return _vm.toggleModal('voteHistory')}}},[_vm._v(\" Vote history\"),_c('em',[_vm._v(\"[V]\")])]):_vm._e(),_c('li',{on:{\"click\":_vm.leaveSession}},[_vm._v(\" Leave Session \"),_c('em',[_vm._v(_vm._s(_vm.session.sessionId))])])]]:_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.session.isSpectator)?_c('li',{on:{\"click\":function($event){return _vm.toggleModal('fabled')}}},[_vm._v(\" Add Fabled \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":\"dragon\"}})],1)]):_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',{on:{\"click\":function($event){return _vm.toggleModal('nightOrder')}}},[_vm._v(\" Night Order Sheet \"),_c('em',[_vm._v(\"[N]\")])]),_c('li',{on:{\"click\":function($event){return _vm.toggleModal('gameState')}}},[_vm._v(\" Game State JSON \"),_c('em',[_c('font-awesome-icon',{attrs:{\"icon\":\"file-code\"}})],1)]),_c('li',[_c('a',{attrs:{\"href\":\"https://discord.gg/Gd7ybwWbFk\",\"target\":\"_blank\"}},[_vm._v(\" Join Discord \")]),_c('em',[_c('a',{attrs:{\"href\":\"https://discord.gg/Gd7ybwWbFk\",\"target\":\"_blank\"}},[_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('a',{attrs:{\"href\":\"https://github.com/bra1n/townsquare\",\"target\":\"_blank\"}},[_c('font-awesome-icon',{attrs:{\"icon\":['fab', 'github']}})],1)])])]:_vm._e()],2)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Menu.vue?vue&type=template&id=84ed831a&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=84ed831a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"84ed831a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.modals.roles && _vm.nonTravelers >= 5)?_c('Modal',{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.reduce((a, { selected }) => a + selected, 0))+\" / \"+_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 ? 0 : 1}}},[_c('Token',{attrs:{\"role\":role}}),(role.setup)?_c('font-awesome-icon',{attrs:{\"icon\":\"exclamation-triangle\"}}):_vm._e(),(_vm.allowMultiple)?_c('div',{staticClass:\"buttons\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"minus-circle\"},on:{\"click\":function($event){$event.stopPropagation();role.selected--}}}),_c('span',[_vm._v(_vm._s(role.selected > 1 ? \"x\" + role.selected : \"\"))]),_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"},on:{\"click\":function($event){$event.stopPropagation();role.selected++}}})],1):_vm._e()],1)})],2)}),(_vm.hasSelectedSetupRoles)?_c('div',{staticClass:\"warning\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"exclamation-triangle\"}}),_c('span',[_vm._v(\" Warning: there are characters selected that modify the game setup! The randomizer does not account for these characters. \")])],1):_vm._e(),_c('label',{staticClass:\"multiple\",class:{ checked: _vm.allowMultiple }},[_c('font-awesome-icon',{attrs:{\"icon\":_vm.allowMultiple ? 'check-square' : 'square'}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.allowMultiple),expression:\"allowMultiple\"}],attrs:{\"type\":\"checkbox\",\"name\":\"allow-multiple\"},domProps:{\"checked\":Array.isArray(_vm.allowMultiple)?_vm._i(_vm.allowMultiple,null)>-1:(_vm.allowMultiple)},on:{\"change\":function($event){var $$a=_vm.allowMultiple,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.allowMultiple=$$a.concat([$$v]))}else{$$i>-1&&(_vm.allowMultiple=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.allowMultiple=$$c}}}}),_vm._v(\" Allow duplicate characters \")],1),_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()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RolesModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RolesModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RolesModal.vue?vue&type=template&id=365502ca&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=365502ca&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"365502ca\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.modals.edition)?_c('Modal',{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],style:({\n backgroundImage: `url(${require('../../assets/editions/' +\n edition.id +\n '.png')})`\n }),on:{\"click\":function($event){return _vm.setEdition(edition)}}},[_vm._v(\" \"+_vm._s(edition.name)+\" \")])}),_c('li',{staticClass:\"edition edition-custom\",style:({\n backgroundImage: `url(${require('../../assets/editions/custom.png')})`\n }),on:{\"click\":function($event){_vm.isCustom = true}}},[_vm._v(\" Custom Script / Characters \")])],2)]):_c('div',{staticClass:\"custom\"},[_c('h3',[_vm._v(\"Load custom script / characters\")]),_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://script.bloodontheclocktower.com/\",\"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('br'),_vm._v(\" To play with custom characters, please read \"),_c('a',{attrs:{\"href\":\"https://github.com/bra1n/townsquare#custom-characters\",\"target\":\"_blank\"}},[_vm._v(\"the documentation\")]),_vm._v(\" on how to write a custom character definition file. \"),_c('b',[_vm._v(\"Only load custom JSON files from sources that you trust!\")]),_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\":_vm.readFromClipboard}},[_c('font-awesome-icon',{attrs:{\"icon\":\"clipboard\"}}),_vm._v(\" Use JSON from Clipboard \")],1),_c('div',{staticClass:\"button\",on:{\"click\":function($event){_vm.isCustom = false}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"undo\"}}),_vm._v(\" Back \")],1)])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EditionModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EditionModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EditionModal.vue?vue&type=template&id=58f6b00c&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=58f6b00c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58f6b00c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"intro\"},[_c('img',{staticClass:\"logo\",attrs:{\"src\":\"static/apple-icon.png\",\"alt\":\"\"}}),_c('div',[_vm._v(\" Welcome to the (unofficial) \"),_c('b',[_vm._v(\"Virtual Town Square and Grimoire\")]),_vm._v(\" for Blood on the Clocktower! 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(\". You can also join a game session by pressing \"),_c('b',[_vm._v(\"[J]\")]),_vm._v(\".\"),_c('br'),_vm._m(0)]),(_vm.language === 'zh-CN')?_c('a',{staticClass:\"redirect\",attrs:{\"href\":\"https://clocktower.gstonegames.com\"}},[_c('img',{staticClass:\"gstone\",attrs:{\"src\":require(\"../assets/gstone.png\"),\"alt\":\"\"}}),_vm._v(\" 你想使用中文版魔典吗? \")]):_vm._e()])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"footer\"},[_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(\". It is not affiliated with The Pandemonium Institute. \\\"Blood on the Clocktower\\\" is a trademark of Steven Medway and The Pandemonium Institute. \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Intro.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Intro.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Intro.vue?vue&type=template&id=14bc5701&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=14bc5701&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"14bc5701\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.modals.reference && _vm.roles.size)?_c('Modal',{staticClass:\"characters\",on:{\"close\":function($event){return _vm.toggleModal('reference')}}},[_c('font-awesome-icon',{staticClass:\"toggle\",attrs:{\"icon\":\"cloud-moon\",\"title\":\"Show Night Order\"},on:{\"click\":function($event){return _vm.toggleModal('nightOrder')}}}),_c('h3',[_vm._v(\" Character Reference \"),_c('font-awesome-icon',{attrs:{\"icon\":\"address-card\"}}),_vm._v(\" \"+_vm._s(_vm.edition.name || \"Custom Script\")+\" \")],1),_vm._l((_vm.rolesGrouped),function(teamRoles,team){return _c('div',{key:team,class:['team', team]},[_c('aside',[_c('h4',[_vm._v(_vm._s(team))])]),_c('ul',[_vm._l((teamRoles),function(role){return _c('li',{key:role.id,class:[team]},[(role.id)?_c('span',{staticClass:\"icon\",style:({\n backgroundImage: `url(${\n role.image && _vm.grimoire.isImageOptIn\n ? role.image\n : require('../../assets/icons/' +\n (role.imageAlt || role.id) +\n '.png')\n })`\n })}):_vm._e(),_c('div',{staticClass:\"role\"},[(Object.keys(_vm.playersByRole).length)?_c('span',{staticClass:\"player\"},[_vm._v(_vm._s(_vm.playersByRole[role.id] ? _vm.playersByRole[role.id].join(\", \") : \"\"))]):_vm._e(),_c('span',{staticClass:\"name\"},[_vm._v(_vm._s(role.name))]),_c('span',{staticClass:\"ability\"},[_vm._v(_vm._s(role.ability))])])])}),_c('li',{class:[team]}),_c('li',{class:[team]})],2)])}),(_vm.jinxed.length)?_c('div',{staticClass:\"team jinxed\"},[_c('aside',[_c('h4',[_vm._v(\"Jinxed\")])]),_c('ul',[_vm._l((_vm.jinxed),function(jinx,index){return _c('li',{key:index},[_c('span',{staticClass:\"icon\",style:({\n backgroundImage: `url(${require('../../assets/icons/' +\n jinx.first.id +\n '.png')})`\n })}),_c('span',{staticClass:\"icon\",style:({\n backgroundImage: `url(${require('../../assets/icons/' +\n jinx.second.id +\n '.png')})`\n })}),_c('div',{staticClass:\"role\"},[_c('span',{staticClass:\"name\"},[_vm._v(_vm._s(jinx.first.name)+\" & \"+_vm._s(jinx.second.name))]),_c('span',{staticClass:\"ability\"},[_vm._v(_vm._s(jinx.reason))])])])}),_c('li'),_c('li')],2)]):_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReferenceModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReferenceModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ReferenceModal.vue?vue&type=template&id=7d0ee60b&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=7d0ee60b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d0ee60b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;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('audio',{attrs:{\"src\":require(\"../assets/sounds/countdown.mp3\"),\"preload\":\"auto\"}}),_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'),_c('em',{staticClass:\"blue\"},[_vm._v(\" \"+_vm._s(_vm.voters.length)+\" vote\"+_vm._s(_vm.voters.length !== 1 ? \"s\" : \"\")+\" \")]),_vm._v(\" in favor \"),(_vm.nominee.role.team !== 'traveler')?_c('em',[_vm._v(\" (majority is \"+_vm._s(Math.ceil(_vm.alive / 2))+\") \")]):_c('em',[_vm._v(\"(majority is \"+_vm._s(Math.ceil(_vm.players.length / 2))+\")\")]),(!_vm.session.isSpectator)?[(!_vm.session.isVoteInProgress && _vm.session.lockedVote < 1)?_c('div',[_vm._v(\" Time per player: \"),_c('font-awesome-icon',{attrs:{\"icon\":\"minus-circle\"},on:{\"mousedown\":function($event){$event.preventDefault();return _vm.setVotingSpeed(-500)}}}),_vm._v(\" \"+_vm._s(_vm.session.votingSpeed / 1000)+\"s \"),_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"},on:{\"mousedown\":function($event){$event.preventDefault();return _vm.setVotingSpeed(500)}}})],1):_vm._e(),_c('div',{staticClass:\"button-group\"},[(!_vm.session.isVoteInProgress)?_c('div',{staticClass:\"button townsfolk\",on:{\"click\":_vm.countdown}},[_vm._v(\" Countdown \")]):_vm._e(),(!_vm.session.isVoteInProgress)?_c('div',{staticClass:\"button\",on:{\"click\":_vm.start}},[_vm._v(\" \"+_vm._s(_vm.session.lockedVote ? \"Restart\" : \"Start\")+\" \")]):[_c('div',{staticClass:\"button townsfolk\",class:{ disabled: !_vm.session.lockedVote },on:{\"click\":_vm.pause}},[_vm._v(\" \"+_vm._s(_vm.voteTimer ? \"Pause\" : \"Resume\")+\" \")]),_c('div',{staticClass:\"button\",on:{\"click\":_vm.stop}},[_vm._v(\"Reset\")])],_c('div',{staticClass:\"button demon\",on:{\"click\":_vm.finish}},[_vm._v(\"Close\")])],2),(_vm.nominee.role.team !== 'traveler')?_c('div',{staticClass:\"button-group mark\"},[_c('div',{staticClass:\"button\",class:{\n disabled: _vm.session.nomination[1] === _vm.session.markedPlayer\n },on:{\"click\":_vm.setMarked}},[_vm._v(\" Mark for execution \")]),_c('div',{staticClass:\"button\",on:{\"click\":_vm.removeMarked}},[_vm._v(\" Clear mark \")])]):_vm._e()]:(_vm.canVote)?[(!_vm.session.isVoteInProgress)?_c('div',[_vm._v(\" \"+_vm._s(_vm.session.votingSpeed / 1000)+\" seconds between votes \")]):_vm._e(),_c('div',{staticClass:\"button-group\"},[_c('div',{staticClass:\"button townsfolk\",class:{ disabled: !_vm.currentVote },on:{\"click\":function($event){return _vm.vote(false)}}},[_vm._v(\" Hand DOWN \")]),_c('div',{staticClass:\"button demon\",class:{ disabled: _vm.currentVote },on:{\"click\":function($event){return _vm.vote(true)}}},[_vm._v(\" Hand UP \")])])]:(!_vm.player)?_c('div',[_vm._v(\" Please claim a seat to vote. \")]):_vm._e()],2),_c('transition',{attrs:{\"name\":\"blur\"}},[(_vm.session.isVoteInProgress && !_vm.session.lockedVote)?_c('div',{staticClass:\"countdown\"},[_c('span',[_vm._v(\"3\")]),_c('span',[_vm._v(\"2\")]),_c('span',[_vm._v(\"1\")]),_c('span',[_vm._v(\"GO\")]),_c('audio',{attrs:{\"autoplay\":!_vm.grimoire.isMuted,\"src\":require(\"../assets/sounds/countdown.mp3\"),\"muted\":_vm.grimoire.isMuted}})]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Vote.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Vote.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Vote.vue?vue&type=template&id=56f82741&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=56f82741&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"56f82741\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;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)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Gradients.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/@vue/vue-loader-v15/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&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.modals.nightOrder && _vm.roles.size)?_c('Modal',{staticClass:\"night-reference\",on:{\"close\":function($event){return _vm.toggleModal('nightOrder')}}},[_c('font-awesome-icon',{staticClass:\"toggle\",attrs:{\"icon\":\"address-card\",\"title\":\"Show Character Reference\"},on:{\"click\":function($event){return _vm.toggleModal('reference')}}}),_c('h3',[_vm._v(\" Night Order \"),_c('font-awesome-icon',{attrs:{\"icon\":\"cloud-moon\"}}),_vm._v(\" \"+_vm._s(_vm.edition.name || \"Custom Script\")+\" \")],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.name,class:[role.team]},[_c('span',{staticClass:\"name\"},[_vm._v(\" \"+_vm._s(role.name)+\" \"),(role.players.length)?_c('span',{staticClass:\"player\"},[_c('br'),_vm._l((role.players),function(player,index){return _c('small',{key:index,class:{ dead: player.isDead }},[_vm._v(_vm._s(player.name + (role.players.length > index + 1 ? \",\" : \"\")))])})],2):_vm._e()]),(role.id)?_c('span',{staticClass:\"icon\",style:({\n backgroundImage: `url(${\n role.image && _vm.grimoire.isImageOptIn\n ? role.image\n : require('../../assets/icons/' +\n (role.imageAlt || role.id) +\n '.png')\n })`\n })}):_vm._e(),(role.firstNightReminder)?_c('span',{staticClass:\"reminder\"},[_vm._v(\" \"+_vm._s(role.firstNightReminder)+\" \")]):_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.name,class:[role.team]},[(role.id)?_c('span',{staticClass:\"icon\",style:({\n backgroundImage: `url(${\n role.image && _vm.grimoire.isImageOptIn\n ? role.image\n : require('../../assets/icons/' +\n (role.imageAlt || role.id) +\n '.png')\n })`\n })}):_vm._e(),_c('span',{staticClass:\"name\"},[_vm._v(\" \"+_vm._s(role.name)+\" \"),(role.players.length)?_c('span',{staticClass:\"player\"},[_c('br'),_vm._l((role.players),function(player,index){return _c('small',{key:index,class:{ dead: player.isDead }},[_vm._v(_vm._s(player.name + (role.players.length > index + 1 ? \",\" : \"\")))])})],2):_vm._e()]),(role.otherNightReminder)?_c('span',{staticClass:\"reminder\"},[_vm._v(\" \"+_vm._s(role.otherNightReminder)+\" \")]):_vm._e()])})],2)])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NightOrderModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NightOrderModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NightOrderModal.vue?vue&type=template&id=ec47598c&scoped=true\"\nimport script from \"./NightOrderModal.vue?vue&type=script&lang=js\"\nexport * from \"./NightOrderModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./NightOrderModal.vue?vue&type=style&index=0&id=ec47598c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ec47598c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.modals.fabled && _vm.fabled.length)?_c('Modal',{on:{\"close\":function($event){return _vm.toggleModal('fabled')}}},[_c('h3',[_vm._v(\" Choose a fabled character to add to the game \")]),_c('ul',{staticClass:\"tokens\"},_vm._l((_vm.fabled),function(role){return _c('li',{key:role.id,on:{\"click\":function($event){return _vm.setFabled(role)}}},[_c('Token',{attrs:{\"role\":role}})],1)}),0)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FabledModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FabledModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FabledModal.vue?vue&type=template&id=d6b399a0&scoped=true\"\nimport script from \"./FabledModal.vue?vue&type=script&lang=js\"\nexport * from \"./FabledModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./FabledModal.vue?vue&type=style&index=0&id=d6b399a0&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d6b399a0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.modals.voteHistory && (_vm.session.voteHistory || !_vm.session.isSpectator))?_c('Modal',{staticClass:\"vote-history\",on:{\"close\":function($event){return _vm.toggleModal('voteHistory')}}},[(_vm.session.isSpectator)?_c('font-awesome-icon',{staticClass:\"clear\",attrs:{\"icon\":\"trash-alt\",\"title\":\"Clear vote history\"},on:{\"click\":_vm.clearVoteHistory}}):_vm._e(),_c('h3',[_vm._v(\"Vote history\")]),(!_vm.session.isSpectator)?[_c('div',{staticClass:\"options\"},[_c('div',{staticClass:\"option\",on:{\"click\":_vm.setRecordVoteHistory}},[_c('font-awesome-icon',{attrs:{\"icon\":[\n 'fas',\n _vm.session.isVoteHistoryAllowed ? 'check-square' : 'square'\n ]}}),_vm._v(\" Accessible to players \")],1),_c('div',{staticClass:\"option\",on:{\"click\":_vm.clearVoteHistory}},[_c('font-awesome-icon',{attrs:{\"icon\":\"trash-alt\"}}),_vm._v(\" Clear for everyone \")],1)])]:_vm._e(),_c('table',[_c('thead',[_c('tr',[_c('td',[_vm._v(\"Time\")]),_c('td',[_vm._v(\"Nominator\")]),_c('td',[_vm._v(\"Nominee\")]),_c('td',[_vm._v(\"Type\")]),_c('td',[_vm._v(\"Votes\")]),_c('td',[_vm._v(\"Majority\")]),_c('td',[_c('font-awesome-icon',{attrs:{\"icon\":\"user-friends\"}}),_vm._v(\" Voters \")],1)])]),_c('tbody',_vm._l((_vm.session.voteHistory),function(vote,index){return _c('tr',{key:index},[_c('td',[_vm._v(\" \"+_vm._s(vote.timestamp .getHours() .toString() .padStart(2, \"0\"))+\":\"+_vm._s(vote.timestamp .getMinutes() .toString() .padStart(2, \"0\"))+\" \")]),_c('td',[_vm._v(_vm._s(vote.nominator))]),_c('td',[_vm._v(_vm._s(vote.nominee))]),_c('td',[_vm._v(_vm._s(vote.type))]),_c('td',[_vm._v(\" \"+_vm._s(vote.votes.length)+\" \"),_c('font-awesome-icon',{attrs:{\"icon\":\"hand-paper\"}})],1),_c('td',[_vm._v(\" \"+_vm._s(vote.majority)+\" \"),_c('font-awesome-icon',{attrs:{\"icon\":[\n 'fas',\n vote.votes.length >= vote.majority ? 'check-square' : 'square'\n ]}})],1),_c('td',[_vm._v(\" \"+_vm._s(vote.votes.join(\", \"))+\" \")])])}),0)])],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VoteHistoryModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VoteHistoryModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VoteHistoryModal.vue?vue&type=template&id=482a37a8&scoped=true\"\nimport script from \"./VoteHistoryModal.vue?vue&type=script&lang=js\"\nexport * from \"./VoteHistoryModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./VoteHistoryModal.vue?vue&type=style&index=0&id=482a37a8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"482a37a8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.modals.gameState)?_c('Modal',{staticClass:\"game-state\",on:{\"close\":function($event){return _vm.toggleModal('gameState')}}},[_c('h3',[_vm._v(\"Current Game State\")]),_c('textarea',{domProps:{\"value\":_vm.gamestate},on:{\"input\":function($event){$event.stopPropagation();_vm.input = $event.target.value},\"click\":function($event){return $event.target.select()},\"keyup\":function($event){$event.stopPropagation();}}}),_c('div',{staticClass:\"button-group\"},[_c('div',{staticClass:\"button townsfolk\",on:{\"click\":_vm.copy}},[_c('font-awesome-icon',{attrs:{\"icon\":\"copy\"}}),_vm._v(\" Copy JSON \")],1),(!_vm.session.isSpectator)?_c('div',{staticClass:\"button demon\",on:{\"click\":_vm.load}},[_c('font-awesome-icon',{attrs:{\"icon\":\"cog\"}}),_vm._v(\" Load State \")],1):_vm._e()])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GameStateModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GameStateModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GameStateModal.vue?vue&type=template&id=7971ea6f&scoped=true\"\nimport script from \"./GameStateModal.vue?vue&type=script&lang=js\"\nexport * from \"./GameStateModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./GameStateModal.vue?vue&type=style&index=0&id=7971ea6f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7971ea6f\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=90c4b058\"\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&id=90c4b058&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/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","class LiveSession {\n constructor(store) {\n this._wss = \"wss://live.clocktower.online:8080/\";\n // this._wss = \"ws://localhost:8081/\"; // uncomment if using local server with NODE_ENV=development\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._reconnectTimer = null;\n this._players = {}; // map of players connected to a session\n this._pings = {}; // map of player IDs to ping\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(\n this._wss +\n channel +\n \"/\" +\n (this._isSpectator ? this._store.state.session.playerId : \"host\")\n );\n this._socket.addEventListener(\"message\", this._handleMessage.bind(this));\n this._socket.onopen = this._onOpen.bind(this);\n this._socket.onclose = err => {\n this._socket = null;\n clearInterval(this._pingTimer);\n this._pingTimer = null;\n if (err.code !== 1000) {\n // connection interrupted, reconnect after 3 seconds\n this._store.commit(\"session/setReconnecting\", true);\n this._reconnectTimer = setTimeout(\n () => this.connect(channel),\n 3 * 1000\n );\n } else {\n this._store.commit(\"session/setSessionId\", \"\");\n if (err.reason) alert(err.reason);\n }\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 * Send a message directly to a single playerId, if provided.\n * Otherwise broadcast it.\n * @param playerId player ID or \"host\", optional\n * @param command\n * @param params\n * @private\n */\n _sendDirect(playerId, command, params) {\n if (playerId) {\n this._send(\"direct\", { [playerId]: [command, params] });\n } else {\n this._send(command, params);\n }\n }\n\n /**\n * Open event handler for socket.\n * @private\n */\n _onOpen() {\n if (this._isSpectator) {\n this._sendDirect(\n \"host\",\n \"getGamestate\",\n this._store.state.session.playerId\n );\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._handlePing();\n this._send(\"ping\", [\n this._isSpectator\n ? this._store.state.session.playerId\n : Object.keys(this._players).length,\n \"latency\"\n ]);\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 \"getGamestate\":\n this.sendGamestate(params);\n break;\n case \"edition\":\n this._updateEdition(params);\n break;\n case \"fabled\":\n this._updateFabled(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 if (!this._isSpectator) return;\n if (!params) {\n // create vote history record\n this._store.commit(\n \"session/addHistory\",\n this._store.state.players.players\n );\n }\n this._store.commit(\"session/nomination\", { nomination: params });\n break;\n case \"swap\":\n if (!this._isSpectator) return;\n this._store.commit(\"players/swap\", params);\n break;\n case \"move\":\n if (!this._isSpectator) return;\n this._store.commit(\"players/move\", params);\n break;\n case \"remove\":\n if (!this._isSpectator) return;\n this._store.commit(\"players/remove\", params);\n break;\n case \"marked\":\n if (!this._isSpectator) return;\n this._store.commit(\"session/setMarkedPlayer\", params);\n break;\n case \"isNight\":\n if (!this._isSpectator) return;\n this._store.commit(\"toggleNight\", params);\n break;\n case \"isVoteHistoryAllowed\":\n if (!this._isSpectator) return;\n this._store.commit(\"session/setVoteHistoryAllowed\", params);\n this._store.commit(\"session/clearVoteHistory\");\n break;\n case \"votingSpeed\":\n if (!this._isSpectator) return;\n this._store.commit(\"session/setVotingSpeed\", params);\n break;\n case \"clearVoteHistory\":\n if (!this._isSpectator) return;\n this._store.commit(\"session/clearVoteHistory\");\n break;\n case \"isVoteInProgress\":\n if (!this._isSpectator) return;\n this._store.commit(\"session/setVoteInProgress\", 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 case \"pronouns\":\n this._updatePlayerPronouns(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._pings = {};\n this._store.commit(\"session/setPlayerCount\", 0);\n this._store.commit(\"session/setPing\", 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._pings = {};\n this._store.commit(\"session/setPlayerCount\", 0);\n this._store.commit(\"session/setPing\", 0);\n this._store.commit(\"session/setReconnecting\", false);\n clearTimeout(this._reconnectTimer);\n if (this._socket) {\n if (this._isSpectator) {\n this._sendDirect(\"host\", \"bye\", this._store.state.session.playerId);\n }\n this._socket.close(1000);\n this._socket = null;\n }\n }\n\n /**\n * Publish the current gamestate.\n * Optional param to reduce traffic. (send only player data)\n * @param playerId\n * @param isLightweight\n */\n sendGamestate(playerId = \"\", isLightweight = false) {\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 pronouns: player.pronouns,\n ...(player.role && player.role.team === \"traveler\"\n ? { roleId: player.role.id }\n : {})\n }));\n if (isLightweight) {\n this._sendDirect(playerId, \"gs\", {\n gamestate: this._gamestate,\n isLightweight\n });\n } else {\n const { session, grimoire } = this._store.state;\n const { fabled } = this._store.state.players;\n this.sendEdition(playerId);\n this._sendDirect(playerId, \"gs\", {\n gamestate: this._gamestate,\n isNight: grimoire.isNight,\n isVoteHistoryAllowed: session.isVoteHistoryAllowed,\n nomination: session.nomination,\n votingSpeed: session.votingSpeed,\n lockedVote: session.lockedVote,\n isVoteInProgress: session.isVoteInProgress,\n markedPlayer: session.markedPlayer,\n fabled: fabled.map(f => (f.isCustom ? f : { id: f.id })),\n ...(session.nomination ? { votes: session.votes } : {})\n });\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 {\n gamestate,\n isLightweight,\n isNight,\n isVoteHistoryAllowed,\n nomination,\n votingSpeed,\n votes,\n lockedVote,\n isVoteInProgress,\n markedPlayer,\n fabled\n } = data;\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\", \"pronouns\"].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 =\n this._store.state.roles.get(roleId) ||\n this._store.getters.rolesJSONbyId.get(roleId);\n if (role) {\n this._store.commit(\"players/update\", {\n player,\n property: \"role\",\n value: role\n });\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 if (!isLightweight) {\n this._store.commit(\"toggleNight\", !!isNight);\n this._store.commit(\"session/setVoteHistoryAllowed\", isVoteHistoryAllowed);\n this._store.commit(\"session/nomination\", {\n nomination,\n votes,\n votingSpeed,\n lockedVote,\n isVoteInProgress\n });\n this._store.commit(\"session/setMarkedPlayer\", markedPlayer);\n this._store.commit(\"players/setFabled\", {\n fabled: fabled.map(f => this._store.state.fabled.get(f.id) || f)\n });\n }\n }\n\n /**\n * Publish an edition update. ST only\n * @param playerId\n */\n sendEdition(playerId = \"\") {\n if (this._isSpectator) return;\n const { edition } = this._store.state;\n let roles;\n if (!edition.isOfficial) {\n roles = this._store.getters.customRolesStripped;\n }\n this._sendDirect(playerId, \"edition\", {\n edition: edition.isOfficial ? { id: edition.id } : 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(\"setCustomRoles\", roles);\n if (this._store.state.roles.size !== roles.length) {\n const missing = [];\n roles.forEach(({ id }) => {\n if (!this._store.state.roles.get(id)) {\n missing.push(id);\n }\n });\n alert(\n `This session contains custom characters that can't be found. ` +\n `Please load them before joining! ` +\n `Missing roles: ${missing.join(\", \")}`\n );\n this.disconnect();\n this._store.commit(\"toggleModal\", \"edition\");\n }\n }\n }\n\n /**\n * Publish a fabled update. ST only\n */\n sendFabled() {\n if (this._isSpectator) return;\n const { fabled } = this._store.state.players;\n this._send(\n \"fabled\",\n fabled.map(f => (f.isCustom ? f : { id: f.id }))\n );\n }\n\n /**\n * Update fabled roles.\n * @param fabled\n * @private\n */\n _updateFabled(fabled) {\n if (!this._isSpectator) return;\n this._store.commit(\"players/setFabled\", {\n fabled: fabled.map(f => this._store.state.fabled.get(f.id) || f)\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. Player only.\n * @param index\n * @param property\n * @param value\n * @private\n */\n _updatePlayer({ index, property, value }) {\n if (!this._isSpectator) return;\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 role, first from session, the global, then fail gracefully\n const role =\n this._store.state.roles.get(value) ||\n this._store.getters.rolesJSONbyId.get(value) ||\n {};\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 * Publish a player pronouns update\n * @param player\n * @param value\n * @param isFromSockets\n */\n sendPlayerPronouns({ player, value, isFromSockets }) {\n //send pronoun only for the seated player or storyteller\n //Do not re-send pronoun data for an update that was recieved from the sockets layer\n if (\n isFromSockets ||\n (this._isSpectator && this._store.state.session.playerId !== player.id)\n )\n return;\n const index = this._store.state.players.players.indexOf(player);\n this._send(\"pronouns\", [index, value]);\n }\n\n /**\n * Update a pronouns based on incoming data.\n * @param index\n * @param value\n * @private\n */\n _updatePlayerPronouns([index, value]) {\n const player = this._store.state.players.players[index];\n\n this._store.commit(\"players/update\", {\n player,\n property: \"pronouns\",\n value,\n isFromSockets: true\n });\n }\n\n /**\n * Handle a ping message by another player / storyteller\n * @param playerIdOrCount\n * @param latency\n * @private\n */\n _handlePing([playerIdOrCount = 0, latency] = []) {\n const now = new Date().getTime();\n if (!this._isSpectator) {\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 delete this._pings[player];\n }\n }\n // remove claimed seats from players that are no longer connected\n this._store.state.players.players.forEach(player => {\n if (player.id && !this._players[player.id]) {\n this._store.commit(\"players/update\", {\n player,\n property: \"id\",\n value: \"\"\n });\n }\n });\n // store new player data\n if (playerIdOrCount) {\n this._players[playerIdOrCount] = now;\n const ping = parseInt(latency, 10);\n if (ping && ping > 0 && ping < 30 * 1000) {\n // ping to Players\n this._pings[playerIdOrCount] = ping;\n const pings = Object.values(this._pings);\n this._store.commit(\n \"session/setPing\",\n Math.round(pings.reduce((a, b) => a + b, 0) / pings.length)\n );\n }\n }\n } else if (latency) {\n // ping to ST\n this._store.commit(\"session/setPing\", parseInt(latency, 10));\n }\n // update player count\n if (!this._isSpectator || playerIdOrCount) {\n this._store.commit(\n \"session/setPlayerCount\",\n this._isSpectator ? playerIdOrCount : Object.keys(this._players).length\n );\n }\n }\n\n /**\n * Handle a player leaving the sessions. ST only\n * @param playerId\n * @private\n */\n _handleBye(playerId) {\n if (this._isSpectator) return;\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 * Seats already occupied can't be claimed.\n * @param seat either -1 to vacate or the index of the seat claimed\n */\n claimSeat(seat) {\n if (!this._isSpectator) return;\n const players = this._store.state.players.players;\n if (players.length > seat && (seat < 0 || !players[seat].id)) {\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, 0]);\n }\n\n /**\n * Distribute player roles to all seated players in a direct message.\n * This will be split server side so that each player only receives their own (sub)message.\n */\n distributeRoles() {\n if (this._isSpectator) return;\n const message = {};\n this._store.state.players.players.forEach((player, index) => {\n if (player.id && player.role) {\n message[player.id] = [\n \"player\",\n { index, property: \"role\", value: player.role.id }\n ];\n }\n });\n if (Object.keys(message).length) {\n this._send(\"direct\", message);\n }\n }\n\n /**\n * A player nomination. ST only\n * This also syncs the voting speed to the players.\n * Payload can be an object with {nomination} property or just the nomination itself, or undefined.\n * @param payload [nominator, nominee]|{nomination}\n */\n nomination(payload) {\n if (this._isSpectator) return;\n const nomination = payload ? payload.nomination || payload : payload;\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 * Set the isVoteInProgress status. ST only\n */\n setVoteInProgress() {\n if (this._isSpectator) return;\n this._send(\"isVoteInProgress\", this._store.state.session.isVoteInProgress);\n }\n\n /**\n * Send the isNight status. ST only\n */\n setIsNight() {\n if (this._isSpectator) return;\n this._send(\"isNight\", this._store.state.grimoire.isNight);\n }\n\n /**\n * Send the isVoteHistoryAllowed state. ST only\n */\n setVoteHistoryAllowed() {\n if (this._isSpectator) return;\n this._send(\n \"isVoteHistoryAllowed\",\n this._store.state.session.isVoteHistoryAllowed\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 * Set which player is on the block. ST only\n * @param playerIndex, player id or -1 for empty\n */\n setMarked(playerIndex) {\n if (this._isSpectator) return;\n this._send(\"marked\", playerIndex);\n }\n\n /**\n * Clear the vote history for everyone. ST only\n */\n clearVoteHistory() {\n if (this._isSpectator) return;\n this._send(\"clearVoteHistory\");\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\", [\n index,\n this._store.state.session.votes[index],\n !this._isSpectator\n ]);\n }\n }\n\n /**\n * Handle an incoming vote, but only if it is from ST or unlocked.\n * @param index\n * @param vote\n * @param fromST\n */\n _handleVote([index, vote, fromST]) {\n const { session, players } = this._store.state;\n const playerCount = players.players.length;\n const indexAdjusted =\n (index - 1 + playerCount - session.nomination[1]) % playerCount;\n if (fromST || indexAdjusted >= session.lockedVote - 1) {\n this._store.commit(\"session/vote\", [index, vote]);\n }\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. Player only\n * @param lock\n * @param vote\n * @private\n */\n _handleLock([lock, vote]) {\n if (!this._isSpectator) return;\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 /**\n * Swap two player seats. ST only\n * @param payload\n */\n swapPlayer(payload) {\n if (this._isSpectator) return;\n this._send(\"swap\", payload);\n }\n\n /**\n * Move a player to another seat. ST only\n * @param payload\n */\n movePlayer(payload) {\n if (this._isSpectator) return;\n this._send(\"move\", payload);\n }\n\n /**\n * Remove a player. ST only\n * @param payload\n */\n removePlayer(payload) {\n if (this._isSpectator) return;\n this._send(\"remove\", payload);\n }\n}\n\nexport default store => {\n // setup\n const session = new LiveSession(store);\n\n // listen to mutations\n store.subscribe(({ type, payload }, state) => {\n switch (type) {\n case \"session/setSessionId\":\n if (state.session.sessionId) {\n session.connect(state.session.sessionId);\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/distributeRoles\":\n if (payload) {\n session.distributeRoles();\n }\n break;\n case \"session/nomination\":\n case \"session/setNomination\":\n session.nomination(payload);\n break;\n case \"session/setVoteInProgress\":\n session.setVoteInProgress(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 \"session/clearVoteHistory\":\n session.clearVoteHistory();\n break;\n case \"session/setVoteHistoryAllowed\":\n session.setVoteHistoryAllowed();\n break;\n case \"toggleNight\":\n session.setIsNight();\n break;\n case \"setEdition\":\n session.sendEdition();\n break;\n case \"players/setFabled\":\n session.sendFabled();\n break;\n case \"session/setMarkedPlayer\":\n session.setMarked(payload);\n break;\n case \"players/swap\":\n session.swapPlayer(payload);\n break;\n case \"players/move\":\n session.movePlayer(payload);\n break;\n case \"players/remove\":\n session.removePlayer(payload);\n break;\n case \"players/set\":\n case \"players/clear\":\n case \"players/add\":\n session.sendGamestate(\"\", true);\n break;\n case \"players/update\":\n if (payload.property === \"pronouns\") {\n session.sendPlayerPronouns(payload);\n } else {\n session.sendPlayer(payload);\n }\n break;\n }\n });\n\n // check for session Id in hash\n const sessionId = window.location.hash.substr(1);\n if (sessionId) {\n store.commit(\"session/setSpectator\", true);\n store.commit(\"session/setSessionId\", sessionId);\n store.commit(\"toggleGrimoire\", false);\n }\n};\n","const NEWPLAYER = {\n name: \"\",\n id: \"\",\n role: {},\n reminders: [],\n isVoteless: false,\n isDead: false,\n pronouns: \"\"\n};\n\nconst state = () => ({\n players: [],\n fabled: [],\n bluffs: []\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, fabled }) {\n const firstNight = [0];\n const otherNight = [0];\n players.forEach(({ role }) => {\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 fabled.forEach(role => {\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 fabled.forEach(role => {\n const first = Math.max(firstNight.indexOf(role.firstNight), 0);\n const other = Math.max(otherNight.indexOf(role.otherNight), 0);\n nightOrder.set(role, { 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, pronouns }) => ({\n ...NEWPLAYER,\n name,\n id,\n pronouns\n }));\n commit(\"setFabled\", { fabled: [] });\n }\n commit(\"set\", players);\n commit(\"setBluff\");\n }\n};\n\nconst mutations = {\n clear(state) {\n state.players = [];\n state.bluffs = [];\n state.fabled = [];\n },\n set(state, players = []) {\n state.players = players;\n },\n /**\n The update mutation also has a property for isFromSockets\n this property can be addded to payload object for any mutations\n then can be used to prevent infinite loops when a property is\n able to be set from multiple different session on websockets.\n An example of this is in the sendPlayerPronouns and _updatePlayerPronouns\n in socket.js.\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 // hack: \"modify\" the array so that Vue notices something changed\n state.players.splice(0, 0);\n },\n move(state, [from, to]) {\n state.players.splice(to, 0, state.players.splice(from, 1)[0]);\n },\n setBluff(state, { index, role } = {}) {\n if (index !== undefined) {\n state.bluffs.splice(index, 1, role);\n } else {\n state.bluffs = [];\n }\n },\n setFabled(state, { index, fabled } = {}) {\n if (index !== undefined) {\n state.fabled.splice(index, 1);\n } else if (fabled) {\n if (!Array.isArray(fabled)) {\n state.fabled.push(fabled);\n } else {\n state.fabled = fabled;\n }\n }\n }\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n};\n","/**\n * Handle a vote request.\n * If the vote is from a seat that is already locked, ignore it.\n * @param state session state\n * @param index seat of the player in the circle\n * @param vote true or false\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 isReconnecting: false,\n playerCount: 0,\n ping: 0,\n playerId: \"\",\n claimedSeat: -1,\n nomination: false,\n votes: [],\n lockedVote: 0,\n votingSpeed: 3000,\n isVoteInProgress: false,\n voteHistory: [],\n markedPlayer: -1,\n isVoteHistoryAllowed: true,\n isRolesDistributed: false\n});\n\nconst getters = {};\n\nconst actions = {};\n\n// mutations helper functions\nconst set = key => (state, val) => {\n state[key] = val;\n};\n\nconst mutations = {\n setPlayerId: set(\"playerId\"),\n setSpectator: set(\"isSpectator\"),\n setReconnecting: set(\"isReconnecting\"),\n setPlayerCount: set(\"playerCount\"),\n setPing: set(\"ping\"),\n setVotingSpeed: set(\"votingSpeed\"),\n setVoteInProgress: set(\"isVoteInProgress\"),\n setMarkedPlayer: set(\"markedPlayer\"),\n setNomination: set(\"nomination\"),\n setVoteHistoryAllowed: set(\"isVoteHistoryAllowed\"),\n claimSeat: set(\"claimedSeat\"),\n distributeRoles: set(\"isRolesDistributed\"),\n setSessionId(state, sessionId) {\n state.sessionId = sessionId\n .toLocaleLowerCase()\n .replace(/[^0-9a-z]/g, \"\")\n .substr(0, 10);\n },\n nomination(\n state,\n { nomination, votes, votingSpeed, lockedVote, isVoteInProgress } = {}\n ) {\n state.nomination = nomination || false;\n state.votes = votes || [];\n state.votingSpeed = votingSpeed || state.votingSpeed;\n state.lockedVote = lockedVote || 0;\n state.isVoteInProgress = isVoteInProgress || false;\n },\n /**\n * Create an entry in the vote history log. Requires current player array because it might change later in the game.\n * Only stores votes that were completed.\n * @param state\n * @param players\n */\n addHistory(state, players) {\n if (!state.isVoteHistoryAllowed && state.isSpectator) return;\n if (!state.nomination || state.lockedVote <= players.length) return;\n const isExile = players[state.nomination[1]].role.team === \"traveler\";\n state.voteHistory.push({\n timestamp: new Date(),\n nominator: players[state.nomination[0]].name,\n nominee: players[state.nomination[1]].name,\n type: isExile ? \"Exile\" : \"Execution\",\n majority: Math.ceil(\n players.filter(player => !player.isDead || isExile).length / 2\n ),\n votes: players\n .filter((player, index) => state.votes[index])\n .map(({ name }) => name)\n });\n },\n clearVoteHistory(state) {\n state.voteHistory = [];\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\";\nimport fabledJSON from \"../fabled.json\";\nimport jinxesJSON from \"../hatred.json\";\n\nVue.use(Vuex);\n\n// helper functions\nconst getRolesByEdition = (edition = editionJSON[0]) => {\n return new Map(\n rolesJSON\n .filter(r => r.edition === edition.id || edition.roles.includes(r.id))\n .sort((a, b) => b.team.localeCompare(a.team))\n .map(role => [role.id, role])\n );\n};\n\nconst getTravelersNotInEdition = (edition = editionJSON[0]) => {\n return new Map(\n rolesJSON\n .filter(\n r =>\n r.team === \"traveler\" &&\n r.edition !== edition.id &&\n !edition.roles.includes(r.id)\n )\n .map(role => [role.id, role])\n );\n};\n\nconst set = key => ({ grimoire }, val) => {\n grimoire[key] = val;\n};\n\nconst toggle = key => ({ grimoire }, val) => {\n if (val === true || val === false) {\n grimoire[key] = val;\n } else {\n grimoire[key] = !grimoire[key];\n }\n};\n\nconst clean = id => id.toLocaleLowerCase().replace(/[^a-z0-9]/g, \"\");\n\n// global data maps\nconst editionJSONbyId = new Map(\n editionJSON.map(edition => [edition.id, edition])\n);\nconst rolesJSONbyId = new Map(rolesJSON.map(role => [role.id, role]));\nconst fabled = new Map(fabledJSON.map(role => [role.id, role]));\n\n// jinxes\nlet jinxes = {};\ntry {\n // Note: can't fetch live list due to lack of CORS headers\n // fetch(\"https://bloodontheclocktower.com/script/data/hatred.json\")\n // .then(res => res.json())\n // .then(jinxesJSON => {\n jinxes = new Map(\n jinxesJSON.map(({ id, hatred }) => [\n clean(id),\n new Map(hatred.map(({ id, reason }) => [clean(id), reason]))\n ])\n );\n // });\n} catch (e) {\n console.error(\"couldn't load jinxes\", e);\n}\n\n// base definition for custom roles\nconst customRole = {\n id: \"\",\n name: \"\",\n image: \"\",\n ability: \"\",\n edition: \"custom\",\n firstNight: 0,\n firstNightReminder: \"\",\n otherNight: 0,\n otherNightReminder: \"\",\n reminders: [],\n remindersGlobal: [],\n setup: false,\n team: \"townsfolk\",\n isCustom: true\n};\n\nexport default new Vuex.Store({\n modules: {\n players,\n session\n },\n state: {\n grimoire: {\n isNight: false,\n isNightOrder: true,\n isPublic: true,\n isMenuOpen: false,\n isStatic: false,\n isMuted: false,\n isImageOptIn: false,\n zoom: 0,\n background: \"\"\n },\n modals: {\n edition: false,\n fabled: false,\n gameState: false,\n nightOrder: false,\n reference: false,\n reminder: false,\n role: false,\n roles: false,\n voteHistory: false\n },\n edition: editionJSONbyId.get(\"tb\"),\n roles: getRolesByEdition(),\n otherTravelers: getTravelersNotInEdition(),\n fabled,\n jinxes\n },\n getters: {\n /**\n * Return all custom roles, with default values and non-essential data stripped.\n * Role object keys will be replaced with a numerical index to conserve bandwidth.\n * @param roles\n * @returns {[]}\n */\n customRolesStripped: ({ roles }) => {\n const customRoles = [];\n const customKeys = Object.keys(customRole);\n const strippedProps = [\n \"firstNightReminder\",\n \"otherNightReminder\",\n \"isCustom\"\n ];\n roles.forEach(role => {\n if (!role.isCustom) {\n customRoles.push({ id: role.id });\n } else {\n const strippedRole = {};\n for (let prop in role) {\n if (strippedProps.includes(prop)) {\n continue;\n }\n const value = role[prop];\n if (customKeys.includes(prop) && value !== customRole[prop]) {\n strippedRole[customKeys.indexOf(prop)] = value;\n }\n }\n customRoles.push(strippedRole);\n }\n });\n return customRoles;\n },\n rolesJSONbyId: () => rolesJSONbyId\n },\n mutations: {\n setZoom: set(\"zoom\"),\n setBackground: set(\"background\"),\n toggleMuted: toggle(\"isMuted\"),\n toggleMenu: toggle(\"isMenuOpen\"),\n toggleNightOrder: toggle(\"isNightOrder\"),\n toggleStatic: toggle(\"isStatic\"),\n toggleNight: toggle(\"isNight\"),\n toggleGrimoire: toggle(\"isPublic\"),\n toggleImageOptIn: toggle(\"isImageOptIn\"),\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 /**\n * Store custom roles\n * @param state\n * @param roles Array of role IDs or full role definitions\n */\n setCustomRoles(state, roles) {\n const processedRoles = roles\n // replace numerical role object keys with matching key names\n .map(role => {\n if (role[0]) {\n const customKeys = Object.keys(customRole);\n const mappedRole = {};\n for (let prop in role) {\n if (customKeys[prop]) {\n mappedRole[customKeys[prop]] = role[prop];\n }\n }\n return mappedRole;\n } else {\n return role;\n }\n })\n // clean up role.id\n .map(role => {\n role.id = clean(role.id);\n return role;\n })\n // map existing roles to base definition or pre-populate custom roles to ensure all properties\n .map(\n role =>\n rolesJSONbyId.get(role.id) ||\n state.roles.get(role.id) ||\n Object.assign({}, customRole, role)\n )\n // default empty icons and placeholders, clean up firstNight / otherNight\n .map(role => {\n if (rolesJSONbyId.get(role.id)) return role;\n role.imageAlt = // map team to generic icon\n {\n townsfolk: \"good\",\n outsider: \"outsider\",\n minion: \"minion\",\n demon: \"evil\",\n fabled: \"fabled\"\n }[role.team] || \"custom\";\n role.firstNight = Math.abs(role.firstNight);\n role.otherNight = Math.abs(role.otherNight);\n return role;\n })\n // filter out roles that don't match an existing role and also don't have name/ability/team\n .filter(role => role.name && role.ability && role.team)\n // sort by team\n .sort((a, b) => b.team.localeCompare(a.team));\n // convert to Map without Fabled\n state.roles = new Map(\n processedRoles\n .filter(role => role.team !== \"fabled\")\n .map(role => [role.id, role])\n );\n // update Fabled to include custom Fabled from this script\n state.fabled = new Map([\n ...processedRoles.filter(r => r.team === \"fabled\").map(r => [r.id, r]),\n ...fabledJSON.map(role => [role.id, role])\n ]);\n // update extraTravelers map to only show travelers not in this script\n state.otherTravelers = new Map(\n rolesJSON\n .filter(r => r.team === \"traveler\" && !roles.some(i => i.id === r.id))\n .map(role => [role.id, role])\n );\n },\n setEdition(state, edition) {\n if (editionJSONbyId.has(edition.id)) {\n state.edition = editionJSONbyId.get(edition.id);\n state.roles = getRolesByEdition(state.edition);\n state.otherTravelers = getTravelersNotInEdition(state.edition);\n } else {\n state.edition = edition;\n }\n state.modals.edition = false;\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 \"BookDead\",\n \"BroadcastTower\",\n \"Chair\",\n \"CheckSquare\",\n \"CloudMoon\",\n \"Cog\",\n \"Copy\",\n \"Clipboard\",\n \"Dice\",\n \"Dragon\",\n \"ExchangeAlt\",\n \"ExclamationTriangle\",\n \"FileCode\",\n \"FileUpload\",\n \"HandPaper\",\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 \"VenusMars\",\n \"VolumeUp\",\n \"VolumeMute\",\n \"VoteYea\",\n \"WindowMaximize\",\n \"WindowMinimize\"\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","module.exports = store => {\n const updatePagetitle = isPublic =>\n (document.title = `Blood on the Clocktower ${\n isPublic ? \"Town Square\" : \"Grimoire\"\n }`);\n\n // initialize data\n if (localStorage.getItem(\"background\")) {\n store.commit(\"setBackground\", localStorage.background);\n }\n if (localStorage.getItem(\"muted\")) {\n store.commit(\"toggleMuted\", true);\n }\n if (localStorage.getItem(\"static\")) {\n store.commit(\"toggleStatic\", true);\n }\n if (localStorage.getItem(\"imageOptIn\")) {\n store.commit(\"toggleImageOptIn\", true);\n }\n if (localStorage.getItem(\"zoom\")) {\n store.commit(\"setZoom\", parseFloat(localStorage.getItem(\"zoom\")));\n }\n if (localStorage.getItem(\"isGrimoire\")) {\n store.commit(\"toggleGrimoire\", false);\n updatePagetitle(false);\n }\n if (localStorage.roles !== undefined) {\n store.commit(\"setCustomRoles\", JSON.parse(localStorage.roles));\n store.commit(\"setEdition\", { id: \"custom\" });\n }\n if (localStorage.edition !== undefined) {\n // this will initialize state.roles for official editions\n store.commit(\"setEdition\", JSON.parse(localStorage.edition));\n }\n if (localStorage.bluffs !== undefined) {\n JSON.parse(localStorage.bluffs).forEach((role, index) => {\n store.commit(\"players/setBluff\", {\n index,\n role: store.state.roles.get(role) || {}\n });\n });\n }\n if (localStorage.fabled !== undefined) {\n store.commit(\"players/setFabled\", {\n fabled: JSON.parse(localStorage.fabled).map(\n fabled => store.state.fabled.get(fabled.id) || fabled\n )\n });\n }\n if (localStorage.players) {\n store.commit(\n \"players/set\",\n JSON.parse(localStorage.players).map(player => ({\n ...player,\n role:\n store.state.roles.get(player.role) ||\n store.getters.rolesJSONbyId.get(player.role) ||\n {}\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\") && !window.location.hash.substr(1)) {\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 if (!state.grimoire.isPublic) {\n localStorage.setItem(\"isGrimoire\", 1);\n } else {\n localStorage.removeItem(\"isGrimoire\");\n }\n updatePagetitle(state.grimoire.isPublic);\n break;\n case \"setBackground\":\n if (payload) {\n localStorage.setItem(\"background\", payload);\n } else {\n localStorage.removeItem(\"background\");\n }\n break;\n case \"toggleMuted\":\n if (state.grimoire.isMuted) {\n localStorage.setItem(\"muted\", 1);\n } else {\n localStorage.removeItem(\"muted\");\n }\n break;\n case \"toggleStatic\":\n if (state.grimoire.isStatic) {\n localStorage.setItem(\"static\", 1);\n } else {\n localStorage.removeItem(\"static\");\n }\n break;\n case \"toggleImageOptIn\":\n if (state.grimoire.isImageOptIn) {\n localStorage.setItem(\"imageOptIn\", 1);\n } else {\n localStorage.removeItem(\"imageOptIn\");\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 localStorage.setItem(\"edition\", JSON.stringify(payload));\n if (state.edition.isOfficial) {\n localStorage.removeItem(\"roles\");\n }\n break;\n case \"setCustomRoles\":\n if (!payload.length) {\n localStorage.removeItem(\"roles\");\n } else {\n localStorage.setItem(\"roles\", JSON.stringify(payload));\n }\n break;\n case \"players/setBluff\":\n localStorage.setItem(\n \"bluffs\",\n JSON.stringify(state.players.bluffs.map(({ id }) => id))\n );\n break;\n case \"players/setFabled\":\n localStorage.setItem(\n \"fabled\",\n JSON.stringify(\n state.players.fabled.map(fabled =>\n fabled.isCustom ? fabled : { id: fabled.id }\n )\n )\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","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunktownsquare\"] = self[\"webpackChunktownsquare\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], () => (__webpack_require__(3458)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","render","_vm","this","_c","_self","class","night","grimoire","isNight","static","isStatic","style","backgroundImage","background","attrs","on","keyup","match","_e","staticClass","players","length","session","nomination","ref","_v","_s","version","staticRenderFns","public","isPublic","spectator","isSpectator","vote","_l","player","index","key","from","Math","max","swap","move","nominate","$event","handleTrigger","closed","isBluffsOpen","stopPropagation","toggleBluffs","apply","arguments","openRoleModal","bluffs","fabled","isFabledOpen","toggleFabled","role","removeFabled","nightOrder","get","first","isNightOrder","firstNightReminder","other","otherNightReminder","selectedPlayer","dead","isDead","marked","markedPlayer","isVoteless","you","sessionId","playerId","votes","voteLocked","team","toggleStatus","$emit","cancel","swapPlayer","movePlayer","nominatePlayer","highlight","isRolesDistributed","updatePlayer","active","isMenuOpen","name","pronouns","changePronouns","changeName","disabled","lockedVote","removePlayer","claimSeat","reminder","removeReminder","image","isImageOptIn","imageAlt","setRole","firstNight","otherNight","reminderLeaves","_f","edition","ability","props","type","default","computed","reminders","remindersGlobal","data","filters","nameToFontSize","methods","component","components","Token","required","indexOf","indexAdjusted","zoom","unit","window","innerWidth","innerHeight","width","isSwap","prompt","isMarked","splice","property","value","closeMenu","$store","commit","modals","availableReminders","playerIndex","toggleModal","addReminder","close","maximized","isMaximized","_t","mapReminder","Modal","state","roles","forEach","some","p","bluff","otherTravelers","push","availableRoles","tab","size","values","townsfolk","Player","RoleModal","ReminderModal","bluffSize","method","params","openReminderModal","confirm","includes","to","undefined","swapTo","updatedNomination","nom","moveTo","logo","teams","traveler","isOfficial","author","alive","outsider","minion","demon","nonTravelers","getters","filter","directives","rawName","voteHistory","expression","reconnecting","isReconnecting","playerCount","ping","leaveSession","open","toggleMenu","toggleGrimoire","toggleNight","toggleNightOrder","setZoom","round","setBackground","imageOptIn","toggleStatic","toggleMuted","isMuted","copySessionUrl","distributeRoles","hostSession","joinSession","addPlayer","randomizeSeatings","clearPlayers","clearRoles","random","url","location","href","split","link","navigator","clipboard","writeText","popup","setTimeout","bind","toggleImageOptIn","pop","dispatch","teamRoles","reduce","a","selected","game","checked","allowMultiple","domProps","Array","isArray","_i","$$a","$$el","target","$$c","$$v","$$i","concat","slice","selectedRoles","assignRoles","selectRandomRoles","randomElement","arr","floor","roleSelection","b","hasSelectedSetupRoles","setup","$set","composition","x","available","r","fill","sort","mounted","watch","isCustom","script","handleURL","handleUpload","openUpload","promptURL","readFromClipboard","setEdition","editions","scripts","$refs","upload","click","file","files","reader","FileReader","addEventListener","JSON","parse","result","parseRoles","alert","message","readAsText","res","fetch","json","text","readText","metaIndex","findIndex","meta","assign","has","_m","language","userLanguage","reference","playersByRole","join","jinxed","jinx","second","reason","jinxes","rolesGrouped","nominator","nominee","voters","ceil","isVoteInProgress","votingSpeed","currentVote","preventDefault","setVotingSpeed","countdown","pause","voteTimer","stop","start","finish","setMarked","removeMarked","nominatorStyle","transform","transitionDuration","nomineeStyle","lock","rotation","min","find","canVote","reorder","n","setInterval","clearInterval","diff","speed","gradient","gradients","rolesFirstNight","rolesOtherNight","setFabled","fable","clearVoteHistory","setRecordVoteHistory","isVoteHistoryAllowed","timestamp","getHours","toString","padStart","getMinutes","majority","gamestate","input","select","copy","load","stringify","customRolesStripped","f","rolesJSONbyId","GameStateModal","VoteHistoryModal","FabledModal","NightOrderModal","Vote","ReferenceModal","Intro","TownInfo","TownSquare","Menu","EditionModal","RolesModal","Gradients","ctrlKey","metaKey","toLocaleLowerCase","menu","LiveSession","constructor","store","_wss","_socket","_isSpectator","_gamestate","_store","_pingInterval","_pingTimer","_reconnectTimer","_players","_pings","connect","_open","channel","disconnect","WebSocket","_handleMessage","onopen","_onOpen","onclose","err","_send","command","readyState","send","_sendDirect","sendGamestate","_ping","_handlePing","clearTimeout","console","log","_updateEdition","_updateFabled","_updateGamestate","_updatePlayer","_updateSeat","_handleVote","_handleLock","_handleBye","_updatePlayerPronouns","substr","isLightweight","roleId","sendEdition","missing","sendFabled","sendPlayer","sendPlayerPronouns","isFromSockets","playerIdOrCount","latency","now","Date","getTime","parseInt","pings","seat","oldIndex","payload","setVoteInProgress","setIsNight","setVoteHistoryAllowed","fromST","lockVote","subscribe","hash","NEWPLAYER","Map","set","actions","randomize","rootState","mutations","clear","update","add","remove","setBluff","namespaced","handleVote","claimedSeat","val","setPlayerId","setSpectator","setReconnecting","setPlayerCount","setPing","setMarkedPlayer","setNomination","setSessionId","replace","addHistory","isExile","voteSync","use","getRolesByEdition","localeCompare","getTravelersNotInEdition","toggle","clean","editionJSONbyId","hatred","error","customRole","modules","gameState","customRoles","customKeys","strippedProps","strippedRole","prop","modal","setCustomRoles","processedRoles","mappedRole","abs","i","plugins","socket","faIcons","fabIcons","config","productionTip","h","App","$mount","updatePagetitle","document","title","localStorage","getItem","parseFloat","removeItem","setItem","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","getter","__esModule","d","definition","defineProperty","enumerable","g","globalThis","Function","obj","prototype","hasOwnProperty","call","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}