using Content.Shared.Roles; using Content.Shared.Weapons.Melee; using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Shared.Zombies { [RegisterComponent, NetworkedComponent] public sealed class ZombieComponent : Component { /// /// The coefficient of the damage reduction applied when a zombie /// attacks another zombie. longe name /// [ViewVariables] public float OtherZombieDamageCoefficient = 0.25f; /// /// The baseline infection chance you have if you are completely nude /// [ViewVariables(VVAccess.ReadWrite)] public float MaxZombieInfectionChance = 0.50f; /// /// The minimum infection chance possible. This is simply to prevent /// being invincible by bundling up. /// [ViewVariables(VVAccess.ReadWrite)] public float MinZombieInfectionChance = 0.05f; [ViewVariables(VVAccess.ReadWrite)] public float ZombieMovementSpeedDebuff = 0.75f; /// /// The skin color of the zombie /// [DataField("skinColor")] public Color SkinColor = new(0.45f, 0.51f, 0.29f); /// /// The eye color of the zombie /// [DataField("eyeColor")] public Color EyeColor = new(0.96f, 0.13f, 0.24f); /// /// The attack arc of the zombie /// [DataField("attackArc", customTypeSerializer: typeof(PrototypeIdSerializer))] public string AttackArc = "claw"; /// /// The role prototype of the zombie antag role /// [ViewVariables, DataField("zombieRoldId", customTypeSerializer: typeof(PrototypeIdSerializer))] public readonly string ZombieRoleId = "Zombie"; } }