Zombie Mode [New Game Mode] (#8501)

Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
Nemanja
2022-07-05 23:42:51 -04:00
committed by GitHub
parent ab12345168
commit 836c0bb1c4
43 changed files with 821 additions and 51 deletions

View File

@@ -299,6 +299,19 @@ namespace Content.Shared.CCVar
public static readonly CVarDef<int> NukeopsPlayersPerOp =
CVarDef.Create("nukeops.players_per_op", 5);
/*
* Zombie
*/
public static readonly CVarDef<int> ZombieMinPlayers =
CVarDef.Create("zombie.min_players", 20);
public static readonly CVarDef<int> ZombieMaxInitialInfected =
CVarDef.Create("zombie.max_initial_infected", 6);
public static readonly CVarDef<int> ZombiePlayersPerInfected =
CVarDef.Create("zombie.players_per_infected", 10);
/*
* Pirates
*/

View File

@@ -25,7 +25,6 @@ public abstract partial class InventorySystem
[Dependency] private readonly MovementSpeedModifierSystem _movementSpeed = default!;
[Dependency] private readonly SharedInteractionSystem _interactionSystem = default!;
[Dependency] private readonly SharedContainerSystem _containerSystem = default!;
[Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!;
[Dependency] private readonly SharedHandsSystem _handsSystem = default!;
[Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly INetManager _netMan = default!;

View File

@@ -0,0 +1,25 @@
using Content.Shared.Actions;
namespace Content.Shared.Zombies;
/// <summary>
/// Event that is broadcast whenever an entity is zombified.
/// Used by the zombie gamemode to track total infections.
/// </summary>
public readonly struct EntityZombifiedEvent
{
/// <summary>
/// The entity that was zombified.
/// </summary>
public readonly EntityUid Target;
public EntityZombifiedEvent(EntityUid target)
{
Target = target;
}
};
/// <summary>
/// Event raised when a player zombifies themself using the "turn" action
/// </summary>
public sealed class ZombifySelfActionEvent : InstantActionEvent { };