\n \n\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://script.bloodontheclocktower.com/\",\"target\":\"_blank\"}},[_vm._v(\"Script Tool\")]),_vm._v(\" and then upload the generated \\\"custom-list.json\\\" either directly here or provide a URL to such a hosted JSON file.\"),_c('br'),_c('br'),_vm._v(\" To play with custom characters, please read \"),_c('a',{attrs:{\"href\":\"https://github.com/bra1n/townsquare#custom-characters\",\"target\":\"_blank\"}},[_vm._v(\"the documentation\")]),_vm._v(\" on how to write a custom character definition file. \"),_c('b',[_vm._v(\"Only load custom JSON files from sources that you trust!\")]),_c('h3',[_vm._v(\"Some popular custom scripts:\")]),_c('ul',{staticClass:\"scripts\"},_vm._l((_vm.scripts),function(script,index){return _c('li',{key:index,on:{\"click\":function($event){return _vm.handleURL(script[1])}}},[_vm._v(\" \"+_vm._s(script[0])+\" \")])}),0),_c('input',{ref:\"upload\",attrs:{\"type\":\"file\",\"accept\":\"application/json\"},on:{\"change\":_vm.handleUpload}}),_c('div',{staticClass:\"button-group\"},[_c('div',{staticClass:\"button\",on:{\"click\":_vm.openUpload}},[_c('font-awesome-icon',{attrs:{\"icon\":\"file-upload\"}}),_vm._v(\" Upload JSON \")],1),_c('div',{staticClass:\"button\",on:{\"click\":_vm.promptURL}},[_c('font-awesome-icon',{attrs:{\"icon\":\"link\"}}),_vm._v(\" Enter URL \")],1),_c('div',{staticClass:\"button\",on:{\"click\":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
Select an edition:
\n
\n
\n {{ edition.name }}\n
\n
\n Custom Script / Characters\n
\n
\n
\n
\n
Load custom script / characters
\n To play with a custom script, you need to select the characters you want\n to play with in the official\n Script Tool\n and then upload the generated \"custom-list.json\" either directly here or\n provide a URL to such a hosted JSON file. \n \n To play with custom characters, please read\n the documentation\n on how to write a custom character definition file.\n Only load custom JSON files from sources that you trust!\n
Some popular custom scripts:
\n
\n
\n {{ script[0] }}\n
\n
\n \n
\n
\n Upload JSON\n
\n
\n Enter URL\n
\n
\n Back\n
\n
\n
\n \n\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=7c2292c2&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=7c2292c2&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 \"7c2292c2\",\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',{staticClass:\"logo\",attrs:{\"src\":\"static/apple-icon.png\",\"alt\":\"\"}}),_c('div',[_vm._v(\" Welcome to the (unofficial) \"),_c('b',[_vm._v(\"Virtual Town Square and Grimoire\")]),_vm._v(\" for Blood on the Clocktower! Please add more players through the \"),_c('span',{staticClass:\"button\",on:{\"click\":_vm.toggleMenu}},[_c('font-awesome-icon',{attrs:{\"icon\":\"cog\"}}),_vm._v(\" Menu \")],1),_vm._v(\" on the top right or by pressing \"),_c('b',[_vm._v(\"[A]\")]),_vm._v(\". You can also join a game session by pressing \"),_c('b',[_vm._v(\"[J]\")]),_vm._v(\".\"),_c('br'),_vm._m(0)]),(_vm.language === 'zh-CN')?_c('a',{staticClass:\"redirect\",attrs:{\"href\":\"https://clocktower.gstonegames.com\"}},[_c('img',{staticClass:\"gstone\",attrs:{\"src\":require(\"../assets/gstone.png\"),\"alt\":\"\"}}),_vm._v(\" 你想使用中文版魔典吗? \")]):_vm._e()])}\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 Welcome to the (unofficial)\n Virtual Town Square and Grimoire for Blood on the Clocktower!\n Please add more players through the\n \n Menu\n \n on the top right or by pressing [A]. You can also join a game\n session by pressing [J]. \n \n