From 89550bee326dc023c04afef3053bb028a55c82dd Mon Sep 17 00:00:00 2001 From: kaylie Date: Fri, 9 Jan 2026 23:41:31 -0600 Subject: [PATCH 1/3] braindump --- src/SUMMARY.md | 4 +++ src/design/masks/crew/matchmaker.md | 33 ++++++++++++++++++++ src/design/masks/traitor/syndie-superfan.md | 30 ++++++++++++++++++ src/design/masks/traitor/turncoat.md | 34 +++++++++++++++++++++ src/design/masquerades/gallows.md | 20 ++++++++++++ src/design/masquerades/valentines.md | 20 ++++++++++++ 6 files changed, 141 insertions(+) create mode 100644 src/design/masks/crew/matchmaker.md create mode 100644 src/design/masks/traitor/syndie-superfan.md create mode 100644 src/design/masks/traitor/turncoat.md create mode 100644 src/design/masquerades/gallows.md create mode 100644 src/design/masquerades/valentines.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index b9c7d62..ef171fd 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -67,6 +67,8 @@ - [Recruit](design/masks/traitor/recruit.md) - [Spy](design/masks/traitor/spy.md) - [Subverter](design/masks/traitor/subverter.md) + - [Turncoat](design/masks/traitor/turncoat.md) + - [Syndie Superfan](design/masks/traitor/syndie-superfan.md) - [Crew](design/masks/crew.md) - [Amnesiac](design/masks/crew/amnesiac.md) - [Angel](design/masks/crew/angel.md) @@ -88,6 +90,7 @@ - [Insider](design/masks/crew/insider.md) - [Loyalist](design/masks/crew/loyalist.md) - [Martyr](design/masks/crew/martyr.md) + - [Matchmaker](design/masks/crew/matchmaker.md) - [Mercenary](design/masks/crew/mercenary.md) - [Mind Reader](design/masks/crew/mind-reader.md) - [Parasite](design/masks/crew/parasite.md) @@ -108,6 +111,7 @@ - [Freakshow](design/masquerades/freakshow.md) - [Showdown](design/masquerades/showdown.md) - [Red Carpet](design/masquerades/red-carpet.md) + - [Valentines](design/masquerades/valentines.md) - [Station Events](design/station-events.md) - [Machine Degradation](design/machine-degradation.md) - [Wildcards](design/wildcards.md) diff --git a/src/design/masks/crew/matchmaker.md b/src/design/masks/crew/matchmaker.md new file mode 100644 index 0000000..aef7772 --- /dev/null +++ b/src/design/masks/crew/matchmaker.md @@ -0,0 +1,33 @@ +# Mask Name + +{{#template ../../../templates/unimplemented.md }} + +> **Name:** +> +> **Troupe:** (Add link) +> +> **Archetypes:** (If applicable, N/A otherwise) +> +> **Description:** (1-2 sentence description of what this mask thematically represents) +> +> **Objectives:** Use your ability. +> +> **Masquerade notes:** This role should not be featured in most masquerades. +> +> *I think I'm gonna ship you two. It's legally binding, congratulations on your new spouse!* + +## Concept +The matchmaker functions as an informed party for selecting Lovers, and Lovers are people who will thus either win together or die together depending on the whims of fate. + +## Abilities +The Matchmaker can, at any point within the first five minutes, pick two players to match together as lovers. +If they do not pick, lovers are selected randomly. + +Lovers have their win conditions tied together, and either lover winning results in both winning. For example, a crew and traitor could be lovers, and the crewmember can win with the traitors. + +Objectives are not shared, and if there's only one winner out of the two lovers, the would be loser has their objectives nullified so they can win. + +If either lover dies, the other lover immediately suicides, encouraging them to ensure one another's survival. + +## Gameplay +The matchmaker, after using their ability, is a normal crew mask and the only thing interesting about them is knowing who their selected lovers are. The lovers do not know who the matchmaker is, and the matchmaker's only real evidence of being matchmaker is knowing who the lovers are. \ No newline at end of file diff --git a/src/design/masks/traitor/syndie-superfan.md b/src/design/masks/traitor/syndie-superfan.md new file mode 100644 index 0000000..49997a9 --- /dev/null +++ b/src/design/masks/traitor/syndie-superfan.md @@ -0,0 +1,30 @@ +# Syndie Superfan + +{{#template ../../../templates/unimplemented.md }} + +> **Name:** Syndie Superfan +> +> **Troupe:** [Traitor](../traitors.md)/[Crew](../crew.md) +> +> **Description:** Win with the crew, unless they wipe out the traitors, in which case you convert on the spot. +> +> **Objectives:** The objectives of their current troupe. +> +> **Masquerade notes:** A good balancing piece for most traitor-based modes, gives them a second chance. You may wish to pick a strong solo traitor mask as their conversion target. +> +> *Ohmygod a.. real member of the syndicate holy SHIt can I get your autogra- yea i'm like your biggest fan I even have this commemorative illegal brain implant!* + +## Concept +A second chance for the traitors, who only gets their true mask when their troupe is wiped out. + +## Abilities +When all members of the Traitor troupe have died, this mask transforms into a traitor mask determined by the current [Masquerade](../../masquerades.md). + +## Gameplay +The superfan is known by the traitors, but not vice versa, with the traitor team composition unknown to the superfan until they're all dead and dusted. The superfan is one of the few roles that changes how they're seen over the course of the game, with their presence being a wrench in the gears for [Empath](../crew/empath.md) and the likes. + +The superfan wins with their current troupe, so if the traitors don't **all** die, they still win with the crew. This is not necessarily traditional to the werewolf role (aptly named [Traitor](https://werewolf.chat/Traitor)) this mask is based on, but is necessary due to the outstanding impact even a [Recruit](recruit.md) can have on the game. + +They give the traitors a second shot if they get wiped, by resuming where they left off, but the traitors need to leave off in a strong position for the superfan to do particularly well. Missing only the nuke objective (for example) is entirely recoverable. + +Upon conversion, the superfan is given a cache location for their new mask and an audio cue to inform them of the change. \ No newline at end of file diff --git a/src/design/masks/traitor/turncoat.md b/src/design/masks/traitor/turncoat.md new file mode 100644 index 0000000..f36ad7d --- /dev/null +++ b/src/design/masks/traitor/turncoat.md @@ -0,0 +1,34 @@ +# Syndie Superfan + +{{#template ../../../templates/unimplemented.md }} + +> **Name:** Turncoat +> +> **Troupe:** [Traitor](../traitors.md)/[Crew](../crew.md) +> +> **Description:** Use your ability to switch sides at will, get it right and win with them. +> +> **Objectives:** The objectives of their current troupe. +> +> **Masquerade notes:** Treat this as a bit of volatility to add to a masquerade, the information they get from switching sides is very strong. +> +> *Do you uh.. think you're winning right now? Like we're not gonna lose right? Right? Okay well I'm going to kill you for losing now.* + +## Concept +A "traitor" with the ability to select what side they're on every few minutes, completely changing their troupe and objectives. +They're a *very* strong information mask as a result, and can gather quite a lot of team info in their effort to win. + +## Abilities +The turncoat gets an action, once every ten minutes, that gives them 30 seconds to decide on a side (or do nothing, in which case they stay in the troupe they're already in and must wait another 10 minutes). +Upon entering a troupe, they get everything a member of that troupe would. In particular, as a traitor they know who other traitors are and vice versa. + +## Gameplay +The turncoat is the Ultimate Liability for both parties, bolstering whichever side they think will win and potentially spilling very potent information. +While the information from them is difficult to *prove* (They can, of course, simply lie.), and they can simply play with whichever side they want. + +Being a strong information source also paints a solid target on their back, if the traitors have reason to believe the turncoat is betraying them, they have no reason to avoid killing them. +Same philosophy applies to the crew, should the turncoat reveal themselves. This puts the turncoat in a *very* tough position where their information *can* be useful, but they may opt to never +speak of any of it in order to prioritize living. + +# Remarks +They may be better off as a neutral/independent mask, requiring them to decide on a team at round start to get any information, but the impact of this is minor and it may be better to start them off in an advantageous troupe (Traitors) by default. \ No newline at end of file diff --git a/src/design/masquerades/gallows.md b/src/design/masquerades/gallows.md new file mode 100644 index 0000000..48784f7 --- /dev/null +++ b/src/design/masquerades/gallows.md @@ -0,0 +1,20 @@ +# Gallows + +{{#template ../../templates/unimplemented.md }} + +> **Name:** Gallows +> +> **Troupes:** [Crew](../masks/crew.md), [Traitors](../masks/traitors.md) +> +> **Description:** A variant of [Traitors](traitors.md) with a lynch mechanic. + +## Concept +"Vote for someone to lynch" is a staple of social deduction games in this genre, so what happens to our off-the-beaten-path experience if we simply slap a tangentally related mechanic into it? + +This is normally not a good idea, but it's likely to significantly change the dynamic when it comes to how the crew handle potentially antagonistic forces, making them knowing your identity *quite* dire. + +## Gameplay +Every five(?) minutes, a lynch vote should be called listing every living member of crew by **name**, and an abstain option. Crew then publicly vote on who to lynch, and when the vote timer runs out the target, if any, is immediately gibbed. +As this mechanic is name based, crew have to actually know the names of the culprits to reliably lynch them. Votes work on majority basis and when a majority is reached they should end automatically. + +Jesters affected by this mechanic should turn on the crew as a whole, or otherwise engage with it, to avoid cheesing them. (Phantom could become anti-crew, Martyr could doom the person who made the deciding vote.) \ No newline at end of file diff --git a/src/design/masquerades/valentines.md b/src/design/masquerades/valentines.md new file mode 100644 index 0000000..43616b8 --- /dev/null +++ b/src/design/masquerades/valentines.md @@ -0,0 +1,20 @@ +# Valentines + +{{#template ../../templates/unimplemented.md }} + +> **Name:** +> +> **Troupes:** (Add links, there's probably more than one.) +> +> **Description:** (1-2 sentence description of what this masquerade does in terms of design.) +> +> **Specialties:** [Matchmaker](../masks/crew/matchmaker.md) + +## Concept +The default role is Matchmaker, and the win objective is to make a maximally large polycule so that everyone can win together and nobody has to Violence. The game automatically ends when only one troupe remains, or all players are part of the same polycule. + +## Gameplay +Crew should spend their initial five minutes wisely in an attempt to coordinate a massive polycule. If they fail, all polycules are liable to die quite quickly, ending the round when the remaining troupe wins. + +## Meta-game impact +None, this masquerade is vote only and is an extremely silly alternate mode. \ No newline at end of file From 2ff066f5d3d9cfb405ecae58c594d81dfde9e110 Mon Sep 17 00:00:00 2001 From: kaylie Date: Fri, 9 Jan 2026 23:46:32 -0600 Subject: [PATCH 2/3] a --- src/design/masks/crew/matchmaker.md | 12 +++++------- src/design/masks/traitor/turncoat.md | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/design/masks/crew/matchmaker.md b/src/design/masks/crew/matchmaker.md index aef7772..5c52c8e 100644 --- a/src/design/masks/crew/matchmaker.md +++ b/src/design/masks/crew/matchmaker.md @@ -1,18 +1,16 @@ -# Mask Name +# Matchmaker {{#template ../../../templates/unimplemented.md }} -> **Name:** +> **Name:** Matchmaker > -> **Troupe:** (Add link) +> **Troupe:** [Crew](../crew.md) > -> **Archetypes:** (If applicable, N/A otherwise) -> -> **Description:** (1-2 sentence description of what this mask thematically represents) +> **Description:** Doom two people to be lovers, bask in your knowledge as they both die horribly. > > **Objectives:** Use your ability. > -> **Masquerade notes:** This role should not be featured in most masquerades. +> **Masquerade notes:** This role should not be featured regularly. > > *I think I'm gonna ship you two. It's legally binding, congratulations on your new spouse!* diff --git a/src/design/masks/traitor/turncoat.md b/src/design/masks/traitor/turncoat.md index f36ad7d..3565a21 100644 --- a/src/design/masks/traitor/turncoat.md +++ b/src/design/masks/traitor/turncoat.md @@ -1,4 +1,4 @@ -# Syndie Superfan +# Turncoat {{#template ../../../templates/unimplemented.md }} From d517bb5da91fd4a86eb70aa56fe1a42650a1b14c Mon Sep 17 00:00:00 2001 From: kaylie Date: Sat, 10 Jan 2026 00:17:39 -0600 Subject: [PATCH 3/3] b --- src/design/masquerades/valentines.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/design/masquerades/valentines.md b/src/design/masquerades/valentines.md index 43616b8..8ce439c 100644 --- a/src/design/masquerades/valentines.md +++ b/src/design/masquerades/valentines.md @@ -2,11 +2,11 @@ {{#template ../../templates/unimplemented.md }} -> **Name:** +> **Name:** Valentines > -> **Troupes:** (Add links, there's probably more than one.) +> **Troupes:** [Crew](../masks/crew.md), [Traitors](../masks/traitors.md) > -> **Description:** (1-2 sentence description of what this masquerade does in terms of design.) +> **Description:** Make as large of a polycule as possible to win together! Or don't. > > **Specialties:** [Matchmaker](../masks/crew/matchmaker.md)