diff --git a/README.md b/README.md index 3c8c63f..a4bf9a0 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ definition file might be written: "otherNight": 49, "otherNightReminder": "If either good living neighbor is drunk or poisoned, the Acrobat dies.", "reminders": ["Die"], + "remindersGlobal": [], "setup": false, "name": "Acrobat", "team": "outsider", @@ -59,6 +60,7 @@ For base game characters, it is sufficient to only provide the ID, similar to wh other characters - **firstNightReminder** / **otherNightReminder**: reminder text for first / other nights - **reminders**: reminder tokens, should be an empty array `[]` if none +- **remindersGlobal**: global reminder tokens that will always be available, no matter if the character is assigned to a player or not - **setup**: whether this token affects setup (orange leaf), like the Drunk or Baron - **name**: the displayed name of this character - **team**: the team of the character, has to be one of `townsfolk`, `outsider`, `minion`, `demon` or `traveler` diff --git a/package.json b/package.json index 245a3fb..2351a32 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "townsquare", - "version": "1.3.2", + "version": "1.4.0", "description": "Blood on the Clocktower Town Square", "author": "Steffen Baumgart", "scripts": { diff --git a/src/components/modals/EditionModal.vue b/src/components/modals/EditionModal.vue index adca090..779b7ae 100644 --- a/src/components/modals/EditionModal.vue +++ b/src/components/modals/EditionModal.vue @@ -83,6 +83,10 @@ export default { editions: editionJSON, isCustom: false, scripts: [ + [ + "Deadly Penance Day", + "https://gist.githubusercontent.com/bra1n/0337cc44c6fd2c44f7589256ed5486d2/raw/4a7a1545004620146f47583cde4b05f77dd9b6d2/penanceday.json" + ], [ "Catfishing 8.0 (+Sentinel)", "https://gist.githubusercontent.com/bra1n/8a5ec41a7bbf945f6b7dfc1cef72b569/raw/a9451def4bb7b3c424426e9524ee94f3ac65dbf4/catfishing.json" diff --git a/src/components/modals/ReminderModal.vue b/src/components/modals/ReminderModal.vue index 147a658..60607da 100644 --- a/src/components/modals/ReminderModal.vue +++ b/src/components/modals/ReminderModal.vue @@ -48,6 +48,16 @@ export default { })) ]; } + if (role.remindersGlobal && role.remindersGlobal.length) { + reminders = [ + ...reminders, + ...role.remindersGlobal.map(name => ({ + role: role.id, + image: role.image, + name + })) + ]; + } }); reminders.push({ role: "good", name: "Good" }); reminders.push({ role: "evil", name: "Evil" }); diff --git a/src/roles.json b/src/roles.json index 6734bf0..32c86d9 100644 --- a/src/roles.json +++ b/src/roles.json @@ -211,7 +211,8 @@ "firstNightReminder": "", "otherNight": 0, "otherNightReminder": "", - "reminders": [ + "reminders": [], + "remindersGlobal": [ "Drunk" ], "setup": true, @@ -1461,7 +1462,8 @@ "firstNightReminder": "Wake all Minions. The Minions point to a player that receives the Lil' Monsta token and becomes the Demon.", "otherNight": 17, "otherNightReminder": "Wake all Minions. The Minions point to a player that receives the Lil' Monsta token and becomes the Demon. Choose a player that dies.", - "reminders": ["Die", "The Demon"], + "reminders": [], + "remindersGlobal": ["Die", "The Demon"], "setup": true, "name": "Lil' Monsta", "team": "demon", diff --git a/src/store/index.js b/src/store/index.js index 3b836ca..5130d87 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -115,6 +115,7 @@ export default new Vuex.Store({ otherNight: 0, otherNightReminder: "", reminders: [], + remindersGlobal: [], setup: false }; state.roles = new Map(