Add the classic Cupid role.
Ability
On the first night, Cupid links two players as lovers. If either lover dies, the other immediately dies of heartbreak. The two lovers learn who each other are. For a first cut, keep it simple: lovers just share a fate — no separate third win condition yet.
Where to start
roles.py — add Role.CUPID; seat one in larger games via standard_setup.
engine.py — a first-night Cupid step choosing two players; track the lover pair on GameState; when a player dies, if they have a lover, kill the lover too. Mind the interaction with Hunter shots and chained deaths — reuse the death-resolution path.
i18n.py — English + Chinese strings for the new events.
prompts/templates.py — a Cupid decision kind.
- Tests covering the shared-fate death and the chain interactions.
A meaty, self-contained engine feature. cc @Jah-yee — interested? Comment to claim and I'll assign it.
Add the classic Cupid role.
Ability
On the first night, Cupid links two players as lovers. If either lover dies, the other immediately dies of heartbreak. The two lovers learn who each other are. For a first cut, keep it simple: lovers just share a fate — no separate third win condition yet.
Where to start
roles.py— addRole.CUPID; seat one in larger games viastandard_setup.engine.py— a first-night Cupid step choosing two players; track the lover pair onGameState; when a player dies, if they have a lover, kill the lover too. Mind the interaction with Hunter shots and chained deaths — reuse the death-resolution path.i18n.py— English + Chinese strings for the new events.prompts/templates.py— a Cupid decision kind.A meaty, self-contained engine feature. cc @Jah-yee — interested? Comment to claim and I'll assign it.