diff --git a/package.json b/package.json
index ec34f8e..815fe83 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "townsquare",
- "version": "1.0.0",
+ "version": "1.1.0",
"description": "Blood on the Clocktower Town Square",
"author": "Steffen Baumgart",
"scripts": {
diff --git a/src/components/modals/ReferenceModal.vue b/src/components/modals/ReferenceModal.vue
index a252592..cb3c5bd 100644
--- a/src/components/modals/ReferenceModal.vue
+++ b/src/components/modals/ReferenceModal.vue
@@ -5,38 +5,111 @@
@close="toggleModal('reference')"
v-if="roles.size"
>
-
{{ editionName }} Character Reference
-
- -
- Name
- Icon
- Ability
-
- Player
-
-
-
-
-
{{ team }}
-
- -
- {{ role.name }}
-
- {{ role.ability }}
- {{
- playersByRole[role.id] ? playersByRole[role.id].join(", ") : ""
- }}
+
+
+
+ Character Reference
+
+ {{ editionName }}
+
+
+ -
+ Name
+ Icon
+ Ability
+
+ Player
+
-
+
+
{{ team }}
+
+ -
+ {{ role.name }}
+
+ {{ role.ability }}
+ {{
+ playersByRole[role.id] ? playersByRole[role.id].join(", ") : ""
+ }}
+
+
+
+
+
+
+
+ Night Order
+
+ {{ editionName }}
+
+
+
+ - First Night
+ -
+
+ {{ role.name }}
+
+
+
+
+
+ - Other Nights
+ -
+
+
+ {{ role.name }}
+
+
+
+
+
@@ -51,13 +124,14 @@ export default {
},
data: function() {
return {
- roleSelection: {}
+ roleSelection: {},
+ isNightOrder: false
};
},
computed: {
editionName: function() {
const edition = editionJSON.find(({ id }) => id === this.edition);
- return edition ? edition.name : "Custom script";
+ return edition ? edition.name : "Custom Script";
},
rolesGrouped: function() {
const rolesGrouped = {};
@@ -82,6 +156,26 @@ export default {
});
return players;
},
+ rolesFirstNight: function() {
+ const rolesFirstNight = [];
+ this.roles.forEach(role => {
+ if (role.firstNight) {
+ rolesFirstNight.push(role);
+ }
+ });
+ rolesFirstNight.sort((a, b) => a.firstNight - b.firstNight);
+ return rolesFirstNight;
+ },
+ rolesOtherNight: function() {
+ const rolesOtherNight = [];
+ this.roles.forEach(role => {
+ if (role.otherNight) {
+ rolesOtherNight.push(role);
+ }
+ });
+ rolesOtherNight.sort((a, b) => a.otherNight - b.otherNight);
+ return rolesOtherNight;
+ },
...mapState(["roles", "modals", "edition"]),
...mapState("players", ["players"])
},
@@ -94,6 +188,20 @@ export default {
diff --git a/src/main.js b/src/main.js
index 866dc81..8549216 100644
--- a/src/main.js
+++ b/src/main.js
@@ -7,11 +7,13 @@ import { fab } from "@fortawesome/free-brands-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
const faIcons = [
+ "AddressCard",
"BookOpen",
"BroadcastTower",
"Camera",
"Chair",
"CheckSquare",
+ "CloudMoon",
"Cog",
"Copy",
"Dice",
diff --git a/src/roles.json b/src/roles.json
index fc95784..f969bbc 100644
--- a/src/roles.json
+++ b/src/roles.json
@@ -1297,9 +1297,9 @@
{
"id": "amnesiac",
"edition": "",
- "firstNight": 20,
+ "firstNight": 21,
"firstNightReminder": "Decide the Amnesiac's entire ability. If the Amnesiac's ability causes them to wake tonight: Wake the Amnesiac and run their ability.",
- "otherNight": 20,
+ "otherNight": 30,
"otherNightReminder": "If the Amnesiac's ability causes them to wake tonight: Wake the Amnesiac and run their ability.",
"reminders": [],
"setup": false,
diff --git a/src/store/modules/players.js b/src/store/modules/players.js
index 9aab57f..491b40b 100644
--- a/src/store/modules/players.js
+++ b/src/store/modules/players.js
@@ -25,7 +25,8 @@ const getters = {
nightOrder({ players }) {
const firstNight = [0];
const otherNight = [0];
- players.forEach(({ role }) => {
+ players.forEach(({ role, isDead }) => {
+ if (isDead) return;
if (role.firstNight && !firstNight.includes(role.firstNight)) {
firstNight.push(role.firstNight);
}