diff --git a/img/noble.5ec7b2b5.png b/img/noble.5ec7b2b5.png new file mode 100644 index 0000000..0692791 Binary files /dev/null and b/img/noble.5ec7b2b5.png differ diff --git a/index.html b/index.html index 1a6054a..ac67aee 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Blood on the Clocktower Town Square
\ No newline at end of file +Blood on the Clocktower Town Square
\ No newline at end of file diff --git a/js/app.5c3a0a44.js.map b/js/app.5c3a0a44.js.map deleted file mode 100644 index 955a535..0000000 --- a/js/app.5c3a0a44.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/icons/washerwoman.png","webpack:///./src/assets/icons/barista.png","webpack:///./src/assets/icons/cerenovus.png","webpack:///./src/assets/icons/amnesiac.png","webpack:///./src/assets/icons/politician.png","webpack:///./src/assets/editions/tb.png","webpack:///./src/assets/icons/shabaloth.png","webpack:///./src/assets/icons/lunatic.png","webpack:///./src/assets/icons/oracle.png","webpack:///./src/assets/icons/ravenkeeper.png","webpack:///./src/assets/icons/spiritofivory.png","webpack:///./src/assets/icons/undertaker.png","webpack:///./src/assets/icons/chambermaid.png","webpack:///./src/assets/icons/plus.png","webpack:///./src/assets/icons/recluse.png","webpack:///./src/assets/icons/mutant.png","webpack:///./src/assets/icons/huntsman.png","webpack:///./src/assets/icons/buddhist.png","webpack:///./src/assets/icons/chef.png","webpack:///./src/assets/icons/preacher.png","webpack:///./src/assets/icons/zombuul.png","webpack:///./src/components/Menu.vue?ed75","webpack:///./src/assets/icons/sailor.png","webpack:///./src/assets/icons/widow.png","webpack:///./src/assets/icons/bonecollector.png","webpack:///./src/components/modals/RoleModal.vue?2abf","webpack:///./src/assets/icons/outsider.png","webpack:///./src/assets/icons/baron.png","webpack:///./src/assets/icons/bureaucrat.png","webpack:///./src/assets/editions/bmr-minion.png","webpack:///./src/assets/icons/leviathan.png","webpack:///./src/assets/icons/artist.png","webpack:///./src/assets/editions/snv.png","webpack:///./src/assets/icons/sage.png","webpack:///./src/assets/icons/poppygrower.png","webpack:///./src/assets/icons/scapegoat.png","webpack:///./src/assets/icons/philosopher.png","webpack:///./src/components/TownSquare.vue?b88a","webpack:///./src/assets/icons/butcher.png","webpack:///./src/assets/icons/towncrier.png","webpack:///./src/assets/icons/cultleader.png","webpack:///./src/assets/icons/toymaker.png","webpack:///./src/assets/icons/vortox.png","webpack:///./src/assets/icons/deviant.png","webpack:///./src/assets/icons/imp.png","webpack:///./src/assets/icons/moonchild.png","webpack:///./src/components/Gradients.vue?8fc3","webpack:///./src/assets/icons/snakecharmer.png","webpack:///./src/assets/icons/fortuneteller.png","webpack:///./src/assets/editions/custom.png","webpack:///./src/assets/editions/snv-minion.png","webpack:///./src/assets/icons/fool.png","webpack:///./src/assets/icons/apprentice.png","webpack:///./src/components/modals/ReferenceModal.vue?3656","webpack:///./src/assets/icons/librarian.png","webpack:///./src/assets/editions/snv-outsider.png","webpack:///./src/assets/icons/soldier.png","webpack:///./src/assets/icons/minstrel.png","webpack:///./src/assets/icons/exorcist.png","webpack:///./src/assets/icons/harlot.png","webpack:///./src/assets/icons/goon.png","webpack:///./src/assets/icons/heretic.png","webpack:///./src/App.vue?72da","webpack:///./src/components/TownSquare.vue?c373","webpack:///./src/components/Player.vue?cda7","webpack:///./src/components/Token.vue?080f","webpack:///src/components/Token.vue","webpack:///./src/components/Token.vue?ca97","webpack:///./src/components/Token.vue","webpack:///src/components/Player.vue","webpack:///./src/components/Player.vue?1369","webpack:///./src/components/Player.vue","webpack:///./src/components/modals/ReminderModal.vue?3981","webpack:///./src/components/modals/Modal.vue?13e0","webpack:///src/components/modals/Modal.vue","webpack:///./src/components/modals/Modal.vue?a5e5","webpack:///./src/components/modals/Modal.vue","webpack:///src/components/modals/ReminderModal.vue","webpack:///./src/components/modals/ReminderModal.vue?c533","webpack:///./src/components/modals/ReminderModal.vue","webpack:///./src/components/modals/RoleModal.vue?c0a5","webpack:///src/components/modals/RoleModal.vue","webpack:///./src/components/modals/RoleModal.vue?15f8","webpack:///./src/components/modals/RoleModal.vue","webpack:///src/components/TownSquare.vue","webpack:///./src/components/TownSquare.vue?335a","webpack:///./src/components/TownSquare.vue","webpack:///./src/components/TownInfo.vue?b130","webpack:///src/components/TownInfo.vue","webpack:///./src/components/TownInfo.vue?6260","webpack:///./src/components/TownInfo.vue","webpack:///./src/components/Menu.vue?56b4","webpack:///src/components/Menu.vue","webpack:///./src/components/Menu.vue?9842","webpack:///./src/components/Menu.vue","webpack:///./src/components/modals/RolesModal.vue?b429","webpack:///src/components/modals/RolesModal.vue","webpack:///./src/components/modals/RolesModal.vue?b003","webpack:///./src/components/modals/RolesModal.vue","webpack:///./src/components/modals/EditionModal.vue?cd25","webpack:///src/components/modals/EditionModal.vue","webpack:///./src/components/modals/EditionModal.vue?d6f4","webpack:///./src/components/modals/EditionModal.vue","webpack:///./src/components/Intro.vue?022c","webpack:///src/components/Intro.vue","webpack:///./src/components/Intro.vue?a380","webpack:///./src/components/Intro.vue","webpack:///./src/components/modals/ReferenceModal.vue?c0dd","webpack:///src/components/modals/ReferenceModal.vue","webpack:///./src/components/modals/ReferenceModal.vue?c23b","webpack:///./src/components/modals/ReferenceModal.vue","webpack:///./src/components/Vote.vue?8c9e","webpack:///src/components/Vote.vue","webpack:///./src/components/Vote.vue?2a1c","webpack:///./src/components/Vote.vue","webpack:///./src/components/Gradients.vue?3b16","webpack:///src/components/Gradients.vue","webpack:///./src/components/Gradients.vue?d8ff","webpack:///./src/components/Gradients.vue","webpack:///./src/components/modals/NightOrderModal.vue?44f4","webpack:///src/components/modals/NightOrderModal.vue","webpack:///./src/components/modals/NightOrderModal.vue?08ef","webpack:///./src/components/modals/NightOrderModal.vue","webpack:///./src/components/modals/FabledModal.vue?fa37","webpack:///src/components/modals/FabledModal.vue","webpack:///./src/components/modals/FabledModal.vue?aeda","webpack:///./src/components/modals/FabledModal.vue","webpack:///./src/components/modals/VoteHistoryModal.vue?52d9","webpack:///src/components/modals/VoteHistoryModal.vue","webpack:///./src/components/modals/VoteHistoryModal.vue?485a","webpack:///./src/components/modals/VoteHistoryModal.vue","webpack:///./src/components/modals/GameStateModal.vue?8665","webpack:///src/components/modals/GameStateModal.vue","webpack:///./src/components/modals/GameStateModal.vue?7f16","webpack:///./src/components/modals/GameStateModal.vue","webpack:///src/App.vue","webpack:///./src/App.vue?b65f","webpack:///./src/App.vue","webpack:///./src/store/socket.js","webpack:///./src/store/modules/players.js","webpack:///./src/store/modules/session.js","webpack:///./src/store/index.js","webpack:///./src/main.js","webpack:///./src/components/Token.vue?181a","webpack:///./src/assets/icons/fabled.png","webpack:///./src/assets/icons/cannibal.png","webpack:///./src/App.vue?6ee5","webpack:///./src/assets/icons/duchess.png","webpack:///./src/assets/icons/goblin.png","webpack:///./src/assets/icons/x.png","webpack:///./src/assets/editions/tb-minion.png","webpack:///./src/assets/icons sync ^\\.\\/.*\\.png$","webpack:///./src/assets/icons/fiddler.png","webpack:///./src/assets/icons/butler.png","webpack:///./src/assets/icons/doomsayer.png","webpack:///./src/assets/icons/juggler.png","webpack:///./src/assets/icons/balloonist.png","webpack:///./src/assets/icons/innkeeper.png","webpack:///./src/assets/icons/good.png","webpack:///./src/assets/icons/flowergirl.png","webpack:///./src/assets/icons/monk.png","webpack:///./src/assets/icons/nodashii.png","webpack:///./src/assets/icons/saint.png","webpack:///./src/assets/icons/fanggu.png","webpack:///./src/assets/icons/fibbin.png","webpack:///./src/assets/icons/dreamer.png","webpack:///./src/assets/icons/damsel.png","webpack:///./src/assets/editions/tb-outsider.png","webpack:///./src/components/modals/ReminderModal.vue?476f","webpack:///./src/assets/editions/bmr.png","webpack:///./src/components/Player.vue?6d3c","webpack:///./src/assets/icons/minion.png","webpack:///./src/assets/icons/farmer.png","webpack:///./src/assets/icons/pithag.png","webpack:///./src/assets/icons/bishop.png","webpack:///./src/components/modals/Modal.vue?3563","webpack:///./src/assets/icons/acrobat.png","webpack:///./src/assets/icons/mathematician.png","webpack:///./src/components/modals/RolesModal.vue?8383","webpack:///./src/assets/icons/bountyhunter.png","webpack:///./src/components/Vote.vue?e359","webpack:///./src/components/modals/VoteHistoryModal.vue?39ca","webpack:///./src/assets/icons/deusexfiasco.png","webpack:///./src/assets/icons/assassin.png","webpack:///./src/assets/editions/luf.png","webpack:///./src/components/modals/GameStateModal.vue?27de","webpack:///./src/assets/icons/king.png","webpack:///./src/assets/icons/gangster.png","webpack:///./src/assets/icons/godfather.png","webpack:///./src/assets/icons/thief.png","webpack:///./src/assets/icons/lleech.png","webpack:///./src/assets/icons/tinker.png","webpack:///./src/assets/icons/hellslibrarian.png","webpack:///./src/assets/editions/tb-demon.png","webpack:///./src/assets/icons/stormcatcher.png","webpack:///./src/assets/icons/pukka.png","webpack:///./src/assets/icons/voudon.png","webpack:///./src/assets/icons/pixie.png","webpack:///./src/assets/icons/revolutionary.png","webpack:///./src/assets/icons/boomdandy.png","webpack:///./src/assets/icons/magician.png","webpack:///./src/assets/icons/seamstress.png","webpack:///./src/assets/icons/general.png","webpack:///./src/assets/icons/klutz.png","webpack:///./src/assets/icons/sentinel.png","webpack:///./src/assets/icons/matron.png","webpack:///./src/assets/icons/mayor.png","webpack:///./src/assets/icons/professor.png","webpack:///./src/assets/icons/investigator.png","webpack:///./src/assets/icons/snitch.png","webpack:///./src/assets/icons/tealady.png","webpack:///./src/assets/icons/empath.png","webpack:///./src/assets/icons/angel.png","webpack:///./src/components/Intro.vue?dc06","webpack:///./src/assets/icons/evil.png","webpack:///./src/assets/icons/lycanthrope.png","webpack:///./src/assets/icons/lilmonsta.png","webpack:///./src/components/TownInfo.vue?113f","webpack:///./src/assets/icons/fisherman.png","webpack:///./src/assets/icons/po.png","webpack:///./src/assets/icons/mezepheles.png","webpack:///./src/assets/icons/grandmother.png","webpack:///./src/assets/icons/gossip.png","webpack:///./src/assets/editions/bmr-demon.png","webpack:///./src/assets/icons/devilsadvocate.png","webpack:///./src/assets/editions sync ^\\.\\/.*\\.png$","webpack:///./src/assets/icons/beggar.png","webpack:///./src/assets/icons/slayer.png","webpack:///./src/assets/icons/choirboy.png","webpack:///./src/assets/icons/savant.png","webpack:///./src/assets/icons/drunk.png","webpack:///./src/assets/icons/legion.png","webpack:///./src/assets/icons/gambler.png","webpack:///./src/assets/icons/mephit.png","webpack:///./src/store/persistence.js","webpack:///./src/assets/icons/eviltwin.png","webpack:///./src/assets/icons/djinn.png","webpack:///./src/assets/icons/marionette.png","webpack:///./src/assets/editions/bmr-outsider.png","webpack:///./src/assets/editions/bmr-townsfolk.png","webpack:///./src/assets/icons/spy.png","webpack:///./src/assets/editions/snv-townsfolk.png","webpack:///./src/assets/icons/courtier.png","webpack:///./src/assets/icons/gunslinger.png","webpack:///./src/assets/icons/virgin.png","webpack:///./src/assets/icons/judge.png","webpack:///./src/assets/icons/sweetheart.png","webpack:///./src/assets/icons/poisoner.png","webpack:///./src/components/modals/EditionModal.vue?d67d","webpack:///./src/assets/icons/scarletwoman.png","webpack:///./src/assets/editions/snv-demon.png","webpack:///./src/assets/icons/vigormortis.png","webpack:///./src/assets/icons/witch.png","webpack:///./src/assets/sounds/countdown.mp3","webpack:///./src/assets/editions/tb-townsfolk.png","webpack:///./src/assets/icons/mastermind.png","webpack:///./src/assets/icons/clockmaker.png","webpack:///./src/components/modals/NightOrderModal.vue?9b1f","webpack:///./src/assets/icons/barber.png","webpack:///./src/assets/icons/custom.png","webpack:///./src/components/modals/FabledModal.vue?31c5","webpack:///./src/assets/icons/pacifist.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","class","night","grimoire","isNight","static","isStatic","style","backgroundImage","background","attrs","on","keyup","match","_e","staticClass","players","session","nomination","ref","_v","_s","version","staticRenderFns","public","isPublic","spectator","isSpectator","vote","_l","player","index","from","Math","max","swap","move","nominate","$event","handleTrigger","closed","isBluffsOpen","stopPropagation","toggleBluffs","openRoleModal","bluffs","fabled","isFabledOpen","toggleFabled","role","removeFabled","nightOrder","first","isNightOrder","firstNightReminder","other","otherNightReminder","selectedPlayer","dead","isDead","marked","markedPlayer","isVoteless","you","sessionId","id","playerId","votes","voteLocked","team","toggleStatus","$emit","cancel","swapPlayer","movePlayer","nominatePlayer","highlight","isRolesDistributed","updatePlayer","active","isMenuOpen","pronouns","changePronouns","changeName","disabled","lockedVote","removePlayer","claimSeat","reminder","removeReminder","image","isImageOptIn","imageAlt","setRole","firstNight","otherNight","reminderLeaves","_f","ability","props","type","default","computed","reminders","remindersGlobal","filters","nameToFontSize","methods","component","components","Token","required","indexOf","indexAdjusted","zoom","unit","innerWidth","innerHeight","width","isSwap","prompt","isMarked","closeMenu","$store","commit","modals","availableReminders","playerIndex","toggleModal","addReminder","close","maximized","isMaximized","_t","mapReminder","Modal","state","roles","forEach","some","bluff","map","otherTravelers","availableRoles","tab","size","values","townsfolk","Player","RoleModal","ReminderModal","bluffSize","method","params","confirm","includes","to","undefined","swapTo","updatedNomination","nom","moveTo","edition","logo","teams","traveler","isOfficial","author","alive","outsider","minion","demon","nonTravelers","getters","filter","game","directives","rawName","voteHistory","expression","reconnecting","isReconnecting","ping","leaveSession","playerCount","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","toggleImageOptIn","pop","dispatch","teamRoles","reduce","a","selected","checked","allowMultiple","domProps","Array","isArray","_i","$$a","$$el","target","$$c","$$v","$$i","concat","selectedRoles","assignRoles","selectRandomRoles","randomElement","arr","floor","roleSelection","b","hasSelectedSetupRoles","setup","$set","composition","keys","x","available","fill","sort","mounted","watch","isCustom","script","handleURL","handleUpload","openUpload","promptURL","setEdition","editions","scripts","$refs","upload","click","file","files","reader","FileReader","addEventListener","JSON","parse","parseRoles","e","alert","message","readAsText","res","fetch","json","metaIndex","findIndex","meta","assign","has","_m","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","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","rolesJSONbyId","GameStateModal","VoteHistoryModal","FabledModal","NightOrderModal","Vote","ReferenceModal","Intro","TownInfo","TownSquare","Menu","EditionModal","RolesModal","Gradients","ctrlKey","metaKey","toLocaleLowerCase","menu","LiveSession","store","_wss","_socket","_isSpectator","_gamestate","_store","_pingInterval","_pingTimer","_reconnectTimer","_players","_pings","connect","channel","disconnect","WebSocket","_handleMessage","onopen","_onOpen","onclose","err","code","command","readyState","send","_send","_sendDirect","sendGamestate","_ping","_handlePing","clearTimeout","console","log","_updateEdition","_updateFabled","_updateGamestate","_updatePlayer","_updateSeat","_handleVote","_handleLock","_handleBye","_updatePlayerPronouns","substr","_open","isLightweight","roleId","sendEdition","f","missing","isFromSockets","playerIdOrCount","latency","now","Date","getTime","parseInt","pings","seat","oldIndex","payload","fromST","subscribe","hash","setVoteInProgress","lockVote","setVoteHistoryAllowed","setIsNight","sendFabled","sendPlayerPronouns","sendPlayer","NEWPLAYER","Map","set","actions","rootState","mutations","namespaced","handleVote","claimedSeat","val","setPlayerId","setSpectator","setReconnecting","setPlayerCount","setPing","setMarkedPlayer","setNomination","replace","isExile","voteSync","use","getRolesByEdition","localeCompare","getTravelersNotInEdition","toggle","clean","editionJSONbyId","hatred","error","customRole","Store","gameState","customRoles","customKeys","strippedProps","strippedRole","prop","modal","processedRoles","mappedRole","abs","plugins","socket","faIcons","fabIcons","add","config","productionTip","h","App","$mount","webpackContext","req","webpackContextResolve","Error","resolve","updatePagetitle","document","title","localStorage","getItem","parseFloat","removeItem","setItem"],"mappings":"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3CC,EAAOD,QAAU,IAA0B,4B,uBCA3CC,EAAOD,QAAU,IAA0B,2B,uBCA3CC,EAAOD,QAAU,IAA0B,gC,uBCA3CC,EAAOD,QAAU,IAA0B,kC,uBCA3CC,EAAOD,QAAU,IAA0B,+B,gDCA3CC,EAAOD,QAAU,IAA0B,gC,uBCA3CC,EAAOD,QAAU,IAA0B,yB,uBCA3CC,EAAOD,QAAU,IAA0B,4B,uBCA3CC,EAAOD,QAAU,IAA0B,2B,qBCA3CC,EAAOD,QAAU,IAA0B,6B,uBCA3CC,EAAOD,QAAU,IAA0B,6B,uBCA3CC,EAAOD,QAAU,IAA0B,yB,qBCA3CC,EAAOD,QAAU,IAA0B,6B,uBCA3CC,EAAOD,QAAU,IAA0B,4B,kCCA3C,W,uBCAAC,EAAOD,QAAU,IAA0B,2B,8CCA3CC,EAAOD,QAAU,IAA0B,0B,uBCA3CC,EAAOD,QAAU,IAA0B,kC,oCCA3C,W,qBCAAC,EAAOD,QAAU,IAA0B,6B,uBCA3CC,EAAOD,QAAU,IAA0B,0B,uBCA3CC,EAAOD,QAAU,IAA0B,+B,uBCA3CC,EAAOD,QAAU,IAA0B,+B,uBCA3CC,EAAOD,QAAU,IAA0B,8B,uBCA3CC,EAAOD,QAAU,IAA0B,2B,uBCA3CC,EAAOD,QAAU,IAA0B,wB,uBCA3CC,EAAOD,QAAU,IAA0B,yB,qBCA3CC,EAAOD,QAAU,IAA0B,gC,uBCA3CC,EAAOD,QAAU,IAA0B,8B,qBCA3CC,EAAOD,QAAU,IAA0B,gC,kCCA3C,W,uBCAAC,EAAOD,QAAU,IAA0B,4B,uBCA3CC,EAAOD,QAAU,IAA0B,8B,uBCA3CC,EAAOD,QAAU,IAA0B,+B,8CCA3CC,EAAOD,QAAU,IAA0B,6B,uBCA3CC,EAAOD,QAAU,IAA0B,2B,uBCA3CC,EAAOD,QAAU,IAA0B,4B,gDCA3CC,EAAOD,QAAU,IAA0B,wB,uBCA3CC,EAAOD,QAAU,IAA0B,8B,oCCA3C,W,qBCAAC,EAAOD,QAAU,IAA0B,iC,gDCA3CC,EAAOD,QAAU,IAA0B,kC,uBCA3CC,EAAOD,QAAU,IAA0B,2B,uBCA3CC,EAAOD,QAAU,IAA0B,+B,qBCA3CC,EAAOD,QAAU,IAA0B,yB,uBCA3CC,EAAOD,QAAU,IAA0B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","file":"js/app.5c3a0a44.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"56d7\",\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"img/washerwoman.554de332.png\";","module.exports = __webpack_public_path__ + \"img/barista.6c427e65.png\";","module.exports = __webpack_public_path__ + \"img/cerenovus.cc343942.png\";","module.exports = __webpack_public_path__ + \"img/amnesiac.fbd5ab33.png\";","module.exports = __webpack_public_path__ + \"img/politician.521cc53f.png\";","module.exports = __webpack_public_path__ + \"img/tb.438499cd.png\";","module.exports = __webpack_public_path__ + \"img/shabaloth.589858d2.png\";","module.exports = __webpack_public_path__ + \"img/lunatic.39fb7a2a.png\";","module.exports = __webpack_public_path__ + \"img/oracle.8b13b932.png\";","module.exports = __webpack_public_path__ + \"img/ravenkeeper.a1dfbc31.png\";","module.exports = __webpack_public_path__ + \"img/spiritofivory.ef077db5.png\";","module.exports = __webpack_public_path__ + \"img/undertaker.4f2e9806.png\";","module.exports = __webpack_public_path__ + \"img/chambermaid.5fa8599d.png\";","module.exports = __webpack_public_path__ + \"img/plus.9b84ce65.png\";","module.exports = __webpack_public_path__ + \"img/recluse.81a048d5.png\";","module.exports = __webpack_public_path__ + \"img/mutant.1b9f9dee.png\";","module.exports = __webpack_public_path__ + \"img/huntsman.994fb309.png\";","module.exports = __webpack_public_path__ + \"img/buddhist.2d7c4106.png\";","module.exports = __webpack_public_path__ + \"img/chef.c2256a45.png\";","module.exports = __webpack_public_path__ + \"img/preacher.a86e913b.png\";","module.exports = __webpack_public_path__ + \"img/zombuul.2872fbb3.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=style&index=0&id=84ed831a&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/sailor.a9d4454a.png\";","module.exports = __webpack_public_path__ + \"img/widow.3ae71cbf.png\";","module.exports = __webpack_public_path__ + \"img/bonecollector.bd2d8b7a.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleModal.vue?vue&type=style&index=0&id=2e3008b9&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/outsider.2c6bc66e.png\";","module.exports = __webpack_public_path__ + \"img/baron.2628f49e.png\";","module.exports = __webpack_public_path__ + \"img/bureaucrat.6a892d56.png\";","module.exports = __webpack_public_path__ + \"img/bmr-minion.6559191b.png\";","module.exports = __webpack_public_path__ + \"img/leviathan.24f3cd86.png\";","module.exports = __webpack_public_path__ + \"img/artist.e76624f3.png\";","module.exports = __webpack_public_path__ + \"img/snv.288a42ad.png\";","module.exports = __webpack_public_path__ + \"img/sage.8afae02e.png\";","module.exports = __webpack_public_path__ + \"img/poppygrower.c9d4c880.png\";","module.exports = __webpack_public_path__ + \"img/scapegoat.73640c39.png\";","module.exports = __webpack_public_path__ + \"img/philosopher.9a154d6c.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownSquare.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/butcher.2efedb75.png\";","module.exports = __webpack_public_path__ + \"img/towncrier.8c7af52c.png\";","module.exports = __webpack_public_path__ + \"img/cultleader.1f9a22f0.png\";","module.exports = __webpack_public_path__ + \"img/toymaker.a96806e5.png\";","module.exports = __webpack_public_path__ + \"img/vortox.f022015e.png\";","module.exports = __webpack_public_path__ + \"img/deviant.9fcfb58a.png\";","module.exports = __webpack_public_path__ + \"img/imp.ff808901.png\";","module.exports = __webpack_public_path__ + \"img/moonchild.04fb95f1.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gradients.vue?vue&type=style&index=0&id=1e202a64&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/snakecharmer.7769a0cc.png\";","module.exports = __webpack_public_path__ + \"img/fortuneteller.a641461f.png\";","module.exports = __webpack_public_path__ + \"img/custom.5334aaeb.png\";","module.exports = __webpack_public_path__ + \"img/snv-minion.60768802.png\";","module.exports = __webpack_public_path__ + \"img/fool.0d847910.png\";","module.exports = __webpack_public_path__ + \"img/apprentice.ff782fd9.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceModal.vue?vue&type=style&index=0&id=7d0ee60b&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/librarian.c867e6d6.png\";","module.exports = __webpack_public_path__ + \"img/snv-outsider.5b5cae7f.png\";","module.exports = __webpack_public_path__ + \"img/soldier.ebde76f0.png\";","module.exports = __webpack_public_path__ + \"img/minstrel.29c42f5b.png\";","module.exports = __webpack_public_path__ + \"img/exorcist.4d617582.png\";","module.exports = __webpack_public_path__ + \"img/harlot.403b3498.png\";","module.exports = __webpack_public_path__ + \"img/goon.eb004322.png\";","module.exports = __webpack_public_path__ + \"img/heretic.5f581ee2.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;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)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"square\",class:{\n public: _vm.grimoire.isPublic,\n spectator: _vm.session.isSpectator,\n vote: _vm.session.nomination\n },attrs:{\"id\":\"townsquare\"}},[_c('ul',{staticClass:\"circle\",class:['size-' + _vm.players.length]},_vm._l((_vm.players),function(player,index){return _c('Player',{key:index,class:{\n from: Math.max(_vm.swap, _vm.move, _vm.nominate) === index,\n swap: _vm.swap > -1,\n move: _vm.move > -1,\n nominate: _vm.nominate > -1\n },attrs:{\"player\":player},on:{\"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($event)}}}),_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleBluffs($event)}}})],1),_c('ul',_vm._l((_vm.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($event)}}}),_c('font-awesome-icon',{attrs:{\"icon\":\"plus-circle\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFabled($event)}}})],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)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{style:(_vm.zoom)},[_c('div',{ref:\"player\",staticClass:\"player\",class:[\n {\n dead: _vm.player.isDead,\n 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(\" + (reminder.image && _vm.grimoire.isImageOptIn\n ? reminder.image\n : require('../assets/icons/' +\n (reminder.imageAlt || reminder.role) +\n '.png')) + \")\")\n })}),_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(reminder.name))])])}):_vm._e(),_c('div',{staticClass:\"reminder add\",on:{\"click\":function($event){return _vm.$emit('trigger', ['openReminderModal'])}}},[_c('span',{staticClass:\"icon\"})])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"token\",class:[_vm.role.id],on:{\"click\":_vm.setRole}},[(_vm.role.id)?_c('span',{staticClass:\"icon\",style:({\n backgroundImage: (\"url(\" + (_vm.role.image && _vm.grimoire.isImageOptIn\n ? _vm.role.image\n : require('../assets/icons/' + (_vm.role.imageAlt || _vm.role.id) + '.png')) + \")\")\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()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Token.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Token.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Token.vue?vue&type=template&id=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&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"deec739a\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Player.vue?vue&type=template&id=364d4a75&\"\nimport script from \"./Player.vue?vue&type=script&lang=js&\"\nexport * from \"./Player.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.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(\" + (reminder.image && _vm.grimoire.isImageOptIn\n ? reminder.image\n : require('../../assets/icons/' +\n (reminder.imageAlt || reminder.role) +\n '.png')) + \")\")\n })}),_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(reminder.name))])])}),0)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"modal-fade\"}},[_c('div',{staticClass:\"modal-backdrop\",on:{\"click\":_vm.close}},[_c('div',{staticClass:\"modal\",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)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Modal.vue?vue&type=template&id=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&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReminderModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReminderModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReminderModal.vue?vue&type=template&id=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&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"334686bc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.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()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoleModal.vue?vue&type=template&id=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&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e3008b9\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownSquare.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownSquare.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TownSquare.vue?vue&type=template&id=9b78ead0&\"\nimport script from \"./TownSquare.vue?vue&type=script&lang=js&\"\nexport * from \"./TownSquare.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TownSquare.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"info\"},[_c('li',{staticClass:\"edition\",class:['edition-' + _vm.edition.id],style:({\n backgroundImage: (\"url(\" + (_vm.edition.logo && _vm.grimoire.isImageOptIn\n ? _vm.edition.logo\n : require('../assets/editions/' + _vm.edition.id + '.png')) + \")\")\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()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TownInfo.vue?vue&type=template&id=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&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e858a1da\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"controls\"}},[_c('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 \" + (_vm.session.voteHistory.length == 1 ? 'nomination' : 'nominations'))},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\" + (_vm.session.ping ? ' (' + _vm.session.ping + 'ms latency)' : ''))},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)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Menu.vue?vue&type=template&id=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&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"84ed831a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.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(function (a, ref) {\n var selected = ref.selected;\n\n return a + selected;\n}, 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()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RolesModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RolesModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RolesModal.vue?vue&type=template&id=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&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"365502ca\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.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://bloodontheclocktower.com/script-tool/\",\"target\":\"_blank\"}},[_vm._v(\"Script Tool\")]),_vm._v(\" and then upload the generated \\\"custom-list.json\\\" either directly here or provide a URL to such a hosted JSON file.\"),_c('br'),_c('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\":function($event){_vm.isCustom = false}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"undo\"}}),_vm._v(\" Back \")],1)])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditionModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditionModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditionModal.vue?vue&type=template&id=9926f1f4&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=9926f1f4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9926f1f4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"intro\"},[_c('img',{attrs:{\"src\":\"static/apple-icon.png\",\"alt\":\"\"}}),_vm._v(\" Welcome to the (unofficial) \"),_c('b',[_vm._v(\"Virtual 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)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;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\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Intro.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Intro.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Intro.vue?vue&type=template&id=0ae0fea6&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=0ae0fea6&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ae0fea6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.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(\" + (role.image && _vm.grimoire.isImageOptIn\n ? role.image\n : require('../../assets/icons/' +\n (role.imageAlt || role.id) +\n '.png')) + \")\")\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()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReferenceModal.vue?vue&type=template&id=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&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d0ee60b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"vote\"}},[_c('div',{staticClass:\"arrows\"},[_c('span',{staticClass:\"nominee\",style:(_vm.nomineeStyle)}),_c('span',{staticClass:\"nominator\",style:(_vm.nominatorStyle)})]),_c('div',{staticClass:\"overlay\"},[_c('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)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vote.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vote.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Vote.vue?vue&type=template&id=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&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"56f82741\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"gradients\"}},_vm._l((_vm.gradients),function(gradient,index){return _c('svg',{key:index,attrs:{\"width\":\"0\",\"height\":\"0\"}},[_c('linearGradient',{attrs:{\"id\":gradient[0],\"x1\":\"50%\",\"y1\":\"100%\",\"x2\":\"50%\",\"y2\":\"0%\"}},[_c('stop',{style:({ 'stop-color': gradient[2], 'stop-opacity': 1 }),attrs:{\"offset\":\"0%\"}}),_c('stop',{style:({ 'stop-color': gradient[1], 'stop-opacity': 1 }),attrs:{\"offset\":\"100%\"}})],1)],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gradients.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gradients.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Gradients.vue?vue&type=template&id=1e202a64&scoped=true&\"\nimport script from \"./Gradients.vue?vue&type=script&lang=js&\"\nexport * from \"./Gradients.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Gradients.vue?vue&type=style&index=0&id=1e202a64&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e202a64\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;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(\" + (role.image && _vm.grimoire.isImageOptIn\n ? role.image\n : require('../../assets/icons/' +\n (role.imageAlt || role.id) +\n '.png')) + \")\")\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(\" + (role.image && _vm.grimoire.isImageOptIn\n ? role.image\n : require('../../assets/icons/' +\n (role.imageAlt || role.id) +\n '.png')) + \")\")\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()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NightOrderModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NightOrderModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NightOrderModal.vue?vue&type=template&id=980a7608&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=980a7608&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"980a7608\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.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()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FabledModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./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&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d6b399a0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.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()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoteHistoryModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./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&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"482a37a8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.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()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GameStateModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GameStateModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GameStateModal.vue?vue&type=template&id=c5d58668&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=c5d58668&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c5d58668\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=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&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","class LiveSession {\n constructor(store) {\n this._wss = \"wss://live.clocktower.online:8080/\";\n //this._wss = \"wss://localhost:8081/\";\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 \"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","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Token.vue?vue&type=style&index=0&id=deec739a&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/fabled.227b24f9.png\";","module.exports = __webpack_public_path__ + \"img/cannibal.54808c1a.png\";","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/duchess.f8361787.png\";","module.exports = __webpack_public_path__ + \"img/goblin.ec4fe0e0.png\";","module.exports = __webpack_public_path__ + \"img/x.d2209023.png\";","module.exports = __webpack_public_path__ + \"img/tb-minion.b01c557e.png\";","var map = {\n\t\"./acrobat.png\": \"887b\",\n\t\"./amnesiac.png\": \"043b\",\n\t\"./angel.png\": \"bfe2\",\n\t\"./apprentice.png\": \"4bea\",\n\t\"./artist.png\": \"2cd0\",\n\t\"./assassin.png\": \"9187\",\n\t\"./balloonist.png\": \"65db\",\n\t\"./barber.png\": \"fcc6\",\n\t\"./barista.png\": \"027a\",\n\t\"./baron.png\": \"24d3\",\n\t\"./beggar.png\": \"cfcc\",\n\t\"./bishop.png\": \"8030\",\n\t\"./bonecollector.png\": \"23b1\",\n\t\"./boomdandy.png\": \"aae9\",\n\t\"./bountyhunter.png\": \"899d\",\n\t\"./buddhist.png\": \"1d01\",\n\t\"./bureaucrat.png\": \"25f6\",\n\t\"./butcher.png\": \"37dd\",\n\t\"./butler.png\": \"64fe\",\n\t\"./cannibal.png\": \"5bd9\",\n\t\"./cerenovus.png\": \"0436\",\n\t\"./chambermaid.png\": \"125e\",\n\t\"./chef.png\": \"1e83\",\n\t\"./choirboy.png\": \"d6bc\",\n\t\"./clockmaker.png\": \"f93f\",\n\t\"./courtier.png\": \"ee02\",\n\t\"./cultleader.png\": \"398f\",\n\t\"./custom.png\": \"fd83\",\n\t\"./damsel.png\": \"72d7\",\n\t\"./deusexfiasco.png\": \"9002\",\n\t\"./deviant.png\": \"3b65\",\n\t\"./devilsadvocate.png\": \"cd8b\",\n\t\"./djinn.png\": \"e222\",\n\t\"./doomsayer.png\": \"659f\",\n\t\"./dreamer.png\": \"71b8\",\n\t\"./drunk.png\": \"d97d\",\n\t\"./duchess.png\": \"5c56\",\n\t\"./empath.png\": \"bb7a\",\n\t\"./evil.png\": \"c24f\",\n\t\"./eviltwin.png\": \"e014\",\n\t\"./exorcist.png\": \"5072\",\n\t\"./fabled.png\": \"5b44\",\n\t\"./fanggu.png\": \"6ac0\",\n\t\"./farmer.png\": \"7a7f\",\n\t\"./fibbin.png\": \"6eb1\",\n\t\"./fiddler.png\": \"64be\",\n\t\"./fisherman.png\": \"c5db\",\n\t\"./flowergirl.png\": \"66ae\",\n\t\"./fool.png\": \"4720\",\n\t\"./fortuneteller.png\": \"43e8\",\n\t\"./gambler.png\": \"dce6\",\n\t\"./gangster.png\": \"97c6\",\n\t\"./general.png\": \"ac9c\",\n\t\"./goblin.png\": \"5c8e\",\n\t\"./godfather.png\": \"99d0\",\n\t\"./good.png\": \"667e\",\n\t\"./goon.png\": \"55aa\",\n\t\"./gossip.png\": \"cadc\",\n\t\"./grandmother.png\": \"c9f5\",\n\t\"./gunslinger.png\": \"ee92\",\n\t\"./harlot.png\": \"559e\",\n\t\"./hellslibrarian.png\": \"a367\",\n\t\"./heretic.png\": \"5626\",\n\t\"./huntsman.png\": \"1923\",\n\t\"./imp.png\": \"3e70\",\n\t\"./innkeeper.png\": \"663c\",\n\t\"./investigator.png\": \"b570\",\n\t\"./judge.png\": \"f09b\",\n\t\"./juggler.png\": \"65ab\",\n\t\"./king.png\": \"9639\",\n\t\"./klutz.png\": \"adfc\",\n\t\"./legion.png\": \"da81\",\n\t\"./leviathan.png\": \"2b04\",\n\t\"./librarian.png\": \"4d73\",\n\t\"./lilmonsta.png\": \"c492\",\n\t\"./lleech.png\": \"9f74\",\n\t\"./lunatic.png\": \"0b61\",\n\t\"./lycanthrope.png\": \"c316\",\n\t\"./magician.png\": \"ab3c\",\n\t\"./marionette.png\": \"e69f\",\n\t\"./mastermind.png\": \"f834\",\n\t\"./mathematician.png\": \"8888\",\n\t\"./matron.png\": \"b1cb\",\n\t\"./mayor.png\": \"b223\",\n\t\"./mephit.png\": \"df5e\",\n\t\"./mezepheles.png\": \"c7b7\",\n\t\"./minion.png\": \"75bc\",\n\t\"./minstrel.png\": \"4efd\",\n\t\"./monk.png\": \"6741\",\n\t\"./moonchild.png\": \"3f65\",\n\t\"./mutant.png\": \"17ad\",\n\t\"./nodashii.png\": \"68a4\",\n\t\"./oracle.png\": \"0c12\",\n\t\"./outsider.png\": \"2490\",\n\t\"./pacifist.png\": \"fff1\",\n\t\"./philosopher.png\": \"3603\",\n\t\"./pithag.png\": \"7f07\",\n\t\"./pixie.png\": \"a7b6\",\n\t\"./plus.png\": \"160b\",\n\t\"./po.png\": \"c73a\",\n\t\"./poisoner.png\": \"f282\",\n\t\"./politician.png\": \"07ab\",\n\t\"./poppygrower.png\": \"3273\",\n\t\"./preacher.png\": \"2094\",\n\t\"./professor.png\": \"b30c\",\n\t\"./pukka.png\": \"a6a2\",\n\t\"./ravenkeeper.png\": \"0c59\",\n\t\"./recluse.png\": \"177d\",\n\t\"./revolutionary.png\": \"aa2d\",\n\t\"./sage.png\": \"30b6\",\n\t\"./sailor.png\": \"223c\",\n\t\"./saint.png\": \"6936\",\n\t\"./savant.png\": \"d715\",\n\t\"./scapegoat.png\": \"327a\",\n\t\"./scarletwoman.png\": \"f322\",\n\t\"./seamstress.png\": \"ac7c\",\n\t\"./sentinel.png\": \"af68\",\n\t\"./shabaloth.png\": \"0b29\",\n\t\"./slayer.png\": \"d62b\",\n\t\"./snakecharmer.png\": \"4021\",\n\t\"./snitch.png\": \"b7e8\",\n\t\"./soldier.png\": \"4e76\",\n\t\"./spiritofivory.png\": \"0d06\",\n\t\"./spy.png\": \"ec1e\",\n\t\"./stormcatcher.png\": \"a4c2\",\n\t\"./sweetheart.png\": \"f1e5\",\n\t\"./tealady.png\": \"ba9b\",\n\t\"./thief.png\": \"9ce3\",\n\t\"./tinker.png\": \"9f7e\",\n\t\"./towncrier.png\": \"38a5\",\n\t\"./toymaker.png\": \"39eb\",\n\t\"./undertaker.png\": \"0e20\",\n\t\"./vigormortis.png\": \"f4bd\",\n\t\"./virgin.png\": \"eff4\",\n\t\"./vortox.png\": \"3a43\",\n\t\"./voudon.png\": \"a710\",\n\t\"./washerwoman.png\": \"013f\",\n\t\"./widow.png\": \"22c9\",\n\t\"./witch.png\": \"f558\",\n\t\"./x.png\": \"5cf2\",\n\t\"./zombuul.png\": \"20ca\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"61b0\";","module.exports = __webpack_public_path__ + \"img/fiddler.d1730aaa.png\";","module.exports = __webpack_public_path__ + \"img/butler.f4fd1640.png\";","module.exports = __webpack_public_path__ + \"img/doomsayer.7ddbe262.png\";","module.exports = __webpack_public_path__ + \"img/juggler.819f88b8.png\";","module.exports = __webpack_public_path__ + \"img/balloonist.c35c6644.png\";","module.exports = __webpack_public_path__ + \"img/innkeeper.da072f0d.png\";","module.exports = __webpack_public_path__ + \"img/good.daf3b560.png\";","module.exports = __webpack_public_path__ + \"img/flowergirl.6196eef9.png\";","module.exports = __webpack_public_path__ + \"img/monk.ff81aec2.png\";","module.exports = __webpack_public_path__ + \"img/nodashii.5220cac3.png\";","module.exports = __webpack_public_path__ + \"img/saint.b7a15b85.png\";","module.exports = __webpack_public_path__ + \"img/fanggu.8fbd2e39.png\";","module.exports = __webpack_public_path__ + \"img/fibbin.9f01eb47.png\";","module.exports = __webpack_public_path__ + \"img/dreamer.fe5645e1.png\";","module.exports = __webpack_public_path__ + \"img/damsel.040c275d.png\";","module.exports = __webpack_public_path__ + \"img/tb-outsider.9ae6ef1b.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReminderModal.vue?vue&type=style&index=0&id=334686bc&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/bmr.1d06ca78.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/minion.e02a5c96.png\";","module.exports = __webpack_public_path__ + \"img/farmer.1534709d.png\";","module.exports = __webpack_public_path__ + \"img/pithag.9bdfc5a3.png\";","module.exports = __webpack_public_path__ + \"img/bishop.1f25f092.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/acrobat.be49ceac.png\";","module.exports = __webpack_public_path__ + \"img/mathematician.cc67c625.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RolesModal.vue?vue&type=style&index=0&id=365502ca&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/bountyhunter.b208dc71.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Vote.vue?vue&type=style&index=0&id=56f82741&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoteHistoryModal.vue?vue&type=style&index=0&id=482a37a8&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/deusexfiasco.96e5d2eb.png\";","module.exports = __webpack_public_path__ + \"img/assassin.ae0f2fba.png\";","module.exports = __webpack_public_path__ + \"img/luf.8e16a6e6.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GameStateModal.vue?vue&type=style&index=0&id=c5d58668&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/king.3f722bb8.png\";","module.exports = __webpack_public_path__ + \"img/gangster.72167674.png\";","module.exports = __webpack_public_path__ + \"img/godfather.d64b901e.png\";","module.exports = __webpack_public_path__ + \"img/thief.04afd5e0.png\";","module.exports = __webpack_public_path__ + \"img/lleech.da66feee.png\";","module.exports = __webpack_public_path__ + \"img/tinker.ce44bde6.png\";","module.exports = __webpack_public_path__ + \"img/hellslibrarian.3df1d423.png\";","module.exports = __webpack_public_path__ + \"img/tb-demon.0ac8cce6.png\";","module.exports = __webpack_public_path__ + \"img/stormcatcher.3f5110c6.png\";","module.exports = __webpack_public_path__ + \"img/pukka.1b1700de.png\";","module.exports = __webpack_public_path__ + \"img/voudon.4c0eb80c.png\";","module.exports = __webpack_public_path__ + \"img/pixie.2db5f1a2.png\";","module.exports = __webpack_public_path__ + \"img/revolutionary.68827d94.png\";","module.exports = __webpack_public_path__ + \"img/boomdandy.009c74b1.png\";","module.exports = __webpack_public_path__ + \"img/magician.f076c292.png\";","module.exports = __webpack_public_path__ + \"img/seamstress.209ed80b.png\";","module.exports = __webpack_public_path__ + \"img/general.2fc65230.png\";","module.exports = __webpack_public_path__ + \"img/klutz.99df79cb.png\";","module.exports = __webpack_public_path__ + \"img/sentinel.93d312eb.png\";","module.exports = __webpack_public_path__ + \"img/matron.6e1551e5.png\";","module.exports = __webpack_public_path__ + \"img/mayor.da8876ae.png\";","module.exports = __webpack_public_path__ + \"img/professor.48f01bcb.png\";","module.exports = __webpack_public_path__ + \"img/investigator.a817cc04.png\";","module.exports = __webpack_public_path__ + \"img/snitch.0f51b730.png\";","module.exports = __webpack_public_path__ + \"img/tealady.5fc21e59.png\";","module.exports = __webpack_public_path__ + \"img/empath.b772c7ff.png\";","module.exports = __webpack_public_path__ + \"img/angel.cae6c8fc.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Intro.vue?vue&type=style&index=0&id=0ae0fea6&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/evil.8723a4ee.png\";","module.exports = __webpack_public_path__ + \"img/lycanthrope.48660758.png\";","module.exports = __webpack_public_path__ + \"img/lilmonsta.4814ed76.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TownInfo.vue?vue&type=style&index=0&id=e858a1da&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/fisherman.0511031e.png\";","module.exports = __webpack_public_path__ + \"img/po.015a8956.png\";","module.exports = __webpack_public_path__ + \"img/mezepheles.b1f4ea9e.png\";","module.exports = __webpack_public_path__ + \"img/grandmother.18ee536e.png\";","module.exports = __webpack_public_path__ + \"img/gossip.5165a7ee.png\";","module.exports = __webpack_public_path__ + \"img/bmr-demon.75dfa056.png\";","module.exports = __webpack_public_path__ + \"img/devilsadvocate.18bb00ce.png\";","var map = {\n\t\"./bmr-demon.png\": \"cae1\",\n\t\"./bmr-minion.png\": \"28bf\",\n\t\"./bmr-outsider.png\": \"e898\",\n\t\"./bmr-townsfolk.png\": \"e988\",\n\t\"./bmr.png\": \"7496\",\n\t\"./custom.png\": \"441d\",\n\t\"./luf.png\": \"92d8\",\n\t\"./snv-demon.png\": \"f347\",\n\t\"./snv-minion.png\": \"451a\",\n\t\"./snv-outsider.png\": \"4dd9\",\n\t\"./snv-townsfolk.png\": \"ed00\",\n\t\"./snv.png\": \"2fd0\",\n\t\"./tb-demon.png\": \"a3b0\",\n\t\"./tb-minion.png\": \"5f4e\",\n\t\"./tb-outsider.png\": \"73a1\",\n\t\"./tb-townsfolk.png\": \"f7a3\",\n\t\"./tb.png\": \"0aaa\"\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 = \"ce23\";","module.exports = __webpack_public_path__ + \"img/beggar.90311684.png\";","module.exports = __webpack_public_path__ + \"img/slayer.4cde6d70.png\";","module.exports = __webpack_public_path__ + \"img/choirboy.9d62c6b3.png\";","module.exports = __webpack_public_path__ + \"img/savant.0fe828cf.png\";","module.exports = __webpack_public_path__ + \"img/drunk.947841e5.png\";","module.exports = __webpack_public_path__ + \"img/legion.a5ecb237.png\";","module.exports = __webpack_public_path__ + \"img/gambler.7e6e9736.png\";","module.exports = __webpack_public_path__ + \"img/mephit.b1f4ea9e.png\";","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","module.exports = __webpack_public_path__ + \"img/eviltwin.10ab31a8.png\";","module.exports = __webpack_public_path__ + \"img/djinn.e1c507e5.png\";","module.exports = __webpack_public_path__ + \"img/marionette.8aceb38b.png\";","module.exports = __webpack_public_path__ + \"img/bmr-outsider.971a3d5d.png\";","module.exports = __webpack_public_path__ + \"img/bmr-townsfolk.9bf859b4.png\";","module.exports = __webpack_public_path__ + \"img/spy.d411c998.png\";","module.exports = __webpack_public_path__ + \"img/snv-townsfolk.83cf9a72.png\";","module.exports = __webpack_public_path__ + \"img/courtier.7060de3f.png\";","module.exports = __webpack_public_path__ + \"img/gunslinger.1360a66d.png\";","module.exports = __webpack_public_path__ + \"img/virgin.a4b2d7a4.png\";","module.exports = __webpack_public_path__ + \"img/judge.b1034c71.png\";","module.exports = __webpack_public_path__ + \"img/sweetheart.29949c36.png\";","module.exports = __webpack_public_path__ + \"img/poisoner.61c83e0f.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditionModal.vue?vue&type=style&index=0&id=9926f1f4&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/scarletwoman.5377675d.png\";","module.exports = __webpack_public_path__ + \"img/snv-demon.2fe55248.png\";","module.exports = __webpack_public_path__ + \"img/vigormortis.981de17e.png\";","module.exports = __webpack_public_path__ + \"img/witch.f75f1601.png\";","module.exports = __webpack_public_path__ + \"media/countdown.1462f20c.mp3\";","module.exports = __webpack_public_path__ + \"img/tb-townsfolk.550a119b.png\";","module.exports = __webpack_public_path__ + \"img/mastermind.91ffd4fd.png\";","module.exports = __webpack_public_path__ + \"img/clockmaker.5378c03d.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NightOrderModal.vue?vue&type=style&index=0&id=980a7608&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/barber.6c91c1f5.png\";","module.exports = __webpack_public_path__ + \"img/custom.402e9bc3.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FabledModal.vue?vue&type=style&index=0&id=d6b399a0&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/pacifist.0637fdf0.png\";"],"sourceRoot":""} \ No newline at end of file diff --git a/js/app.5c3a0a44.js b/js/app.8dd7b5b7.js similarity index 56% rename from js/app.5c3a0a44.js rename to js/app.8dd7b5b7.js index bb523c0..90f7ae8 100644 --- a/js/app.5c3a0a44.js +++ b/js/app.8dd7b5b7.js @@ -1,2 +1,2 @@ -(function(e){function t(t){for(var o,n,r=t[0],l=t[1],h=t[2],d=0,m=[];d