-
Notifications
You must be signed in to change notification settings - Fork 9
Mod Info
Undead
- This subfaction is led by the Dracula
- There is a limit of how many can be alive in the subfaction
- The Dracula can only convert once per round
- If a Vampire Hunter interacts with an Undead, the Undead will be killed
- Attempting to interact with a Vampire Hunter as an Undead will force them to kill you
Sect
- This subfaction is led by the Whisperer
- The Whisperer can bring in as many people as they want, provided they have the cooldown and the % for it
- The whispers are precious so the Whisperer must whisper near as many people as possible
Cabal
- This subfaction is led by the Jackal
- There can be a maximum of 4 members in this subfaction, the Jackal and their 3 recruits
- The Cabal starts off strong with 3 guaranteed members with the 4th one coming along if both the original recruits die
Reanimated
- This subfaction is led by the Necromancer
- The only condition for becoming a member of this faction is the need to die so that the Necromancer can resurrect you
This list shows which Syndicate role alignments/roles gain the Chaos Drive first if "Chaos Drive Is Global" is turned off.
- Promoted Rebel
- Syndicate (Disruption)
- Syndicate (Support)
- Syndicate (Power)
- Syndicate (Killing)
- Original Rebel, Sidekick, Anarchist
If there are multiple alive and active roles from the same alignment, the Chaos Drive is given to the player with a higher player id (aka whoever joined the lobby earlier).
The Role List game mode have special entries that are used to allow spawning of roles based on them.
- Regular Crew - Spawns only Crew (Support), (Protective), (Investigative) and (Killing) roles
- Regular Intruder - Spawns only Intruder (Deception), (Killing), (Concealing) and (Support) roles
- Regular Syndicate - Spawns only Syndicate (Disruption), (Support) and (Killing) roles
- Regular Neutral - Spawns only Neutral (Evil) and (Benign) roles
- Harmful Neutral - Spawns only Neutral (Killing), (Harbinger) and (Neophyte) roles
- Non Crew - Spawns roles that do not belong to the Crew faction
- Non Intruder - Spawns roles that do not belong to the Intruder faction
- Non Syndicate - Spawns roles that do not belong to the Syndicate faction
- Non Neutral - Spawns roles that do not belong to the Neutral faction
- Factioned Evils - Spawns roles that belong to either the Intruder or Syndicate factions
Custom hats, nameplates and visors have been added, made by some very talented artists. These are mostly for streamers. You can find these assets in the ReworkedAssets repo. There are also custom colors, including those that shift colors over time!
If you have any bugs or any need to contact me, join the Discord or create an issue or pull request on GitHub.
Since TheOtherRoles has a section about this, might as well add my own. So here goes.
A player's identity in the game is divided into 4 classifications, or Player Layers.
The first and most important one is a Role. It decides your abilities and goals for the game. Every game, you are guaranteed to have a role as not having one basically means you cannot play the game.
The next one is a Disposition. It provides an alternate way for you to win (see Overlord and Lovers), and sometimes it may override the your original win condition (see Corrupted and Mafia) or change your win condition mid-game (see Traitor and Fanatic).
The third layer is an Ability. It gives you an additional ability on top of your original abilities, to help boost your chances of winning.
The last layer is a Modifier. It is a passive affliction, usually negative or benign in nature, that serves no purpose and is there for fun. It can alter a player's gameplay based on what they might have. For example, Baits and Diseased players would want to die for their modifiers to take effect.
With the general explanations out of the way, let's begin with how they are assigned.
The Layer assignment is split into 7 phases.
In the first phase, all required lists are cleared and all variables are reset.
At the beginning of the phases 2 to 5, the spawn chances are handled. If the spawn chance is greater than 0%, the relevant layer is added to a list. If the mode is set to Custom, the same layer is added as many times as set by the count setting. For Lovers, Linked and Rivals, they are added twice for each count as they depend on pairs, rather than singular assignment. So setting them to spawn twice means that the list will contain up to 4 instances of that type.
The list's size is then modified to whatever the Max and Min settings for the specific layer or its alignment or faction (in case of Roles).
The list is then shuffled around a lot and then sorted. During sorting, the first thing that happens is the addition of layers with 100% spawn chance being added to the list. If the spawn chance is between 0% and 100%, a random number is drawn from 1 to 99. If the number is less than or equal to the spawn chance, it is added to the spawning list.
As a side note, setting a layer to 100% does not guarantee its spawn. This is because if there are multiple layers set to 100% and the number of assignable players is less than the amount of guaranteed layers, some of the layers will be left out. This, however, is completely random for the most part. There are plans to provide heavier probability weights to roles that spawned in the previous round.
In All Any mode, however, the sorting is done differently. Any layer set to "Active" in the settings is added to the initial list. This list is then sorted on uniqueness. As long as the spawning list's size is lower than the number of players, it will keep adding a random layer from the initial list to the spawning list. If the drawn layer has been set to unique, that layer is then removed from the initial list so that it is never randomly pulled again.
In Role List mode, the provided role list is sorted between confirmed roles, buckets and anies (any-s? anys? I have no idea how to derive the plural form of any) and compared with role bans. First, every instance of a confirmed role is added to the list. After that the buckets have certain role IDs associated to them. A random ID is pulled from these buckets and is crosschecked to see if it exists in the role list. If it does exist, then it checks for uniqueness. If the ID is unique, the process is repeated again. This also happens if the ID matches that of a banned role. If the ID does not exist in the list, or it exists in the list but is not unique, it is added to the list and the process repeats for the next item on the role list. The same process happens for the 'Any' slots. Any slots have all IDs and are cross checked yet again for existence, bans and uniqueness.
The second phase of layer assignment is Roles. The spawn list derived from the previous phase would be shuffled. These have no special conditions as having a role is a requirement for other layers to spawn. If the number of assignable roles is less than the number of players, the outlying players will be assigned Crewmate, Impostor or Anarchist based on their faction.
After the roles are assigned, a random Crew aligned player will be designated as the "Pure Crew" who will not receive any Disposition or be recruited by the Jackal. The Pure Crew cannot be converted into other sub factions either and would rather die than join them. This is a sort of hacky solution I came up for when there are no one capable of contributing to the task bar. Because of there technically being "0" tasks, the game would just end in no one's victory.
Anyways, for the next 3 phases, the assignment also includes another action. Before the layers are assigned, a list of players is cloned. For each selected layer after shuffling, a random player satisfying a condition in the player list is chosen for assignment and subsequently removed from the player list to avoid having players getting double or even triple layers.
The next phase is the handing out of targets. During this phase, layers with targets, such as Guesser, Lovers, Rivals and Executioner are given their targets. Lovers, Linked or Rivals who are left out will have that objectifier be removed.
The final phase is what I call "The Clean Up". During this phase, roles whose targets could not be assigned will be changed into roles that don't have targets. After that, empty layers are handed out to those who did not get any layer of that type prevent null errors during the game. Finally, certain variables for conversion are set, so that conversions are handled easier.
After that, it's gaming time.