mirror of
https://github.com/bra1n/townsquare.git
synced 2025-04-04 22:24:36 +00:00
Merge 'upstream/main' 2.16.3
This commit is contained in:
commit
cb1e85931f
8 changed files with 3984 additions and 18504 deletions
|
@ -9,6 +9,8 @@ module.exports = {
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
|
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
|
||||||
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off"
|
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
|
||||||
|
"vue/multi-word-component-names": "off",
|
||||||
|
"vue/no-reserved-component-names": "off",
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
2
.github/workflows/deploy.yml
vendored
2
.github/workflows/deploy.yml
vendored
|
@ -11,7 +11,7 @@ jobs:
|
||||||
- name: Setup node version
|
- name: Setup node version
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: '16'
|
node-version: '18'
|
||||||
- name: Checkout 🛎️
|
- name: Checkout 🛎️
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install and Build 🔧
|
- name: Install and Build 🔧
|
||||||
|
|
10
CHANGELOG.md
10
CHANGELOG.md
|
@ -1,7 +1,15 @@
|
||||||
# Release Notes
|
# Release Notes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Upcomming Version
|
## Upcomming Version
|
||||||
|
|
||||||
|
### Version 3.16.0 (merged upstream 2.16.2)
|
||||||
|
- fixed custom script format to support new script tool JSON
|
||||||
|
- updated packages to be compatible with Node >= 18 again
|
||||||
|
|
||||||
### Version 3.15.0
|
### Version 3.15.0
|
||||||
- Night order bubbles always on for storyteller
|
- Night order bubbles always on for storyteller
|
||||||
- Optional night order bubbles for players
|
- Optional night order bubbles for players
|
||||||
|
@ -158,7 +166,7 @@ Add localization capabilities and french translation
|
||||||
---
|
---
|
||||||
|
|
||||||
### Version 2.16.1
|
### Version 2.16.1
|
||||||
Updated character night order to be consistent with script tool
|
- Updated character night order to be consistent with script tool
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
22420
package-lock.json
generated
22420
package-lock.json
generated
File diff suppressed because it is too large
Load diff
18
package.json
18
package.json
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "townsquare",
|
"name": "townsquare",
|
||||||
"version": "3.15.0",
|
"version": "3.16.0",
|
||||||
"description": "Blood on the Clocktower Town Square",
|
"description": "Blood on the Clocktower Town Square",
|
||||||
"author": "Pingumaskt",
|
"author": "Pingumaskt",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -15,22 +15,22 @@
|
||||||
"@fortawesome/free-brands-svg-icons": "^5.15.1",
|
"@fortawesome/free-brands-svg-icons": "^5.15.1",
|
||||||
"@fortawesome/free-solid-svg-icons": "^5.15.1",
|
"@fortawesome/free-solid-svg-icons": "^5.15.1",
|
||||||
"@fortawesome/vue-fontawesome": "^0.1.10",
|
"@fortawesome/vue-fontawesome": "^0.1.10",
|
||||||
"@vue/cli-service": "^4.5.9",
|
"@vue/cli-service": "^5.0.8",
|
||||||
"prom-client": "^13.0.0",
|
"prom-client": "^13.0.0",
|
||||||
"sass": "^1.30.0",
|
"sass": "^1.30.0",
|
||||||
"sass-loader": "^8.0.2",
|
"sass-loader": "^8.0.2",
|
||||||
"vue": "^2.6.12",
|
"vue": "^2.6.12",
|
||||||
"vue-template-compiler": "^2.6.12",
|
"vue-template-compiler": "^2.7.15",
|
||||||
"vuex": "^3.6.0",
|
"vuex": "^3.6.0",
|
||||||
"ws": "^7.4.6"
|
"ws": "^7.4.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-eslint": "^4.5.9",
|
"@vue/cli-plugin-eslint": "^5.0.8",
|
||||||
"@vue/eslint-config-prettier": "^6.0.0",
|
"@vue/eslint-config-prettier": "^8.0.0",
|
||||||
"eslint": "^6.7.2",
|
"eslint": "^8.53.0",
|
||||||
"eslint-plugin-prettier": "^3.2.0",
|
"eslint-plugin-prettier": "^5.0.1",
|
||||||
"eslint-plugin-vue": "^6.2.2",
|
"eslint-plugin-vue": "^9.18.1",
|
||||||
"prettier": "^1.19.1"
|
"prettier": "^3.0.3"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"botc",
|
"botc",
|
||||||
|
|
|
@ -428,6 +428,7 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
@use "sass:math";
|
||||||
@import "../vars.scss";
|
@import "../vars.scss";
|
||||||
|
|
||||||
#townsquare {
|
#townsquare {
|
||||||
|
@ -473,14 +474,14 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
@mixin on-circle($item-count) {
|
@mixin on-circle($item-count) {
|
||||||
$angle: (360 / $item-count);
|
$angle: math.div(360, $item-count);
|
||||||
$rot: 0;
|
$rot: 0;
|
||||||
|
|
||||||
// rotation and tooltip placement
|
// rotation and tooltip placement
|
||||||
@for $i from 1 through $item-count {
|
@for $i from 1 through $item-count {
|
||||||
&:nth-child(#{$i}) {
|
&:nth-child(#{$i}) {
|
||||||
transform: rotate($rot * 1deg);
|
transform: rotate($rot * 1deg);
|
||||||
@if $i - 1 <= $item-count / 2 {
|
@if $i - 1 <= math.div($item-count, 2) {
|
||||||
// first half of players
|
// first half of players
|
||||||
z-index: $item-count - $i + 1;
|
z-index: $item-count - $i + 1;
|
||||||
// open menu on the left
|
// open menu on the left
|
||||||
|
@ -544,15 +545,15 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
// move reminders closer to the sides of the circle
|
// move reminders closer to the sides of the circle
|
||||||
$q: $item-count / 4;
|
$q: math.div($item-count, 4);
|
||||||
$x: $i - 1;
|
$x: $i - 1;
|
||||||
@if $x < $q or ($x >= $item-count / 2 and $x < $q * 3) {
|
@if $x < $q or ($x >= math.div($item-count, 2) and $x < $q * 3) {
|
||||||
.player {
|
.player {
|
||||||
margin-bottom: -10% + 20% * (1 - ($x % $q / $q));
|
margin-bottom: -10% + 20% * (1 - math.div($x % $q, $q));
|
||||||
}
|
}
|
||||||
} @else {
|
} @else {
|
||||||
.player {
|
.player {
|
||||||
margin-bottom: -10% + 20% * ($x % $q / $q);
|
margin-bottom: -10% + 20% * math.div($x % $q, $q);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -178,6 +178,7 @@ export default {
|
||||||
},
|
},
|
||||||
parseRoles(roles) {
|
parseRoles(roles) {
|
||||||
if (!roles || !roles.length) return;
|
if (!roles || !roles.length) return;
|
||||||
|
roles = roles.map(role => typeof role === "string" ? { id: role } : role);
|
||||||
const metaIndex = roles.findIndex(({ id }) => id === "_meta");
|
const metaIndex = roles.findIndex(({ id }) => id === "_meta");
|
||||||
let meta = {};
|
let meta = {};
|
||||||
if (metaIndex > -1) {
|
if (metaIndex > -1) {
|
||||||
|
@ -189,11 +190,11 @@ export default {
|
||||||
Object.assign({}, meta, { id: "custom" })
|
Object.assign({}, meta, { id: "custom" })
|
||||||
);
|
);
|
||||||
// check for fabled and set those too, if present
|
// check for fabled and set those too, if present
|
||||||
if (roles.some(({ id }) => this.$store.state.fabled.has(id))) {
|
if (roles.some((role) => this.$store.state.fabled.has(role.id || role))) {
|
||||||
const fabled = [];
|
const fabled = [];
|
||||||
roles.forEach(({ id }) => {
|
roles.forEach((role) => {
|
||||||
if (this.$store.state.fabled.has(id)) {
|
if (this.$store.state.fabled.has(role.id || role)) {
|
||||||
fabled.push(this.$store.state.fabled.get(id));
|
fabled.push(this.$store.state.fabled.get(role.id || role));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.$store.commit("players/setFabled", { fabled });
|
this.$store.commit("players/setFabled", { fabled });
|
||||||
|
|
|
@ -132,15 +132,5 @@
|
||||||
"name": "Storm Catcher",
|
"name": "Storm Catcher",
|
||||||
"team": "fabled",
|
"team": "fabled",
|
||||||
"ability": "Name a good character. If in play, they can only die by execution, but evil players learn which player it is."
|
"ability": "Name a good character. If in play, they can only die by execution, but evil players learn which player it is."
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "deusexfiasco",
|
|
||||||
"firstNightReminder": "",
|
|
||||||
"otherNightReminder": "",
|
|
||||||
"reminders": ["Whoops"],
|
|
||||||
"setup": false,
|
|
||||||
"name": "Deus ex Fiasco",
|
|
||||||
"team": "fabled",
|
|
||||||
"ability": "Once per game, the Storyteller will make a \"mistake\", correct it and publicly admit to it."
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
Loading…
Add table
Reference in a new issue