This is a heavily modified version of Evilfactory's Traitermod. It is our attempt at creating a fun and balanced traitor mode in a multiplayer campaign for Barotrauma.
- Designed to work primarily multiplayer campaigns
- Additional/modified roles and traitor objectives
- Persistent wallets for players
- No skill penalty on respawn to minimize long term gameplay impact of traitors
!help: Displays a list of general commands available to all players.!helpadmin: Displays a list of admin commands.!helptraitor: Displays a list of traitor-specific commands.!version: Shows the current version of Evil Factory's Traitor Mod.!pointor!points: Displays your current points balance.!info: Displays the welcome message.!suicide,!kill, or!death: Kills your character if alive and not handcuffed or knocked down.!locatesubor!locatesubmarine: Provides the distance and direction of the main submarine from the player. Only works for monster characters.!droppoints <amount>: Drops specified points from the player's inventory.
!toggletraitor: Toggles your traitor status on or off (if the mod allows optional traitors).!roleor!traitor: Shows your special role, if any. You need to be alive to use this command.!rolesor!traitors: (Admin only) Displays a list of all players with special roles.!assignrole <client> <role>: Assigns a role to a specified player. Usage:!assignrole <client> <role>. Requires admin permissions.!addobj <client> <objective>: Adds an objective to a specified player who already has a role assigned. Usage:!addobj <client> <objective>. Requires admin permissions.
!traitoralive: Indicates whether any traitors are still alive.!alive: Displays a list of all players, indicating if they are dead or alive.!roundinfo: Shows information about the current round or the last round if no round is in progress.!allpoint: Displays the points and weight of all players.!addpoint <client>: Adds points to a specific player or all players.!addlife <client>: Adds lives to a specific player or all players.!void <client>: Sends a player's character to the void.!unvoid <client>: Removes a player's character from the void and returns them to their previous position.!revive <client>: Revives the specified player, or the admin themselves if no player is specified.!ongoingevents: Displays ongoing events in the current game.!triggerevent <event>: Triggers a specified event in the game.
Configuration settings are located in traitormod/config/config.lua.
config.Language: The language of the game. Valid options: "English"config.SendWelcomeMessage: Whether to send a welcome message to new players. Valid options: true or falseconfig.ChatMessageType: The color of the message in chat. Valid options: ChatMessageType.Error (red), ChatMessageType.Private (green), ChatMessageType.Dead (blue), ChatMessageType.Radio (yellow)
config.Codewords: A list of codewords used for communication between players. Valid options: a list of stringsconfig.AmountCodeWords: The number of codewords each player receives. Valid options: a positive integerconfig.OptionalTraitors: Whether players can use a command to toggle their traitor status. Valid options: true or falseconfig.RagdollOnDisconnect: Whether to leave a ragdoll of the player when they disconnect. Valid options: true or falseconfig.EnableControlHusk: Whether to allow players to control their husked character after death. Valid options: true or falseconfig.TraitorChance: The chance that a player is a traitor. Valid options: a decimal between 0 and 1config.OverrideRespawnSubmarine: Whether to override the game's respawn shuttle with a submarine. Valid options: true or falseconfig.RespawnSubmarineFile: The file path of the submarine used for respawn. Valid options: a string representing a file pathconfig.RespawnText: The message displayed when a player respawns. Valid options: a stringconfig.RespawnTeam: The team the player respawns on. Valid options: CharacterTeamType.Team1 or CharacterTeamType.Team2config.PermanentPoints: Whether to store points and lives in a file. Valid options: true or falseconfig.RemotePoints: The IP address of the remote server storing points and lives. Valid options: a string representing an IP address or nilconfig.RemoteServerAuth: The authentication credentials for the remote server. Valid options: a table containing the authentication credentials or an empty tableconfig.PermanentStatistics: Whether to store statistics in a file. Valid options: true or falseconfig.MaxLives: The maximum number of lives a player can have. Valid options: a positive integerconfig.MinRoundTimeToLooseLives: The minimum amount of time a player must be alive before losing a life. Valid options: a positive integerconfig.RespawnedPlayersDontLooseLives: Whether players who respawn do not lose a life. Valid options: true or falseconfig.MaxExperienceFromPoints: The maximum amount of experience a player can gain from stored points. Valid options: a positive integer or nilconfig.RemoveSkillBooks: Whether to remove skill books from the game. Valid options: true or falseconfig.NerfSwords: Whether to nerf swords. Valid options: true or falseconfig.EnablePointExp: Whether to enable setting experience to point value at match start. Valid options: true or falseconfig.GlobalExperienceModifier: The global experience modifier. Valid options: a decimal between 0 and 1config.FreeExperience: The amount of temporary experience given every ExperienceTimer seconds. Valid options: a positive integerconfig.ExperienceTimer: A positive integer that sets the interval in seconds at which temporary experience is given to players. Default value is 120.config.PointsGainedFromSkill: A table that sets the amount of points given to a player for using certain skills. Valid keys are "medical", "weapons", "mechanical", "electrical", and "helm". Default values are 30, 20, 19, 19, and 9, respectively.config.PointsLostAfterNoLives: A function that takes an integer as input and returns a float that determines the percentage of points lost after a player runs out of lives. Default function returns x * 0.75.config.AmountExperienceWithPoints: A function that takes an integer as input and returns the amount of experience gained from the given amount of points. Default function returns 0.config.AmountWeightWithPoints: A function that takes an integer as input and returns the weight based on the logarithm of the given amount of points. Default function returns math.log(x + 10).config.GamemodeConfig: A table that sets the configuration for the different gamemodes available in the game.config.RoleConfig: A table that sets the configuration for the different roles available in the game.config.ObjectiveConfig: A table that sets the configuration for the different objectives available in the game.config.RandomEventConfig: A table that sets the configuration for the random events that can occur during the game.config.PointShopConfig: A table that sets the configuration for the point shop in the game.config.GhostRoleConfig: A table that sets the configuration for the ghost roles in the game.