diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9cd3ec8..5afd997 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# Release Notes
+## Version 2.6.0
+- night mode can be toggeled with [S] now (thanks @davotronic5000)
+- night order shows which players are dead
+
+---
+
## Version 2.5.0
- all travelers from the base editions are now optionally available (thanks @davotronic5000)
- night order shows player names near roles now
diff --git a/package-lock.json b/package-lock.json
index 248249e..55e9914 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "townsquare",
- "version": "2.5.0",
+ "version": "2.6.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/package.json b/package.json
index f019b82..4b379d7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "townsquare",
- "version": "2.5.0",
+ "version": "2.6.0",
"description": "Blood on the Clocktower Town Square",
"author": "Steffen Baumgart",
"scripts": {
diff --git a/src/App.vue b/src/App.vue
index 63c5772..4c8a836 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -107,6 +107,10 @@ export default {
this.$store.commit("toggleModal", "voteHistory");
}
break;
+ case "s":
+ if (this.session.isSpectator) return;
+ this.$store.commit("toggleNight");
+ break;
case "escape":
this.$store.commit("toggleModal");
}
diff --git a/src/components/Menu.vue b/src/components/Menu.vue
index 3e02702..79715a5 100644
--- a/src/components/Menu.vue
+++ b/src/components/Menu.vue
@@ -43,10 +43,7 @@
Switch to Night
Switch to Day
-
+ [S]
Night order
diff --git a/src/components/modals/NightOrderModal.vue b/src/components/modals/NightOrderModal.vue
index f74a673..a572cfa 100644
--- a/src/components/modals/NightOrderModal.vue
+++ b/src/components/modals/NightOrderModal.vue
@@ -24,13 +24,18 @@
:class="[role.team]"
>
- {{ role.name }}
- {{
- players
- .filter(p => p.role.id === role.id)
- .map(p => p.name)
- .join(", ")
- }}
+ {{ role.name }}
+
+
+ {{
+ player.name + (role.players.length > index + 1 ? "," : "")
+ }}
+
- {{ role.name }}
- {{
- players
- .filter(p => p.role.id === role.id)
- .map(p => p.name)
- .join(", ")
- }}
+ {{ role.name }}
+
+
+ {{
+ player.name + (role.players.length > index + 1 ? "," : "")
+ }}
+
@@ -80,11 +90,6 @@ export default {
components: {
Modal
},
- data: function() {
- return {
- roleSelection: {}
- };
- },
computed: {
rolesFirstNight: function() {
const rolesFirstNight = [];
@@ -95,23 +100,22 @@ export default {
id: "evil",
name: "Minion info",
firstNight: 2,
- team: "minion"
+ team: "minion",
+ players: this.players.filter(p => p.role.team === "minion")
},
{
id: "evil",
name: "Demon info & bluffs",
firstNight: 4,
- team: "demon"
+ team: "demon",
+ players: this.players.filter(p => p.role.team === "demon")
}
);
}
this.roles.forEach(role => {
- if (
- role.firstNight &&
- (role.team !== "traveler" ||
- this.players.some(p => p.role.id === role.id))
- ) {
- rolesFirstNight.push(role);
+ const players = this.players.filter(p => p.role.id === role.id);
+ if (role.firstNight && (role.team !== "traveler" || players.length)) {
+ rolesFirstNight.push(Object.assign({ players }, role));
}
});
this.fabled
@@ -125,12 +129,9 @@ export default {
rolesOtherNight: function() {
const rolesOtherNight = [];
this.roles.forEach(role => {
- if (
- role.otherNight &&
- (role.team !== "traveler" ||
- this.players.some(p => p.role.id === role.id))
- ) {
- rolesOtherNight.push(role);
+ const players = this.players.filter(p => p.role.id === role.id);
+ if (role.otherNight && (role.team !== "traveler" || players.length)) {
+ rolesOtherNight.push(Object.assign({ players }, role));
}
});
this.fabled
@@ -260,6 +261,10 @@ ul {
border-right: 1px solid rgba(255, 255, 255, 0.4);
small {
color: #888;
+ margin-right: 5px;
+ &.dead {
+ text-decoration: line-through;
+ }
}
}
}
diff --git a/src/components/modals/ReferenceModal.vue b/src/components/modals/ReferenceModal.vue
index 29163a6..eb51185 100644
--- a/src/components/modals/ReferenceModal.vue
+++ b/src/components/modals/ReferenceModal.vue
@@ -56,11 +56,6 @@ export default {
components: {
Modal
},
- data: function() {
- return {
- roleSelection: {}
- };
- },
computed: {
rolesGrouped: function() {
const rolesGrouped = {};
@@ -136,7 +131,6 @@ h4 {
.townsfolk {
.name,
- .player,
h4 {
color: $townsfolk;
&:before,
@@ -147,7 +141,6 @@ h4 {
}
.outsider {
.name,
- .player,
h4 {
color: $outsider;
&:before,
@@ -158,7 +151,6 @@ h4 {
}
.minion {
.name,
- .player,
h4 {
color: $minion;
&:before,
@@ -169,7 +161,6 @@ h4 {
}
.demon {
.name,
- .player,
h4 {
color: $demon;
&:before,
@@ -208,7 +199,6 @@ ul {
width: 15%;
font-weight: bold;
text-align: right;
- font-family: "Papyrus", sans-serif;
font-size: 110%;
}
.player {
@@ -216,6 +206,8 @@ ul {
flex-shrink: 1;
text-align: right;
margin: 0 10px;
+ color: #888;
+ font-size: smaller;
}
.ability {
flex-grow: 1;
@@ -230,6 +222,7 @@ ul {
height: auto;
font-family: inherit;
font-size: inherit;
+ color: #fff;
}
.icon:after {
padding-top: 0;
diff --git a/src/main.js b/src/main.js
index f728114..5ff34f2 100644
--- a/src/main.js
+++ b/src/main.js
@@ -34,7 +34,6 @@ const faIcons = [
"SearchMinus",
"SearchPlus",
"Square",
- "Sun",
"TheaterMasks",
"Times",
"TimesCircle",