All game modes EXCEPT traitor (and it's variants) misinform a number of
chumps that they are potential collaborators, to cut down on metagame
potential.
Traitor modes don't misinform anyone and instead inform the real
potential collaborators only to prevent spreading actual codewords to
the general public.
Maximum number of chumps scales with population, though it is possible
to end up with fewer chumps than the maximum based on RNG and the number
of people with opposed/skeptical relations.
Also fixed some accidentally inverted checks that broke everything, and
moved the inform_collab proc to the base game_mode type for organization
Alternative to #6829
The Syndicate no longer leaves their potential collaborators in absolute
darkness about their usefulness. Collaborators are notified of their
potential use, though in a vague way so as not to compromise the
identities of any agents directly.
- Potential collaborators get messages informing them that they are
still not antags, but that they may be asked to assist, when they are
assigned to a new traitor.
- Potential collaborators get a SINGLE code word and code response so
their clandestine friend can attempt to communicate with them with more
subtlety than "hey, im a traitor, want to help?"
- They are only given 1 word set so they can't just inform security and
the AI of all the codewords alone. Same reason they aren't given a name
of the traitor they might be asked to assist.
The intercept report (currently disabled) now only lists suspects that
actually CAN be the antag (no more listing the chaplain as a potential
cultist, the HoS as a potential traitor, or that IPC in atmos as a
possible changeling).
Potential collaborators can no longer be characters in roles that are
restricted from being traitors. So no more "Potential collaborator: The
captain", as funny as that may have been.
🆑
tweak: Potential collaborators for traitors now are informed they are
potentially a collaborator for a potential increase in them potentially
helping the traitors potentially do potentially bad things. Potentially.
rscadd: Potential collaborators are given a single code word and
response set so they can discretely find out that their best friend is a
filthy traitor.
/🆑
Refactored most instances of special_role setting/checking to use new
SPECIAL_ROLE_X defines in code/__DEFINES/gamemode.dm
Removed relative pathing from objective.dm and split large if statements
into multiple, plus a bunch of styling fixes
Refactored every instance of `istype(ticker.mode` into a GAMEMODE_IS_X
define in code/__DEFINES/gamemode.dm. Done primarily for when someone gets
around to making gamemode code less AWFUL
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
Changelog:
- Enemy intercept (send_intercept()) completely nuked, it did not compile
when I attempted to make it into a config option.
- The intercept for blob() is retained and made into a custom proc for
blob.
- The constant variables 'waittime_l' and 'waittime_h' have been moved to
/datum/game_mode, as they were defined on every gamemode with the same
values.
- rp-revolution.dm and anti_revolution.dm deleted. They do not compile,
and are not included in the DME already.
This commit changes every 'world.log <<' message with a loggable proc-
log_to_dd().
This is adjustable in the config; If LOG_WORLD_OUTPUT is present, all
things sent to world.log will show up in the standard /data/logs/ logs.
These logs will contain the following (in order):
Timestamp
"DD_OUTPUT:"
The message.
The config option for this, by default, is turned off.
A new mind attached list, restricted_roles, will keep incompatible jobsout of rotation.
Players who would otherwise qualify to play as a protected role will spawn
as the most wanted not protected role they qualify for if they are an
onstation antagonist. If they don't qualify for any job in this way
depending on preferences they will either spawn as an assistant or a random
job (which also makes sure they don't end up in an incompatible job).
Note this doesn't impact late join antagonists or mulligan antagonists.
Roundstart only.
- Decreased destroy objective chance from 10% to 4% for clings and
traitors. Should be so slightly rarer than hijack, so you should stop
seeing it every round.
- Changeling arm blades can be used as ghetto circular saws, this will
help changelings with their debrain objectives a bit, a ghetto scalpel
is easily found in the form of a glass shard already.
- Maroon objective: Prevent person from escaping on the shuttle, this
can include killing them. (Not in rotation)
- Escape with identity objective: Changeling objective, steal a person's
identity and ID, and escape on the shuttle with it. (Not in rotation)
- Exchange objective: 2 traitors are each given documents, one has the
red documents, one has the blue. They must meet and exchange the
documents. However, there is a 20% chance each one of them will have a
backstab objective, where he must escape with both documents. (Should be
in rotation)
- Destroy objective: Kill the station AI. (Not in rotation)
- Adds steal objective to steal the station secret documents, which are
located in the vault filing cabinet. (Should be in rotation)
- Adds special (mostly just used by ninja) objective to steal a
pinpointer. (Should be in rotation)
- Folders and filing cabinets can now store top secret documents.
All associated sprites are ported along with these features from TG.