using Robust.Server.Interfaces.GameObjects; using Robust.Shared.GameObjects; using Robust.Shared.Interfaces.Random; using Robust.Shared.IoC; using Robust.Shared.Random; namespace Content.Server.GameObjects.Components.Items.Storage.Fill { [RegisterComponent] internal sealed class EmergencyClosetFillComponent : Component, IMapInit { public override string Name => "EmergencyClosetFill"; void IMapInit.MapInit() { var storage = Owner.GetComponent(); var random = IoCManager.Resolve(); void Spawn(string prototype) { storage.Insert(Owner.EntityManager.SpawnEntity(prototype, Owner.Transform.GridPosition)); } if (random.Prob(40)) { Spawn("ToolboxEmergencyFilled"); } var pick = random.Next(0, 100); if (pick < 40) // 40% { // TODO: uncomment when we actually have these items. // Spawn("TankOxygenSmallFilled"); // Spawn("TankOxygenSmallFilled"); Spawn("BreathMaskClothing"); Spawn("BreathMaskClothing"); } else if (pick < 65) // 25% { // Spawn("TankOxygenSmallFilled"); // Spawn("MedkitOxygenFilled"); Spawn("BreathMaskClothing"); } else if (pick < 85) // 20% { // Spawn("TankOxygenFilled"); Spawn("BreathMaskClothing"); } else if (pick < 95) // 10% { // Spawn("TankOxygenSmallFilled"); Spawn("BreathMaskClothing"); } else if (pick < 99) // 4% { // nothing, doot } else // 1% { // teehee Owner.Delete(); } } } }