Changeling chat is now at night, rather than :j saymode, and it is also
separated from normal messages as [CHANGELING CHAT]
Adds a new [DEAD CHAT], all dead players in Mafia are corpselocked and
talking will instead go to Dead chat.
The Chaplain's ability is now being able to hear Dead chat at night, and
being able to in turn speak to the Dead.
The Chaplain's old ability has been given to a new role, the Coroner.
"Pray" is now "Autopsy".
Deaths in the Mafia arena aren't broadcasted anymore, to lessen
annoyance to round observers.
Also updates role icons & some outfits, as well as some bug fixes I
encountered while messing with it on localhost. I also tried (but not
fully) to make Mafia games more modular and independent, so maybe in the
future we can have more than one Mafia game running at a time.
I am limited to 2 player testing for this, so it is very much possible
that there's some issues I haven't found from my local testing, let me
know if you find anything please.
Being dead in Mafia boots you out of the round regardless of how
invested you were, that kidna sucks so hopefully being able to still
contribute something to the game, or at least discuss it with other dead
players in your own chat, makes players feel important to the game
they're playing.
I have a previous attempt of this here -
https://github.com/tgstation/tgstation/pull/75879 - but it staled out.
This differs from that attempt, as only dead players from the Mafia game
can speak in dead chat, while the old attempt allowed anyone that was
observing a mafia sign post (so dead players from the game, but not
observing the post, weren't able to speak to Chaplains, making him very
hard to be useful especially since getting information like that across
is a little hard). Being corpselocked also prevents them from being able
to see who Changelings are by simply looking at who has maptext at
night, and keeps them more focused on the game being played.
🆑
add: Added a new role to Mafia; the Coroner, which takes the Chaplain's
ability to see dead people's roles.
add: Mafia Chaplains now speak with the dead at night instead, and the
dead are corpselocked to prevent cheating.
fix: Mafia's HoS doesn't kill himself when executing non-townies.
qol: You can now update your notes & send them in chat while dead, as
well as look up the descriptions of other roles.
/🆑
* Mafia victory and QOL Update (#74974)
## About The Pull Request
HoP is now a killing role as they theoretically can solo-kill through
voting.
Changelings also have can kill flag, even if it's useless for them, just
in-case.
Removes check_total_victory and block_team_victory from Neutrals, since
it was just snowflake code.
I instead reworked all of how victory is calculated.
Ghosts can no longer see Mafia chat, because I'd like to integrate dead
players into the round in the future, and ghosts knowing who the evils
are is lame. It's a deduction minigame, you're supposed to deduct who
the bad guys are.
### QoL stuff
- Adds maptext for voting periods so people know who you are voting for.
https://cdn.discordapp.com/attachments/326831214667235328/1097781395369246740/2023-04-18_03-09-12.mp4
- Adds a popup when someone is voted up, instead of being a big box of
text in your chat. This will help clog the chat less and make it easier
for players to understand what to do when the time comes.
https://cdn.discordapp.com/attachments/326831214667235328/1097770854005350481/2023-04-18_02-28-31.mp4
Lastly, converts Mafia panel to typescript
## Why It's Good For The Game
This should be the last of my Mafia reworks, hopefully.
This makes the game's victory calculated to ensure there's always a
chance anytime possible, while letting kingmaker scenarios exist.
Additionally, we shouldn't expect players to know how Mafia works
because we don't expect them to already have some background in Mafia
games, or have played Mafia before.
## Changelog
🆑
qol: [Mafia] Players get a popup when a player is voted to the stand.
qol: [Mafia] Players now have the name of who they voted for displayed
over their heads during voting period.
balance: [Mafia] Deadchat can no longer see Mafia chat.
balance: [Mafia] HoP can now solo-win.
/🆑
* Mafia victory and QOL Update
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Mafia notes are no longer automatically written for you & new UI (#74819)
## About The Pull Request
Notes in Mafia are no longer written for you, you instead write it
yourself and save.
Also adds a button to automatically say out your notes for other
players.
Hides the judgment buttons when it's not time to judge
Makes the UI autoupdate and makes use of ui_data / ui_static_data
Video of it in action: https://www.youtube.com/watch?v=NDUSuIUqQv8
## Why It's Good For The Game
A downside to notes currently is that it's very easy to confirm yourself
as a role against players who don't code-dive to know exactly how notes
should be formatted for any role, this makes it easier, as everyone will
type out their own notes, and can send it directly to chat when needed.
## Changelog
🆑
balance: [Mafia] Notes are no longer written out for you.
qol: [Mafia] You can now send your notes to chat whenever.
qol: [Mafia] Roundend has changed. Solos will win over others in a 1v1,
but a HoP can keep a round going in case they can solo lynch.
/🆑
* Mafia notes are no longer automatically written for you & new UI
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Mafia rebalance and backend refactor (#74640)
## About The Pull Request
Turns all Mafia abilities into datums, instead of being a bunch of
shitcode on every single job.
This means it's easier to add new roles
Gives new names to some defines (such as the signal order, to make it
easier to tell when something is fired)
Adds support for modular Mafia jobs with their abilities being in a
certain order (Escort is now properly first).
De-snowflakes Changeling killing abilities and day voting, they're now
actions that are tallied when necessary.
Turns time vars into defines
Generalizes a lot of behavior for abilities, now all abilities can
properly undo their action at night
Fixes problems with the UI (Thoughtfeeder had 2 buttons during night and
they overlapped with names, that's been fixed).
### Behavior changes
- Doctor/Officer can now protect themselves 1 night, because it gives
them a way to protect themselves.
- Lawyer/Warden/Ect now choose their abilities at night, rather than the
day before. The suspense building up towards the end of the night is
part of the game, telling you that it happened at the very start is
quite lame (in the case of Lawyer, anyway).
- Admin setup now uses TGUI instead of html inputs.
- Cut night time by like, 5 seconds, because I found it a little long
lol.
- HoP doesn't count as votes to win until they reveal, because it makes
no sense an unrevealed HoP has their unrevealed votes tallied. I also
like those 1v1 Mayor V. Evil scenarios where dead chat goes crazy, and
hope to replicate that here.
- Mafia now needs 6 people to start instead of 4, because 4 players is
just not enough to play a Mafia round that will do anything but annoy
people.
- The game no longer ends if it's in a standoff with 1 Town, 1 Mafia,
and 1 Neutral, as you've got a kingmaker and they should decide who
wins.
### Things I want to change in the future
Every time night starts/ends, it checks the entire ``GLOB.airlocks`` for
doors with the "mafia" ID. This is stupid.
Rework ``check_victory()`` to make it make more sense, and be more fun
for players.
A visible death animation?
I want to use something similar to admin popup for messages about people
being on stand, and decluttering the UI in general
Also more use of balloon alerts instead of to chat messages for
everything.
Also also, making the UI more responsive to players. Button should be
red when a player is selected, so they know that's who they've selected,
if they want to unselect.
Are votes public when you first cast them? They shouldn't be wtf.
Can we also make the description for roles not be a to chat message? It
can just say when you hover over the '?' come on.
User-written wills instead of auto-generated, and able to send them in
chat
Add support for roleblock-immune roles
## Why It's Good For The Game
Updates a lot of old code to modern standards
Makes it considerably easier to work with Mafia and add new roles
Makes things less prone to breaking as easily.
Code also looks a lot cleaner now.
## Changelog
🆑
refactor: [Mafia] All Mafia abilities have been overhauled in the
backend, it's now much easier to understand what each role's ability can
do and how it works.
admin: [Mafia] Admin setup of Mafia is now in TGUI
balance: [Mafia] Doctors/Officers can protect themselves once per game.
Be careful around them!
fix: [Mafia] Thoughtfeeder's UI buttons at night won't overlap with
eachother.
fix: [Mafia] HoP's votes now actually matter, instead of being purely
visual.
qol: [Mafia] Lawyers, Wardens, etc. now perform their night ability at
night, instead of the day prior.
qol: [Mafia] Night time now lasts 40 seconds instead of 45.
/🆑
* Mafia rebalance and backend refactor
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>