diff --git a/Content.Client/Chemistry/UI/ChemMasterWindow.xaml.cs b/Content.Client/Chemistry/UI/ChemMasterWindow.xaml.cs index 2f47fd62956..be713319e82 100644 --- a/Content.Client/Chemistry/UI/ChemMasterWindow.xaml.cs +++ b/Content.Client/Chemistry/UI/ChemMasterWindow.xaml.cs @@ -166,6 +166,15 @@ private List CreateReagentTransferButtons(ReagentId reagent, bool return buttons; } + // Arcane-Start: You can see max volume + private static string FormatVolume(FixedPoint2 current, FixedPoint2? max) + { + return max is { } m && m > FixedPoint2.Zero + ? $"{current}/{m}u" + : $"{current}u"; + } + // Arcane-End + /// /// Update the UI state when new state data is received from the server. /// @@ -180,7 +189,7 @@ public void UpdateState(BoundUserInterfaceState state) // Ensure the Panel Info is updated, including UI elements for Buffer Volume, Output Container and so on UpdatePanelInfo(castState); - BufferCurrentVolume.Text = $" {castState.BufferCurrentVolume?.Int() ?? 0}u"; + BufferCurrentVolume.Text = FormatVolume(castState.BufferCurrentVolume ?? 0, castState.BufferMaxVolume); // Arcane-Edit InputEjectButton.Disabled = castState.InputContainerInfo is null; OutputEjectButton.Disabled = castState.OutputContainerInfo is null; @@ -279,9 +288,14 @@ private void UpdatePanelInfo(ChemMasterBoundUserInterfaceState state) var bufferLabel = new Label { Text = $"{Loc.GetString("chem-master-window-buffer-label")} " }; bufferHBox.AddChild(bufferLabel); + // Arcane-Start + var bufVolText = state.BufferMaxVolume is { } maxVol && maxVol > FixedPoint2.Zero + ? $"{state.BufferCurrentVolume}/{maxVol}u" + : $"{state.BufferCurrentVolume}u"; + // Arcane-End var bufferVol = new Label { - Text = $"{state.BufferCurrentVolume}u", + Text = bufVolText, // Arcane-Edit StyleClasses = { StyleNano.StyleClassLabelSecondaryColor } }; bufferHBox.AddChild(bufferVol); diff --git a/Content.Goobstation.Server/Chemistry/EntitySystems/EnergyReagentDispenserSystem.cs b/Content.Goobstation.Server/Chemistry/EntitySystems/EnergyReagentDispenserSystem.cs index 49f6d2b9d93..e7969d85f71 100644 --- a/Content.Goobstation.Server/Chemistry/EntitySystems/EnergyReagentDispenserSystem.cs +++ b/Content.Goobstation.Server/Chemistry/EntitySystems/EnergyReagentDispenserSystem.cs @@ -56,6 +56,7 @@ using Content.Shared._Orion.Construction.Events; using Content.Shared.Emag.Systems; using Content.Shared.Power.Components; +using Content.Shared.Power.EntitySystems; namespace Content.Goobstation.Server.Chemistry.EntitySystems { @@ -72,6 +73,7 @@ public sealed class EnergyReagentDispenserSystem : EntitySystem [Dependency] private readonly UserInterfaceSystem _userInterfaceSystem = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly BatterySystem _battery = default!; + [Dependency] private readonly SharedPowerReceiverSystem _powerReceiver = default!; // Arcane public override void Initialize() { @@ -225,7 +227,7 @@ private void OnClearContainerSolutionMessage(Entity GetPowerCostForReagent(reagent.Reagent.Prototype, (int) reagent.Quantity, reagentDispenser.Comp)) // Orion-Edit + var refundedPower = soln.Sum(reagent => GetRefundCostForReagent(reagent.Reagent.Prototype, (int) reagent.Quantity, reagentDispenser.Comp)) // Orion-Edit // Arcane-Edit * reagentDispenser.Comp.RefundEnergyEfficiency; // Orion if (refundedPower > 0) _battery.AddCharge(reagentDispenser, refundedPower); @@ -239,10 +241,22 @@ private void ClickSound(Entity reagentDispenser _audioSystem.PlayPvs(reagentDispenser.Comp.ClickSound, reagentDispenser, AudioParams.Default.WithVolume(-2f)); private static float GetPowerCostForReagent(string reagentId, int amount, EnergyReagentDispenserComponent comp) + // Arcane-Start + { + return GetReagentCost(reagentId, amount, comp, unknownFallback: float.MaxValue); + } + + private static float GetRefundCostForReagent(string reagentId, int amount, EnergyReagentDispenserComponent comp) + { + return GetReagentCost(reagentId, amount, comp, unknownFallback: 0f); + } + + private static float GetReagentCost(string reagentId, int amount, EnergyReagentDispenserComponent comp, float unknownFallback) + // Arcane-End { return comp.Reagents.TryGetValue(reagentId, out var cost) ? cost * amount * comp.FinalEnergyCostMultiplier // Orion-Edit - : float.MaxValue; + : unknownFallback; // Arcane-Edit } private void OnMapInit(Entity entity, ref MapInitEvent args) @@ -267,7 +281,9 @@ private void OnPartsRefresh(EntityUid uid, EnergyReagentDispenserComponent compo var matterBinTier = args.GetPartRating(component.MatterBinPart); component.FinalRechargeRate = component.BaseRechargeRate * RefreshPartsEvent.GetPositiveTierMultiplier(capacitorTier); - component.FinalEnergyCostMultiplier = RefreshPartsEvent.GetLinearMultiplier(matterBinTier, 0.1f, 0.5f, 1.2f); + component.FinalEnergyCostMultiplier = Math.Clamp(1.1f - matterBinTier * 0.1f, 0.5f, 1.2f); // Arcane-Edit + + _powerReceiver.SetBatteryRechargeRate(uid, component.FinalRechargeRate); // Arcane UpdateUiState((uid, component)); } diff --git a/Content.Goobstation.Shared/EntityEffects/OxygenateNearby.cs b/Content.Goobstation.Shared/EntityEffects/OxygenateNearby.cs index b6f21495b2e..5ba13231e81 100644 --- a/Content.Goobstation.Shared/EntityEffects/OxygenateNearby.cs +++ b/Content.Goobstation.Shared/EntityEffects/OxygenateNearby.cs @@ -35,7 +35,11 @@ public OxygenateNearby(float range, float factor) public override bool ShouldLog => true; protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) - => Loc.GetString("reagent-effect-guidebook-ignite", ("chance", Probability)); //In due time... + // Arcane-Edit-Start + => Loc.GetString("reagent-effect-guidebook-oxygenate", + ("chance", Probability), + ("factor", Factor)); + // Arcane-Edit-End public override LogImpact LogImpact => LogImpact.Medium; diff --git a/Content.Server/Atmos/Components/BarotraumaComponent.cs b/Content.Server/Atmos/Components/BarotraumaComponent.cs index 1efea94e887..8795d75066c 100644 --- a/Content.Server/Atmos/Components/BarotraumaComponent.cs +++ b/Content.Server/Atmos/Components/BarotraumaComponent.cs @@ -65,7 +65,7 @@ public sealed partial class BarotraumaComponent : Component [DataField("maxDamage")] [ViewVariables(VVAccess.ReadWrite)] - public FixedPoint2 MaxDamage = 200; + public FixedPoint2 MaxDamage = 350; // Arcane-Edit: 200 > 350 /// /// Used to keep track of when damage starts/stops. Useful for logs. @@ -96,6 +96,15 @@ public sealed partial class BarotraumaComponent : Component [ViewVariables(VVAccess.ReadWrite)] public bool HasImmunity = false; + // Arcane-Start + /// + /// Tracks how long the entity has continuously been in hazardous low pressure. + /// Used to ramp low-pressure damage over time. + /// + [ViewVariables(VVAccess.ReadWrite)] + public float SecondsInLowPressure = 0f; + // Arcane-End + [DataField] public ProtoId HighPressureAlert = "HighPressure"; diff --git a/Content.Server/Atmos/EntitySystems/BarotraumaSystem.cs b/Content.Server/Atmos/EntitySystems/BarotraumaSystem.cs index 760fddea081..39e86f25d09 100644 --- a/Content.Server/Atmos/EntitySystems/BarotraumaSystem.cs +++ b/Content.Server/Atmos/EntitySystems/BarotraumaSystem.cs @@ -46,6 +46,7 @@ using Content.Server.Administration.Logs; using Content.Server.Atmos.Components; using Content.Shared._Goobstation.Wizard.Spellblade; +using Content.Shared._Shitmed.Damage; using Content.Shared._Shitmed.Targeting; using Content.Shared.Alert; using Content.Shared.Atmos; @@ -66,6 +67,10 @@ public sealed class BarotraumaSystem : EntitySystem [Dependency] private readonly InventorySystem _inventorySystem = default!; [Dependency] private readonly SpellbladeSystem _spellblade = default!; // Goobstation private const float UpdateTimer = 1f; + // Arcane-Start + private const float LowPressureRampTime = 40f; + private const float LowPressureMaxMultiplier = 2.5f; + // Arcane-End private float _timer; public override void Initialize() @@ -320,11 +325,28 @@ public override void Update(float frameTime) RaiseLocalEvent(uid, ref resistEv); if (resistEv.Cancelled) - return; + // Arcane-Edit-Start + { + barotrauma.SecondsInLowPressure = 0f; + + if (barotrauma.TakingDamage) + { + barotrauma.TakingDamage = false; + _adminLogger.Add(LogType.Barotrauma, $"{ToPrettyString(uid):entity} stopped taking pressure damage"); + } + + _alertsSystem.ClearAlertCategory(uid, barotrauma.PressureAlertCategory); + continue; + } + // Arcane-Edit-End // goob end + var lowPressureScale = MathF.Min(1f + (barotrauma.SecondsInLowPressure / LowPressureRampTime), LowPressureMaxMultiplier); // Arcane + // Deal damage and ignore resistances. Resistance to pressure damage should be done via pressure protection gear. - _damageableSystem.TryChangeDamage(uid, barotrauma.Damage * Atmospherics.LowPressureDamage, true, false, targetPart: TargetBodyPart.All); // Shitmed Change + _damageableSystem.TryChangeDamage(uid, barotrauma.Damage * Atmospherics.LowPressureDamage * lowPressureScale, true, false, targetPart: TargetBodyPart.All); // Shitmed Change // Arcane-Edit + + barotrauma.SecondsInLowPressure += UpdateTimer; // Arcane if (!barotrauma.TakingDamage) { @@ -342,10 +364,24 @@ public override void Update(float frameTime) RaiseLocalEvent(uid, ref resistEv); if (resistEv.Cancelled) - return; + // Arcane-Edit-Start + { + barotrauma.SecondsInLowPressure = 0f; + + if (barotrauma.TakingDamage) + { + barotrauma.TakingDamage = false; + _adminLogger.Add(LogType.Barotrauma, $"{ToPrettyString(uid):entity} stopped taking pressure damage"); + } + + _alertsSystem.ClearAlertCategory(uid, barotrauma.PressureAlertCategory); + continue; + } + // Arcane-Edit-End // goob end var damageScale = MathF.Min(((pressure / Atmospherics.HazardHighPressure) - 1) * Atmospherics.PressureDamageCoefficient, Atmospherics.MaxHighPressureDamage); + barotrauma.SecondsInLowPressure = 0f; // Arcane // Deal damage and ignore resistances. Resistance to pressure damage should be done via pressure protection gear. _damageableSystem.TryChangeDamage(uid, barotrauma.Damage * damageScale, true, false, targetPart: TargetBodyPart.All); // Shitmed Change @@ -365,6 +401,8 @@ public override void Update(float frameTime) RaiseLocalEvent(uid, ref pressureEv); // goob end + barotrauma.SecondsInLowPressure = 0f; // Arcane + // Within safe pressure limits if (barotrauma.TakingDamage) { diff --git a/Content.Server/Body/Systems/RespiratorSystem.cs b/Content.Server/Body/Systems/RespiratorSystem.cs index cb0a2c6a62d..3da60374cd1 100644 --- a/Content.Server/Body/Systems/RespiratorSystem.cs +++ b/Content.Server/Body/Systems/RespiratorSystem.cs @@ -137,6 +137,8 @@ public sealed class RespiratorSystem : EntitySystem private static readonly ProtoId GasId = new("Gas"); + private const float VacuumSuffocationMultiplier = 2f; // Arcane + public override void Initialize() { base.Initialize(); @@ -531,7 +533,15 @@ private void TakeSuffocationDamage(Entity ent) } // Shitmed Change End - _damageableSys.TryChangeDamage(ent, HasComp(ent) ? ent.Comp.Damage * 4.5f : ent.Comp.Damage, targetPart: TargetBodyPart.All, interruptsDoAfters: false); // Shitmed Change + // Arcane-Start + var suffocationDamage = HasComp(ent) ? ent.Comp.Damage * 4.5f : ent.Comp.Damage; + + var pressure = _atmosSys.GetContainingMixture(ent.Owner)?.Pressure ?? 0f; + if (pressure <= Atmospherics.HazardLowPressure) + suffocationDamage *= VacuumSuffocationMultiplier; + // Arcane-End + + _damageableSys.TryChangeDamage(ent, suffocationDamage, targetPart: TargetBodyPart.All, interruptsDoAfters: false); // Shitmed Change // Arcane-Edit if (ent.Comp.SuffocationCycles < ent.Comp.SuffocationCycleThreshold) return; diff --git a/Content.Server/Chemistry/EntitySystems/ChemMasterSystem.cs b/Content.Server/Chemistry/EntitySystems/ChemMasterSystem.cs index dacbc1f6f25..6482c525b6f 100644 --- a/Content.Server/Chemistry/EntitySystems/ChemMasterSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/ChemMasterSystem.cs @@ -36,6 +36,8 @@ using System.Linq; using Content.Goobstation.Maths.FixedPoint; using Content.Server.Chemistry.Components; +using Content.Server._Arcane.Chemistry.Components; +using Content.Server._Arcane.Chemistry.EntitySystems; using Content.Server.Popups; using Content.Server.Storage.EntitySystems; using Content.Shared.Administration.Logs; @@ -81,6 +83,8 @@ public override void Initialize() SubscribeLocalEvent(SubscribeUpdateUiState); SubscribeLocalEvent(SubscribeUpdateUiState); + SubscribeLocalEvent(SubscribeUpdateUiState); // Arcane + SubscribeLocalEvent(SubscribeUpdateUiState); // Arcane SubscribeLocalEvent(SubscribeUpdateUiState); SubscribeLocalEvent(SubscribeUpdateUiState); SubscribeLocalEvent(SubscribeUpdateUiState); @@ -108,10 +112,11 @@ private void UpdateUiState(Entity ent, bool updateLabel = f var bufferReagents = bufferSolution.Contents; var bufferCurrentVolume = bufferSolution.Volume; + var bufferMaxVolume = bufferSolution.MaxVolume; // Arcane var state = new ChemMasterBoundUserInterfaceState( chemMaster.Mode, chemMaster.SortingType, BuildInputContainerInfo(inputContainer), BuildOutputContainerInfo(outputContainer), - bufferReagents, bufferCurrentVolume, chemMaster.PillType, chemMaster.PillDosageLimit, updateLabel); + bufferReagents, bufferCurrentVolume, chemMaster.PillType, chemMaster.PillDosageLimit, updateLabel, bufferMaxVolume); // Arcane-Edit _userInterfaceSystem.SetUiState(owner, ChemMasterUiKey.Key, state); } @@ -174,32 +179,43 @@ private void TransferReagents(Entity chemMaster, ReagentId var container = _itemSlotsSystem.GetItemOrNull(chemMaster, SharedChemMaster.InputSlotName); if (container is null || !_solutionContainerSystem.TryGetFitsInDispenser(container.Value, out var containerSoln, out var containerSolution) || - !_solutionContainerSystem.TryGetSolution(chemMaster.Owner, SharedChemMaster.BufferSolutionName, out _, out var bufferSolution)) + !_solutionContainerSystem.TryGetSolution(chemMaster.Owner, SharedChemMaster.BufferSolutionName, out var bufferSoln, out var bufferSolution)) // Arcane-Edit { return; } if (fromBuffer) // Buffer to container { - amount = FixedPoint2.Min(amount, containerSolution.AvailableVolume); - amount = bufferSolution.RemoveReagent(id, amount, preserveOrder: true); - _solutionContainerSystem.TryAddReagent(containerSoln.Value, id, amount, out var _); + // Arcane-Edit-Start + var removed = FixedPoint2.Min(amount, bufferSolution.GetReagentQuantity(id), containerSolution.AvailableVolume); + if (removed <= FixedPoint2.Zero) + return; + + _solutionContainerSystem.RemoveReagent(bufferSoln.Value, id, removed); + _solutionContainerSystem.TryAddReagent(containerSoln.Value, id, removed, out _); + amount = removed; } + else // Container to buffer { - amount = FixedPoint2.Min(amount, containerSolution.GetReagentQuantity(id)); - if (bufferSolution.MaxVolume.Value > 0) //Goobstation - chemicalbuffer if no limit - amount = FixedPoint2.Min(amount, containerSolution.GetReagentQuantity(id), bufferSolution.AvailableVolume); + var available = FixedPoint2.Max(bufferSolution.AvailableVolume, FixedPoint2.Zero); + amount = FixedPoint2.Min(amount, containerSolution.GetReagentQuantity(id), available); + + if (amount <= FixedPoint2.Zero) + return; _solutionContainerSystem.RemoveReagent(containerSoln.Value, id, amount); - bufferSolution.AddReagent(id, amount); + _solutionContainerSystem.TryAddReagent(bufferSoln.Value, id, amount, out _); } - if (actor.HasValue) // Goob - logging + if (actor.HasValue) + { _adminLogger.Add(LogType.Storage, - LogImpact.Low, - $"{ToPrettyString(actor)} transferred {amount}u of {id} {(!fromBuffer ? "from" : "to")}" + - $" {ToPrettyString(containerSoln)} {(fromBuffer ? "from" : "to")} {ToPrettyString(chemMaster)}"); + LogImpact.Low, + $"{ToPrettyString(actor)} transferred {amount}u of {id} {(!fromBuffer ? "from" : "to")}" + + $" {ToPrettyString(containerSoln)} {(fromBuffer ? "from" : "to")} {ToPrettyString(chemMaster)}"); + // Arcane-Edit-End + } UpdateUiState(chemMaster, updateLabel: true); } @@ -208,21 +224,33 @@ private void DiscardReagents(Entity chemMaster, ReagentId i { if (fromBuffer) { - if (_solutionContainerSystem.TryGetSolution(chemMaster.Owner, SharedChemMaster.BufferSolutionName, out _, out var bufferSolution)) - bufferSolution.RemoveReagent(id, amount, preserveOrder: true); + // Arcane-Edit-Start + if (_solutionContainerSystem.TryGetSolution(chemMaster.Owner, SharedChemMaster.BufferSolutionName, out var bufferSoln, out var bufferSolution)) + { + var removed = FixedPoint2.Min(amount, bufferSolution.GetReagentQuantity(id)); + if (removed <= FixedPoint2.Zero) + return; + + _solutionContainerSystem.RemoveReagent(bufferSoln.Value, id, removed); + } else + { return; + } } else { var container = _itemSlotsSystem.GetItemOrNull(chemMaster, SharedChemMaster.InputSlotName); - if (container is not null && - _solutionContainerSystem.TryGetFitsInDispenser(container.Value, out var containerSolution, out _)) - { - _solutionContainerSystem.RemoveReagent(containerSolution.Value, id, amount); - } - else + if (container is null || + !_solutionContainerSystem.TryGetFitsInDispenser(container.Value, out var containerSoln, out var containerSolution)) return; + + var removed = FixedPoint2.Min(amount, containerSolution.GetReagentQuantity(id)); + if (removed <= FixedPoint2.Zero) + return; + + _solutionContainerSystem.RemoveReagent(containerSoln.Value, id, removed); + // Arcane-Edit-End } UpdateUiState(chemMaster, updateLabel: fromBuffer); @@ -354,11 +382,10 @@ private void ClickSound(Entity chemMaster) if (container is not { Valid: true }) return null; - if (!TryComp(container, out FitsInDispenserComponent? fits) - || !_solutionContainerSystem.TryGetSolution(container.Value, fits.Solution, out _, out var solution)) - { + // Arcane-Edit-Start + if (!_solutionContainerSystem.TryGetFitsInDispenser(container.Value, out _, out var solution)) return null; - } + // Arcane-Edit-End return BuildContainerInfo(Name(container.Value), solution); } diff --git a/Content.Server/Destructible/Thresholds/Behaviors/ChangeConstructionNodeBehavior.cs b/Content.Server/Destructible/Thresholds/Behaviors/ChangeConstructionNodeBehavior.cs index 3aae56842e5..b2099bd5fcd 100644 --- a/Content.Server/Destructible/Thresholds/Behaviors/ChangeConstructionNodeBehavior.cs +++ b/Content.Server/Destructible/Thresholds/Behaviors/ChangeConstructionNodeBehavior.cs @@ -14,6 +14,7 @@ // SPDX-License-Identifier: MIT using Content.Server.Construction.Components; +using Content.Shared.Construction; namespace Content.Server.Destructible.Thresholds.Behaviors { @@ -29,7 +30,15 @@ public void Execute(EntityUid owner, DestructibleSystem system, EntityUid? cause if (string.IsNullOrEmpty(Node) || !system.EntityManager.TryGetComponent(owner, out ConstructionComponent? construction)) return; + // Arcane-Start + // Raise MachineDeconstructedEvent before ChangeNode so that systems like + // ChemMasterBeakerCapacitySystem can return buffer contents to machine_parts + // before the containers are transferred to the new MachineFrame entity. + if (Node == "machineFrame") + system.EntityManager.EventBus.RaiseLocalEvent(owner, new MachineDeconstructedEvent()); + // Arcane-End + system.ConstructionSystem.ChangeNode(owner, null, Node, true, construction); } } -} \ No newline at end of file +} diff --git a/Content.Server/Medical/CryoPodSystem.cs b/Content.Server/Medical/CryoPodSystem.cs index ad27684d8d8..b6b2ad7cbd9 100644 --- a/Content.Server/Medical/CryoPodSystem.cs +++ b/Content.Server/Medical/CryoPodSystem.cs @@ -62,6 +62,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later using Content.Server.Administration.Logs; +using Content.Server.Atmos.Components; using Content.Server.Atmos.EntitySystems; using Content.Server.Atmos.Piping.Components; using Content.Server.Atmos.Piping.Unary.EntitySystems; @@ -70,11 +71,13 @@ using Content.Server.NodeContainer.NodeGroups; using Content.Server.NodeContainer.Nodes; using Content.Server.Temperature.Components; +using Content.Server.Temperature.Systems; using Content.Shared.Actions; using Content.Shared.Atmos; using Content.Shared.Bed.Sleep; using Content.Shared.Body.Components; using Content.Shared.Chemistry.EntitySystems; +using Content.Shared.Inventory; using Content.Shared.Medical.Cryogenics; using Content.Shared.MedicalScanner; using Content.Shared.UserInterface; @@ -89,6 +92,10 @@ public sealed partial class CryoPodSystem : SharedCryoPodSystem [Dependency] private readonly AtmosphereSystem _atmosphereSystem = default!; [Dependency] private readonly SharedActionsSystem _actionsSystem = default!; [Dependency] private readonly GasCanisterSystem _gasCanisterSystem = default!; + // Arcane-Start + [Dependency] private readonly TemperatureSystem _temperature = default!; + [Dependency] private readonly InventorySystem _inventory = default!; + // Arcane-End [Dependency] private readonly NodeContainerSystem _nodeContainer = default!; [Dependency] private readonly SharedUserInterfaceSystem _uiSystem = default!; [Dependency] private readonly SharedSolutionContainerSystem _solutionContainerSystem = default!; @@ -148,6 +155,43 @@ private void OnCryoPodUpdateAtmosphere(Entity entity, ref Atmo { _gasCanisterSystem.MixContainerWithPipeNet(cryoPodAir.Air, net.Air); } + // Arcane-Start + if (HasComp(entity) + && entity.Comp.BodyContainer.ContainedEntity is { } patient + && TryComp(patient, out var patientTemperature)) + { + TryCryoCool(patient, patientTemperature, cryoPodAir.Air.Temperature, entity.Comp); + } + } + + private void TryCryoCool(EntityUid patient, TemperatureComponent patientTemperature, float targetTemperature, CryoPodComponent cryoPod) + { + var currentTemperature = patientTemperature.CurrentTemperature; + if (currentTemperature <= targetTemperature) + return; + + var ignoreResistance = true; + + if (_inventory.TryGetSlotEntity(patient, "outerClothing", out var suit)) + { + var hasTemp = HasComp(suit); + var hasPress = HasComp(suit); + + if (hasTemp && hasPress) + ignoreResistance = false; + } + + var temperatureStep = MathF.Min( + currentTemperature - targetTemperature, + MathF.Max(0.1f, (currentTemperature - targetTemperature) * 0.1f * cryoPod.CoolingEfficiency)); + + var heatCapacity = _temperature.GetHeatCapacity(patient, patientTemperature); + _temperature.ChangeHeat( + patient, + -temperatureStep * heatCapacity, + ignoreHeatResistance: ignoreResistance, + temperature: patientTemperature); + // Arcane-End } private void OnGasAnalyzed(Entity entity, ref GasAnalyzerScanEvent args) diff --git a/Content.Server/_Arcane/Chemistry/Components/ChemMasterBeakerCapacityComponent.cs b/Content.Server/_Arcane/Chemistry/Components/ChemMasterBeakerCapacityComponent.cs new file mode 100644 index 00000000000..4ba0f88b292 --- /dev/null +++ b/Content.Server/_Arcane/Chemistry/Components/ChemMasterBeakerCapacityComponent.cs @@ -0,0 +1,25 @@ +using Content.Goobstation.Maths.FixedPoint; + +namespace Content.Server._Arcane.Chemistry.Components; + +/// +/// Enables dynamic buffer capacity for ChemMaster based on the first two +/// FitsInDispenser machine parts inserted during construction. +/// Capacity = sum(beaker.MaxVol) * Multiplier. +/// Transfer from construction beakers to buffer happens exactly once on MapInit. +/// +[RegisterComponent] +public sealed partial class ChemMasterBeakerCapacityComponent : Component +{ + [DataField] + public float Multiplier = 10f; + + [DataField] + public FixedPoint2 FallbackCapacity = FixedPoint2.New(1000); + + /// + /// True after the one-time post-assembly transfer from construction beakers to buffer. + /// Prevents repeated draining on subsequent events. + /// + public bool InitializedFromConstructionBeakers; +} diff --git a/Content.Server/_Arcane/Chemistry/EntitySystems/ChemMasterBeakerCapacitySystem.cs b/Content.Server/_Arcane/Chemistry/EntitySystems/ChemMasterBeakerCapacitySystem.cs new file mode 100644 index 00000000000..3bf19428bf0 --- /dev/null +++ b/Content.Server/_Arcane/Chemistry/EntitySystems/ChemMasterBeakerCapacitySystem.cs @@ -0,0 +1,198 @@ +using Content.Server._Arcane.Chemistry.Components; +using Content.Server.Containers; +using Content.Server.Construction; +using Content.Server.Fluids.EntitySystems; +using Content.Shared.Chemistry; +using Content.Shared.Chemistry.Components; +using Content.Shared.Chemistry.EntitySystems; +using Content.Shared.Construction; +using Content.Goobstation.Maths.FixedPoint; +using Robust.Shared.Containers; +using System.Linq; + +namespace Content.Server._Arcane.Chemistry.EntitySystems; + +/// +/// Manages buffer capacity of ChemMaster based on two internal capacity beakers. +/// Transfers beaker contents to buffer and sets capacity. +/// +public sealed class ChemMasterBeakerCapacitySystem : EntitySystem +{ + [Dependency] private readonly SharedSolutionContainerSystem _solutions = default!; + [Dependency] private readonly SharedContainerSystem _containers = default!; + [Dependency] private readonly PuddleSystem _puddle = default!; + + private const string MachinePartsContainerName = "machine_parts"; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnAfterConstruction); + SubscribeLocalEvent(OnMapInit); + SubscribeLocalEvent(OnInserted); + SubscribeLocalEvent(OnRemoved); + + SubscribeLocalEvent( + OnMachineDeconstructed, + before: [typeof(EmptyOnMachineDeconstructSystem)]); + + SubscribeLocalEvent(OnShutdown); + } + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + RecalculateCapacity(ent); + } + + private void OnInserted(Entity ent, ref EntInsertedIntoContainerMessage args) + { + if (args.Container.ID != MachinePartsContainerName) + return; + + if (!HasComp(args.Entity)) + return; + + RecalculateCapacity(ent); + } + + private void OnRemoved(Entity ent, ref EntRemovedFromContainerMessage args) + { + if (args.Container.ID != MachinePartsContainerName) + return; + + if (!HasComp(args.Entity)) + return; + + RecalculateCapacity(ent); + } + + private void OnAfterConstruction(Entity ent, ref AfterConstructionChangeEntityEvent args) + { + if (ent.Comp.InitializedFromConstructionBeakers) + return; + + RecalculateCapacity(ent); + + if (TransferConstructionBeakersToBuffer(ent)) + { + ent.Comp.InitializedFromConstructionBeakers = true; + RecalculateCapacity(ent); + } + } + + private void OnMachineDeconstructed(Entity ent, ref MachineDeconstructedEvent args) + { + ReturnBufferToConstructionBeakers(ent); + ent.Comp.InitializedFromConstructionBeakers = false; + } + + private void OnShutdown(Entity ent, ref ComponentShutdown args) + { + if (!_solutions.TryGetSolution(ent.Owner, SharedChemMaster.BufferSolutionName, out _, out var buffer) + || buffer.Volume == FixedPoint2.Zero) + { + return; + } + + var coords = Transform(ent.Owner).Coordinates; + _puddle.TrySpillAt(coords, buffer.SplitSolution(buffer.Volume), out _); + } + + private IEnumerable GetConstructionBeakers(EntityUid uid) + { + if (!TryComp(uid, out var manager)) + yield break; + + if (!_containers.TryGetContainer(uid, MachinePartsContainerName, out var container, manager)) + yield break; + + var found = 0; + foreach (var entity in container.ContainedEntities) + { + if (!HasComp(entity)) + continue; + + yield return entity; + found++; + + if (found >= 2) + yield break; + } + } + + private void RecalculateCapacity(Entity ent) + { + if (!_solutions.TryGetSolution(ent.Owner, SharedChemMaster.BufferSolutionName, out var bufferSoln, out var buffer)) + return; + + var total = FixedPoint2.Zero; + + foreach (var beaker in GetConstructionBeakers(ent.Owner)) + { + if (_solutions.TryGetFitsInDispenser(beaker, out _, out var beakerSolution)) + total += beakerSolution.MaxVolume; + } + + var targetCapacity = total == FixedPoint2.Zero + ? ent.Comp.FallbackCapacity + : total * ent.Comp.Multiplier; + + targetCapacity = FixedPoint2.Max(targetCapacity, buffer.Volume); + _solutions.SetCapacity(bufferSoln.Value, targetCapacity); + } + + private bool TransferConstructionBeakersToBuffer(Entity ent) + { + if (!_solutions.TryGetSolution(ent.Owner, SharedChemMaster.BufferSolutionName, out var bufferSoln, out _)) + return false; + + var beakers = GetConstructionBeakers(ent.Owner).ToList(); + if (beakers.Count == 0) + return false; + + var transferred = false; + foreach (var beaker in beakers) + { + if (!_solutions.TryGetFitsInDispenser(beaker, out var beakerSoln, out var beakerSolution) + || beakerSolution.Volume == FixedPoint2.Zero) + continue; + + var split = _solutions.SplitSolution(beakerSoln!.Value, beakerSolution.Volume); + _solutions.TryAddSolution(bufferSoln.Value, split); + transferred = true; + } + + return transferred; + } + private void ReturnBufferToConstructionBeakers(Entity ent) + { + if (!_solutions.TryGetSolution(ent.Owner, SharedChemMaster.BufferSolutionName, out var bufferSoln, out var buffer) + || buffer.Volume == FixedPoint2.Zero) + { + return; + } + + foreach (var beaker in GetConstructionBeakers(ent.Owner)) + { + if (buffer.Volume == FixedPoint2.Zero) + return; + + if (!_solutions.TryGetFitsInDispenser(beaker, out var beakerSoln, out var beakerSolution)) + continue; + + var canFit = beakerSolution.AvailableVolume; + if (canFit <= FixedPoint2.Zero) + continue; + + var toTransfer = FixedPoint2.Min(canFit, buffer.Volume); + _solutions.TryAddSolution(beakerSoln.Value, _solutions.SplitSolution(bufferSoln.Value, toTransfer)); + } + + if (buffer.Volume > FixedPoint2.Zero) + { + var coords = Transform(ent.Owner).Coordinates; + _puddle.TrySpillAt(coords, _solutions.SplitSolution(bufferSoln.Value, buffer.Volume), out _); + } + } +} diff --git a/Content.Server/_Shitmed/PartStatus/PartStatusSystem.cs b/Content.Server/_Shitmed/PartStatus/PartStatusSystem.cs index cb71a1af60d..51ce5c883cd 100644 --- a/Content.Server/_Shitmed/PartStatus/PartStatusSystem.cs +++ b/Content.Server/_Shitmed/PartStatus/PartStatusSystem.cs @@ -171,9 +171,13 @@ private HashSet CollectPartStatuses(Entity rootPa || wound.Comp.WoundSeverity == WoundSeverity.Healed) continue; - if (!damageSeverities.TryGetValue(wound.Comp.DamageType, out var existingSeverity) || + // Arcane-Edit-Start + var damageKey = wound.Comp.DamageGroup; + + if (!damageSeverities.TryGetValue(damageKey, out var existingSeverity) || wound.Comp.WoundSeverity > existingSeverity) - damageSeverities[_proto.Index(wound.Comp.DamageGroup).LocalizedName] = wound.Comp.WoundSeverity; + damageSeverities[damageKey] = wound.Comp.WoundSeverity; + // Arcane-Edit-End if (TryComp(wound, out var bleeds) && bleeds.IsBleeding) isBleeding = true; @@ -321,7 +325,8 @@ private List GetDamageGroupDescriptions(Dictionary WoundSeverity.Severe ? WoundSeverity.Severe : severity; - var localeText = $"inspect-wound-{type}-{cappedSeverity.ToString().ToLower()}"; + var prefix = inspectingSelf ? "self-inspect-wound" : "inspect-wound"; // Arcane + var localeText = $"{prefix}-{type}-{cappedSeverity.ToString().ToLower()}"; // Arcane-Edit descriptions.Add(Loc.GetString(localeText)); } @@ -350,7 +355,8 @@ private List GetTraumaDescriptions(PartStatus partStatus, bool inspectin // Add bleeding status if (partStatus.Bleeding) { - var localeText = "inspect-wound-Bleeding-moderate"; + var prefix = inspectingSelf ? "self-inspect-wound" : "inspect-wound"; // Arcane + var localeText = $"{prefix}-Bleeding-moderate"; // Arcane-Edit descriptions.Add(Loc.GetString(localeText)); } diff --git a/Content.Shared/Atmos/Atmospherics.cs b/Content.Shared/Atmos/Atmospherics.cs index 8dc047ca427..7010cdf6b1f 100644 --- a/Content.Shared/Atmos/Atmospherics.cs +++ b/Content.Shared/Atmos/Atmospherics.cs @@ -460,7 +460,7 @@ public static class Atmospherics /// (The pressure threshold is so low that it doesn't make sense to do any calculations, /// so it just applies this flat value). /// - public const int LowPressureDamage = 4; + public const int LowPressureDamage = 8; // Arcane-Edit: 4 > 8 public const float WindowHeatTransferCoefficient = 0.1f; diff --git a/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs b/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs index 4f999b28c0d..270bae9b7e4 100644 --- a/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs +++ b/Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs @@ -84,6 +84,8 @@ using Content.Shared.Interaction; using Content.Shared.Popups; using Content.Shared.Verbs; +using Robust.Shared.Audio; +using Robust.Shared.Audio.Systems; namespace Content.Shared.Chemistry.EntitySystems; @@ -97,6 +99,9 @@ public sealed class SolutionTransferSystem : EntitySystem [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedSolutionContainerSystem _solution = default!; [Dependency] private readonly SharedUserInterfaceSystem _ui = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; // Arcane + + private static readonly SoundSpecifier LiquidPourSound = new SoundCollectionSpecifier("LiquidPour", AudioParams.Default.WithVariation(0.2f)); // Arcane /// /// Default transfer amounts for the set-transfer verb. @@ -205,6 +210,7 @@ private void OnAfterInteract(Entity ent, ref AfterInt : "comp-solution-transfer-fill-normal"; _popup.PopupClient(Loc.GetString(msg, ("owner", args.Target), ("amount", transferred), ("target", uid)), uid, args.User); + _audio.PlayPredicted(LiquidPourSound, target, args.User); // Arcane return; } } @@ -215,17 +221,42 @@ private void OnAfterInteract(Entity ent, ref AfterInt && _solution.TryGetRefillableSolution((target, targetRefill, null), out targetSoln, out _) && _solution.TryGetDrainableSolution(uid, out ownerSoln, out _)) { + // Arcane-Start + var isChemMasterTarget = HasComp(target); + var isInsertableBeaker = HasComp(uid); + + if (isChemMasterTarget && isInsertableBeaker) + return; + // Arcane-End + var transferAmount = comp.TransferAmount; if (targetRefill?.MaxRefill is {} maxRefill) transferAmount = FixedPoint2.Min(transferAmount, maxRefill); + // Arcane-Start + if (isChemMasterTarget) + { + var targetSolution = targetSoln.Value.Comp.Solution; + var ownerSolution = ownerSoln.Value.Comp.Solution; + + var available = FixedPoint2.Max(targetSolution.AvailableVolume, FixedPoint2.Zero); + if (available <= FixedPoint2.Zero || ownerSolution.Volume <= FixedPoint2.Zero) + return; + + transferAmount = FixedPoint2.Min(transferAmount, ownerSolution.Volume, available); + if (transferAmount <= FixedPoint2.Zero) + return; + } + // Arcane-End + var transferred = Transfer(args.User, uid, ownerSoln.Value, target, targetSoln.Value, transferAmount); args.Handled = true; if (transferred > 0) { var message = Loc.GetString("comp-solution-transfer-transfer-solution", ("amount", transferred), ("target", target)); _popup.PopupClient(message, uid, args.User); + _audio.PlayPredicted(LiquidPourSound, target, args.User); // Arcane } } } diff --git a/Content.Shared/Chemistry/SharedChemMaster.cs b/Content.Shared/Chemistry/SharedChemMaster.cs index 6d07d7e5bef..c34c333e936 100644 --- a/Content.Shared/Chemistry/SharedChemMaster.cs +++ b/Content.Shared/Chemistry/SharedChemMaster.cs @@ -191,6 +191,9 @@ public sealed class ChemMasterBoundUserInterfaceState : BoundUserInterfaceState public readonly ChemMasterSortingType SortingType; public readonly FixedPoint2? BufferCurrentVolume; + + public readonly FixedPoint2? BufferMaxVolume; // Arcane + public readonly uint SelectedPillType; public readonly uint PillDosageLimit; @@ -200,7 +203,8 @@ public sealed class ChemMasterBoundUserInterfaceState : BoundUserInterfaceState public ChemMasterBoundUserInterfaceState( ChemMasterMode mode, ChemMasterSortingType sortingType, ContainerInfo? inputContainerInfo, ContainerInfo? outputContainerInfo, IReadOnlyList bufferReagents, FixedPoint2 bufferCurrentVolume, - uint selectedPillType, uint pillDosageLimit, bool updateLabel) + uint selectedPillType, uint pillDosageLimit, bool updateLabel, // Arcane-Edit + FixedPoint2 bufferMaxVolume = default) // Arcane { InputContainerInfo = inputContainerInfo; OutputContainerInfo = outputContainerInfo; @@ -208,6 +212,7 @@ public ChemMasterBoundUserInterfaceState( Mode = mode; SortingType = sortingType; BufferCurrentVolume = bufferCurrentVolume; + BufferMaxVolume = bufferMaxVolume; // Arcane SelectedPillType = selectedPillType; PillDosageLimit = pillDosageLimit; UpdateLabel = updateLabel; diff --git a/Content.Shared/EntityEffects/EffectConditions/MobStateCondition.cs b/Content.Shared/EntityEffects/EffectConditions/MobStateCondition.cs index 1b51b64adb3..9292530476f 100644 --- a/Content.Shared/EntityEffects/EffectConditions/MobStateCondition.cs +++ b/Content.Shared/EntityEffects/EffectConditions/MobStateCondition.cs @@ -19,6 +19,11 @@ public override bool Condition(EntityEffectBaseArgs args) { if (args.EntityManager.TryGetComponent(args.TargetEntity, out MobStateComponent? mobState)) { + // Arcane-Start + if (Mobstate == MobState.Critical) + return mobState.CurrentState == MobState.SoftCritical + || mobState.CurrentState == MobState.HardCritical; + // Arcane-End if (mobState.CurrentState == Mobstate) return true; } diff --git a/Content.Shared/EntityEffects/EffectConditions/ReagentThreshold.cs b/Content.Shared/EntityEffects/EffectConditions/ReagentThreshold.cs index bdca5f58608..7d88afcf2a4 100644 --- a/Content.Shared/EntityEffects/EffectConditions/ReagentThreshold.cs +++ b/Content.Shared/EntityEffects/EffectConditions/ReagentThreshold.cs @@ -28,13 +28,42 @@ public sealed partial class ReagentThreshold : EntityEffectCondition [DataField] public string? Reagent; + // Arcane-Start + /// + /// Multiple reagent IDs, checked with OR logic (any one meeting Min/Max passes the condition). + /// + [DataField] + public List>? Reagents; + // Arcane-End + public override bool Condition(EntityEffectBaseArgs args) { if (args is EntityEffectReagentArgs reagentArgs) { + /* Arcane-Edit-Start: Moved var reagent = Reagent ?? reagentArgs.Reagent?.ID; if (reagent == null) return true; // No condition to apply. + */ // Arcane-Edit-End + + // Arcane-Start + if (Reagents != null) + { + foreach (var r in Reagents) + { + var q = FixedPoint2.Zero; + if (reagentArgs.Source != null) + q = reagentArgs.Source.GetTotalPrototypeQuantity(r); + if (q >= Min && q <= Max) + return true; + } + return false; + } + + var reagent = Reagent ?? reagentArgs.Reagent?.ID; + if (reagent == null) + return true; // No condition to apply. + // Arcane-End var quant = FixedPoint2.Zero; if (reagentArgs.Source != null) @@ -53,6 +82,25 @@ public override string GuidebookExplanation(IPrototypeManager prototype) if (Reagent is not null) prototype.TryIndex(Reagent, out reagentProto); + // Arcane-Start + if (Reagents != null) + { + var names = new List(); + foreach (var reagentId in Reagents) + { + if (prototype.TryIndex(reagentId, out ReagentPrototype? rProto)) + names.Add(rProto.LocalizedName); + } + + return Loc.GetString("reagent-effect-condition-guidebook-reagent-threshold", + ("reagent", names.Count > 0 + ? string.Join(", ", names) + : Loc.GetString("reagent-effect-condition-guidebook-this-reagent")), + ("max", Max == FixedPoint2.MaxValue ? int.MaxValue : Max.Float()), + ("min", Min.Float())); + } + // Arcane-End + return Loc.GetString("reagent-effect-condition-guidebook-reagent-threshold", ("reagent", reagentProto?.LocalizedName ?? Loc.GetString("reagent-effect-condition-guidebook-this-reagent")), ("max", Max == FixedPoint2.MaxValue ? int.MaxValue : Max.Float()), diff --git a/Content.Shared/EntityEffects/Effects/AdjustReagent.cs b/Content.Shared/EntityEffects/Effects/AdjustReagent.cs index 6a007095f3a..38d2cce1e4c 100644 --- a/Content.Shared/EntityEffects/Effects/AdjustReagent.cs +++ b/Content.Shared/EntityEffects/Effects/AdjustReagent.cs @@ -45,6 +45,23 @@ public sealed partial class AdjustReagent : EntityEffect [DataField(customTypeSerializer: typeof(PrototypeIdSerializer))] public string? Group; + // Arcane-Start + /// + /// Multiple reagent IDs to adjust. Used alongside or instead of . + /// + [DataField] + public List>? Reagents; + + /// + /// Multiple metabolism groups to adjust. Used alongside or instead of . + /// + [DataField] + public List>? Groups; + + [DataField] + public bool ExcludeSelf = false; + // Arcane-End + [DataField(required: true)] public FixedPoint2 Amount; @@ -70,6 +87,11 @@ public override void Effect(EntityEffectBaseArgs args) var prototypeMan = IoCManager.Resolve(); foreach (var quant in reagentArgs.Source.Contents.ToArray()) { + // Arcane-Start + if (ExcludeSelf && reagentArgs.Reagent != null && + quant.Reagent.Prototype == reagentArgs.Reagent.ID) + continue; + // Arcane-End var proto = prototypeMan.Index(quant.Reagent.Prototype); if (proto.Metabolisms != null && proto.Metabolisms.ContainsKey(Group)) { @@ -80,6 +102,49 @@ public override void Effect(EntityEffectBaseArgs args) } } } + // Arcane-Start + if (Reagents != null) + { + foreach (var reagentId in Reagents) + { + if (amount < 0 && reagentArgs.Source.ContainsPrototype(reagentId)) + reagentArgs.Source.RemoveReagent(reagentId, -amount); + if (amount > 0) + reagentArgs.Source.AddReagent(reagentId, amount); + } + } + if (Groups != null) + { + var protoMan = IoCManager.Resolve(); + foreach (var quant in reagentArgs.Source.Contents.ToArray()) + { + if (ExcludeSelf && reagentArgs.Reagent != null && + quant.Reagent.Prototype == reagentArgs.Reagent.ID) + continue; + + var proto = protoMan.Index(quant.Reagent.Prototype); + if (proto.Metabolisms == null) + continue; + + var matchesAny = false; + foreach (var groupId in Groups) + { + if (proto.Metabolisms.ContainsKey(groupId)) + { + matchesAny = true; + break; + } + } + if (!matchesAny) + continue; + + if (amount < 0) + reagentArgs.Source.RemoveReagent(quant.Reagent, -amount); + if (amount > 0) + reagentArgs.Source.AddReagent(quant.Reagent, amount); + } + } + // Arcane-End return; } @@ -106,6 +171,35 @@ public override void Effect(EntityEffectBaseArgs args) ("group", groupProto.LocalizedName), ("amount", MathF.Abs(Amount.Float()))); } + // Arcane-Start + if (Reagents != null || Groups != null) + { + var names = new List(); + + if (Reagents != null) + { + foreach (var reagentId in Reagents) + { + if (prototype.TryIndex(reagentId, out ReagentPrototype? rProto)) + names.Add(rProto.LocalizedName); + } + } + + if (Groups != null) + { + foreach (var groupId in Groups) + { + if (prototype.TryIndex(groupId, out MetabolismGroupPrototype? gProto)) + names.Add(gProto.LocalizedName); + } + } + return Loc.GetString("reagent-effect-guidebook-adjust-reagent-group", + ("chance", Probability), + ("deltasign", MathF.Sign(Amount.Float())), + ("group", names.Count > 0 ? string.Join(", ", names) : "..."), + ("amount", MathF.Abs(Amount.Float()))); + } + // Arcane-End throw new NotImplementedException(); } diff --git a/Content.Shared/EntityEffects/Effects/Oxygenate.cs b/Content.Shared/EntityEffects/Effects/Oxygenate.cs index e990a3fec6a..53c6ef035b0 100644 --- a/Content.Shared/EntityEffects/Effects/Oxygenate.cs +++ b/Content.Shared/EntityEffects/Effects/Oxygenate.cs @@ -7,7 +7,16 @@ public sealed partial class Oxygenate : EventEntityEffect [DataField] public float Factor = 1f; + // Arcane-Start + protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) + => Loc.GetString("reagent-effect-guidebook-oxygenate", + ("chance", Probability), + ("factor", Factor)); + // Arcane-End + + /* Arcane-Edit-Start // JUSTIFICATION: This is internal magic that players never directly interact with. protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) => null; + */ // Arcane-Edit-End } diff --git a/Content.Shared/Medical/Healing/HealingComponent.cs b/Content.Shared/Medical/Healing/HealingComponent.cs index 588aef36f1b..963de7517fb 100644 --- a/Content.Shared/Medical/Healing/HealingComponent.cs +++ b/Content.Shared/Medical/Healing/HealingComponent.cs @@ -31,6 +31,16 @@ public sealed partial class HealingComponent : Component [DataField, AutoNetworkedField] public float ModifyBloodLevel = 0.0f; + // Arcane-Start + /// + /// If true, when auto-targeting body parts, bleeding limbs are prioritized + /// (sorted descending by bleed amount) over damage-only limbs. + /// Only falls back to damage priority when no limb has active bleeding. + /// + [DataField, AutoNetworkedField] + public bool PrioritizeBleeding = false; + // Arcane-End + /// /// The supported damage types are specified using a s. For a /// HealingComponent this filters what damage container type this component should work on. If null, @@ -43,13 +53,13 @@ public sealed partial class HealingComponent : Component /// How long it takes to apply the damage. /// [DataField, AutoNetworkedField] - public TimeSpan Delay = TimeSpan.FromSeconds(2f); //Was 3f, changed due to Surgery Changes (Goobstation) + public TimeSpan Delay = TimeSpan.FromSeconds(1f); //Was 3f, changed due to Surgery Changes (Goobstation) // Arcane-Edit: 2 > 1 /// /// Delay multiplier when healing yourself. /// [DataField, AutoNetworkedField] - public float SelfHealPenaltyMultiplier = 2f; //Was 3f, changed due to Surgery Changes (Goobstation) + public float SelfHealPenaltyMultiplier = 6f; //Was 3f, changed due to Surgery Changes (Goobstation) // Arcane-Edit: 2 > 6 /// /// Sound played on healing begin. @@ -62,4 +72,12 @@ public sealed partial class HealingComponent : Component /// [DataField] public SoundSpecifier? HealingEndSound = null; + + // Arcane-Start + /// + /// Sound played on full healing end. + /// + [DataField, AutoNetworkedField] + public SoundSpecifier? HealingFullEndSound = null; + // Arcane-End } diff --git a/Content.Shared/Medical/Healing/HealingSystem.cs b/Content.Shared/Medical/Healing/HealingSystem.cs index 666e1d6959a..63b98441dd5 100644 --- a/Content.Shared/Medical/Healing/HealingSystem.cs +++ b/Content.Shared/Medical/Healing/HealingSystem.cs @@ -215,6 +215,7 @@ target.Comp.DamageContainerID is not null && if (!args.Repeat) { _popupSystem.PopupClient(Loc.GetString("medical-item-finished-using", ("item", args.Used)), target.Owner, args.User); + _audio.PlayPredicted(healing.HealingFullEndSound, target.Owner, args.User); // Arcane return; } @@ -418,14 +419,53 @@ private void OnBodyDoAfter(EntityUid ent, BodyComponent comp, ref HealingDoAfter // Iterate over the parts in the predefined order until we run out of parts or run out of healing var woundablesQueue = new Queue(); woundablesQueue.Enqueue(targetedWoundable); - for (var i = 0; i < _partHealingOrder.Length; i++) + // Arcane-Start + if (healing.PrioritizeBleeding) { - var (partType, symmetry) = _bodySystem.ConvertTargetBodyPart(_partHealingOrder[i]); - var targetedBodyPart = _bodySystem.GetBodyChildrenOfType(ent, partType, comp, symmetry).ToList().FirstOrDefault(); - if (targetedBodyPart.Id == targetedWoundable) - continue; - woundablesQueue.Enqueue(targetedBodyPart.Id); + // Collect all other parts with bleed amounts + var bleeding = new List<(EntityUid Id, FixedPoint2 Bleed)>(); + var nonBleeding = new List(); + + if (TryComp(targetedWoundable, out var targetWc) && targetWc.Bleeds > FixedPoint2.Zero) + bleeding.Add((targetedWoundable, targetWc.Bleeds)); + + for (var i = 0; i < _partHealingOrder.Length; i++) + { + var (pt, sym) = _bodySystem.ConvertTargetBodyPart(_partHealingOrder[i]); + var bp = _bodySystem.GetBodyChildrenOfType(ent, pt, comp, sym).ToList().FirstOrNull(); + if (bp == null || bp.Value.Id == targetedWoundable) + continue; + + if (TryComp(bp.Value.Id, out var wc) && wc.Bleeds > FixedPoint2.Zero) + bleeding.Add((bp.Value.Id, wc.Bleeds)); + else + nonBleeding.Add(bp.Value.Id); + } + + // Bleeding limbs first, sorted by severity desc. Then damage-only limbs + bleeding.Sort((a, b) => b.Bleed.CompareTo(a.Bleed)); + + woundablesQueue.Clear(); + foreach (var (id, _) in bleeding) + woundablesQueue.Enqueue(id); + if (nonBleeding.Contains(targetedWoundable) || !bleeding.Any(b => b.Id == targetedWoundable)) + foreach (var id in nonBleeding) + woundablesQueue.Enqueue(id); + } + // Arcane-End + // Arcane-Edit-Start + else + { + for (var i = 0; i < _partHealingOrder.Length; i++) + { + var (partType, symmetry) = _bodySystem.ConvertTargetBodyPart(_partHealingOrder[i]); + var targetedBodyPart = _bodySystem.GetBodyChildrenOfType(ent, partType, comp, symmetry).ToList().FirstOrDefault(); + if (targetedBodyPart.Id == targetedWoundable) + continue; + woundablesQueue.Enqueue(targetedBodyPart.Id); + } } + // Arcane-Edit-End while (woundablesQueue.Count > 0 && healingLeft.GetTotal() < 0.0) { canHeal = true; @@ -507,15 +547,24 @@ private void OnBodyDoAfter(EntityUid ent, BodyComponent comp, ref HealingDoAfter _audio.PlayPredicted(healing.HealingEndSound, ent, ent, AudioParams.Default.WithVariation(0.125f).WithVolume(1f)); // Goob edit // Logic to determine whether or not to repeat the healing action - args.Repeat = IsAnythingToHeal(args.User, ent, (args.Used.Value, healing)); // GOOBEDIT + args.Repeat = IsAnythingToHeal(args.User, ent, (args.Used.Value, healing)) && !dontRepeat; // GOOBEDIT // Arcane-Edit args.Handled = true; - if (args.Repeat || dontRepeat) + if (args.Repeat) // Arcane-Edit + return; + + // Arcane-Start + if (dontRepeat) + { + _audio.PlayPredicted(healing.HealingFullEndSound, ent, args.User); return; + } + // Arcane-End if (modifiedBleedStopAbility != -healing.BloodlossModifier) // Goobstation predicted --> client _popupSystem.PopupClient(Loc.GetString("medical-item-finished-using", ("item", args.Used)), ent, args.User, PopupType.Medium); + _audio.PlayPredicted(healing.HealingFullEndSound, ent, args.User); // Arcane } // Shitmed Change End @@ -638,7 +687,12 @@ public float GetScaledHealingPenalty(Entity(ent.Owner, out var consciousness)) - percentDamage *= (float) (consciousness.Threshold / consciousness.Cap - consciousness.Consciousness); + // Arcane-Edit-Start: BugFix + { + var consciousnessRatio = (float)((consciousness.Cap - consciousness.Consciousness) / (consciousness.Cap - consciousness.Threshold)); + percentDamage = Math.Max(percentDamage, Math.Clamp(consciousnessRatio, 0f, 1f)); + } + // Arcane-Edit-End //basically make it scale from 1 to the multiplier. var output = percentDamage * (mod - 1) + 1; diff --git a/Content.Shared/Power/EntitySystems/SharedPowerReceiverSystem.cs b/Content.Shared/Power/EntitySystems/SharedPowerReceiverSystem.cs index d9b270ebdc1..da27d2c8c4a 100644 --- a/Content.Shared/Power/EntitySystems/SharedPowerReceiverSystem.cs +++ b/Content.Shared/Power/EntitySystems/SharedPowerReceiverSystem.cs @@ -88,6 +88,17 @@ public void SetPowerDisabled(EntityUid uid, bool value, SharedApcPowerReceiverCo Dirty(uid, receiver); } + // Arcane-Start + public void SetBatteryRechargeRate(EntityUid uid, float value, ApcPowerReceiverBatteryComponent? battery = null) + { + if (!Resolve(uid, ref battery) || battery.BatteryRechargeRate == value) + return; + + battery.BatteryRechargeRate = value; + Dirty(uid, battery); + } + // Arcane-End + /// /// Turn this machine on or off. /// Returns true if we turned it on, false if we turned it off. diff --git a/Content.Shared/_Arcane/Chemistry/ChemMasterTransferTargetComponent.cs b/Content.Shared/_Arcane/Chemistry/ChemMasterTransferTargetComponent.cs new file mode 100644 index 00000000000..44bc7c90c46 --- /dev/null +++ b/Content.Shared/_Arcane/Chemistry/ChemMasterTransferTargetComponent.cs @@ -0,0 +1,10 @@ +namespace Content.Shared.Chemistry.Components; + +/// +/// Marker: generic solution transfer should treat this target specially. +/// Used by ChemMaster to avoid overfilling and to let inserted beakers transfer via slot logic. +/// +[RegisterComponent] +public sealed partial class ChemMasterTransferTargetComponent : Component +{ +} diff --git a/Content.Shared/_Arcane/EntityEffects/Special/ChemConvermol.cs b/Content.Shared/_Arcane/EntityEffects/Special/ChemConvermol.cs new file mode 100644 index 00000000000..26f92369fe9 --- /dev/null +++ b/Content.Shared/_Arcane/EntityEffects/Special/ChemConvermol.cs @@ -0,0 +1,100 @@ +using System.Collections.Generic; +using Content.Goobstation.Maths.FixedPoint; +using Content.Shared.Damage; +using Content.Shared.Damage.Components; +using Content.Shared.Damage.Prototypes; +using Content.Shared.EntityEffects; +using JetBrains.Annotations; +using Robust.Shared.IoC; +using Robust.Shared.Prototypes; + +namespace Content.Shared._Arcane.EntityEffects.Effects; + +/// +/// Heals Airloss damage group and deals proportional toxic byproducts +/// based on actual healing done. When not overdosed, healing is capped to +/// current damage + buffer, ensuring a minimum tox even with no airloss damage. +/// Overdose removes the cap. +/// +[UsedImplicitly] +public sealed partial class ChemConvermol : EntityEffect +{ + [DataField] + public ProtoId HealDamageGroup = "Airloss"; + + [DataField] + public ProtoId ToxDamageType = "Poison"; + + [DataField] + public float HealPerTick = 1f; + + [DataField] + public float Buffer = 0.5f; + + [DataField] + public float ToxRatio = 5f; + + [DataField] + public float OverdoseThreshold = 35f; + + protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) + => Loc.GetString("reagent-effect-guidebook-convermol", + ("chance", Probability), + ("rate", HealPerTick), + ("ratio", ToxRatio), + ("od", OverdoseThreshold)); + + public override void Effect(EntityEffectBaseArgs args) + { + if (args is not EntityEffectReagentArgs r) + return; + + if (!args.EntityManager.TryGetComponent(args.TargetEntity, out var dmg)) + return; + + var prototype = IoCManager.Resolve(); + var groupProto = prototype.Index(HealDamageGroup); + var damSys = args.EntityManager.System(); + + float currentDamage = 0f; + var damageByType = new Dictionary(); + + foreach (var damageTypeId in groupProto.DamageTypes) + { + if (!dmg.Damage.DamageDict.TryGetValue(damageTypeId, out var v)) + continue; + var val = v.Float(); + if (val <= 0f) + continue; + damageByType[damageTypeId] = val; + currentDamage += val; + } + + var potential = HealPerTick * r.Scale.Float(); + var overdosed = r.Quantity.Float() >= OverdoseThreshold; + + float actualHeal; + if (!overdosed) + actualHeal = Math.Max(0f, Math.Min(potential, currentDamage + Buffer)); + else + actualHeal = potential; + + if (actualHeal > 0f && currentDamage > 0f) + { + var healSpec = new DamageSpecifier(); + foreach (var (typeId, damage) in damageByType) + { + healSpec.DamageDict[typeId] = FixedPoint2.New(-(actualHeal * damage / currentDamage)); + } + damSys.TryChangeDamage(args.TargetEntity, healSpec, true, interruptsDoAfters: false); + } + + var tox = actualHeal / ToxRatio; + if (tox > 0f) + { + var toxSpec = new DamageSpecifier(); + toxSpec.DamageDict[ToxDamageType] = FixedPoint2.New(tox); + damSys.TryChangeDamage(args.TargetEntity, toxSpec, true, interruptsDoAfters: false); + } + } +} diff --git a/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour1.ogg b/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour1.ogg new file mode 100644 index 00000000000..f6c3ba45c60 Binary files /dev/null and b/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour1.ogg differ diff --git a/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour2.ogg b/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour2.ogg new file mode 100644 index 00000000000..9a52dd9a364 Binary files /dev/null and b/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour2.ogg differ diff --git a/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour3.ogg b/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour3.ogg new file mode 100644 index 00000000000..118431a4037 Binary files /dev/null and b/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour3.ogg differ diff --git a/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour4.ogg b/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour4.ogg new file mode 100644 index 00000000000..ea883a3cf88 Binary files /dev/null and b/Resources/Audio/_Arcane/Effects/liquid_pour/liquid_pour4.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/licenses.txt b/Resources/Audio/_Arcane/Items/Medical/licenses.txt new file mode 100644 index 00000000000..aa54896ebe3 --- /dev/null +++ b/Resources/Audio/_Arcane/Items/Medical/licenses.txt @@ -0,0 +1 @@ +All sounds in this folder are taken from TG GitHub (licensed under CC-BY-SA 3.0) at commit https://github.com/tgstation/tgstation/commit/770b310ce2513fe388af3d364cb40a858753aa0c and https://github.com/tgstation/tgstation/commit/7d659a521bd25f96a1213cc63ac1b26d3c2d2efc diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin1.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin1.ogg new file mode 100644 index 00000000000..68d096fc18a Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin1.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin2.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin2.ogg new file mode 100644 index 00000000000..82f5f696022 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin2.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin3.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin3.ogg new file mode 100644 index 00000000000..5bc067da0dd Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin3.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin4.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin4.ogg new file mode 100644 index 00000000000..c495557125e Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin4.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous1.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous1.ogg new file mode 100644 index 00000000000..d6fa5e5d317 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous1.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous2.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous2.ogg new file mode 100644 index 00000000000..1eae0ccf82d Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous2.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous3.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous3.ogg new file mode 100644 index 00000000000..46beeb2dfa9 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous3.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous4.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous4.ogg new file mode 100644 index 00000000000..c1755da4595 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous4.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous5.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous5.ogg new file mode 100644 index 00000000000..de9b4167b9c Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous5.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_drop1.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_drop1.ogg new file mode 100644 index 00000000000..047d9451554 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_drop1.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_end1.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_end1.ogg new file mode 100644 index 00000000000..aa7fa4ecdce Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_end1.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_end2.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_end2.ogg new file mode 100644 index 00000000000..d9c7cbb1a8f Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_end2.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_pickup1.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_pickup1.ogg new file mode 100644 index 00000000000..8d23fa33962 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_pickup1.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_pickup2.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_pickup2.ogg new file mode 100644 index 00000000000..800e06e8d37 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_pickup2.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_pickup3.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_pickup3.ogg new file mode 100644 index 00000000000..4a741ce142e Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_pickup3.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_ripped.ogg b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_ripped.ogg new file mode 100644 index 00000000000..f1bace4a3e2 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_ripped.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/suture/needle_pickup1.ogg b/Resources/Audio/_Arcane/Items/Medical/suture/needle_pickup1.ogg new file mode 100644 index 00000000000..97736fb9fc5 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/suture/needle_pickup1.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/suture/needle_pickup2.ogg b/Resources/Audio/_Arcane/Items/Medical/suture/needle_pickup2.ogg new file mode 100644 index 00000000000..ed11b470755 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/suture/needle_pickup2.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/suture/suture_begin1.ogg b/Resources/Audio/_Arcane/Items/Medical/suture/suture_begin1.ogg new file mode 100644 index 00000000000..dd1d26083a6 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/suture/suture_begin1.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/suture/suture_continuous1.ogg b/Resources/Audio/_Arcane/Items/Medical/suture/suture_continuous1.ogg new file mode 100644 index 00000000000..fad8217e7a3 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/suture/suture_continuous1.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/suture/suture_continuous2.ogg b/Resources/Audio/_Arcane/Items/Medical/suture/suture_continuous2.ogg new file mode 100644 index 00000000000..4dd256f07a4 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/suture/suture_continuous2.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/suture/suture_continuous3.ogg b/Resources/Audio/_Arcane/Items/Medical/suture/suture_continuous3.ogg new file mode 100644 index 00000000000..ea72748a213 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/suture/suture_continuous3.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/suture/suture_end1.ogg b/Resources/Audio/_Arcane/Items/Medical/suture/suture_end1.ogg new file mode 100644 index 00000000000..f8d2e8da864 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/suture/suture_end1.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/suture/suture_end2.ogg b/Resources/Audio/_Arcane/Items/Medical/suture/suture_end2.ogg new file mode 100644 index 00000000000..60082676e32 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/suture/suture_end2.ogg differ diff --git a/Resources/Audio/_Arcane/Items/Medical/suture/suture_end3.ogg b/Resources/Audio/_Arcane/Items/Medical/suture/suture_end3.ogg new file mode 100644 index 00000000000..de26bec1992 Binary files /dev/null and b/Resources/Audio/_Arcane/Items/Medical/suture/suture_end3.ogg differ diff --git a/Resources/Audio/_Arcane/Items/ReagentContainers/beaker_pickup.ogg b/Resources/Audio/_Arcane/Items/ReagentContainers/beaker_pickup.ogg new file mode 100644 index 00000000000..4063ac0c4ab Binary files /dev/null and b/Resources/Audio/_Arcane/Items/ReagentContainers/beaker_pickup.ogg differ diff --git a/Resources/Audio/_Arcane/Items/ReagentContainers/beaker_place.ogg b/Resources/Audio/_Arcane/Items/ReagentContainers/beaker_place.ogg new file mode 100644 index 00000000000..c01e16c315b Binary files /dev/null and b/Resources/Audio/_Arcane/Items/ReagentContainers/beaker_place.ogg differ diff --git a/Resources/Audio/_Arcane/Items/ReagentContainers/licenses.txt b/Resources/Audio/_Arcane/Items/ReagentContainers/licenses.txt new file mode 100644 index 00000000000..f8d5945af89 --- /dev/null +++ b/Resources/Audio/_Arcane/Items/ReagentContainers/licenses.txt @@ -0,0 +1 @@ +All sounds in this folder are taken from TG GitHub (licensed under CC-BY-SA 3.0) at commit https://github.com/tgstation/tgstation/commit/02ca535d03d7cab937f927e366719aa84ee88823 Edited by UmbiMax diff --git a/Resources/Locale/en-US/_Arcane/guidebook/chemistry/effects.ftl b/Resources/Locale/en-US/_Arcane/guidebook/chemistry/effects.ftl new file mode 100644 index 00000000000..53b3c871c36 --- /dev/null +++ b/Resources/Locale/en-US/_Arcane/guidebook/chemistry/effects.ftl @@ -0,0 +1,11 @@ +reagent-effect-guidebook-oxygenate = + { $chance -> + [1] Improves oxygenation by { NATURALFIXED($factor, 1) } and slows further suffocation damage. + *[other] With { NATURALPERCENT($chance, 1) } chance, improves oxygenation by { NATURALFIXED($factor, 1) } and slows further suffocation damage. + } + +reagent-effect-guidebook-convermol = + { $chance -> + [1] Heals asphyxiation ({ $rate } u/u reagent), producing toxins at a 1:{ $ratio } ratio. Overdose threshold: { $od } u. + *[other] With { NATURALPERCENT($chance, 1) } chance, heals asphyxiation with toxic side effects. + } diff --git a/Resources/Locale/en-US/_Arcane/surgery/wounds.ftl b/Resources/Locale/en-US/_Arcane/surgery/wounds.ftl new file mode 100644 index 00000000000..60111addc65 --- /dev/null +++ b/Resources/Locale/en-US/_Arcane/surgery/wounds.ftl @@ -0,0 +1,9 @@ +self-inspect-wound-Bleeding-minor = bleeding a little +self-inspect-wound-Bleeding-moderate = bleeding +self-inspect-wound-Bleeding-severe = bleeding profusely +self-inspect-wound-Brute-minor = bruised and sore +self-inspect-wound-Brute-moderate = badly bruised +self-inspect-wound-Brute-severe = badly mangled +self-inspect-wound-Burn-minor = slightly burned +self-inspect-wound-Burn-moderate = covered in painful blisters +self-inspect-wound-Burn-severe = skin is peeling away diff --git a/Resources/Locale/en-US/_Goobstation/guidebook/chemistry/statuseffects.ftl b/Resources/Locale/en-US/_Goobstation/guidebook/chemistry/statuseffects.ftl index b4dc6d8b3e8..456d59e6c2e 100644 --- a/Resources/Locale/en-US/_Goobstation/guidebook/chemistry/statuseffects.ftl +++ b/Resources/Locale/en-US/_Goobstation/guidebook/chemistry/statuseffects.ftl @@ -1,4 +1,5 @@ # # SPDX-License-Identifier: AGPL-3.0-or-later -reagent-effect-status-effect-Dementia = dementia \ No newline at end of file +reagent-effect-status-effect-Dementia = dementia +reagent-effect-status-effect-Centered = robustness diff --git a/Resources/Locale/en-US/_Goobstation/reagents/meta/medicine.ftl b/Resources/Locale/en-US/_Goobstation/reagents/meta/medicine.ftl index 4c87f0211ca..afe04f49a3f 100644 --- a/Resources/Locale/en-US/_Goobstation/reagents/meta/medicine.ftl +++ b/Resources/Locale/en-US/_Goobstation/reagents/meta/medicine.ftl @@ -89,7 +89,7 @@ reagent-name-styptic-crystal-catalyst = styptic crystal catalyst reagent-desc-styptic-crystal-catalyst = Staple of any school chemistry lab, this usually non-reactive liquid can mix with blood and sodium to produce beautiful crystals with healing potential. reagent-name-synthflesh = synthflesh -reagent-desc-synthflesh = Whilst it's just seemingly uninteresting ground up synthmeat, cells with great healing potential can be separated from it. Synthmeat can be created from a somewhat complex reaction with hydroxide byproduct. +reagent-desc-synthflesh = Regenerative biomass that instantly heals wounds on contact. Leaves a toxic residue proportional to the amount used. Effective even on dead tissue. reagent-name-hercuri = hercuri reagent-desc-hercuri = Strong coolant, both serviceable for internal and external application, though care must be taken not to freeze the patients too much. diff --git a/Resources/Locale/en-US/_Orion/reagents/meta/medicine.ftl b/Resources/Locale/en-US/_Orion/reagents/meta/medicine.ftl index d012464a04a..42edb92bf4a 100644 --- a/Resources/Locale/en-US/_Orion/reagents/meta/medicine.ftl +++ b/Resources/Locale/en-US/_Orion/reagents/meta/medicine.ftl @@ -1,2 +1,11 @@ reagent-general = General reagent-incendiary = Incendiary + +reagent-name-convermol = convermol +reagent-desc-convermol = Rapidly treats asphyxiation, producing toxins as a byproduct. Both effects scale with reagent quantity in the bloodstream. Overdose removes the healing cap, which can increase toxin output. + +reagent-name-salbutamol = salbutamol +reagent-desc-salbutamol = Helps prevent further asphyxiation and stabilizes the patient's breathing. Good for emergency stabilization. + +reagent-name-dopamine = dopamine +reagent-desc-dopamine = An infamous stimulant that gained notoriety at the Olympic Games. Boosts speed, heals injuries, and restores stamina. Useless against suffocation. diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/medical/hypospray.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/medical/hypospray.ftl index 859b735f6ae..71b44ebeead 100644 --- a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/medical/hypospray.ftl +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/medical/hypospray.ftl @@ -12,7 +12,7 @@ ent-BaseAutoinjectorCartridge = autoinjector cartridge ent-CartridgeEpinephrine = adrenaline autoinjector cartridge .desc = Contains 7u of epinephrine and 3u of tranexamic acid, used in a cartridge autoinjector. ent-CartridgeSaline = airloss autoinjector cartridge - .desc = Contains 7u of saline and 3u of dexalin plus, used in a cartridge autoinjector. + .desc = Contains 5u of saline, 3u of dexalin plus and 2u artiplates, used in a cartridge autoinjector. ent-CartridgeBicaridine = brute autoinjector cartridge .desc = Contains 4u of bicaridine, 4u of ibuprofen, 1 unit of salicylic acid and 1u of tranexamic acid, used in a cartridge autoinjector. ent-CartridgeDermaline = burn autoinjector cartridge diff --git a/Resources/Locale/ru-RU/_Arcane/guidebook/chemistry/effects.ftl b/Resources/Locale/ru-RU/_Arcane/guidebook/chemistry/effects.ftl new file mode 100644 index 00000000000..520469d082d --- /dev/null +++ b/Resources/Locale/ru-RU/_Arcane/guidebook/chemistry/effects.ftl @@ -0,0 +1,11 @@ +reagent-effect-guidebook-oxygenate = + { $chance -> + [1] Улучшает оксигенацию на { NATURALFIXED($factor, 1) } и замедляет дальнейшее получение урона от удушья + *[other] Может улучшить оксигенацию на { NATURALFIXED($factor, 1) } и замедлить дальнейшее получение урона от удушья + } + +reagent-effect-guidebook-convermol = + { $chance -> + [1] Лечит гипоксию ({ $rate } урона/ед. реагента), создавая токсины в пропорции 1:{ $ratio } от вылеченного урона. Порог передозировки: { $od } ед. + *[other] С вероятностью { NATURALPERCENT($chance, 1) } лечит удушье с токсическим побочным эффектом. + } diff --git a/Resources/Locale/ru-RU/_Arcane/reagents/medicine.ftl b/Resources/Locale/ru-RU/_Arcane/reagents/medicine.ftl new file mode 100644 index 00000000000..ee3aec60e59 --- /dev/null +++ b/Resources/Locale/ru-RU/_Arcane/reagents/medicine.ftl @@ -0,0 +1,8 @@ +reagent-name-convermol = конвермол +reagent-desc-convermol = Мощное средство от гипоксии с токсическим побочным эффектом. При передозировке снимается ограничение на лечение, что усиливает побочную токсичность. + +reagent-name-salbutamol = сальбутамол +reagent-desc-salbutamol = Замедляет дальнейшее удушье и стабилизирует дыхание пациента. Хорошо подходит для экстренной стабилизации. + +reagent-name-dopamine = дофамин +reagent-desc-dopamine = Печально известный стимулятор, прославившийся на олимпийских играх. Ускоряет, лечит, восстанавливает выносливость. Бесполезен при проблемах с удушьем. diff --git a/Resources/Locale/ru-RU/_Arcane/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/_Arcane/store/uplink-catalog.ftl new file mode 100644 index 00000000000..3c571e14f49 --- /dev/null +++ b/Resources/Locale/ru-RU/_Arcane/store/uplink-catalog.ftl @@ -0,0 +1,4 @@ +uplink-combat-standard-medkit-name = Стандартная боевая аптечка +uplink-combat-standard-medkit-desc = Усовершенствованная версия для быстрого и эффективного лечения, включая возвращение в бой. +uplink-combat-advanced-medkit-name = Продвинутая боевая аптечка +uplink-combat-advanced-medkit-desc = Элитный набор для обнуления повреждений самой продвинутой медициной. Мечта любого бойца. diff --git a/Resources/Locale/ru-RU/_Goobstation/guidebook/chemistry/statuseffects.ftl b/Resources/Locale/ru-RU/_Goobstation/guidebook/chemistry/statuseffects.ftl index 120cf8c7139..fca828bdde8 100644 --- a/Resources/Locale/ru-RU/_Goobstation/guidebook/chemistry/statuseffects.ftl +++ b/Resources/Locale/ru-RU/_Goobstation/guidebook/chemistry/statuseffects.ftl @@ -2,3 +2,4 @@ # SPDX-License-Identifier: AGPL-3.0-or-later reagent-effect-status-effect-Dementia = деменция +reagent-effect-status-effect-Centered = крепость diff --git a/Resources/Locale/ru-RU/_Goobstation/reagents/meta/medicine.ftl b/Resources/Locale/ru-RU/_Goobstation/reagents/meta/medicine.ftl index 88e00a15f54..015d0aa09e0 100644 --- a/Resources/Locale/ru-RU/_Goobstation/reagents/meta/medicine.ftl +++ b/Resources/Locale/ru-RU/_Goobstation/reagents/meta/medicine.ftl @@ -7,7 +7,7 @@ # # SPDX-License-Identifier: AGPL-3.0-or-later -reagent-name-stasizium = стасизиум +reagent-name-stasizium = стазисиум reagent-desc-stasizium = Нестабильная жидкость будущего, способная восстановить тело пациента до исходного состояния. Однако передозировка может разорвать тело на части. reagent-name-probital = пробитал reagent-desc-probital = Заставляет тело пациента расходовать энергию на создание большего количества исцеляющих соединений. Передозировка вызывает сильную усталость, вынуждая к кратковременному отдыху. @@ -15,7 +15,7 @@ reagent-name-mitogen = митоген reagent-desc-mitogen = Превращает питательные вещества в митотрофин для высокоэффективного исцеления. Передозировка вызывает рвоту. reagent-name-mitotrophin = митотрофин reagent-desc-mitotrophin = Исцеляющее соединение, создаваемое из химикатов, обычно встречающихся в пище. -reagent-name-tirimol = тируемол +reagent-name-tirimol = тиримол reagent-desc-tirimol = Сильный депрессант, применяемый для лечения повреждений от удушья. Значительно снижает потребление кислорода, но ослабляет мышцы. reagent-name-syriniver = сиринивер reagent-desc-syriniver = Экспериментальное средство против яда, которое восстанавливает разрушенные клетки на основе токсинов независимо от того, жив ли пациент. Передозировка крайне мала, а при введении даже в следовых количествах вызывает внутреннее кровотечение. @@ -47,7 +47,7 @@ reagent-name-silver-sulfadiazine = сульфадиазин серебра reagent-desc-silver-sulfadiazine = Успокаивающая жидкость для наружного применения, быстро лечит лёгкие ожоги. Токсична в крови. Действует на мёртвых. reagent-name-styptic-powder = кровоостанавливающий порошок reagent-desc-styptic-powder = Яркий порошок для наружного применения, быстро лечит синяки. Токсичен в крови. Действует на мёртвых. -reagent-name-tehifin = тефифин +reagent-name-tehifin = техифин reagent-desc-tehifin = Слабое средство от ожогов с сомнительной безопасностью. reagent-name-ebifin = эбифин reagent-desc-ebifin = Очень сильное средство от ожогов с низким порогом передозировки. При попадании в кровь быстро реагирует, эффективно лечит ожоги в малых дозах. @@ -62,8 +62,8 @@ reagent-desc-procenyl-lazide-sludge = Относительно легко соз reagent-name-styptic-crystal-catalyst = катализатор кровоостанавливающих кристаллов reagent-desc-styptic-crystal-catalyst = Основной компонент любой школьной химической лаборатории, обычно не реактивная жидкость, которая при смешивании с кровью и натрием образует красивые кристаллы с лечебным эффектом. reagent-name-synthflesh = синтплоть -reagent-desc-synthflesh = На первый взгляд просто молотое синтмясо, но из него можно выделить клетки с высоким лечебным потенциалом. Синтплоть создаётся в сравнительно сложной реакции с образованием гидроксидного побочного продукта. -reagent-name-hercuri = геркури +reagent-desc-synthflesh = Регенеративная биомасса, мгновенно заживляющая раны при контакте. Оставляет токсичный след пропорционально объёму использованного вещества. Эффективна даже на мёртвых тканях, включая трупы! +reagent-name-hercuri = херкури reagent-desc-hercuri = Мощный охладитель, подходит для внутреннего и наружного применения, однако следует остерегаться переохлаждения пациента. reagent-name-herignis = херигнис reagent-desc-herignis = Может быстро согреть сильно охлаждённого ящера, рекомендуется использовать в малых дозах, так как может опасно перегреть метаболизатор. diff --git a/Resources/Locale/ru-RU/_Goobstation/reagents/meta/narcotics.ftl b/Resources/Locale/ru-RU/_Goobstation/reagents/meta/narcotics.ftl index 18a47e3b3c1..bb0afc348fd 100644 --- a/Resources/Locale/ru-RU/_Goobstation/reagents/meta/narcotics.ftl +++ b/Resources/Locale/ru-RU/_Goobstation/reagents/meta/narcotics.ftl @@ -16,7 +16,7 @@ reagent-name-tirizene = тиризен reagent-desc-tirizene = Нетоксичный яд, вызывающий у жертвы сильную усталость и слабость. reagent-name-amnestizine = димтриметик-неураминциловая кислота reagent-desc-amnestizine = Часто называемый "амнестизин", это молочно-белое химическое вещество, способное вызывать ретроградную и антероградную амнезию. Получается из коры определённых деревьев. -reagent-name-aranesp = аранепс +reagent-name-aranesp = аранесп reagent-desc-aranesp = Сложный для синтеза усилитель производительности, известный своими мощными способностями к восстановлению энергии. reagent-name-mousebites = мышиные укусы reagent-desc-mousebites = Пробовал ли ты это лекарство? diff --git a/Resources/Locale/ru-RU/_Shitmed/surgery/status.ftl b/Resources/Locale/ru-RU/_Shitmed/surgery/status.ftl index 34615cb98ef..7f3481d54a7 100644 --- a/Resources/Locale/ru-RU/_Shitmed/surgery/status.ftl +++ b/Resources/Locale/ru-RU/_Shitmed/surgery/status.ftl @@ -5,8 +5,8 @@ inspect-part-status-line-styleless = { $possessive } { $part } { $status }. inspect-part-status-title-styleless = Вы осматриваете себя на наличие повреждений. inspect-part-status-title-other-styleless = Вы осматриваете { $entity } на наличие повреждений. inspect-part-status-fine = в порядке -inspect-part-status-conjunction = и -inspect-part-status-comma = , +inspect-part-status-conjunction = { "" } +inspect-part-status-comma = ,{ " " } inspect-part-status-conjunction2 = . Это также{ " " } inspect-part-status-conjunction3 = Это{ " " } inspect-part-status-and = и{ " " } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/catalog/fills/crates/medical.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/catalog/fills/crates/medical.ftl new file mode 100644 index 00000000000..bdb7d285542 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/catalog/fills/crates/medical.ftl @@ -0,0 +1,4 @@ +ent-CrateCombatKit = боевой набор + .desc = Ящик, содержащий обычную боевую аптечку. +ent-CrateStandardCombatKit = боевой набор золотого стандарта + .desc = НТ не любит вооружать собственные станции, поэтому стандартный боевой набор скорее исключение, чем норма. И цена у него соответствующая. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/catalog/fills/items/firstaidkits.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/catalog/fills/items/firstaidkits.ftl new file mode 100644 index 00000000000..189985caf6e --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/catalog/fills/items/firstaidkits.ftl @@ -0,0 +1,6 @@ +ent-MedkitEmergencyFilled = { ent-MedkitEmergency } + .desc = { ent-MedkitEmergency.desc } +ent-MedkitCombatStandardFilled = { ent-MedkitCombatStandard } + .desc = { ent-MedkitCombatStandard.desc } +ent-MedkitCombatAdvancedFilled = { ent-MedkitCombatAdvanced } + .desc = { ent-MedkitCombatAdvanced.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/catalog/fills/items/gas_tanks.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/catalog/fills/items/gas_tanks.ftl new file mode 100644 index 00000000000..6008ea841af --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/catalog/fills/items/gas_tanks.ftl @@ -0,0 +1,4 @@ +ent-EmergencyNitriumTankFilled = { ent-EmergencyNitriumTank } + .desc = { ent-EmergencyNitriumTank.desc } +ent-EmergencyHealiumTankFilled = { ent-EmergencyHealiumTank } + .desc = { ent-EmergencyHealiumTank.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/chemistry.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/chemistry.ftl new file mode 100644 index 00000000000..1da72282a1c --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/chemistry.ftl @@ -0,0 +1,4 @@ +ent-XLargeBeaker = сверхбольшая мензурка + .desc = Вместительная да более крепкая мензурка для химикатов и растворов. +ent-MetamaterialBeaker = метаматериальная мензурка + .desc = Очень вместительная мензурка из прочных компонентов для работы с большими объёмами реагентов. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/healing.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/healing.ftl new file mode 100644 index 00000000000..9c6befc82e3 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/healing.ftl @@ -0,0 +1,67 @@ +ent-PillHercuri = { ent-Pill } + .desc = { ent-Pill.desc } + .suffix = херкури 10ед. + +ent-PillCanisterHercuri = { ent-PillCanister } + .desc = { ent-PillCanister.desc } + .suffix = херкури 10ед., 15 + +ent-PillHerignis = { ent-Pill } + .desc = { ent-Pill.desc } + .suffix = херигнис 10ед. + +ent-PillCanisterHerignis = { ent-PillCanister } + .desc = { ent-PillCanister.desc } + .suffix = херигнис 10ед., 15 + +ent-PillProbital = { ent-Pill } + .desc = { ent-Pill.desc } + .suffix = пробитал 10ед. + +ent-PillCanisterProbital = { ent-PillCanister } + .desc = { ent-PillCanister.desc } + .suffix = пробитал 10ед., 15 + +ent-PillPentenicAcid = { ent-Pill } + .desc = { ent-Pill.desc } + .suffix = пентеновая кислота 5ед. + +ent-PillCanisterPentenicAcid = { ent-PillCanister } + .desc = { ent-PillCanister.desc } + .suffix = пентеновая кислота 5ед., 15 + +ent-PillMultiver = { ent-Pill } + .desc = { ent-Pill.desc } + .suffix = мультивер 10ед. + +ent-PillCanisterMultiver = { ent-PillCanister } + .desc = { ent-PillCanister.desc } + .suffix = мультивер 10ед., 15 + +ent-PillSyriniver = { ent-Pill } + .desc = { ent-Pill.desc } + .suffix = сиринивер 3ед. + +ent-SyringeHaloperidol = { ent-PrefilledSyringe } + .desc = { ent-PrefilledSyringe.desc } + .suffix = галоперидол + +ent-PillGenecide = { ent-Pill } + .desc = { ent-Pill.desc } + .suffix = генецид 3ед. + +ent-SyringeConvermol = { ent-PrefilledSyringe } + .desc = { ent-PrefilledSyringe.desc } + .suffix = конвермол + +ent-PillAmmoniatedMercury = { ent-Pill } + .desc = { ent-Pill.desc } + .suffix = аммонизированная ртуть 5ед. + +ent-PillAntiBrute = { ent-Pill } + .desc = { ent-Pill.desc } + .suffix = анти-брут 25ед. + +ent-PillAntiBurn = { ent-Pill } + .desc = { ent-Pill.desc } + .suffix = анти-физ 30ед. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/healing_items.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/healing_items.ftl new file mode 100644 index 00000000000..9917dafad94 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/healing_items.ftl @@ -0,0 +1,9 @@ +ent-Suture = нить + .desc = Обычная классика прямо с завода! Универсальное решение от ушибов да кровотёка, хоть и не особо эффективное. + .suffix = Полный +ent-RegenerativeMeshOpened = { ent-RegenerativeMesh } + .desc = { ent-RegenerativeMesh.desc } + .suffix = Полный, Открытый +ent-AdvancedRegenerativeMeshOpened = { ent-AdvancedRegenerativeMesh } + .desc = { ent-AdvancedRegenerativeMesh.desc } + .suffix = Полный, Открытый diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/healing_items_closed.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/healing_items_closed.ftl new file mode 100644 index 00000000000..acd2d434a28 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/healing_items_closed.ftl @@ -0,0 +1,3 @@ +ent-AdvancedRegenerativeMesh = продвинутая регенеративная сетка + .desc = Продвинутая сетка на основе экстракта алоэ и стерилизующих веществ. Эффективна против любых типов физического урона. + .suffix = Полный diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/hypospray.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/hypospray.ftl new file mode 100644 index 00000000000..23383c6c382 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/hypospray.ftl @@ -0,0 +1,8 @@ +ent-AdvancedEmergencyMedipen = продвинутый экстренный медипен + .desc = Без замедления. Без нытья. Просто возвращайся в бой, пока кто-то не украл твою жопу. + +ent-SalbutamolAutoInjector = автоинжектор от удушья + .desc = Нет воздуха? Не проблема. Один пен, один вдох, ещё один шанс снова быть идиотом. Подавишься - не откашлишься. + +ent-StimulatorAutoInjector = стандартный автоинжектор стимулятора + .desc = Быстро, безрассудно и, скорее всего, плохая идея, отчаянно одобренная для станций НТ от DeForest, но всё ещё запрещённая для применения СБухам. Этому инжектору плевать на твоё здоровье. Тебе тоже? Используй! diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/medical_patch_prefilled.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/medical_patch_prefilled.ftl new file mode 100644 index 00000000000..daf817bff3f --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/medical_patch_prefilled.ftl @@ -0,0 +1,20 @@ +ent-MedicalPatchPrefilledProcenylLazide = продвинутый пластырь от ушибов + .desc = Пластырь с прозенилом лазида. Постепенно устраняет тупые травмы при контакте с кожей. + +ent-MedicalPatchPrefilledEbifin = продвинутый пластырь от ожогов + .desc = Пластырь с эбифином. Постепенно устраняет ожоговые повреждения при контакте с кожей. + +ent-MedicalPatchPrefilledSalbutamol = пластырь от удушья + .desc = Пластырь с сальбутамолом. Облегчает дыхание и устраняет удушье при контакте с кожей. + +ent-MedicalPatchPrefilledSyriniver = продвинутый пластырь от токсинов + .desc = Пластырь с сиринивером. Постепенно выводит токсины при контакте с кожей. + +ent-MedicalPatchPrefilledHyronalin = пластырь от радиации + .desc = Пластырь с хироналином. Неплохое средство для вывода радиации. + +ent-MedicalPatchPrefilledFormaldehyde = пластырь от разложения + .desc = Пластырь с формальдегидом. Останавливает разложение тканей, вплоть до восстановления при контакте с кожей. + +ent-MedicalPatchPrefilledSynthflesh = пластырь синтплоти + .desc = Лечит и живых, и трупов, но исключительно при наложении на тело. Токсичен. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/medkits.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/medkits.ftl new file mode 100644 index 00000000000..b381e40746a --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/specific/medical/medkits.ftl @@ -0,0 +1,8 @@ +ent-MedkitEmergency = экстренная аптечка + .desc = Для чрезвычайных ситуаций. Не для драки. + +ent-MedkitCombatStandard = стандартная боевая аптечка + .desc = Для тех, кто предпочитает пушки покрупнее. Базовый набор на случай, если что-то пойдёт не так. + +ent-MedkitCombatAdvanced = продвинутая боевая аптечка + .desc = Настоящая элита универсального солдата. Расширенный набор для затяжного боя. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/tools/gas_tanks.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/tools/gas_tanks.ftl new file mode 100644 index 00000000000..d3cf9af686e --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_arcane/entities/objects/tools/gas_tanks.ftl @@ -0,0 +1,4 @@ +ent-EmergencyNitriumTank = экстренный баллон нитриума + .desc = Скорость и стамина в баллоне. Передоз? Будешь достаточно быстрым, чтобы пожалеть. Вмещает 0.66 л газа. +ent-EmergencyHealiumTank = экстренный баллон хилиума + .desc = Лечит то, что сломано. Передоз ломает то, что цело. Не жадничай. Вмещает 0.66 л газа. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/medical/hypospray.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/medical/hypospray.ftl index 8477347282b..34611294d97 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/medical/hypospray.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/medical/hypospray.ftl @@ -12,7 +12,7 @@ ent-BaseAutoinjectorCartridge = картридж автоинъектора ent-CartridgeEpinephrine = экстренный картридж автоинъектора .desc = Содержит 7u эпинефрина и 3u транексамовой кислоты, используется в автоинъекторе картриджей. ent-CartridgeSaline = картридж автоинъектора гемостатик - .desc = Содержит 7u физ. раствора и 3u дексалина плюс, используется в автоинъекторе картриджей. + .desc = Содержит 5u физ. раствора, 3u дексалина плюс и 2u артипластин, используется в автоинъекторе картриджей. ent-CartridgeBicaridine = картридж автоинъектора мех. повреждений .desc = Содержит 4u бикардина, 3u бозаида, 2u салициловой кислоты и 1u транексамовой кислоты, используется в автоинъекторе картриджей. ent-CartridgeDermaline = картридж автоинъектора физ. повреждений diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/medical/healing.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/medical/healing.ftl index 7b0aa432a64..016f129b348 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/medical/healing.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/specific/medical/healing.ftl @@ -10,7 +10,7 @@ ent-Ointment10Lingering = { ent-Ointment } .suffix = 10, Не исчезают закончившись .desc = { ent-Ointment.desc } ent-RegenerativeMesh = регенеративная сеть - .desc = Применяется для лечения даже самых неприятных ожогов. Эффективна также при кислотных ожогах. + .desc = Прямо с завода от НТ. Неплохо справляется с ожогами, но всё хуже и хуже, начиная с обморожения, заканчивая кислотными, но как никогда эффективнее мазей. .suffix = Полный ent-OintmentAdvanced1 = { ent-RegenerativeMesh } .desc = { ent-RegenerativeMesh.desc } diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml index bdbb3f6145b..becfd44c1d5 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml @@ -465,19 +465,19 @@ components: - type: StorageFill contents: - - id: DefibrillatorSyndicate + # Arcane-Edit-Start + - id: MedkitCombatAdvancedFilled + - id: MedkitCombatStandardFilled - id: MedkitCombatFilled - amount: 4 - - id: Tourniquet - amount: 4 + - id: DefibrillatorSyndicate + - id: ClothingEyesNightVisionGogglesNukie + - id: HandheldHealthAnalyzerUnpowered + amount: 2 + - id: SalbutamolAutoInjector + amount: 3 - id: CombatMedipen - amount: 4 - - id: PunctAutoInjector - amount: 4 - - id: PyraAutoInjector - amount: 4 - - id: AirlossAutoInjector - amount: 4 + amount: 3 + # Arcane-Edit-End - type: entity parent: ClothingBackpackDuffelSyndicateBundle diff --git a/Resources/Prototypes/Catalog/Fills/Items/firstaidkits.yml b/Resources/Prototypes/Catalog/Fills/Items/firstaidkits.yml index db59e29f6e3..bb9e0df1ee9 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/firstaidkits.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/firstaidkits.yml @@ -37,11 +37,13 @@ components: - type: StorageFill contents: + # Arcane-Edit-Start + - id: Gauze - id: Brutepack - id: Ointment - - id: Gauze - id: PillCanisterTricordrazine - - id: PillCanisterIron # Goobstation + - id: EmergencyMedipen + # Arcane-Edit-End # see https://github.com/tgstation/blob/master/code/game/objects/items/storage/firstaid.dm for example contents - type: entity @@ -51,11 +53,14 @@ components: - type: StorageFill contents: + # Arcane-Edit-Start - id: Ointment + - id: SprayBottleSilverSulfadiazine + - id: MedicalPatchPrefilledDermaline amount: 2 - - id: SprayBottleSilverSulfadiazine # Goobstation - - id: BurnAutoInjector # Goobstation - - id: PillCanisterDermaline + - id: BurnAutoInjector + - id: PillCanisterHercuri + # Arcane-Edit-End - type: entity id: MedkitBruteFilled @@ -64,11 +69,14 @@ components: - type: StorageFill contents: - - id: Brutepack + # Arcane-Edit-Start - id: Gauze - - id: SprayBottleStypticPowder # Goobstation - - id: BruteAutoInjector # Goobstation - - id: PillCanisterIron + - id: SprayBottleStypticPowder + - id: MedicalPatchPrefilledBicaridine + amount: 2 + - id: BruteAutoInjector + - id: PillCanisterProbital + # Arcane-Edit-End - type: entity id: MedkitToxinFilled @@ -77,11 +85,16 @@ components: - type: StorageFill contents: - - id: SyringeIpecac + # Arcane-Edit-Start + - id: PillAmmoniatedMercury + - id: PillSyriniver + - id: PillCanisterMultiver + - id: ChemistryBottleIpecac + - id: SyringeHaloperidol - id: SyringeEthylredoxrazine - id: AntiPoisonMedipen - id: PillCanisterDylovene - - id: PillCanisterCharcoal + # Arcane-Edit-End - type: entity id: MedkitOxygenFilled @@ -90,11 +103,16 @@ components: - type: StorageFill contents: - - id: ClothingMaskBreathMedical - - id: EmergencyOxygenTankFilled + # Arcane-Edit-Start + - id: SyringeConvermol + - id: SalbutamolAutoInjector - id: EmergencyMedipen - - id: SyringeInaprovaline - id: PillCanisterDexalin + - id: SyringeConvermol + amount: 2 + - id: SyringeInaprovaline + - id: PillCanisterIron + # Arcane-Edit-End - type: entity id: MedkitRadiationFilled @@ -103,10 +121,16 @@ components: - type: StorageFill contents: + # Arcane-Edit-Start - id: SyringePhalanximine - - id: RadAutoInjector + - id: PillGenecide - id: PillCanisterPotassiumIodide - - id: PillCanisterHyronalin + - id: PillPentenicAcid + - id: MedicalPatchPrefilledFormaldehyde + - id: RadAutoInjector + - id: MedicalPatchPrefilledHyronalin + amount: 2 + # Arcane-Edit-End - type: entity id: MedkitAdvancedFilled @@ -115,11 +139,17 @@ components: - type: StorageFill contents: - - id: MedicatedSuture + # Arcane-Edit-Start + - id: Suture + amount: 2 - id: RegenerativeMesh - - id: Bloodpack amount: 2 - - id: Tourniquet # Shitmed Change + - id: MedicalPatchPrefilledSynthflesh + amount: 3 + - id: PillCanisterIron + - id: SyringeSaline + - id: AdvancedEmergencyMedipen + # Arcane-Edit-End - type: entity id: MedkitCombatFilled @@ -128,12 +158,14 @@ components: - type: StorageFill contents: - - id: MedicatedSuture + # Arcane-Edit-Start + - id: Suture - id: RegenerativeMesh - id: SyringeEphedrine - id: SyringeSaline - - id: BruteAutoInjector - - id: BurnAutoInjector + - id: PillAntiBrute + - id: PillAntiBurn + # Arcane-Edit-End - type: entity id: StimkitFilled diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml b/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml index 224c270d97f..de54a3b37fb 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml @@ -143,12 +143,16 @@ - id: OxygenTankFilled - id: ToolboxEmergencyFilled prob: 0.5 - - id: MedkitOxygenFilled - prob: 0.2 + - id: MedkitEmergencyFilled # Arcane-Edit + prob: 0.3 # Arcane-Edit: 0.2 > 0.3 - id: WeaponFlareGun prob: 0.1 - id: BoxMRE prob: 0.1 + # Arcane-Start + - id: MedkitOxygenFilled + prob: 0.005 + # Arcane-End - type: entity id: ClosetEmergencyFilledRandom diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml index 1f22d1ab3c5..5a44e804177 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml @@ -124,6 +124,10 @@ - id: CrateEmergencyBruteKit - id: CrateEmergencyO2Kit - id: CrateEmergencyRadiationKit + # Arcane-Start + - id: CrateCombatKit + weight: 0.5 + # Arcane-End - id: CrateBodyBags - id: CrateChemistrySupplies - id: CrateChemistryP diff --git a/Resources/Prototypes/Entities/Mobs/base.yml b/Resources/Prototypes/Entities/Mobs/base.yml index 075acd0c482..090c1269457 100644 --- a/Resources/Prototypes/Entities/Mobs/base.yml +++ b/Resources/Prototypes/Entities/Mobs/base.yml @@ -162,7 +162,7 @@ - trigger: !type:DamageTypeTrigger damageType: Blunt - damage: 400 + damage: 450 # Arcane-Edit: 400 > 450 behaviors: - !type:GibBehavior { } # GoobStation: Disabled ashing until husking is added diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml index 5e5dade5f80..55d3c957346 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml @@ -305,7 +305,7 @@ - type: SolutionContainerManager solutions: drink: - maxVol: 1000 + maxVol: 250 # Arcane-Edit: 1000 > 250 - type: Sprite sprite: _Goobstation/Objects/Consumable/Drinks/shaker_bluespace.rsi state: icon @@ -318,4 +318,4 @@ Plasma: 37 Silver: 12 - type: StaticPrice #Goobstation - Recycle update - price: 65 \ No newline at end of file + price: 65 diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml index 48dddf41d30..9113ca00998 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml @@ -81,6 +81,7 @@ size: Small sprite: Objects/Specific/Medical/medical.rsi heldPrefix: ointment + - type: Appearance # Arcane # Inherited - type: StaticPrice price: 0 @@ -96,7 +97,12 @@ tags: - Ointment - type: Sprite - state: ointment + state: ointment-3 # Arcane-Edit + # Arcane-Start + layers: + - state: ointment-3 + map: ["base"] + # Arcane-End - type: Item heldPrefix: ointment - type: Healing @@ -104,10 +110,10 @@ - Biological damage: types: - Heat: -10 - Cold: -10 - Shock: -10 - Caustic: -5 #Was 5 per type & 1.5 caustic, Buffed due to limb damage changes (Goobstation) + Heat: -5 # Arcane-Edit: 10 > 5 + Cold: -5 # Arcane-Edit: 10 > 5 + Shock: -5 # Arcane-Edit: 10 > 5 + Caustic: -2 #Was 5 per type & 1.5 caustic, Buffed due to limb damage changes (Goobstation) # Arcane-Edit: 5 > 2 healingBeginSound: path: "/Audio/Items/Medical/ointment_begin.ogg" params: @@ -121,6 +127,13 @@ - type: Stack stackType: Ointment count: 15 #Was 10, Buffed due to limb damage changes (Goobstation) + # Arcane-Start + baseLayer: base + layerStates: + - ointment + - ointment-2 + - ointment-3 + # Arcane-End - type: StackPrice price: 5 @@ -143,19 +156,24 @@ count: 10 - type: entity - name: regenerative mesh + name: advanced regenerative mesh # Arcane-Edit: Med rework description: Used to treat even the nastiest burns. Also effective against caustic burns. parent: BaseHealingItem - id: RegenerativeMesh + id: AdvancedRegenerativeMeshOpened # Arcane-Edit suffix: Full components: - type: Tag tags: - Ointment - type: Sprite - state: regenerative-mesh + state: aloe-mesh-3 # Arcane-Edit + # Arcane-Start + layers: + - state: aloe-mesh-3 + map: ["base"] + # Arcane-End - type: Item - heldPrefix: regenerative-mesh + heldPrefix: aloe-mesh # Arcane-Edit - type: Healing damageContainers: - Biological @@ -166,32 +184,55 @@ Shock: -15 Caustic: -15 #Was 10 per type, Buffed due to limb damage changes (Goobstation) healingBeginSound: - path: "/Audio/Items/Medical/ointment_begin.ogg" + collection: RegenerativeMeshBegin # Arcane-Edit params: - volume: 1.0 + volume: 4.0 # Arcane-Edit: 1.0 > 4.0 variation: 0.125 healingEndSound: - path: "/Audio/Items/Medical/ointment_end.ogg" + collection: RegenerativeMeshContinuous # Arcane-Edit params: - volume: 1.0 + volume: 4.0 # Arcane-Edit: 1.0 > 4.0 + variation: 0.125 + # Arcane-Start + healingFullEndSound: + collection: RegenerativeMeshEnd + params: + volume: 4.0 # Arcane-Edit: 1.0 > 4.0 variation: 0.125 + - type: EmitSoundOnDrop + sound: + path: /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_drop1.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_drop1.ogg + - type: EmitSoundOnPickup + sound: + path: /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_pickup1.ogg + # Arcane-End - type: Stack - stackType: RegenerativeMesh + stackType: AdvancedRegenerativeMesh # Arcane-Edit count: 15 #Was 10, Buffed due to limb damage changes (Goobstation) + # Arcane-Start + baseLayer: base + layerStates: + - aloe-mesh + - aloe-mesh-2 + - aloe-mesh-3 + # Arcane-End - type: StackPrice - price: 20 + price: 40 # Arcane-Edit: 20 > 40 - type: entity id: OintmentAdvanced1 - parent: RegenerativeMesh + parent: AdvancedRegenerativeMeshOpened # Arcane-Edit suffix: Single components: - type: Stack - stackType: RegenerativeMesh + stackType: AdvancedRegenerativeMesh # Arcane-Edit count: 1 - type: entity - parent: RegenerativeMesh + parent: AdvancedRegenerativeMeshOpened # Arcane-Edit id: RegenerativeMeshLingering0 suffix: 0, Lingering components: @@ -210,7 +251,12 @@ tags: - Brutepack - type: Sprite - state: brutepack + state: brutepack-3 # Arcane-Edit + # Arcane-Start + layers: + - state: brutepack-3 + map: ["base"] + # Arcane-End - type: Item heldPrefix: brutepack - type: Healing @@ -218,7 +264,7 @@ - Biological damage: groups: - Brute: -30 # was 5 (-15 Brute) for each, Buffed due to limb damage changes (Goobstation) + Brute: -15 # was 5 (-15 Brute) for each, Buffed due to limb damage changes (Goobstation) # Arcane-Edit: 30 > 15 healingBeginSound: path: "/Audio/Items/Medical/brutepack_begin.ogg" params: @@ -232,6 +278,13 @@ - type: Stack stackType: Brutepack count: 15 #Was 10, Buffed due to limb damage changes (Goobstation) + # Arcane-Start + baseLayer: base + layerStates: + - brutepack + - brutepack-2 + - brutepack-3 + # Arcane-End - type: StackPrice price: 5 @@ -264,7 +317,12 @@ tags: - Brutepack - type: Sprite - state: medicated-suture + state: medicated-suture-3 # Arcane-Edit + # Arcane-Start + layers: + - state: medicated-suture-3 + map: ["base"] + # Arcane-End - type: Item heldPrefix: medicated-suture storedRotation: -90 @@ -276,32 +334,55 @@ Brute: -45 # was 10 for each, Buffed due to Limb Damage Changes (Goobstation) bloodlossModifier: -10 # a suture should stop ongoing bleeding healingBeginSound: - path: "/Audio/Items/Medical/brutepack_begin.ogg" + collection: SutureBegin # Arcane-Edit params: - volume: 1.0 + volume: 4.0 # Arcane-Edit: 1.0 > 4.0 variation: 0.125 healingEndSound: - path: "/Audio/Items/Medical/brutepack_end.ogg" + collection: SutureContinuous # Arcane-Edit params: - volume: 1.0 + volume: 4.0 # Arcane-Edit: 1.0 > 4.0 variation: 0.125 + # Arcane-Start + healingFullEndSound: + collection: SutureEnd + params: + volume: 4.0 # Arcane-Edit: 1.0 > 4.0 + variation: 0.125 + - type: EmitSoundOnDrop + sound: + path: /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_drop1.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_drop1.ogg + - type: EmitSoundOnPickup + sound: + path: /Audio/_Arcane/Items/Medical/suture/needle_pickup1.ogg + # Arcane-End - type: Stack stackType: MedicatedSuture - count: 15 #Was 10, Buffed due to surgery changes (Goobstation) + count: 10 #Was 10, Buffed due to surgery changes (Goobstation) # Arcane-Edit: 15 > 10 + # Arcane-Start + baseLayer: base + layerStates: + - medicated-suture + - medicated-suture-2 + - medicated-suture-3 + # Arcane-End - type: StackPrice - price: 20 + price: 40 # Arcane-Edit: 20 > 40 # - type: Stitches speed: 2 # actual stitches cost nothing to use so these are faster, shits expensive used: true - type: SurgeryTool startSound: - path: "/Audio/Items/Medical/brutepack_begin.ogg" + collection: SutureBegin # Arcane-Edit params: volume: 1.0 variation: 0.125 endSound: - path: "/Audio/Items/Medical/brutepack_end.ogg" + collection: SutureContinuous # Arcane-Edit params: volume: 1.0 variation: 0.125 @@ -407,7 +488,12 @@ tags: - Gauze - type: Sprite - state: gauze + state: gauze-3 # Arcane-Edit + # Arcane-Start + layers: + - state: gauze-3 + map: ["base"] + # Arcane-End - type: Clothing # Orion sprite: _Orion/Clothing/Hands/Gloves/gauze.rsi slots: gloves @@ -421,8 +507,9 @@ - Biological damage: types: - Slash: -10 # Was 5 - Piercing: -15 # Was 10, Buffed due to limb damage changes (Goobstation) + Slash: -2 # Was 5 # Arcane-Edit: -10 > -2 + Piercing: -4 # Was 10, Buffed due to limb damage changes (Goobstation) # Arcane-Edit: -15 > -4 + delay: 0.5 # Arcane bloodlossModifier: -10 healingBeginSound: path: "/Audio/Items/Medical/brutepack_begin.ogg" @@ -437,6 +524,13 @@ - type: Stack stackType: Gauze count: 15 #Was 10, Buffed due to limb damage changes (Goobstation) + # Arcane-Start + baseLayer: base + layerStates: + - gauze + - gauze-2 + - gauze-3 + # Arcane-End - type: StackPrice price: 10 @@ -466,9 +560,30 @@ - type: Sprite sprite: Objects/Specific/Hydroponics/aloe.rsi state: cream + # Arcane-Start + layers: + - state: cream + map: ["base"] + - type: Item + sprite: Objects/Specific/Hydroponics/aloe.rsi + heldPrefix: produce + # Arcane-End - type: Stack stackType: AloeCream count: 15 #Was 10, Buffed due to limb damage changes (Goobstation) + # Arcane-Start + baseLayer: base + layerStates: + - cream + - cream + - type: Healing + damage: + types: + Heat: -7 + Cold: -6 + Shock: -6 + Caustic: -5 + # Arcane-End - type: entity parent: BaseHealingItem diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml index dd53c73e191..7ec7dc24753 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml @@ -409,7 +409,7 @@ name: burn auto-injector parent: ChemicalMedipen id: BurnAutoInjector - description: A rapid dose of oxandrolone, leporazine, and tramadol, intended for combat applications. # goobstation + description: A rapid dose of oxandrolone, leporazine, and dermaline, intended for combat applications. # goobstation # Arcane-Edit components: - type: Item inhandVisuals: @@ -444,8 +444,10 @@ reagents: - ReagentId: Oxandrolone # Goobstation Quantity: 10 + - ReagentId: Dermaline # Arcane + Quantity: 5 - ReagentId: Leporazine - Quantity: 10 + Quantity: 5 # Arcane-Edit: 10 > 5 - ReagentId: Tramadol # goobstation Quantity: 5 diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml index b88ee541e22..2ffb520813c 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml @@ -105,7 +105,7 @@ - type: Storage # Shitmed Change maxItemSize: Small grid: - - 0,0,5,1 + - 0,0,6,1 # Arcane-edit: 0,0,5,1 > 0,0,6,1 - type: entity name: radiation treatment kit diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml b/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml index 70d0f84b9a9..4d416b46416 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml @@ -114,9 +114,18 @@ - state: jug1 map: [ "enum.SolutionContainerLayers.Fill" ] visible: false + # Arcane-Start + - state: lid + map: ["enum.OpenableVisuals.Layer"] + visible: false + # Arcane-End - type: Item size: Normal sprite: Objects/Specific/Chemistry/jug.rsi + # Arcane-Start + shape: + - 0,0,2,1 + # Arcane-End - type: MixableSolution solution: beaker - type: RefillableSolution @@ -143,11 +152,28 @@ - type: Spillable solution: beaker - type: Appearance + # Arcane-Start + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: { visible: false } + False: { visible: true } + # Arcane-End - type: SolutionContainerVisuals - maxFillLevels: 6 + maxFillLevels: 11 # Arcane-Edit: 6 > 11 fillBaseName: jug inHandsMaxFillLevels: 5 inHandsFillBaseName: -fill- + # Arcane-Start + - type: Openable + opened: false + closeable: true + sound: + collection: bottleOpenSounds + closeSound: + collection: bottleCloseSounds + # Arcane-End - type: StaticPrice price: 60 - type: Damageable diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml index c3125144b4f..5259beb3979 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml @@ -204,6 +204,14 @@ transferForensics: true - !type:DoActsBehavior acts: [ "Destruction" ] + # Arcane-Start + - type: EmitSoundOnDrop + sound: + path: /Audio/_Arcane/Items/ReagentContainers/beaker_place.ogg + params: + volume: -4 + variation: 0.125 + # Arcane-End - type: DnaSubstanceTrace - type: ThrowableBlocked # Goobstation behavior: Damage diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml index 363c643aff4..9ca26a4a1ee 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml @@ -260,6 +260,26 @@ damage: types: Blunt: 5 + # Arcane-Start + - type: EmitSoundOnDrop + sound: + path: /Audio/_Arcane/Items/ReagentContainers/beaker_place.ogg + params: + volume: -4 + variation: 0.125 + - type: EmitSoundOnLand + sound: + path: /Audio/_Arcane/Items/ReagentContainers/beaker_place.ogg + params: + volume: -4 + variation: 0.125 + - type: EmitSoundOnPickup + sound: + path: /Audio/_Arcane/Items/ReagentContainers/beaker_pickup.ogg + params: + volume: -6 + variation: 0.125 + # Arcane-End - type: StaticPrice price: 30 - type: DnaSubstanceTrace @@ -399,16 +419,48 @@ - type: Damageable damageContainer: Inorganic damageModifierSet: Glass + # Arcane-Start + - type: EmitSoundOnDrop + sound: + path: /Audio/_Arcane/Items/ReagentContainers/beaker_place.ogg + params: + volume: -4 + variation: 0.125 + - type: EmitSoundOnLand + sound: + path: /Audio/_Arcane/Items/ReagentContainers/beaker_place.ogg + params: + volume: -4 + variation: 0.125 + - type: EmitSoundOnPickup + sound: + path: /Audio/_Arcane/Items/ReagentContainers/beaker_pickup.ogg + params: + volume: -6 + variation: 0.125 + # Arcane-End - type: StaticPrice price: 30 - type: DnaSubstanceTrace - type: entity name: beaker - parent: BaseBeaker + parent: [BaseBeaker, BaseOpenableBeaker] # Arcane-Edit description: Used to contain a moderate amount of chemicals and solutions. id: Beaker components: + # Arcane-Start + - type: Sprite + sprite: Objects/Specific/Chemistry/beaker.rsi + layers: + - state: beaker + - state: beaker1 + map: ["enum.SolutionContainerLayers.Fill"] + visible: false + - state: lid_beaker + map: ["enum.OpenableVisuals.Layer"] + visible: false + # Arcane-End - type: Spillable solution: beaker - type: StaticPrice @@ -439,7 +491,7 @@ - type: entity name: large beaker - parent: BaseBeaker + parent: [BaseBeaker, BaseOpenableBeaker] # Arcane-Edit description: Used to contain a large amount of chemicals or solutions. id: LargeBeaker components: @@ -452,6 +504,11 @@ - state: beakerlarge1 map: ["enum.SolutionContainerLayers.Fill"] visible: false + # Arcane-Start + - state: lid_beakerlarge + map: ["enum.OpenableVisuals.Layer"] + visible: false + # Arcane-End - type: Item size: Normal sprite: Objects/Specific/Chemistry/beaker_large.rsi @@ -473,7 +530,7 @@ - type: entity name: cryostasis beaker - parent: BaseBeakerMetallic + parent: [BaseBeakerMetallic, BaseOpenableBeaker] # Arcane-Edit description: Used to contain chemicals or solutions without reactions. id: CryostasisBeaker components: @@ -483,6 +540,11 @@ sprite: Objects/Specific/Chemistry/beaker_cryostasis.rsi layers: - state: beakernoreact + # Arcane-Start + - state: lid_beakernoreact + map: ["enum.OpenableVisuals.Layer"] + visible: false + # Arcane-End # Orion-Start - type: Item sprite: Objects/Specific/Chemistry/beaker_cryostasis.rsi @@ -501,7 +563,7 @@ - type: entity name: bluespace beaker - parent: BaseBeakerMetallic + parent: [BaseBeakerMetallic, BaseOpenableBeaker] # Arcane-Edit description: Powered by experimental bluespace technology. id: BluespaceBeaker components: @@ -511,8 +573,14 @@ sprite: Objects/Specific/Chemistry/beaker_bluespace.rsi layers: - state: beakerbluespace + # Arcane-Start + - state: lid_beakerbluespace + map: ["enum.OpenableVisuals.Layer"] + visible: false + # Arcane-End # Orion-Start - type: Item + size: Normal # Arcane sprite: Objects/Specific/Chemistry/beaker_bluespace.rsi # Orion-End - type: SolutionContainerVisuals @@ -520,7 +588,7 @@ - type: SolutionContainerManager solutions: beaker: - maxVol: 1000 + maxVol: 300 # Arcane-Edit: 1000 > 300 - type: PhysicalComposition #Goobstation - Recycle update materialComposition: Steel: 125 @@ -900,7 +968,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 20 + maxVol: 50 # Arcane-Edit: 20 > 50 - type: ExplosionResistance damageCoefficient: 0.025 # survives conventional explosives but not minibombs and nukes - type: Damageable diff --git a/Resources/Prototypes/Entities/Structures/Machines/chem_master.yml b/Resources/Prototypes/Entities/Structures/Machines/chem_master.yml index a4cbdc7daf4..93deef903b4 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/chem_master.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/chem_master.yml @@ -60,6 +60,11 @@ snapCardinals: true layers: - state: mixer_empty + # Arcane-Start + - state: mixer_fill-1 + map: ["enum.SolutionContainerLayers.Fill"] + visible: false + # Arcane-End - state: mixer_screens shader: unshaded map: ["enum.PowerDeviceVisualLayers.Powered"] @@ -91,7 +96,7 @@ - FitsInDispenser # Orion-End - type: ChemMaster - pillDosageLimit: 20 + pillDosageLimit: 50 # Arcane-Edit: 20 > 50 - type: Physics bodyType: Static - type: Fixtures @@ -179,10 +184,23 @@ - type: SolutionContainerManager solutions: buffer: # Goobstation - solution shitcode doesnt like max volume 0 and i dont want to rewrite AddSolution - maxVol: 1000000 + maxVol: 1000 # Arcane-Edit: 1000000 > 1000 + # Arcane-Start + - type: ChemMasterBeakerCapacity + - type: RefillableSolution + solution: buffer + - type: DrainableSolution + solution: buffer + - type: SolutionContainerVisuals + solutionName: buffer + maxFillLevels: 10 + fillBaseName: mixer_fill- + changeColor: true + - type: ChemMasterTransferTarget + # Arcane-End - type: DumpableSolution solution: buffer - unlimited: true + unlimited: false # Arcane-Edit: true > false - type: GuideHelp guides: - Chemicals diff --git a/Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml b/Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml index 2ca248d128f..bec5680ad11 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml @@ -55,6 +55,12 @@ grinder: True: {state: "grinder_beaker_attached"} False: {state: "grinder_empty"} + # Arcane-Start + enum.PowerDeviceVisuals.Powered: + enum.PowerDeviceVisualLayers.Powered: + True: { visible: true } + False: { visible: false } + # Arcane-End - type: Physics - type: Fixtures fixtures: @@ -76,6 +82,12 @@ state: "grinder_empty" - map: [ "enum.SolutionContainerLayers.Fill" ] state: beakerSlot1 + # Arcane-Start + - state: grinder_on + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + visible: false + # Arcane-End - type: SolutionContainerVisuals # Goobstation maxFillLevels: 4 insertedItemSlotID: beakerSlot diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml index d76de9963de..cc13fd22fc7 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml @@ -276,6 +276,13 @@ reagent: Theobromine amount: 0.01 # Orion-End + # Arcane-Start + - !type:AdjustTemperature + amount: -15 + conditions: + - !type:Temperature + min: 310.15 + # Arcane-End - type: reagent id: IcedGreenTea @@ -313,7 +320,14 @@ factor: 2 - !type:AdjustReagent reagent: Theobromine - amount: 0.01 # Orion-Edit: 0.05 > 0.01 + amount: 0.01 # Arcane-Edit: 0.05 > 0.01 + # Arcane-Start + - !type:AdjustTemperature + amount: -15 + conditions: + - !type:Temperature + min: 310.15 + # Arcane-End - type: reagent id: JuiceBerryPoison @@ -656,6 +670,18 @@ metamorphicMaxFillLevels: 3 metamorphicFillBaseName: fill- metamorphicChangeColor: false + # Arcane-Start + metabolisms: + Drink: + effects: + - !type:SatiateThirst + factor: 3 + - !type:AdjustTemperature + amount: -20 + conditions: + - !type:Temperature + min: 310.15 + # Arcane-End - type: reagent id: DryRamen diff --git a/Resources/Prototypes/Reagents/Consumable/Food/condiments.yml b/Resources/Prototypes/Reagents/Consumable/Food/condiments.yml index 91d6c29de40..19ea41877ea 100644 --- a/Resources/Prototypes/Reagents/Consumable/Food/condiments.yml +++ b/Resources/Prototypes/Reagents/Consumable/Food/condiments.yml @@ -54,6 +54,16 @@ physicalDesc: reagent-physical-desc-cold flavor: cold color: skyblue + # Arcane-Start + metabolisms: + Drink: + effects: + - !type:AdjustTemperature + amount: -25 + conditions: + - !type:Temperature + min: 270 + # Arcane-End - type: reagent id: Cornoil diff --git a/Resources/Prototypes/Reagents/elements.yml b/Resources/Prototypes/Reagents/elements.yml index b44fbf625b8..e0ba12bd441 100644 --- a/Resources/Prototypes/Reagents/elements.yml +++ b/Resources/Prototypes/Reagents/elements.yml @@ -95,7 +95,7 @@ shouldHave: false damage: types: - Poison: 2 + Blunt: 3 # Arcane-Edit: "Poison: 2" > "Blunt: 3" - type: reagent id: Copper @@ -129,7 +129,7 @@ - !type:OrganType type: Arachnid shouldHave: true - amount: 0.4 + amount: 1.2 # Arcane-Edit: 0.4 > 1.2 - type: reagent id: Fluorine @@ -228,7 +228,7 @@ - !type:OrganType type: Arachnid shouldHave: false - amount: 0.4 + amount: 1.2 # Arcane-Edit: 0.4 > 1.2 - type: reagent id: Lithium @@ -430,4 +430,4 @@ flavor: metallic color: "#bababa" meltingPoint: 419.5 - boilingPoint: 907.0 \ No newline at end of file + boilingPoint: 907.0 diff --git a/Resources/Prototypes/Reagents/medicine.yml b/Resources/Prototypes/Reagents/medicine.yml index 2862b9a54c5..a7078907053 100644 --- a/Resources/Prototypes/Reagents/medicine.yml +++ b/Resources/Prototypes/Reagents/medicine.yml @@ -130,7 +130,7 @@ - !type:HealthChange damage: types: - Poison: -1.5 # Was 1, Slight Buff as it should heal for half the amount as Dip or Stelli(GoobStation) + Poison: -1 # Was 1, Slight Buff as it should heal for half the amount as Dip or Stelli(GoobStation) # Arcane-Edit: -1.5 > -1 - !type:HealthChange conditions: - !type:OrganType # Goobstation - Yowie @@ -184,7 +184,7 @@ effects: - !type:AdjustReagent reagent: Histamine - amount: -3.0 + amount: -4.0 # Arcane-Edit: -3.0 > -4.0 - !type:GenericStatusEffect key: Jitter time: 3.0 @@ -324,20 +324,38 @@ metabolisms: Medicine: effects: + # Arcane-Edit-Start: TG13 approximation - !type:HealthChange conditions: - !type:Temperature - # this is a little arbitrary but they gotta be pretty cold - max: 213.0 - scaleByTemperature: # Shitmed Change - min: 100.0 - max: 213.0 - scale: 1.6 + max: 273.15 + scaleByTemperature: + min: 100 + max: 273.15 + scale: 3 damage: - groups: # Goobstation - Cryo rebalance + groups: Airloss: -3 + Brute: -6 + Burn: -4 + - !type:HealthChange + conditions: + - !type:Temperature + max: 273.15 + - !type:MobStateCondition + mobstate: Critical + scaleByTemperature: + min: 100 + max: 273.15 + scale: 3 + damage: + groups: + Airloss: -6 Brute: -3 - Burn: -3 + Burn: -2 + types: + Poison: -1.5 + # Arcane-Edit-End - !type:GenericStatusEffect # Mono edit conditions: - !type:OrganType # @@ -407,9 +425,9 @@ - !type:HealthChange damage: types: - Heat: -2 - Shock: -2 - Cold: -2 # Was 1.5, Buffed due to limb damage changes(GoobStation) + Heat: -1.5 # Arcane-Edit: -2 > -1.5 + Shock: -1.5 # Arcane-Edit: -2 > -1.5 + Cold: -1.5 # Was 1.5, Buffed due to limb damage changes(GoobStation) # Arcane-Edit: -2 > -1.5 - !type:HealthChange conditions: - !type:OrganType # Goobstation - Yowie @@ -556,7 +574,7 @@ conditions: - !type:ReagentThreshold reagent: Histamine - min: 45 + min: 30 # Arcane-Edit: 45 > 30 reagent: Histamine amount: -5 - !type:HealthChange @@ -1022,7 +1040,7 @@ type: Feroxi factor: 2 - !type:ModifyBloodLevel - amount: 12 # Goobstation - buffed by two times due to shitmed changes + amount: 6 # Goobstation - buffed by two times due to shitmed changes # Arcane-Edit: 12 > 6 - type: reagent id: Siderlac @@ -1040,7 +1058,7 @@ - !type:HealthChange damage: types: - Caustic: -5 + Caustic: -6 # Arcane-Edit: -5 > -6 - type: reagent id: Stellibinin @@ -1084,6 +1102,7 @@ - !type:OrganType # Goobstation - Yowie type: Yowie shouldHave: false + probability: 0.3 # Arcane damage: types: Poison: 2 @@ -1095,6 +1114,16 @@ key: KnockedDown time: 3.0 type: Remove + # Arcane-Start + - !type:ModifyStatusEffect + conditions: + - !type:ReagentThreshold + reagent: Haloperidol + max: 0.01 + effectProto: StatusEffectDrowsiness + time: 3 + type: Remove + # Arcane-End - !type:ModifyStatusEffect effectProto: StatusEffectSeeingRainbow time: 15.0 @@ -1142,7 +1171,7 @@ - !type:HealthChange conditions: - !type:TotalDamage - max: 100 # Goobstation + max: 60 # Goobstation # Arcane-Edit: 100 > 60 damage: groups: Brute: -1 @@ -1342,7 +1371,7 @@ - !type:HealthChange damage: types: - Caustic: -3 + Caustic: -4 # Arcane-Edit: -3 > -4 - !type:HealthChange conditions: - !type:OrganType # Goobstation - Yowie @@ -1545,7 +1574,7 @@ - !type:HealthChange damage: types: - Heat: -1 + Heat: -1.5 # Arcane-Edit: -1 > -1.5 # od causes massive bleeding - !type:HealthChange conditions: @@ -1591,7 +1620,7 @@ - !type:HealthChange damage: types: - Shock: -4 + Shock: -6 # Arcane-Edit: -4 > -6 - !type:AdjustReagent reagent: Licoxide amount: -4 @@ -1677,9 +1706,9 @@ damage: # Goobstation - Cryo rebalance groups: Airloss: -10.0 - Brute: -5.0 - Burn: -5.0 - Toxin: -5.0 + Brute: -20.0 # Arcane-Edit: -5.0 > -20.0 + Burn: -15.0 # Arcane-Edit: -5.0 > -15.0 + Toxin: -10.0 # Arcane-Edit: -5.0 > -10.0 - !type:GenericStatusEffect # Mono edit conditions: - !type:OrganType diff --git a/Resources/Prototypes/Reagents/narcotics.yml b/Resources/Prototypes/Reagents/narcotics.yml index c095170d2a3..8f17035c0fb 100644 --- a/Resources/Prototypes/Reagents/narcotics.yml +++ b/Resources/Prototypes/Reagents/narcotics.yml @@ -83,7 +83,7 @@ shouldHave: false damage: types: - Poison: 2 # Goobstation + Poison: 0.75 # Goobstation # Arcane-Edit: 2 > 0.75 - !type:HealthChange conditions: - !type:OrganType # Goobstation - Yowie @@ -93,7 +93,7 @@ min: 30 damage: types: - Poison: 2.75 # this is added to the base damage of the meth. // Goobstation +0.75 damage + Poison: 2 # this is added to the base damage of the meth. // Goobstation +0.75 damage# Goobstation # Arcane-Edit: 2.75 > 2 Asphyxiation: 2 Narcotic: effects: @@ -129,6 +129,23 @@ locale: reagent-effect-guidebook-remove-delayed-knockdown - !type:ChemAddMoodlet # Orion moodPrototype: StrongStimulant + # Arcane-Start + - !type:AdjustReagent + group: Narcotic + amount: -1 + conditions: + - !type:ReagentThreshold + reagents: + - Dylovene + - Tricordrazine + min: 0.5 + - !type:AdjustReagent + reagent: Histamine + amount: 5 + conditions: + - !type:UniqueBloodstreamChemThreshold + min: 4 + # Arcane-End Medicine: effects: - !type:ResetNarcolepsy diff --git a/Resources/Prototypes/Reagents/toxins.yml b/Resources/Prototypes/Reagents/toxins.yml index f869699ee6c..bc312c0a3ca 100644 --- a/Resources/Prototypes/Reagents/toxins.yml +++ b/Resources/Prototypes/Reagents/toxins.yml @@ -376,7 +376,7 @@ - !type:HealthChange damage: types: - Radiation: 3 + Radiation: 2 # Arcane-Edit: 3 > 2 Narcotic: effects: - !type:MutateDiseases @@ -399,7 +399,7 @@ shouldHave: false damage: types: - Asphyxiation: 5 + Asphyxiation: 12 # Arcane-Edit: 5 > 12 plantMetabolism: - !type:PlantAdjustToxins amount: 10 @@ -417,7 +417,7 @@ - !type:HealthChange damage: groups: - Airloss: 10 + Airloss: 16 # Arcane-Edit: 10 > 16 - type: reagent id: MindbreakerToxin @@ -449,12 +449,13 @@ color: "#FA6464" metabolisms: Poison: + metabolismRate: 0.1 # Arcane effects: - !type:HealthChange probability: 0.1 damage: groups: - Brute: 2 + Brute: 6 # Arcane-Edit: 2 > 6 # todo: cough, sneeze - !type:HealthChange conditions: @@ -462,11 +463,11 @@ type: Yowie shouldHave: false - !type:ReagentThreshold - min: 45 + min: 30 # Arcane-Edit: 45 > 30 damage: groups: - Brute: 2 - Airloss: 2 + Brute: 6 # Arcane-Edit: 2 > 6 + Airloss: 6 # Arcane-Edit: 2 > 6 types: Poison: 2 - !type:PopupMessage @@ -476,7 +477,7 @@ - !type:PopupMessage conditions: - !type:ReagentThreshold - min: 45 + min: 30 # Arcane-Edit: 45 > 30 type: Local visualType: Medium messages: [ "histamine-effect-heavy-itchiness" ] @@ -521,7 +522,7 @@ color: "#D6CE7B" metabolisms: Poison: - metabolismRate: 0.2 + metabolismRate: 0.3 # Arcane-Edit: 0.2 > 0.3 effects: - !type:HealthChange conditions: @@ -530,7 +531,7 @@ shouldHave: false damage: types: - Poison: 3 + Poison: 5 # Arcane-Edit: 3 > 5 - type: reagent id: VentCrud @@ -875,7 +876,7 @@ max: 50 damage: types: - Poison: 2 + Poison: 4 # Arcane-Edit: 2 > 4 - !type:SatiateHunger factor: -6 diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml b/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml index 5062640d245..6fcffb11ef7 100644 --- a/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml +++ b/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml @@ -143,6 +143,10 @@ - MedkitCombat #goob - Move combat kit to research - VialBluespace # goob edit - bluespace vials - CryostasisCigarette # goob - cryo cig + # Arcane-Start + - XLargeBeaker + - MetamaterialBeaker + # Arcane-End - type: latheRecipePack id: MedicalBoards diff --git a/Resources/Prototypes/Recipes/Lathes/chemistry.yml b/Resources/Prototypes/Recipes/Lathes/chemistry.yml index 95959ab7949..322270568a3 100644 --- a/Resources/Prototypes/Recipes/Lathes/chemistry.yml +++ b/Resources/Prototypes/Recipes/Lathes/chemistry.yml @@ -80,7 +80,8 @@ Steel: 500 Plastic: 500 Plasma: 150 - Silver: 50 + Uranium: 50 # Arcane-Edit: Silver > Uranium + BSCrystal: 50 # Arcane - type: latheRecipe id: SyringeBluespace @@ -133,4 +134,4 @@ materials: Steel: 200 Plastic: 300 - Glass: 500 \ No newline at end of file + Glass: 500 diff --git a/Resources/Prototypes/Recipes/Reactions/medicine.yml b/Resources/Prototypes/Recipes/Reactions/medicine.yml index d27f925ab9b..fd475e89eda 100644 --- a/Resources/Prototypes/Recipes/Reactions/medicine.yml +++ b/Resources/Prototypes/Recipes/Reactions/medicine.yml @@ -153,17 +153,19 @@ products: Dexalin: 3 -- type: reaction - id: DexalinPlus - reactants: - Dexalin: - amount: 1 - Carbon: - amount: 1 - Iron: - amount: 1 - products: - DexalinPlus: 3 +# Arcane-Edit-Start: Removed +#- type: reaction +# id: DexalinPlus +# reactants: +# Dexalin: +# amount: 1 +# Carbon: +# amount: 1 +# Iron: +# amount: 1 +# products: +# DexalinPlus: 3 +# Arcane-Edit-End - type: reaction id: Hyronalin @@ -293,7 +295,7 @@ - type: reaction id: HeartbreakerToxin reactants: - DexalinPlus: + Dexalin: # Arcane-Edit: DexalinPlus > Dexalin amount: 1 MindbreakerToxin: amount: 1 diff --git a/Resources/Prototypes/Stacks/medical_stacks.yml b/Resources/Prototypes/Stacks/medical_stacks.yml index bca869c7a66..c7bbfcc09e4 100644 --- a/Resources/Prototypes/Stacks/medical_stacks.yml +++ b/Resources/Prototypes/Stacks/medical_stacks.yml @@ -53,11 +53,11 @@ name: stack-medicated-suture icon: {sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: medicated-suture } spawn: MedicatedSuture - maxCount: 15 #Was 10, bumped up due to Shitmed changes. (Goobstation) + maxCount: 10 #Was 10, bumped up due to Shitmed changes. (Goobstation) # Arcane-Edit: 15 > 10 - type: stack id: RegenerativeMesh name: stack-regenerative-mesh icon: {sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: regenerative-mesh} - spawn: RegenerativeMesh + spawn: RegenerativeMeshOpened # Arcane-Edit maxCount: 15 #Was 10, bumped up due to Shitmed changes. (Goobstation) diff --git a/Resources/Prototypes/_Arcane/Catalog/Cargo/cargo_medical.yml b/Resources/Prototypes/_Arcane/Catalog/Cargo/cargo_medical.yml new file mode 100644 index 00000000000..0a16d8b2af0 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Catalog/Cargo/cargo_medical.yml @@ -0,0 +1,19 @@ +- type: cargoProduct + id: CombatKit + icon: + sprite: Objects/Specific/Medical/firstaidkits.rsi + state: blackkit + product: MedkitCombatFilled + cost: 800 + category: cargoproduct-category-name-medical + group: market + +- type: cargoProduct + id: StandardCombatKit + icon: + sprite: _Orion/Objects/Specific/Medical/firstaidkits.rsi + state: blackkitstandard + product: MedkitCombatStandardFilled + cost: 20000 + category: cargoproduct-category-name-medical + group: market diff --git a/Resources/Prototypes/_Arcane/Catalog/Fills/Crates/medical.yml b/Resources/Prototypes/_Arcane/Catalog/Fills/Crates/medical.yml new file mode 100644 index 00000000000..b4fa648d68a --- /dev/null +++ b/Resources/Prototypes/_Arcane/Catalog/Fills/Crates/medical.yml @@ -0,0 +1,19 @@ +- type: entity + id: CrateCombatKit + parent: CrateMedical + name: combat kit + description: Crate filled with a combat kit. + components: + - type: StorageFill + contents: + - id: MedkitCombatFilled + +- type: entity + id: CrateStandardCombatKit + parent: CrateMedical + name: standard combat kit + description: Nanotrasen doesn't exactly hand out combat gear for free. The Standard Combat Kit costs extra for a reason - they'd rather you didn't have it at all. + components: + - type: StorageFill + contents: + - id: MedkitCombatStandardFilled diff --git a/Resources/Prototypes/_Arcane/Catalog/Fills/Items/firstaidkits.yml b/Resources/Prototypes/_Arcane/Catalog/Fills/Items/firstaidkits.yml new file mode 100644 index 00000000000..bbe554f8c53 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Catalog/Fills/Items/firstaidkits.yml @@ -0,0 +1,52 @@ +- type: entity + parent: MedkitEmergency + id: MedkitEmergencyFilled + suffix: Filled + components: + - type: StorageFill + contents: + - id: Gauze5 + - id: EmergencyMedipen + - id: SyringeTramadol + - id: PillHerignis + - id: PillCharcoal + +- type: entity + parent: MedkitCombatStandard + id: MedkitCombatStandardFilled + suffix: Filled + components: + - type: StorageFill + contents: + - id: MedicatedSuture + - id: AdvancedRegenerativeMeshOpened + - id: AirlossAutoInjector + - id: StimulatorAutoInjector + - id: BruteAutoInjector + - id: BurnAutoInjector + - id: AdvancedEmergencyMedipen + amount: 2 + - id: MedicalPatchPrefilledBicaridine + - id: MedicalPatchPrefilledDermaline + +- type: entity + parent: MedkitCombatAdvanced + id: MedkitCombatAdvancedFilled + suffix: Filled + components: + - type: StorageFill + contents: + - id: EmergencyNitriumTankFilled + - id: EmergencyHealiumTankFilled + - id: MedicatedSuture + - id: AdvancedRegenerativeMeshOpened + - id: MedicalPatchPrefilledProcenylLazide + - id: MedicalPatchPrefilledEbifin + - id: MedicalPatchPrefilledProcenylLazide + - id: MedicalPatchPrefilledEbifin + - id: ClothingMaskBreathMedical + - id: MedicalPatchPrefilledSyriniver + - id: PunctAutoInjector + - id: PyraAutoInjector + - id: MedicalPatchPrefilledSalbutamol + amount: 2 diff --git a/Resources/Prototypes/_Arcane/Catalog/Fills/Items/gas_tanks.yml b/Resources/Prototypes/_Arcane/Catalog/Fills/Items/gas_tanks.yml new file mode 100644 index 00000000000..658be79e93e --- /dev/null +++ b/Resources/Prototypes/_Arcane/Catalog/Fills/Items/gas_tanks.yml @@ -0,0 +1,48 @@ +- type: entity + parent: EmergencyNitriumTank + id: EmergencyNitriumTankFilled + suffix: Filled + components: + - type: GasTank + outputPressure: 40 + air: + # 2/1.5 minute + volume: 0.66 + moles: + - 0 # oxygen + - 0 # nitrogen + - 0 # CO2 + - 0 # Plasma + - 0 # Tritium + - 0 # Water vapor + - 0 # Miasma + - 0 # N2O + - 0 # Frezon + - 0 # BZ + - 0 # Healium + - 0.270782035 # Nitrium + temperature: 293.15 + +- type: entity + parent: EmergencyHealiumTank + id: EmergencyHealiumTankFilled + suffix: Filled + components: + - type: GasTank + outputPressure: 60 + air: + # 1.33 minute + volume: 0.66 + moles: + - 0 # oxygen + - 0 # nitrogen + - 0 # CO2 + - 0 # Plasma + - 0 # Tritium + - 0 # Water vapor + - 0 # Miasma + - 0 # N2O + - 0 # Frezon + - 0 # BZ + - 0.270782035 # Healium + temperature: 293.15 diff --git a/Resources/Prototypes/_Arcane/Catalog/uplink_catalog.yml b/Resources/Prototypes/_Arcane/Catalog/uplink_catalog.yml new file mode 100644 index 00000000000..1e7fc0ec54a --- /dev/null +++ b/Resources/Prototypes/_Arcane/Catalog/uplink_catalog.yml @@ -0,0 +1,19 @@ +- type: listing + id: UplinkCombatStandardMedkit + name: uplink-combat-standard-medkit-name + description: uplink-combat-standard-medkit-desc + productEntity: MedkitCombatStandardFilled + cost: + Telecrystal: 30 + categories: + - UplinkChemicals + +- type: listing + id: UplinkCombatAdvancedMedkit + name: uplink-combat-advanced-medkit-name + description: uplink-combat-advanced-medkit-desc + productEntity: MedkitCombatAdvancedFilled + cost: + Telecrystal: 60 + categories: + - UplinkChemicals diff --git a/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/healing.yml new file mode 100644 index 00000000000..2c6f56b96d3 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/healing.yml @@ -0,0 +1,292 @@ +- type: entity + name: pill + suffix: Hercuri 10u + parent: Pill + id: PillHercuri + components: + - type: Pill + pillType: 7 + - type: Sprite + state: pill7 + - type: Label + currentLabel: hercuri 10u + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Hercuri + Quantity: 10 + +- type: entity + name: pill canister + parent: PillCanister + id: PillCanisterHercuri + suffix: Hercuri 10u, 15 + components: + - type: Label + currentLabel: hercuri 10u + - type: StorageFill + contents: + - id: PillHercuri + amount: 15 + +- type: entity + name: pill + suffix: Herignis 10u + parent: Pill + id: PillHerignis + components: + - type: Pill + pillType: 14 + - type: Sprite + state: pill14 + - type: Label + currentLabel: herignis 10u + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Herignis + Quantity: 10 + +- type: entity + name: pill canister + parent: PillCanister + id: PillCanisterHerignis + suffix: Herignis 10u, 15 + components: + - type: Label + currentLabel: herignis 10u + - type: StorageFill + contents: + - id: PillHerignis + amount: 15 + +- type: entity + name: pill + suffix: Probital 10u + parent: Pill + id: PillProbital + components: + - type: Pill + pillType: 12 + - type: Sprite + state: pill12 + - type: Label + currentLabel: probital 10u + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Probital + Quantity: 10 + +- type: entity + name: pill canister + parent: PillCanister + id: PillCanisterProbital + suffix: Probital 10u, 15 + components: + - type: Label + currentLabel: probital 10u + - type: StorageFill + contents: + - id: PillProbital + amount: 15 + +- type: entity + name: pill + suffix: Pentenic acid 5u + parent: Pill + id: PillPentenicAcid + components: + - type: Pill + pillType: 17 + - type: Sprite + state: pill17 + - type: Label + currentLabel: pentenic acid 5u + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: PentenicAcid + Quantity: 5 + +- type: entity + name: pill canister + parent: PillCanister + id: PillCanisterPentenicAcid + suffix: Pentenic acid 5u, 15 + components: + - type: Label + currentLabel: pentenic acid 5u + - type: StorageFill + contents: + - id: PillPentenicAcid + amount: 15 + +- type: entity + name: pill + suffix: Multiver 10u + parent: Pill + id: PillMultiver + components: + - type: Pill + pillType: 11 + - type: Sprite + state: pill11 + - type: Label + currentLabel: multiver 10u + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Multiver + Quantity: 10 + +- type: entity + name: pill canister + parent: PillCanister + id: PillCanisterMultiver + suffix: Multiver 10u, 15 + components: + - type: Label + currentLabel: multiver 10u + - type: StorageFill + contents: + - id: PillMultiver + amount: 15 + +- type: entity + name: pill + suffix: Syriniver 3u + parent: Pill + id: PillSyriniver + components: + - type: Pill + pillType: 2 + - type: Sprite + state: pill2 + - type: Label + currentLabel: syriniver 3u + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Syriniver + Quantity: 3 + +- type: entity + suffix: haloperidol + parent: PrefilledSyringe + id: SyringeHaloperidol + components: + - type: Label + currentLabel: reagent-name-haloperidol + - type: SolutionContainerManager + solutions: + injector: + maxVol: 15 + reagents: + - ReagentId: Haloperidol + Quantity: 15 + +- type: entity + name: pill + suffix: Genecide 3u + parent: Pill + id: PillGenecide + components: + - type: Pill + pillType: 19 + - type: Sprite + state: pill19 + - type: Label + currentLabel: genecide 3u + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Genecide + Quantity: 3 + +- type: entity + suffix: convermol + parent: PrefilledSyringe + id: SyringeConvermol + components: + - type: Label + currentLabel: reagent-name-convermol + - type: SolutionContainerManager + solutions: + injector: + maxVol: 15 + reagents: + - ReagentId: Convermol + Quantity: 15 + +- type: entity + name: pill + suffix: Ammoniated mercury 5u + parent: Pill + id: PillAmmoniatedMercury + components: + - type: Pill + pillType: 9 + - type: Sprite + state: pill9 + - type: Label + currentLabel: ammoniated mercury 5u + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: AmmoniatedMercury + Quantity: 5 + +- type: entity + name: pill + suffix: Anti-brute 25u + parent: Pill + id: PillAntiBrute + components: + - type: Pill + pillType: 6 + - type: Sprite + state: pill6 + - type: Label + currentLabel: anti-brute 25u + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Bicaridine + Quantity: 14 + - ReagentId: Ibuprofen + Quantity: 11 + +- type: entity + name: pill + suffix: Anti-burn 30u + parent: Pill + id: PillAntiBurn + components: + - type: Pill + pillType: 8 + - type: Sprite + state: pill8 + - type: Label + currentLabel: anti-burn 30u + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Kelotane + Quantity: 15 + - ReagentId: Dermaline + Quantity: 7 + - ReagentId: Pyrazine + Quantity: 2 + - ReagentId: Tehifin + Quantity: 1 diff --git a/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/healing_items.yml b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/healing_items.yml new file mode 100644 index 00000000000..ff69b1a83d5 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/healing_items.yml @@ -0,0 +1,76 @@ +- type: entity + parent: MedicatedSuture + id: Suture + name: suture + description: A suture soaked in medicine, treats blunt-force trauma effectively and closes wounds. + suffix: Full + components: + - type: Sprite + state: suture-3 + layers: + - state: suture-3 + map: ["base"] + - type: Item + heldPrefix: suture + storedRotation: -90 + - type: Healing + damageContainers: + - Biological + damage: + groups: + Brute: -30 + bloodlossModifier: -2.5 + - type: Stack + stackType: Suture + layerStates: + - suture + - suture-2 + - suture-3 + - type: StackPrice + price: 20 + - type: Stitches + speed: 1 + +- type: entity + parent: AdvancedRegenerativeMeshOpened + id: RegenerativeMeshOpened + name: regenerative mesh + description: Used to treat even the nastiest burns. Also effective against caustic burns. + suffix: Full + components: + - type: Sprite + state: regenerative-mesh-3 + layers: + - state: regenerative-mesh-3 + map: ["base"] + - type: Item + heldPrefix: regenerative-mesh + - type: Healing + damageContainers: + - Biological + damage: + types: + Heat: -10 + Cold: -9 + Shock: -8 + Caustic: -7.5 + - type: Stack + stackType: RegenerativeMesh + layerStates: + - regenerative-mesh + - regenerative-mesh-2 + - regenerative-mesh-3 + - type: StackPrice + price: 20 + +# -------------------- +# --- Quantitative --- +# -------------------- + +- type: entity + id: Gauze5 + parent: Gauze + suffix: 5 + components: + - type: Stack + count: 5 diff --git a/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/healing_items_closed.yml b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/healing_items_closed.yml new file mode 100644 index 00000000000..d7b79885420 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/healing_items_closed.yml @@ -0,0 +1,55 @@ +- type: entity + parent: BaseItem + id: BaseHealingItemClosed + abstract: true + components: + - type: Tag + tags: + - Ointment + - type: Sprite + sprite: Objects/Specific/Medical/medical.rsi + state: regenerative-mesh-closed + - type: Item + sprite: Objects/Specific/Medical/medical.rsi + heldPrefix: regenerative-mesh + size: Small + - type: SpawnItemsOnUse + items: + - id: RegenerativeMeshOpened + sound: + path: /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_ripped.ogg + - type: EmitSoundOnDrop + sound: + path: /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_drop1.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_drop1.ogg + - type: StaticPrice + price: 0 + +- type: entity + parent: BaseHealingItemClosed + id: RegenerativeMesh + name: regenerative mesh + description: Used to treat even the nastiest burns. Also effective against caustic burns. It's still in a wrapper. + components: + - type: StaticPrice + price: 20 + +- type: entity + parent: BaseHealingItemClosed + id: AdvancedRegenerativeMesh + name: advanced regenerative mesh + description: An advanced mesh made with aloe extracts and sterilizing chemicals, used to treat burns. It's still in a wrapper. + components: + - type: Sprite + sprite: Objects/Specific/Medical/medical.rsi + state: aloe-mesh-closed + - type: Item + sprite: Objects/Specific/Medical/medical.rsi + heldPrefix: aloe-mesh + - type: SpawnItemsOnUse + items: + - id: AdvancedRegenerativeMeshOpened + - type: StaticPrice + price: 50 diff --git a/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/hypospray.yml b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/hypospray.yml new file mode 100644 index 00000000000..6ca2ef1d212 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/hypospray.yml @@ -0,0 +1,129 @@ +- type: entity + parent: EmergencyMedipen + id: AdvancedEmergencyMedipen + name: advanced emergency medipen + description: No slowdown. No whining. Just get back in the fight before someone steals your ass. + components: + - type: Sprite + layers: + - state: advmedipen + map: ["enum.SolutionContainerLayers.Fill"] + - type: Item + inhandVisuals: + left: + - state: base-needle-inhand-left + - state: base-colorA-inhand-left + color: "#5d81c7" + - state: base-colorB-inhand-left + color: "#8f01b3" + right: + - state: base-needle-inhand-right + - state: base-colorA-inhand-right + color: "#5d81c7" + - state: base-colorB-inhand-right + color: "#8f01b3" + - type: SolutionContainerVisuals + maxFillLevels: 1 + changeColor: false + emptySpriteName: advmedipen_empty + - type: Hypospray + transferAmount: 40 + - type: SolutionContainerManager + solutions: + pen: + maxVol: 40 + reagents: + - ReagentId: Epinephrine + Quantity: 10 + - ReagentId: Ephedrine + Quantity: 10 + - ReagentId: Atropine + Quantity: 5 + - ReagentId: DexalinPlus + Quantity: 5 + - ReagentId: Leporazine + Quantity: 5 + - ReagentId: Antihol + Quantity: 5 + - type: Tag + tags: + - Medipen + - EmergencyMedipen + - Trash + +- type: entity + parent: ChemicalMedipen + id: SalbutamolAutoInjector + name: airloss auto-injector + description: No air? No problem. One pen, one breath, one more chance to be an idiot. Don't choke on it. + components: + - type: Item + inhandVisuals: + left: + - state: base-needle-inhand-left + - state: base-colorA-inhand-left + color: "#5d81c7" + - state: base-colorB-inhand-left + color: "#00FFFF" + right: + - state: base-needle-inhand-right + - state: base-colorA-inhand-right + color: "#5d81c7" + - state: base-colorB-inhand-right + color: "#00FFFF" + - type: Sprite + sprite: Objects/Specific/Medical/medipen.rsi + layers: + - state: salbpen + map: ["enum.SolutionContainerLayers.Fill"] + - type: SolutionContainerVisuals + maxFillLevels: 1 + changeColor: false + emptySpriteName: salbpen_empty + - type: SolutionContainerManager + solutions: + pen: + maxVol: 20 + reagents: + - ReagentId: Salbutamol + Quantity: 20 + +- type: entity + parent: ChemicalMedipen + id: StimulatorAutoInjector + name: standard stimulator autoinjector + description: Fast, reckless, and probably a bad idea. This pen doesn't care about your health. Neither do you? Use it! + components: + - type: Sprite + layers: + - state: meth + map: ["enum.SolutionContainerLayers.Fill"] + - type: Item + inhandVisuals: + left: + - state: base-needle-inhand-left + - state: base-colorA-inhand-left + color: "#2d2a30" + - state: base-colorB-inhand-left + color: "#7c5a75" + right: + - state: base-needle-inhand-right + - state: base-colorA-inhand-right + color: "#2d2a30" + - state: base-colorB-inhand-right + color: "#7c5a75" + - type: SolutionContainerVisuals + maxFillLevels: 1 + changeColor: false + emptySpriteName: meth_empty + - type: Hypospray + transferAmount: 30 + - type: SolutionContainerManager + solutions: + pen: + maxVol: 30 + reagents: + - ReagentId: Desoxyephedrine + Quantity: 15 + - ReagentId: Diphenhydramine + Quantity: 15 diff --git a/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/medical_patch_prefilled.yml b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/medical_patch_prefilled.yml new file mode 100644 index 00000000000..9cbaded7f53 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/medical_patch_prefilled.yml @@ -0,0 +1,111 @@ +- type: entity + parent: MedicalPatchPrefilledBase + id: MedicalPatchPrefilledProcenylLazide + name: advanced anti-brute patch + suffix: Procenyl Lazide + components: + - type: Label + currentLabel: Procenyl Lazide 10u + - type: SolutionContainerManager + solutions: + drink: + maxVol: 10 + reagents: + - ReagentId: ProcenylLazide + Quantity: 10 + +- type: entity + parent: MedicalPatchPrefilledBase + id: MedicalPatchPrefilledEbifin + name: advanced anti-burn patch + suffix: Ebifin + components: + - type: Label + currentLabel: Ebifin 10u + - type: SolutionContainerManager + solutions: + drink: + maxVol: 10 + reagents: + - ReagentId: Ebifin + Quantity: 10 + +- type: entity + parent: MedicalPatchPrefilledBase + id: MedicalPatchPrefilledSalbutamol + name: air patch + suffix: Salbutamol + components: + - type: Label + currentLabel: Salbutamol 30u + - type: SolutionContainerManager + solutions: + drink: + maxVol: 30 + reagents: + - ReagentId: Salbutamol + Quantity: 30 + +- type: entity + parent: MedicalPatchPrefilledBase + id: MedicalPatchPrefilledSyriniver + name: advanced anti-tox patch + suffix: Syriniver + components: + - type: Label + currentLabel: Syriniver 10u + - type: SolutionContainerManager + solutions: + drink: + maxVol: 10 + reagents: + - ReagentId: Syriniver + Quantity: 10 + +- type: entity + parent: MedicalPatchPrefilledBase + id: MedicalPatchPrefilledHyronalin + name: anti-radiation patch + suffix: Hyronalin + components: + - type: Label + currentLabel: Hyronalin 30u + - type: SolutionContainerManager + solutions: + drink: + maxVol: 30 + reagents: + - ReagentId: Hyronalin + Quantity: 30 + +- type: entity + parent: MedicalPatchPrefilledBase + id: MedicalPatchPrefilledFormaldehyde + name: anti-rot patch + suffix: Formaldehyde + components: + - type: Label + currentLabel: Formaldehyde 30u + - type: SolutionContainerManager + solutions: + drink: + maxVol: 30 + reagents: + - ReagentId: Formaldehyde + Quantity: 30 + +- type: entity + parent: MedicalPatchPrefilledBase + id: MedicalPatchPrefilledSynthflesh + name: synthflesh patch + suffix: Synthflesh + components: + - type: Label + currentLabel: Synthflesh 30u + - type: SolutionContainerManager + solutions: + drink: + maxVol: 30 + reagents: + - ReagentId: Synthflesh + Quantity: 30 diff --git a/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/medkits.yml b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/medkits.yml new file mode 100644 index 00000000000..44fb68029d5 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/Medical/medkits.yml @@ -0,0 +1,52 @@ +- type: entity + parent: Medkit + id: MedkitEmergency + name: emergency medical kit + description: For emergencies. Not for fighting. + components: + - type: Sprite + sprite: _Orion/Objects/Specific/Medical/firstaidkits.rsi + state: emergencykit + - type: Item + sprite: _Orion/Objects/Specific/Medical/firstaidkits.rsi + heldPrefix: emergencykit + shape: + - 0,0,2,1 + - type: Storage + grid: + - 0,0,2,1 + +- type: entity + parent: MedkitCombat + id: MedkitCombatStandard + name: standard combat medical kit + description: "For the big weapons among us." + components: + - type: Sprite + sprite: _Orion/Objects/Specific/Medical/firstaidkits.rsi + state: blackkitstandard + - type: Item + sprite: _Orion/Objects/Specific/Medical/firstaidkits.rsi + heldPrefix: blackkitstandard + shape: + - 0,0,2,1 + - type: Storage + grid: + - 0,0,3,2 + +- type: entity + parent: MedkitCombatStandard + id: MedkitCombatAdvanced + name: advanced combat medical kit + description: "For the big weapons among us." + components: + - type: Sprite + state: blackkitadv + - type: Item + heldPrefix: blackkitadv + shape: + - 0,0,2,2 + - type: Storage + maxItemSize: Normal + grid: + - 0,0,5,2 diff --git a/Resources/Prototypes/_Arcane/Entities/Objects/Specific/chemistry.yml b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/chemistry.yml new file mode 100644 index 00000000000..daf6fe63e88 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Entities/Objects/Specific/chemistry.yml @@ -0,0 +1,91 @@ +- type: entity + abstract: true + id: BaseOpenableBeaker + components: + - type: Openable + opened: true + closeable: true + sound: + collection: bottleOpenSounds + closeSound: + collection: bottleCloseSounds + - type: Appearance + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: { visible: false } + False: { visible: true } + +- type: entity + parent: [BaseBeakerMetallic, BaseOpenableBeaker] + id: XLargeBeaker + name: X-large beaker + description: An extra-large beaker. + components: + - type: Spillable + solution: beaker + - type: Sprite + sprite: _Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi + layers: + - state: beakerxlarge + - state: beakerxlarge1 + map: ["enum.SolutionContainerLayers.Fill"] + visible: false + - state: lid_beakerxlarge + map: ["enum.OpenableVisuals.Layer"] + visible: false + - type: Item + sprite: _Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi + size: Normal + - type: SolutionContainerVisuals + maxFillLevels: 6 + fillBaseName: beakerxlarge + inHandsMaxFillLevels: 4 + inHandsFillBaseName: -fill- + - type: SolutionContainerManager + solutions: + beaker: + maxVol: 150 + - type: PhysicalComposition + materialComposition: + Glass: 62 + Plastic: 75 + - type: StaticPrice + price: 30 + +- type: entity + parent: XLargeBeaker + id: MetamaterialBeaker + name: metamaterial beaker + description: An enormous, metamaterial-reinforced beaker. + components: + - type: Sprite + sprite: _Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi + layers: + - state: beakermetamaterial + - state: beakermetamaterial1 + map: ["enum.SolutionContainerLayers.Fill"] + visible: false + - state: lid_beakermetamaterial + map: ["enum.OpenableVisuals.Layer"] + visible: false + - type: Item + sprite: _Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi + - type: SolutionContainerVisuals + maxFillLevels: 8 + fillBaseName: beakermetamaterial + inHandsMaxFillLevels: 5 + inHandsFillBaseName: -fill- + - type: SolutionContainerManager + solutions: + beaker: + maxVol: 200 + - type: PhysicalComposition + materialComposition: + Glass: 62 + Plastic: 75 + Gold: 25 + Silver: 25 + - type: StaticPrice + price: 60 diff --git a/Resources/Prototypes/_Arcane/Entities/Objects/Tools/gas_tanks.yml b/Resources/Prototypes/_Arcane/Entities/Objects/Tools/gas_tanks.yml new file mode 100644 index 00000000000..49577ffa058 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Entities/Objects/Tools/gas_tanks.yml @@ -0,0 +1,25 @@ +- type: entity + parent: EmergencyOxygenTank + id: EmergencyNitriumTank + name: emergency nitrium tank + description: Speed and stamina in a can. Overdose? You'll be fast enough to regret it. It can hold 0.66 L of gas. + components: + - type: Sprite + sprite: _Arcane/Objects/Tanks/emergency_brown.rsi + - type: Item + sprite: _Arcane/Objects/Tanks/emergency_brown.rsi + - type: Clothing + sprite: _Arcane/Objects/Tanks/emergency_brown.rsi + +- type: entity + parent: EmergencyOxygenTank + id: EmergencyHealiumTank + name: emergency healium tank + description: Heals what's broken. Overdose, and it breaks what's not. Don't be greedy. It can hold 0.66 L of gas. + components: + - type: Sprite + sprite: _Arcane/Objects/Tanks/emergency_green_red.rsi + - type: Item + sprite: _Arcane/Objects/Tanks/emergency_green_red.rsi + - type: Clothing + sprite: _Arcane/Objects/Tanks/emergency_green_red.rsi diff --git a/Resources/Prototypes/_Arcane/Reagents/medicine.yml b/Resources/Prototypes/_Arcane/Reagents/medicine.yml new file mode 100644 index 00000000000..29c3ad62ec2 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Reagents/medicine.yml @@ -0,0 +1,58 @@ +- type: reagent + id: Convermol + name: reagent-name-convermol + group: Medicine + desc: reagent-desc-convermol + physicalDesc: reagent-physical-desc-sour + flavor: medicine + color: "#FF6464" + metabolisms: + Medicine: + metabolismRate: 0.2 + effects: + - !type:ChemConvermol + healDamageGroup: Airloss + toxDamageType: Poison + healPerTick: 6.5 + buffer: 0.5 + toxRatio: 5 + overdoseThreshold: 35 + - !type:AdjustReagent + reagent: Convermol + amount: -0.5 + conditions: + - !type:ReagentThreshold + min: 35 + - !type:AdjustReagent + conditions: + - !type:ReagentThreshold + reagent: Dylovene + min: 0.5 + reagent: Histamine + amount: 4 + - !type:AdjustReagent + conditions: + - !type:ReagentThreshold + reagent: Dylovene + min: 0.5 + reagent: Dylovene + amount: -0.5 + +- type: reagent + id: Salbutamol + name: reagent-name-salbutamol + group: Medicine + desc: reagent-desc-salbutamol + physicalDesc: reagent-physical-desc-cloudy + flavor: medicine + color: "#00FFFF" + metabolisms: + Medicine: + metabolismRate: 0.15 + effects: + - !type:HealthChange + damage: + types: + Asphyxiation: -6 + - !type:Oxygenate + factor: 4 diff --git a/Resources/Prototypes/_Arcane/Reagents/narcotics.yml b/Resources/Prototypes/_Arcane/Reagents/narcotics.yml new file mode 100644 index 00000000000..a987fe1bd32 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Reagents/narcotics.yml @@ -0,0 +1,31 @@ +- type: reagent + id: Aranesp + name: reagent-name-aranesp + group: Narcotics + desc: reagent-desc-aranesp + physicalDesc: reagent-physical-desc-energizing + flavor: syrupy + color: "#75fff5" + metabolisms: + Narcotic: + metabolismRate: 0.25 + effects: + - !type:GenericStatusEffect + key: Adrenaline + component: IgnoreSlowOnDamage + time: 2 + - !type:TakeStaminaDamage + amount: -18 + immediate: true + - !type:RemoveComponentEffect + component: DelayedKnockdown + locale: reagent-effect-guidebook-remove-delayed-knockdown + Medicine: + metabolismRate: 0.25 + effects: + - !type:HealthChange + probability: 0.5 + damage: + types: + Asphyxiation: 1 + Poison: 0.5 diff --git a/Resources/Prototypes/_Arcane/Recipes/Lathes/chemistry.yml b/Resources/Prototypes/_Arcane/Recipes/Lathes/chemistry.yml new file mode 100644 index 00000000000..0befbc58683 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Recipes/Lathes/chemistry.yml @@ -0,0 +1,17 @@ +- type: latheRecipe + id: XLargeBeaker + result: XLargeBeaker + completetime: 2 + materials: + Glass: 400 + Plastic: 500 + +- type: latheRecipe + id: MetamaterialBeaker + result: MetamaterialBeaker + completetime: 2 + materials: + Glass: 400 + Plastic: 500 + Gold: 200 + Silver: 100 diff --git a/Resources/Prototypes/_Arcane/Recipes/Reactions/medicine.yml b/Resources/Prototypes/_Arcane/Recipes/Reactions/medicine.yml new file mode 100644 index 00000000000..53fee9fa850 --- /dev/null +++ b/Resources/Prototypes/_Arcane/Recipes/Reactions/medicine.yml @@ -0,0 +1,39 @@ +- type: reaction + id: Convermol + reactants: + Oil: + amount: 1 + Fluorine: + amount: 1 + Hydrogen: + amount: 1 + products: + Convermol: 3 + +- type: reaction + id: Salbutamol + reactants: + SalicylicAcid: + amount: 1 + Ammonia: + amount: 1 + Aluminium: + amount: 1 + Iodine: + amount: 1 + Lithium: + amount: 1 + products: + Salbutamol: 5 + +- type: reaction + id: Synthflesh + reactants: + Probital: + amount: 1 + Blood: + amount: 1 + Carbon: + amount: 1 + products: + Synthflesh: 3 diff --git a/Resources/Prototypes/_Arcane/Recipes/Reactions/narcotics.yml b/Resources/Prototypes/_Arcane/Recipes/Reactions/narcotics.yml new file mode 100644 index 00000000000..609b8d4d44f --- /dev/null +++ b/Resources/Prototypes/_Arcane/Recipes/Reactions/narcotics.yml @@ -0,0 +1,11 @@ +- type: reaction + id: Dopamine + reactants: + Aranesp: + amount: 1 + Salbutamol: + amount: 1 + Diphenhydramine: + amount: 1 + products: + Dopamine: 3 diff --git a/Resources/Prototypes/_Arcane/SoundCollections/liquids.yml b/Resources/Prototypes/_Arcane/SoundCollections/liquids.yml new file mode 100644 index 00000000000..eb458b70e25 --- /dev/null +++ b/Resources/Prototypes/_Arcane/SoundCollections/liquids.yml @@ -0,0 +1,7 @@ +- type: soundCollection + id: LiquidPour + files: + - /Audio/_Arcane/Effects/liquid_pour/liquid_pour1.ogg + - /Audio/_Arcane/Effects/liquid_pour/liquid_pour2.ogg + - /Audio/_Arcane/Effects/liquid_pour/liquid_pour3.ogg + - /Audio/_Arcane/Effects/liquid_pour/liquid_pour4.ogg diff --git a/Resources/Prototypes/_Arcane/SoundCollections/medical.yml b/Resources/Prototypes/_Arcane/SoundCollections/medical.yml new file mode 100644 index 00000000000..3ac71f1a0b8 --- /dev/null +++ b/Resources/Prototypes/_Arcane/SoundCollections/medical.yml @@ -0,0 +1,41 @@ +- type: soundCollection + id: SutureBegin + files: + - /Audio/_Arcane/Items/Medical/suture/suture_begin1.ogg + +- type: soundCollection + id: SutureContinuous + files: + - /Audio/_Arcane/Items/Medical/suture/suture_continuous1.ogg + - /Audio/_Arcane/Items/Medical/suture/suture_continuous2.ogg + - /Audio/_Arcane/Items/Medical/suture/suture_continuous3.ogg + +- type: soundCollection + id: SutureEnd + files: + - /Audio/_Arcane/Items/Medical/suture/suture_end1.ogg + - /Audio/_Arcane/Items/Medical/suture/suture_end2.ogg + - /Audio/_Arcane/Items/Medical/suture/suture_end3.ogg + +- type: soundCollection + id: RegenerativeMeshBegin + files: + - /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin1.ogg + - /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin2.ogg + - /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin3.ogg + - /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_begin4.ogg + +- type: soundCollection + id: RegenerativeMeshContinuous + files: + - /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous1.ogg + - /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous2.ogg + - /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous3.ogg + - /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous4.ogg + - /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_continuous5.ogg + +- type: soundCollection + id: RegenerativeMeshEnd + files: + - /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_end1.ogg + - /Audio/_Arcane/Items/Medical/regenerative_mesh/regen_mesh_end2.ogg diff --git a/Resources/Prototypes/_Arcane/Stacks/medical_stacks.yml b/Resources/Prototypes/_Arcane/Stacks/medical_stacks.yml new file mode 100644 index 00000000000..fa08ebfbe3b --- /dev/null +++ b/Resources/Prototypes/_Arcane/Stacks/medical_stacks.yml @@ -0,0 +1,13 @@ +- type: stack + id: Suture + name: stack-medicated-suture + icon: {sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: suture} + spawn: Suture + maxCount: 10 + +- type: stack + id: AdvancedRegenerativeMesh + name: stack-regenerative-mesh + icon: {sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: aloe-mesh} + spawn: AdvancedRegenerativeMeshOpened + maxCount: 15 diff --git a/Resources/Prototypes/_EinsteinEngines/Reagents/medicine.yml b/Resources/Prototypes/_EinsteinEngines/Reagents/medicine.yml index 3cef345ac3a..4bb9081dfa3 100644 --- a/Resources/Prototypes/_EinsteinEngines/Reagents/medicine.yml +++ b/Resources/Prototypes/_EinsteinEngines/Reagents/medicine.yml @@ -20,7 +20,7 @@ max: 11 amount: -1 - !type:ModifyBloodLevel - amount: 8 # at least you still make blood while ODing :] + amount: 12 # at least you still make blood while ODing :] # Arcane-Edit: 8 > 12 - !type:HealthChange conditions: - !type:ReagentThreshold diff --git a/Resources/Prototypes/_Goobstation/Catalog/Fills/Belt/belts.yml b/Resources/Prototypes/_Goobstation/Catalog/Fills/Belt/belts.yml index 15fe570ac27..3e032869b2f 100644 --- a/Resources/Prototypes/_Goobstation/Catalog/Fills/Belt/belts.yml +++ b/Resources/Prototypes/_Goobstation/Catalog/Fills/Belt/belts.yml @@ -242,8 +242,10 @@ - id: ChemistryBottleEphedrine amount: 2 - id: ChemistryBottleOmnizine - - id: ChemistryBottleTramadol - - id: ChemistryBottleOxycodone + # Arcane-Edit-Start: Don't used +# - id: ChemistryBottleTramadol +# - id: ChemistryBottleOxycodone + # Arcane-Edit-End - id: MedicalPatchBasic amount: 3 diff --git a/Resources/Prototypes/_Goobstation/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/_Goobstation/Catalog/Fills/Lockers/heads.yml index 612064aac91..b8cc7b2a2d5 100644 --- a/Resources/Prototypes/_Goobstation/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/_Goobstation/Catalog/Fills/Lockers/heads.yml @@ -53,7 +53,7 @@ children: - id: DefibrillatorCompact - id: ParamedHypo - - id: MedkitBSOFilled + - id: MedkitCombatStandardFilled # Arcane-Edit: MedBay Rework - id: MedkitBSOIPCFilled - id: FlippoLighterBlueshield - id: CigPackBlueshield diff --git a/Resources/Prototypes/_Goobstation/Catalog/uplink_catalog.yml b/Resources/Prototypes/_Goobstation/Catalog/uplink_catalog.yml index 0aca8830ef1..659db3fe709 100644 --- a/Resources/Prototypes/_Goobstation/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/_Goobstation/Catalog/uplink_catalog.yml @@ -991,7 +991,7 @@ description: uplink-combat-medkit-pills-desc productEntity: MedkitCombatBlueFilled cost: - Telecrystal: 25 + Telecrystal: 15 # Arcane-Edit 25 > 15 categories: - UplinkChemicals diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Devices/Circuitboards/Machine/production.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Devices/Circuitboards/Machine/production.yml index 6f031a7465a..b1ccdabbe9e 100644 --- a/Resources/Prototypes/_Goobstation/Entities/Objects/Devices/Circuitboards/Machine/production.yml +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Devices/Circuitboards/Machine/production.yml @@ -163,6 +163,7 @@ defaultPrototype: Beaker partRequirements: # Orion Servo: 1 + Capacitor: 1 # Arcane - type: entity id: TelecomTransmitterCircuitboard diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/hypospray.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/hypospray.yml index 13f0434b141..83560647b73 100644 --- a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/hypospray.yml +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/hypospray.yml @@ -175,7 +175,7 @@ - type: entity name: airloss autoinjector cartridge parent: [ BaseSecurityMedicalContraband , BaseAutoinjectorCartridge ] - description: Contains 7u of saline and 3u of dexalin plus, used in a cartridge autoinjector. + description: Contains 5u of saline, 3u of dexalin plus and 2u artiplates, used in a cartridge autoinjector. # Arcane-Edit id: CartridgeSaline components: - type: Sprite @@ -189,9 +189,13 @@ maxVol: 10 reagents: - ReagentId: Saline - Quantity: 7 + Quantity: 5 # Arcane-Edit: 7 > 5 - ReagentId: DexalinPlus Quantity: 3 + # Arcane-Start + - ReagentId: Artiplates + Quantity: 2 + # Arcane-End - type: entity name: brute autoinjector cartridge diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/medical_patch.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/medical_patch.yml index 2dcc2cf5acc..b36bf12b2bf 100644 --- a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/medical_patch.yml +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/medical_patch.yml @@ -101,12 +101,12 @@ - type: SolutionContainerManager solutions: drink: - maxVol: 20 + maxVol: 40 # Arcane-Edit: 20 > 40 - type: ExaminableSolution solution: drink - type: Sticky - stickDelay: 3 - unstickDelay: 2 + stickDelay: 2 # Arcane-Edit: 3 > 2 + unstickDelay: 1.5 # Arcane-Edit 2 > 1.5 stickPopupStart: goobstation-medicalpatch-sticy-trystick stickPopupSuccess: goobstation-medicalpatch-sticy-trystick-success unstickPopupStart: goobstation-medicalpatch-sticy-tryremove @@ -146,7 +146,7 @@ - type: SolutionContainerManager solutions: drink: #drink is the same as Bottle solution, this is to prevent recoding chem master. TODO: recode chem master - maxVol: 20 + maxVol: 40 # Arcane-Edit: 20 > 40 - type: Tag tags: - MedicalPatch @@ -236,7 +236,7 @@ - type: SolutionContainerManager solutions: drink: - maxVol: 40 # +50% from basic + maxVol: 80 # +50% from basic # Arcane-Edit: 40 > 80 - type: MedicalPatch injectPercentageOnAttatch: 10 # 4u when full - type: Item @@ -258,7 +258,7 @@ - type: SolutionContainerManager solutions: drink: - maxVol: 20 # lasts for 40 seconds, effectively half as good as a normal patch + maxVol: 30 # lasts for 40 seconds, effectively half as good as a normal patch # Arcane-Edit: 20 > 30 - type: Construction graph: MedicalPatchMakeshift node: medicalPatchMakeshift diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/portable_chem_master.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/portable_chem_master.yml index ce87f9b4f4b..9a4291f8067 100644 --- a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/portable_chem_master.yml +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/portable_chem_master.yml @@ -69,7 +69,7 @@ - FitsInDispenser - type: Appearance - type: ChemMaster - pillDosageLimit: 20 + pillDosageLimit: 50 # Arcane-Edit: 20 > 50 - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/_Goobstation/Entities/Structures/Machines/dispensers.yml b/Resources/Prototypes/_Goobstation/Entities/Structures/Machines/dispensers.yml index 2293bb0ebbe..2203704bb30 100644 --- a/Resources/Prototypes/_Goobstation/Entities/Structures/Machines/dispensers.yml +++ b/Resources/Prototypes/_Goobstation/Entities/Structures/Machines/dispensers.yml @@ -68,7 +68,7 @@ startingCharge: 1500 - type: ApcPowerReceiverBattery idleLoad: 65 - batteryRechargeRate: 30 + batteryRechargeRate: 20 # Arcane-Edit: 30 > 20 batteryRechargeEfficiency: 1.0 - type: ApcPowerReceiver powerLoad: 65 @@ -123,26 +123,26 @@ components: - FitsInDispenser reagents: - Aluminium: 8 - Carbon: 3 - Chlorine: 9 # Orion-Edit: 12 > 9 - Copper: 5 + Aluminium: 3 # Arcane-Edit: 8 > 3 + Carbon: 2 # Arcane-Edit: 3 > 2 + Chlorine: 5 # Arcane-Edit: 12 > 5 + Copper: 3 # Arcane-Edit: 5 > 3 Ethanol: 8 - Fluorine: 12 - Hydrogen: 5 # Orion-Edit: 3 > 5 - Iodine: 8 - Iron: 5 - Lithium: 6 # Orion-Edit: 12 > 6 - Mercury: 12 + Fluorine: 10 # Arcane-Edit: 12 > 10 + Hydrogen: 5 # Arcane-Edit: 3 > 5 + Iodine: 5 # Arcane-Edit: 8 > 5 + Iron: 3 # Arcane-Edit: 5 > 3 + Lithium: 4 # Arcane-Edit: 12 > 4 + Mercury: 8 # Arcane-Edit: 12 > 8 Nitrogen: 3 - Oxygen: 4 # Orion-Edit: 3 > 4 - Phosphorus: 14 # Orion-Edit: 5 > 14 + Oxygen: 4 # Arcane-Edit: 3 > 4 + Phosphorus: 10 # Arcane-Edit: 5 > 10 Potassium: 8 - Radium: 9 # Orion-Edit: 15 > 9 + Radium: 9 # Arcane-Edit: 15 > 9 Silicon: 3 Sodium: 5 - Sugar: 5 - Sulfur: 5 + Sugar: 3 # Arcane-Edit: 5 > 3 + Sulfur: 7 # Arcane-Edit: 5 > 7 # Orion-Start reagentsEmagged: Puncturase: 18 diff --git a/Resources/Prototypes/_Goobstation/Reagents/medicine.yml b/Resources/Prototypes/_Goobstation/Reagents/medicine.yml index 3894f0ff865..23d8de37283 100644 --- a/Resources/Prototypes/_Goobstation/Reagents/medicine.yml +++ b/Resources/Prototypes/_Goobstation/Reagents/medicine.yml @@ -77,7 +77,11 @@ - !type:HealthChange damage: groups: - Brute: -1.5 # Lower than Bicardine, offloading healing onto mitotrophin + Brute: -5 # Lower than Bicardine, offloading healing onto mitotrophin # Arcane-Edit: -1.5 > -5 + # Arcane-Start + - !type:TakeStaminaDamage + amount: 4 + # Arcane-End - !type:TakeStaminaDamage conditions: - !type:ReagentThreshold @@ -191,11 +195,14 @@ color: "#ff6060" metabolisms: Medicine: + metabolismRate: 0.25 # Arcane effects: - !type:HealthChange damage: - types: - Asphyxiation: -6 # intended to be stronger, but more annoying than inapr + # Arcane-Edit-Start + groups: + Airloss: -8 # intended to be stronger, but more annoying than inapr + # Arcane-Edit-End - !type:TakeStaminaDamage conditions: - !type:OrganType @@ -219,8 +226,10 @@ min: 15 probability: 0.2 paralyzeTime: 4 - - !type:ModifyBleedAmount - amount: -0.25 + # Arcane-Edit-Start +# - !type:ModifyBleedAmount +# amount: -0.25 + # Arcane-Edit-End # Patch/microdose meds, hilariously strong due to difficulties in making and using them @@ -497,12 +506,18 @@ - !type:AdjustReagent group: Medicine amount: -3 + excludeSelf: true # Arcane conditions: - !type:UniqueBloodstreamChemThreshold max: 2 - !type:AdjustReagent group: Poison amount: -3 + # Arcane-Start + conditions: + - !type:UniqueBloodstreamChemThreshold + max: 3 + # Arcane-End - !type:AdjustReagent group: Narcotic amount: -3 @@ -778,15 +793,25 @@ ignoreBlockers: false damage: types: - Heat: -1.5 - Cold: -1.5 + Heat: -1 # Arcane-Edit: -1.5 > -1 + Cold: -1.25 # Arcane-Edit: -1.5 > -1.25 Shock: -1 - Caustic: -1 + Caustic: -0.75 # Arcane-Edit: -1 > -0.75 + conditions: + - !type:HasComponentOnEquipmentCondition + components: + - type: PressureProtection # can't get through this to reach the bodyparts! + invert: true + # Arcane-Start + - !type:AdjustTemperature conditions: - !type:HasComponentOnEquipmentCondition components: - type: PressureProtection # can't get through this to reach the bodyparts! invert: true + - !type:Temperature + amount: -2500 + # Arcane-End metabolisms: Medicine: metabolismRate: 3 @@ -843,14 +868,24 @@ ignoreBlockers: false damage: types: - Blunt: -2 - Piercing: -1 # limits combat effectivness - Slash: -2 + Blunt: -1.5 # Arcane-Edit: -2 > -1.5 + Piercing: -0.75 # limits combat effectivness # Arcane-Edit: -1 > -0.75 + Slash: -1.5 # Arcane-Edit: -2 > -1.5 conditions: - !type:HasComponentOnEquipmentCondition components: - type: PressureProtection # can't get through this to reach the bodyparts! invert: true + # Arcane-Start + - !type:AdjustTemperature + conditions: + - !type:HasComponentOnEquipmentCondition + components: + - type: PressureProtection # can't get through this to reach the bodyparts! + invert: true + - !type:Temperature + amount: 5000 + # Arcane-End - !type:ModifyBleedAmount amount: -2 conditions: @@ -905,6 +940,7 @@ Cold: -0.38 Shock: -0.25 Caustic: -0.25 + Poison: 0.2 # Arcane conditions: - !type:HasComponentOnEquipmentCondition components: @@ -943,8 +979,8 @@ damage: types: Blunt: 0.25 - Poison: -2 - Radiation: -1 + Poison: -0.2 # Arcane-Edit: -2 > -0.2 + Radiation: -0.4 # Arcane-Edit: -1 > -0.4 conditions: - !type:HasComponentOnEquipmentCondition components: @@ -952,11 +988,15 @@ invert: true metabolisms: Medicine: + metabolismRate: 1 # Arcane effects: - !type:HealthChange damage: - groups: - Toxin: -2 + # Arcane-Edit-Start + types: + Poison: -0.25 + Radiation: -0.5 + # Arcane-Edit-End - !type:HealthChange damage: types: @@ -1034,7 +1074,7 @@ Heat: -4 Shock: -4 Cold: -4 - Caustic: -3 + Caustic: -1 # Arcane-Edit: -3 > -1 conditions: - !type:TypedDamageThreshold damage: @@ -1225,11 +1265,42 @@ - !type:HealthChange scaleByQuantity: true ignoreResistances: false + ignoreBlockers: false # Arcane damage: types: Cold: 0.05 + Heat: -0.5 # Arcane + # Arcane-Start + conditions: + - !type:HasComponentOnEquipmentCondition + components: + - type: PressureProtection # can't get through this to reach the bodyparts! + invert: true + - !type:HealthChange + scaleByQuantity: true + ignoreResistances: false + ignoreBlockers: false + conditions: + - !type:HasComponentOnEquipmentCondition + components: + - type: PressureProtection # can't get through this to reach the bodyparts! + invert: true + - !type:TypedDamageThreshold + damage: + types: + Heat: 50 + damage: + types: + Heat: -0.5 + # Arcane-End - !type:AdjustTemperature conditions: + # Arcane-Start + - !type:HasComponentOnEquipmentCondition + components: + - type: PressureProtection # can't get through this to reach the bodyparts! + invert: true + # Arcane-End - !type:Temperature min: 160.15 amount: -10000 @@ -1282,11 +1353,42 @@ - !type:HealthChange scaleByQuantity: true ignoreResistances: false + ignoreBlockers: false # Arcane damage: types: Heat: 0.05 + Cold: -0.5 # Arcane + # Arcane-Start + conditions: + - !type:HasComponentOnEquipmentCondition + components: + - type: PressureProtection # can't get through this to reach the bodyparts! + invert: true + - !type:HealthChange + scaleByQuantity: true + ignoreResistances: false + ignoreBlockers: false + conditions: + - !type:HasComponentOnEquipmentCondition + components: + - type: PressureProtection # can't get through this to reach the bodyparts! + invert: true + - !type:TypedDamageThreshold + damage: + types: + Cold: 50 + damage: + types: + Cold: -0.5 + # Arcane-End - !type:AdjustTemperature conditions: + # Arcane-Start + - !type:HasComponentOnEquipmentCondition + components: + - type: PressureProtection # can't get through this to reach the bodyparts! + invert: true + # Arcane-End - !type:Temperature max: 420 amount: 10000 diff --git a/Resources/Prototypes/_Goobstation/Reagents/narcotics.yml b/Resources/Prototypes/_Goobstation/Reagents/narcotics.yml index e8524cd21a6..170f3f4634b 100644 --- a/Resources/Prototypes/_Goobstation/Reagents/narcotics.yml +++ b/Resources/Prototypes/_Goobstation/Reagents/narcotics.yml @@ -272,13 +272,13 @@ # Homemade hyperzine, should be worse than it and harder to make, but # doesn't require vestine. Should NOT be addictive when we get addictions - type: reagent - id: Aranesp - name: reagent-name-aranesp + id: Dopamine # Arcane-Edit: Aranesp > Dopamine + name: reagent-name-dopamine # Arcane-Edit group: Narcotics - desc: reagent-desc-aranesp + desc: reagent-desc-dopamine # Arcane-Edit physicalDesc: reagent-physical-desc-oily flavor: oily - color: "#75fff5" + color: "#ffd900" # Arcane-Edit metabolisms: Narcotic: metabolismRate: 0.5 @@ -286,7 +286,7 @@ - !type:MovespeedModifier walkSpeedModifier: 1.3 # slower than dylometh due to being diluted - still overall stronger due to omni heal sprintSpeedModifier: 1.3 - - !type:ModifyStatusEffect + - !type:ModifyStatusEffect effectProto: StatusEffectStunned time: 3 type: Remove @@ -322,7 +322,7 @@ Cold: -0.5 Radiation: -0.5 Poison: -0.5 - Asphyxiation: 0.5 + Asphyxiation: 3 # Arcane-Edit: 0.5 > 3 - type: reagent id: MouseBites diff --git a/Resources/Prototypes/_Goobstation/Reagents/toxins.yml b/Resources/Prototypes/_Goobstation/Reagents/toxins.yml index 7c2ca5d6d0e..84237e868e8 100644 --- a/Resources/Prototypes/_Goobstation/Reagents/toxins.yml +++ b/Resources/Prototypes/_Goobstation/Reagents/toxins.yml @@ -154,7 +154,7 @@ - !type:HealthChange damage: types: - Radiation: 2 + Radiation: 3.5 # Arcane-Edit: 2 > 3.5 conditions: - !type:TypedDamageThreshold damage: diff --git a/Resources/Prototypes/_Goobstation/Recipes/Reactions/medicine.yml b/Resources/Prototypes/_Goobstation/Recipes/Reactions/medicine.yml index 5268348785e..c7f896e53e0 100644 --- a/Resources/Prototypes/_Goobstation/Recipes/Reactions/medicine.yml +++ b/Resources/Prototypes/_Goobstation/Recipes/Reactions/medicine.yml @@ -90,10 +90,11 @@ reactants: Acetone: amount: 2 - SodiumPolyacrylate: - amount: 1 + Nitrogen: # Arcane-Edit: SodiumPolyacrylate > Nitrogen + amount: 3 SulfuricAcid: amount: 1 + catalyst: true products: Tirimol: 4 @@ -298,9 +299,9 @@ Synthflesh: amount: 6 products: - Synthcells: 4 - Sodium: 1 - Carbon: 1 + Synthcells: 2 # Arcane-Edit: 4 > 2 + Sodium: 2 # Arcane-Edit: 1 > 2 + Carbon: 2 # Arcane-Edit: 1 > 2 - type: reaction id: SalicylicAcid diff --git a/Resources/Prototypes/_Goobstation/Recipes/Reactions/narcotics.yml b/Resources/Prototypes/_Goobstation/Recipes/Reactions/narcotics.yml index 330034b38cf..13b48cee29a 100644 --- a/Resources/Prototypes/_Goobstation/Recipes/Reactions/narcotics.yml +++ b/Resources/Prototypes/_Goobstation/Recipes/Reactions/narcotics.yml @@ -34,10 +34,10 @@ amount: 1 Atropine: amount: 1 - Desoxyephedrine: + Morphine: # Arcane-Edit: Desoxyephedrine > Morphine amount: 1 products: - Aranesp: 1 + Aranesp: 3 # Arcane-Edit: 1 > 3 - type: reaction id: Amnestizine diff --git a/Resources/Prototypes/_Orion/Research/Nodes/medical.yml b/Resources/Prototypes/_Orion/Research/Nodes/medical.yml index 4684a0c6a8e..dc223ee7dca 100644 --- a/Resources/Prototypes/_Orion/Research/Nodes/medical.yml +++ b/Resources/Prototypes/_Orion/Research/Nodes/medical.yml @@ -19,6 +19,7 @@ - ScanningReagentCryostylane recipeUnlocks: - LargeBeaker + - XLargeBeaker # Arcane - Beaker - Bloodpack - Bonesetter @@ -106,6 +107,7 @@ - SprayBottleRed - SprayBottleBlue - SprayBottleOrange + - MetamaterialBeaker # Arcane - BoneGel - SodaDispenserMachineCircuitboard - BoozeDispenserMachineCircuitboard diff --git a/Resources/Prototypes/_Orion/Research/Nodes/research.yml b/Resources/Prototypes/_Orion/Research/Nodes/research.yml index 44c6cada9d2..3766f05de72 100644 --- a/Resources/Prototypes/_Orion/Research/Nodes/research.yml +++ b/Resources/Prototypes/_Orion/Research/Nodes/research.yml @@ -83,16 +83,22 @@ recipeUnlocks: - MaterialSiloMachineCircuitboard - OreBagOfHolding - - BluespaceBeaker - - SyringeBluespace + # Arcane-Edit-Start: Relocated +# - BluespaceBeaker +# - SyringeBluespace + # Arcane-Edit-End - BluespaceBodyBag - ConstructionBagOfHolding - ClothingBeltChemBagXenobiologyHolding - PlantBagOfHolding - - VialBluespace +# - VialBluespace # Arcane-Edit - ClothingBackpackHarmpack + # Arcane-Start + - WeaponParticleDecelerator + - VehicleHoverchairSci + # Arcane-End - CrayonRainbowLarge - - DrinkShakerBluespace +# - DrinkShakerBluespace # Arcane-Edit position: 0,6 - type: technology @@ -173,10 +179,18 @@ - ClothingBackpackMessengerHolding - ClothingBackpackHolding - ClothingBackpackSatchelHolding + # Arcane-Start + - BluespaceBeaker + - DrinkShakerBluespace + - VialBluespace + - SyringeBluespace + # Arcane-End - WeaponTetherGun # - PolymorphBelt # TODO - - VehicleHoverchairSci - - WeaponParticleDecelerator + # Arcane-Edit-Start +# - VehicleHoverchairSci +# - WeaponParticleDecelerator + # Arcane-Edit-End - WeaponForceGun - WeaponGauntletGorilla position: 1,8 diff --git a/Resources/Prototypes/_Shitmed/Entities/Surgery/surgery_steps.yml b/Resources/Prototypes/_Shitmed/Entities/Surgery/surgery_steps.yml index 628824c88f5..83be59877f0 100644 --- a/Resources/Prototypes/_Shitmed/Entities/Surgery/surgery_steps.yml +++ b/Resources/Prototypes/_Shitmed/Entities/Surgery/surgery_steps.yml @@ -384,14 +384,14 @@ - type: Hemostat add: - type: InternalBleedersClamped - duration: 2 + duration: 3 # Arcane-Edit: 2 > 3 - type: Sprite sprite: _Shitmed/Objects/Specific/Medical/Surgery/hemostat.rsi state: hemostat - type: SurgeryDamageChangeEffect damage: types: - Bloodloss: -5 + Bloodloss: -10 # Arcane-Edit: -5 > -10 sleepModifier: 2 - type: entity @@ -448,14 +448,14 @@ - type: SurgeryStep tool: - type: Tending - duration: 1 + duration: 2 # Arcane-Edit: 1 > 2 - type: Sprite sprite: _Shitmed/Objects/Specific/Medical/Surgery/hemostat.rsi state: hemostat - type: SurgeryTendWoundsEffect damage: groups: - Brute: -15 + Brute: -30 # Arcane-Edit: -15 > -30 - type: SurgeryRepeatableStep - type: entity @@ -466,7 +466,7 @@ - type: SurgeryStep tool: - type: Tending - duration: 1 + duration: 2 # Arcane-Edit: 1 > 2 - type: Sprite sprite: _Shitmed/Objects/Specific/Medical/Surgery/hemostat.rsi state: hemostat @@ -474,7 +474,7 @@ mainGroup: Burn damage: groups: - Burn: -20 + Burn: -40 # Arcane-Edit: -20 > -40 - type: SurgeryRepeatableStep - type: entity diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker.rsi/lid_beaker.png b/Resources/Textures/Objects/Specific/Chemistry/beaker.rsi/lid_beaker.png index 38cbecb4549..83ff3391007 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/beaker.rsi/lid_beaker.png and b/Resources/Textures/Objects/Specific/Chemistry/beaker.rsi/lid_beaker.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_bluespace.rsi/lid_beakerbluespace.png b/Resources/Textures/Objects/Specific/Chemistry/beaker_bluespace.rsi/lid_beakerbluespace.png new file mode 100644 index 00000000000..a5cf33f6d8d Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/beaker_bluespace.rsi/lid_beakerbluespace.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_bluespace.rsi/meta.json b/Resources/Textures/Objects/Specific/Chemistry/beaker_bluespace.rsi/meta.json index 7a083f93ea2..15c993c7748 100644 --- a/Resources/Textures/Objects/Specific/Chemistry/beaker_bluespace.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Chemistry/beaker_bluespace.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from https://github.com/tgstation/tgstation/commit/7ae5126783d4365d76fb235340058afdf0af2552, sprites in hands by @mishutka09, resprite hands by UmbiMax", + "copyright": "Taken from https://github.com/tgstation/tgstation/commit/7ae5126783d4365d76fb235340058afdf0af2552, sprites in hands by @mishutka09, resprite hands & lid by UmbiMax", "size": { "x": 32, "y": 32 @@ -19,6 +19,9 @@ ] ] }, + { + "name": "lid_beakerbluespace" + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_cryostasis.rsi/lid_beakernoreact.png b/Resources/Textures/Objects/Specific/Chemistry/beaker_cryostasis.rsi/lid_beakernoreact.png index c373b47e2c4..07a63fca528 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/beaker_cryostasis.rsi/lid_beakernoreact.png and b/Resources/Textures/Objects/Specific/Chemistry/beaker_cryostasis.rsi/lid_beakernoreact.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_cryostasis.rsi/meta.json b/Resources/Textures/Objects/Specific/Chemistry/beaker_cryostasis.rsi/meta.json index ffccc88f2f7..5441f70f525 100644 --- a/Resources/Textures/Objects/Specific/Chemistry/beaker_cryostasis.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Chemistry/beaker_cryostasis.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from TG https://github.com/tgstation/tgstation/commit/7ae5126783d4365d76fb235340058afdf0af2552, inhand by UmbiMax", + "copyright": "Taken from TG https://github.com/tgstation/tgstation/commit/7ae5126783d4365d76fb235340058afdf0af2552, inhand & lid by UmbiMax", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge2.png b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge2.png index 33c401dfaa0..dccfa82bb0c 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge2.png and b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge2.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge3.png b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge3.png index 7b24df94359..08b5e2bdab0 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge3.png and b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge3.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge4.png b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge4.png index da75364859e..9c6d78e6804 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge4.png and b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge4.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge5.png b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge5.png index d41d709a5c1..915b3c907c2 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge5.png and b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge5.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge6.png b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge6.png index c47ce0514c6..33197e31ffd 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge6.png and b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/beakerlarge6.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/inhand-left.png b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/inhand-left.png index 6ec4b0fc67c..2eb92e3e7ea 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/inhand-left.png and b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/inhand-right.png b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/inhand-right.png index 9c73c968099..867bf310560 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/inhand-right.png and b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/lid_beakerlarge.png b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/lid_beakerlarge.png index d8d52610380..d50c0875ac8 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/lid_beakerlarge.png and b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/lid_beakerlarge.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/meta.json b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/meta.json index a13bcdd2f6f..c7139f5bd4d 100644 --- a/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Chemistry/beaker_large.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from https://github.com/BlueMoon-Labs/MOLOT-BlueMoon-Station/blob/master/icons/obj/chemical.dmi", + "copyright": "Taken from https://github.com/tgstation/tgstation/commit/7ae5126783d4365d76fb235340058afdf0af2552, resprite hands & lid by UmbiMax", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Objects/Specific/Chemistry/bottle.rsi/bottle-1-6.png b/Resources/Textures/Objects/Specific/Chemistry/bottle.rsi/bottle-1-6.png index b7e17e85ebf..37e3d45b4da 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/bottle.rsi/bottle-1-6.png and b/Resources/Textures/Objects/Specific/Chemistry/bottle.rsi/bottle-1-6.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/bottle.rsi/meta.json b/Resources/Textures/Objects/Specific/Chemistry/bottle.rsi/meta.json index 3d2d2d36f8c..1b29c5347dc 100644 --- a/Resources/Textures/Objects/Specific/Chemistry/bottle.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Chemistry/bottle.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/chemical.dmi. Modified by Ko4erga (discord)", + "copyright": "Taken from https://github.com/tgstation/tgstation/commit/7ae5126783d4365d76fb235340058afdf0af2552, Modified by Ko4erga (discord).", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon.png new file mode 100644 index 00000000000..f610843cdd4 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-1.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-1.png index 00affa43370..8d1866c6e84 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-1.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-1.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-2.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-2.png index b4014c71a78..631c3ac72e7 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-2.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-2.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-3.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-3.png index dd62683c7a3..aca1b63f9a6 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-3.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-3.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-4.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-4.png index e99722a58a7..9226e545d61 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-4.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-4.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-5.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-5.png index 11191e8f932..61337b8749e 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-5.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left-fill-5.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left.png index 818612319af..ebdfb7d54d5 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-1.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-1.png index 3f822e06315..2c68ad2bdc9 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-1.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-1.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-2.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-2.png index 9d6ceaf538f..86dabfb673b 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-2.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-2.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-3.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-3.png index 55285cd19ad..60dc2882add 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-3.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-3.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-4.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-4.png index 188bdaa86d3..5f7e92bdf92 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-4.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-4.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-5.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-5.png index 99b13262624..9bebaaf85eb 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-5.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right-fill-5.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right.png index 472041f31ba..7d31071ed41 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug.png index 1fda41e3b54..633c8bb29e6 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug1.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug1.png index 5ecf243047e..0d4354f9b21 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug1.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug1.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug10.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug10.png new file mode 100644 index 00000000000..9f12d95e01f Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug10.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug11.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug11.png new file mode 100644 index 00000000000..c9d1d03b677 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug11.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug2.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug2.png index 05e647f1103..d407d774167 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug2.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug2.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug3.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug3.png index 0a464113d71..08c087a81f2 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug3.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug3.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug4.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug4.png index c16054a21ac..a835a1f034c 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug4.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug4.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug5.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug5.png index 363e3a1bfc0..b59e6cb9ca3 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug5.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug5.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug6.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug6.png index 64126589dae..2cddc6f33bd 100644 Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug6.png and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug6.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug7.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug7.png new file mode 100644 index 00000000000..945215aaa38 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug7.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug8.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug8.png new file mode 100644 index 00000000000..76cae21ca31 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug8.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug9.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug9.png new file mode 100644 index 00000000000..d6817c62257 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug9.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/lid-inhand-left.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/lid-inhand-left.png new file mode 100644 index 00000000000..02bce78ef0f Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/lid-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/lid-inhand-right.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/lid-inhand-right.png new file mode 100644 index 00000000000..2fe730eb0c2 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/lid-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/lid.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/lid.png new file mode 100644 index 00000000000..1dd6e6def64 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/lid.png differ diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json index 85c293d34df..baa677fcb22 100644 --- a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Created by HoofedEar", + "copyright": "Sprited by Krysonism and taken from https://github.com/tgstation/tgstation/commit/2a30c6da708e5546db2c049431e0f6c83ddfe6e3", "size": { "x": 32, "y": 32 @@ -10,9 +10,19 @@ { "name": "jug" }, + { + "name": "icon" + }, + { + "name": "lid" + }, { "name": "inhand-left", "directions": 4 + }, + { + "name": "lid-inhand-left", + "directions": 4 }, { "name": "inhand-left-fill-1", @@ -37,6 +47,10 @@ { "name": "inhand-right", "directions": 4 + }, + { + "name": "lid-inhand-right", + "directions": 4 }, { "name": "inhand-right-fill-1", @@ -75,6 +89,21 @@ }, { "name": "jug6" + }, + { + "name": "jug7" + }, + { + "name": "jug8" + }, + { + "name": "jug9" + }, + { + "name": "jug10" + }, + { + "name": "jug11" } ] } diff --git a/Resources/Textures/Objects/Specific/Chemistry/pills_canister.rsi/meta.json b/Resources/Textures/Objects/Specific/Chemistry/pills_canister.rsi/meta.json index a6b8695adc4..7b77a19cd39 100644 --- a/Resources/Textures/Objects/Specific/Chemistry/pills_canister.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Chemistry/pills_canister.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from https://github.com/BlueMoon-Labs/MOLOT-BlueMoon-Station/blob/master/icons/obj/chemical.dmi", + "copyright": "Taken from TG https://github.com/tgstation/tgstation/commit/7ae5126783d4365d76fb235340058afdf0af2552.", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit-inhand-left.png index 61870c8756b..4f3460c0bd1 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit-inhand-right.png index 66a5d563a59..1e2b8ebbe9e 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit.png index 0befadf1229..11678a07198 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/advkit.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit-inhand-left.png index bb0956cf886..58f63ed146e 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit-inhand-right.png index b47790f8377..571c9176a41 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit.png index 98c4bbd26c4..e750de3e059 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/blackkit.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit-inhand-left.png index f276c1dc0ac..5052d5c3efd 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit-inhand-right.png index b9ffd46359f..07aa4dda679 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit.png index 5c3adbb9ef0..939958d9112 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/brutekit.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit-inhand-left.png index 4fd9b76b3a2..9c28d611c61 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit-inhand-right.png index 49abfc57682..3bcc6568b6b 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit.png index e4169b3d2c3..d1cdff41a95 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/burnkit.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid-inhand-left.png index 5f1cc9995b2..034d126b3c2 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid-inhand-right.png index f4db539b217..5b5135378d4 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid.png index 233df34781d..84ab2d877c2 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/firstaid.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/meta.json b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/meta.json index 6fcc65ee0a2..0fb8bd954f8 100644 --- a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/tree/727eb0a445bccbdc2d472e158e96b87fc0e997a1. Rad, toxin, o2, fire and adv by peptide. blackkit-inhand-left and right by JoeHammad", + "copyright": "Sprited by MTandi and taken from tgstation at https://github.com/tgstation/tgstation/commit/e3933ba938a75942766033558c1df261d33c3377. Rad by UmbiMax", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit-inhand-left.png index 1d05275009e..71da9e2d409 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit-inhand-right.png index a2ec7761481..92fa29a3028 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit.png index b43b1df6eb8..055244b9041 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/o2kit.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit-inhand-left.png index bbf7ebadf49..3928a489022 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit-inhand-right.png index a81963b22d4..759b78b9784 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit.png index 7395a99e5cf..8af3249dc4a 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/radkit.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit-inhand-left.png index 537bb4e8942..e366a747d5c 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit-inhand-right.png index 7fea97fdbc1..862f068b6c7 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit.png b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit.png index b6d139f3e41..8b0ea82475b 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit.png and b/Resources/Textures/Objects/Specific/Medical/firstaidkits.rsi/toxinkit.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-2.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-2.png new file mode 100644 index 00000000000..30ec90f060e Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-2.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-3.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-3.png new file mode 100644 index 00000000000..3d8b48f57b8 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-3.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-closed.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-closed.png new file mode 100644 index 00000000000..ae3b7b0b8e5 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-closed.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-inhand-left.png new file mode 100644 index 00000000000..5a353726489 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-inhand-right.png new file mode 100644 index 00000000000..64bbb24bbe7 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh.png new file mode 100644 index 00000000000..ec75e63525d Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/aloe-mesh.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/bloodpack-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/bloodpack-inhand-left.png index 33eea9d11e6..432617fc65e 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/bloodpack-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/bloodpack-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/bloodpack-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/bloodpack-inhand-right.png index 3888e2347cd..6ddcfe2c9bf 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/bloodpack-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/bloodpack-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-2.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-2.png new file mode 100644 index 00000000000..4cd0c7b7474 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-2.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-3.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-3.png new file mode 100644 index 00000000000..de545fe0df3 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-3.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-inhand-left.png index 4a70f2f0213..3bc12fc0727 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-inhand-right.png index daece26c5ed..d2371199389 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/brutepack-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-2.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-2.png new file mode 100644 index 00000000000..6e4c0a975bd Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-2.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-3.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-3.png new file mode 100644 index 00000000000..49a1d598408 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-3.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-inhand-left.png index 311315196cd..b5e0bbf7717 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-inhand-right.png index 1da6309b2e6..4e83b69a1d7 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze.png index 49a1d598408..23f0c58050a 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/gauze.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-2.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-2.png new file mode 100644 index 00000000000..95dca1193cd Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-2.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-3.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-3.png new file mode 100644 index 00000000000..e643cda1cc1 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-3.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-inhand-left.png index 3bb8e8b1ea4..db703c10b18 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-inhand-right.png index 33252a3b74a..a8c5c040458 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture.png index e643cda1cc1..eefe8ac93ae 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/medicated-suture.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/meta.json b/Resources/Textures/Objects/Specific/Medical/medical.rsi/meta.json index 5c32c08d7d2..a2522451ef6 100644 --- a/Resources/Textures/Objects/Specific/Medical/medical.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Medical/medical.rsi/meta.json @@ -1,9 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/commit/740ff31a81313086cf16761f3677cf1e2ab46c93 and Taken from tgstation at https://github.com/tgstation/tgstation/blob/623290915c2292b56da11048deb62d758e1e3fb4/icons/obj/bloodpack.dmi, Blood pack redone by Ubaser", - "copyright": "Taken from https://github.com/tgstation/tgstation/blob/a3568da5634e756d0849480104afda402c6f1c3c/icons/obj/medical/stack_medical.dmi", - "copyright": "Tourniquet Sprite by PoorMansDreams, in-hand sprites of tourniquet, gauze, and bloodpack made by SeamLesss (github)", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/blob/623290915c2292b56da11048deb62d758e1e3fb4/icons/obj/bloodpack.dmi and https://github.com/tgstation/tgstation/commit/0b8f4dc9cebe5f8413d25860050a38b4fcc5c217, Blood pack redone by Ubaser, Tourniquet Sprite by PoorMansDreams. All another in-hand and upgraded sprites by UmbiMax", "size": { "x": 32, "y": 32 @@ -12,6 +10,12 @@ { "name": "brutepack" }, + { + "name": "brutepack-2" + }, + { + "name": "brutepack-3" + }, { "name": "brutepack-inhand-left", "directions": 4 @@ -26,6 +30,12 @@ { "name": "gauze" }, + { + "name": "gauze-2" + }, + { + "name": "gauze-3" + }, { "name": "gauze-inhand-left", "directions": 4 @@ -51,6 +61,12 @@ { "name": "ointment" }, + { + "name": "ointment-2" + }, + { + "name": "ointment-3" + }, { "name": "ointment-inhand-left", "directions": 4 @@ -70,9 +86,32 @@ "name": "bloodpack-inhand-right", "directions": 4 }, + { + "name": "suture" + }, + { + "name": "suture-2" + }, + { + "name": "suture-3" + }, + { + "name": "suture-inhand-left", + "directions": 4 + }, + { + "name": "suture-inhand-right", + "directions": 4 + }, { "name": "medicated-suture" }, + { + "name": "medicated-suture-2" + }, + { + "name": "medicated-suture-3" + }, { "name": "medicated-suture-inhand-left", "directions": 4 @@ -84,6 +123,15 @@ { "name": "regenerative-mesh" }, + { + "name": "regenerative-mesh-2" + }, + { + "name": "regenerative-mesh-3" + }, + { + "name": "regenerative-mesh-closed" + }, { "name": "regenerative-mesh-inhand-right", "directions": 4 @@ -92,6 +140,26 @@ "name": "regenerative-mesh-inhand-left", "directions": 4 }, + { + "name": "aloe-mesh" + }, + { + "name": "aloe-mesh-2" + }, + { + "name": "aloe-mesh-3" + }, + { + "name": "aloe-mesh-closed" + }, + { + "name": "aloe-mesh-inhand-right", + "directions": 4 + }, + { + "name": "aloe-mesh-inhand-left", + "directions": 4 + }, { "name": "bloodpack-empty" }, diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-2.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-2.png new file mode 100644 index 00000000000..5471b4f8081 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-2.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-3.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-3.png new file mode 100644 index 00000000000..927006c1aaf Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-3.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-inhand-left.png index 8f628f746f5..03d4a5ac00a 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-inhand-right.png index c5307f7e60c..f45c2b61fec 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment.png index 413a72304cc..29658dd37ed 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/ointment.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-2.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-2.png new file mode 100644 index 00000000000..a08b2c74017 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-2.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-3.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-3.png new file mode 100644 index 00000000000..883603aab3d Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-3.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-closed.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-closed.png new file mode 100644 index 00000000000..3be0f07d27f Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-closed.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-inhand-left.png index 6f757a4968f..4106731e3ba 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-inhand-left.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-inhand-right.png index 8ba9a94bc4e..e985d365688 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-inhand-right.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh.png index 49b2bbe8fab..68b47447196 100644 Binary files a/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh.png and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/regenerative-mesh.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-2.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-2.png new file mode 100644 index 00000000000..8bdaffbcd76 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-2.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-3.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-3.png new file mode 100644 index 00000000000..aeb62035ea5 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-3.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-inhand-left.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-inhand-left.png new file mode 100644 index 00000000000..8c1b198d8ba Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-inhand-left.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-inhand-right.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-inhand-right.png new file mode 100644 index 00000000000..5e847cf1564 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture-inhand-right.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture.png b/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture.png new file mode 100644 index 00000000000..6c7b13a45e3 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medical.rsi/suture.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/advmedipen.png b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/advmedipen.png new file mode 100644 index 00000000000..4cfe8c65daa Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/advmedipen.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/advmedipen_empty.png b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/advmedipen_empty.png new file mode 100644 index 00000000000..4f206d09545 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/advmedipen_empty.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meta.json b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meta.json index 17b5a265bf2..644f760ee6a 100644 --- a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "tgstation at 986af32e22a88dae14fd147d812a5a4d27c1bc30 | stimpen sprites made by PuroSlavKing (Github) for Space Station 14. Nearly all resprited by joshepvodka, in-hand sprites by SeamLesss (github)", + "copyright": "tgstation at 986af32e22a88dae14fd147d812a5a4d27c1bc30 | stimpen sprites made by PuroSlavKing (Github) for Space Station 14. Nearly all resprited by joshepvodka, in-hand sprites by SeamLesss (github). Salbpen by UmbiMax.", "size": { "x": 32, "y": 32 @@ -13,6 +13,12 @@ { "name": "medipen_empty" }, + { + "name": "advmedipen" + }, + { + "name": "advmedipen_empty" + }, { "name": "firstaid" }, @@ -37,6 +43,12 @@ { "name": "microstimpen_empty" }, + { + "name": "meth" + }, + { + "name": "meth_empty" + }, { "name": "morphen" }, @@ -115,6 +127,12 @@ { "name": "dexpen_empty" }, + { + "name": "salbpen" + }, + { + "name": "salbpen_empty" + }, { "name": "base-needle-inhand-left", "directions": 4 @@ -146,4 +164,4 @@ "name": "livepen_empty" } ] -} \ No newline at end of file +} diff --git a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meth.png b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meth.png new file mode 100644 index 00000000000..2d4a5232317 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meth.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meth_empty.png b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meth_empty.png new file mode 100644 index 00000000000..4110e33b950 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meth_empty.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/salbpen.png b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/salbpen.png new file mode 100644 index 00000000000..123bce806b7 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/salbpen.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/salbpen_empty.png b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/salbpen_empty.png new file mode 100644 index 00000000000..115e63dc657 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/salbpen_empty.png differ diff --git a/Resources/Textures/Structures/Machines/grinder.rsi/grinder_beaker_attached.png b/Resources/Textures/Structures/Machines/grinder.rsi/grinder_beaker_attached.png index 6c1bd20e4f3..10ef420b79b 100644 Binary files a/Resources/Textures/Structures/Machines/grinder.rsi/grinder_beaker_attached.png and b/Resources/Textures/Structures/Machines/grinder.rsi/grinder_beaker_attached.png differ diff --git a/Resources/Textures/Structures/Machines/grinder.rsi/grinder_empty.png b/Resources/Textures/Structures/Machines/grinder.rsi/grinder_empty.png index 53d1add0dc6..00b92ec8704 100644 Binary files a/Resources/Textures/Structures/Machines/grinder.rsi/grinder_empty.png and b/Resources/Textures/Structures/Machines/grinder.rsi/grinder_empty.png differ diff --git a/Resources/Textures/Structures/Machines/grinder.rsi/grinder_on.png b/Resources/Textures/Structures/Machines/grinder.rsi/grinder_on.png new file mode 100644 index 00000000000..f8b34304a7c Binary files /dev/null and b/Resources/Textures/Structures/Machines/grinder.rsi/grinder_on.png differ diff --git a/Resources/Textures/Structures/Machines/grinder.rsi/meta.json b/Resources/Textures/Structures/Machines/grinder.rsi/meta.json index dcb55d7b0f7..3f6f148b16a 100644 --- a/Resources/Textures/Structures/Machines/grinder.rsi/meta.json +++ b/Resources/Textures/Structures/Machines/grinder.rsi/meta.json @@ -13,6 +13,9 @@ { "name":"grinder_beaker_attached" }, + { + "name":"grinder_on" + }, { "name": "beakerSlot1" }, diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial.png new file mode 100644 index 00000000000..3918a0a9f31 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial1.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial1.png new file mode 100644 index 00000000000..190f295e216 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial1.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial2.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial2.png new file mode 100644 index 00000000000..a5349bff972 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial2.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial3.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial3.png new file mode 100644 index 00000000000..4af2f3b210d Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial3.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial4.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial4.png new file mode 100644 index 00000000000..d5424538dee Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial4.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial5.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial5.png new file mode 100644 index 00000000000..8083c08b0b7 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial5.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial6.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial6.png new file mode 100644 index 00000000000..eb4d755d505 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial6.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial7.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial7.png new file mode 100644 index 00000000000..cc00a4ad097 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial7.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial8.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial8.png new file mode 100644 index 00000000000..600ddcbf0f4 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/beakermetamaterial8.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-1.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-1.png new file mode 100644 index 00000000000..462f2a608c4 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-1.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-2.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-2.png new file mode 100644 index 00000000000..aa4378fd7ee Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-2.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-3.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-3.png new file mode 100644 index 00000000000..256dd348e8a Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-3.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-4.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-4.png new file mode 100644 index 00000000000..1e828c35205 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-4.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-5.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-5.png new file mode 100644 index 00000000000..384a8af86b7 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left-fill-5.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left.png new file mode 100644 index 00000000000..21d8845bed9 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-1.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-1.png new file mode 100644 index 00000000000..766d7e9e6b2 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-1.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-2.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-2.png new file mode 100644 index 00000000000..9aff5a35afe Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-2.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-3.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-3.png new file mode 100644 index 00000000000..2a5687ab2cc Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-3.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-4.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-4.png new file mode 100644 index 00000000000..c90be94d07a Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-4.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-5.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-5.png new file mode 100644 index 00000000000..2022b624915 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right-fill-5.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right.png new file mode 100644 index 00000000000..2f68eba6925 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/lid_beakermetamaterial.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/lid_beakermetamaterial.png new file mode 100644 index 00000000000..ade1aac6fdd Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/lid_beakermetamaterial.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/meta.json b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/meta.json new file mode 100644 index 00000000000..2e48184ceb5 --- /dev/null +++ b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_metamaterial.rsi/meta.json @@ -0,0 +1,89 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation/commit/7ae5126783d4365d76fb235340058afdf0af2552, resprite hands & lid by UmbiMax", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "beakermetamaterial" + }, + { + "name": "lid_beakermetamaterial" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-left-fill-1", + "directions": 4 + }, + { + "name": "inhand-left-fill-2", + "directions": 4 + }, + { + "name": "inhand-left-fill-3", + "directions": 4 + }, + { + "name": "inhand-left-fill-4", + "directions": 4 + }, + { + "name": "inhand-left-fill-5", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "inhand-right-fill-1", + "directions": 4 + }, + { + "name": "inhand-right-fill-2", + "directions": 4 + }, + { + "name": "inhand-right-fill-3", + "directions": 4 + }, + { + "name": "inhand-right-fill-4", + "directions": 4 + }, + { + "name": "inhand-right-fill-5", + "directions": 4 + }, + { + "name": "beakermetamaterial1" + }, + { + "name": "beakermetamaterial2" + }, + { + "name": "beakermetamaterial3" + }, + { + "name": "beakermetamaterial4" + }, + { + "name": "beakermetamaterial5" + }, + { + "name": "beakermetamaterial6" + }, + { + "name": "beakermetamaterial7" + }, + { + "name": "beakermetamaterial8" + } + ] +} diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge.png new file mode 100644 index 00000000000..6f967394b98 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge1.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge1.png new file mode 100644 index 00000000000..190f295e216 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge1.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge2.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge2.png new file mode 100644 index 00000000000..a5349bff972 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge2.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge3.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge3.png new file mode 100644 index 00000000000..4af2f3b210d Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge3.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge4.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge4.png new file mode 100644 index 00000000000..0a1189e0818 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge4.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge5.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge5.png new file mode 100644 index 00000000000..644bf2424f4 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge5.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge6.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge6.png new file mode 100644 index 00000000000..4b85da96767 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge6.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge7.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge7.png new file mode 100644 index 00000000000..bb3d9c9772b Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/beakerxlarge7.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-1.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-1.png new file mode 100644 index 00000000000..462f2a608c4 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-1.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-2.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-2.png new file mode 100644 index 00000000000..aa4378fd7ee Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-2.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-3.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-3.png new file mode 100644 index 00000000000..256dd348e8a Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-3.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-4.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-4.png new file mode 100644 index 00000000000..1e828c35205 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left-fill-4.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left.png new file mode 100644 index 00000000000..7e52523835e Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-1.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-1.png new file mode 100644 index 00000000000..766d7e9e6b2 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-1.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-2.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-2.png new file mode 100644 index 00000000000..9aff5a35afe Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-2.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-3.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-3.png new file mode 100644 index 00000000000..2a5687ab2cc Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-3.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-4.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-4.png new file mode 100644 index 00000000000..c90be94d07a Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right-fill-4.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right.png new file mode 100644 index 00000000000..cf9590fac62 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/lid_beakerxlarge.png b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/lid_beakerxlarge.png new file mode 100644 index 00000000000..7978ecd0a5e Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/lid_beakerxlarge.png differ diff --git a/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/meta.json b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/meta.json new file mode 100644 index 00000000000..a597106ede3 --- /dev/null +++ b/Resources/Textures/_Arcane/Objects/Specific/Chemistry/beaker_x_large.rsi/meta.json @@ -0,0 +1,78 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation/commit/7ae5126783d4365d76fb235340058afdf0af2552, resprite hands & lid by UmbiMax", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "beakerxlarge" + }, + { + "name": "lid_beakerxlarge" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-left-fill-1", + "directions": 4 + }, + { + "name": "inhand-left-fill-2", + "directions": 4 + }, + { + "name": "inhand-left-fill-3", + "directions": 4 + }, + { + "name": "inhand-left-fill-4", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "inhand-right-fill-1", + "directions": 4 + }, + { + "name": "inhand-right-fill-2", + "directions": 4 + }, + { + "name": "inhand-right-fill-3", + "directions": 4 + }, + { + "name": "inhand-right-fill-4", + "directions": 4 + }, + { + "name": "beakerxlarge1" + }, + { + "name": "beakerxlarge2" + }, + { + "name": "beakerxlarge3" + }, + { + "name": "beakerxlarge4" + }, + { + "name": "beakerxlarge5" + }, + { + "name": "beakerxlarge6" + }, + { + "name": "beakerxlarge7" + } + ] +} diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/equipped-BELT.png b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/equipped-BELT.png new file mode 100644 index 00000000000..d950c8c0886 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 00000000000..d950c8c0886 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/icon.png b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/icon.png new file mode 100644 index 00000000000..06a00252ea3 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/icon.png differ diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/inhand-left.png b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/inhand-left.png new file mode 100644 index 00000000000..c96ad515222 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/inhand-right.png b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/inhand-right.png new file mode 100644 index 00000000000..b37760c24dc Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/meta.json b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/meta.json new file mode 100644 index 00000000000..c42e9262dcf --- /dev/null +++ b/Resources/Textures/_Arcane/Objects/Tanks/emergency_brown.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Adapted by UmbiMax from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BELT", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/equipped-BELT.png b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/equipped-BELT.png new file mode 100644 index 00000000000..02328a99d7d Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 00000000000..02328a99d7d Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/icon.png b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/icon.png new file mode 100644 index 00000000000..c02da873629 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/icon.png differ diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/inhand-left.png b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/inhand-left.png new file mode 100644 index 00000000000..c48bfbc6281 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/inhand-right.png b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/inhand-right.png new file mode 100644 index 00000000000..9b16d39cb64 Binary files /dev/null and b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/meta.json b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/meta.json new file mode 100644 index 00000000000..c42e9262dcf --- /dev/null +++ b/Resources/Textures/_Arcane/Objects/Tanks/emergency_green_red.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Adapted by UmbiMax from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BELT", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitadv-inhand-left.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitadv-inhand-left.png new file mode 100644 index 00000000000..33c414fc611 Binary files /dev/null and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitadv-inhand-left.png differ diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitadv-inhand-right.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitadv-inhand-right.png new file mode 100644 index 00000000000..5d1ab5cacc4 Binary files /dev/null and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitadv-inhand-right.png differ diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitadv.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitadv.png new file mode 100644 index 00000000000..616bcd8a4e1 Binary files /dev/null and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitadv.png differ diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitstandard-inhand-left.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitstandard-inhand-left.png new file mode 100644 index 00000000000..464ab45a8d6 Binary files /dev/null and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitstandard-inhand-left.png differ diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitstandard-inhand-right.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitstandard-inhand-right.png new file mode 100644 index 00000000000..a19d7b549b5 Binary files /dev/null and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitstandard-inhand-right.png differ diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitstandard.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitstandard.png new file mode 100644 index 00000000000..8eadba56d26 Binary files /dev/null and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/blackkitstandard.png differ diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/emergencykit-inhand-left.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/emergencykit-inhand-left.png new file mode 100644 index 00000000000..0e74f9053a8 Binary files /dev/null and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/emergencykit-inhand-left.png differ diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/emergencykit-inhand-right.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/emergencykit-inhand-right.png new file mode 100644 index 00000000000..d5f2f777007 Binary files /dev/null and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/emergencykit-inhand-right.png differ diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/emergencykit.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/emergencykit.png new file mode 100644 index 00000000000..f502806dacf Binary files /dev/null and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/emergencykit.png differ diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/meta.json b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/meta.json index dc3e5f6274b..62ff9401560 100644 --- a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/meta.json +++ b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/tree/727eb0a445bccbdc2d472e158e96b87fc0e997a1, inhands resprite by UmbiMax", + "copyright": "Sprited by MTandi and taken from TG at https://github.com/tgstation/tgstation/commit/e3933ba938a75942766033558c1df261d33c3377.", "size": { "x": 32, "y": 32 @@ -11,12 +11,45 @@ "name": "surgerykit" }, { - "name": "surgerykit-inhand-right", - "directions": 4 + "name": "surgerykit-inhand-right", + "directions": 4 }, { - "name": "surgerykit-inhand-left", - "directions": 4 + "name": "surgerykit-inhand-left", + "directions": 4 + }, + { + "name": "emergencykit" + }, + { + "name": "emergencykit-inhand-right", + "directions": 4 + }, + { + "name": "emergencykit-inhand-left", + "directions": 4 + }, + { + "name": "blackkitstandard" + }, + { + "name": "blackkitstandard-inhand-right", + "directions": 4 + }, + { + "name": "blackkitstandard-inhand-left", + "directions": 4 + }, + { + "name": "blackkitadv" + }, + { + "name": "blackkitadv-inhand-right", + "directions": 4 + }, + { + "name": "blackkitadv-inhand-left", + "directions": 4 } - ] +] } diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit-inhand-left.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit-inhand-left.png index a4f69a0d367..1f99c0f86e0 100644 Binary files a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit-inhand-left.png and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit-inhand-left.png differ diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit-inhand-right.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit-inhand-right.png index 5840babc1fd..d1a1f8a3736 100644 Binary files a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit-inhand-right.png and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit-inhand-right.png differ diff --git a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit.png b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit.png index 18e049cdaaf..1daa1fe6aa0 100644 Binary files a/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit.png and b/Resources/Textures/_Orion/Objects/Specific/Medical/firstaidkits.rsi/surgerykit.png differ diff --git a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/meta.json b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/meta.json index 234fc31350b..c2563c0f9b4 100644 --- a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/meta.json +++ b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/meta.json @@ -8,36 +8,16 @@ "copyright": "Taken from TG https://github.com/tgstation/tgstation/blob/master/icons/obj/medical/chemical.dmi, rework by UmbiMax", "states": [ { - "name": "mixer_empty", - "delays": [ - [ - 1 - ] - ] + "name": "mixer_empty" }, { - "name": "mixer_empty_screen", - "delays": [ - [ - 1 - ] - ] + "name": "mixer_empty_screen" }, { - "name": "mixer_broken", - "delays": [ - [ - 1 - ] - ] + "name": "mixer_broken" }, { - "name": "mixer_loaded", - "delays": [ - [ - 1 - ] - ] + "name": "mixer_loaded" }, { "name": "mixer_loaded[removed]", @@ -121,12 +101,37 @@ ] }, { - "name": "mixer_screen_broken", - "delays": [ - [ - 1 - ] - ] + "name": "mixer_screen_broken" + }, + { + "name": "mixer_fill-1" + }, + { + "name": "mixer_fill-2" + }, + { + "name": "mixer_fill-3" + }, + { + "name": "mixer_fill-4" + }, + { + "name": "mixer_fill-5" + }, + { + "name": "mixer_fill-6" + }, + { + "name": "mixer_fill-7" + }, + { + "name": "mixer_fill-8" + }, + { + "name": "mixer_fill-9" + }, + { + "name": "mixer_fill-10" } ] } diff --git a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-1.png b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-1.png new file mode 100644 index 00000000000..64f0797add3 Binary files /dev/null and b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-1.png differ diff --git a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-10.png b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-10.png new file mode 100644 index 00000000000..d38bc24feed Binary files /dev/null and b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-10.png differ diff --git a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-2.png b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-2.png new file mode 100644 index 00000000000..d535a4bebf1 Binary files /dev/null and b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-2.png differ diff --git a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-3.png b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-3.png new file mode 100644 index 00000000000..b00875e62eb Binary files /dev/null and b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-3.png differ diff --git a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-4.png b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-4.png new file mode 100644 index 00000000000..cdf8bea93a6 Binary files /dev/null and b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-4.png differ diff --git a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-5.png b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-5.png new file mode 100644 index 00000000000..899933d4f5c Binary files /dev/null and b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-5.png differ diff --git a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-6.png b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-6.png new file mode 100644 index 00000000000..29baf6158f2 Binary files /dev/null and b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-6.png differ diff --git a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-7.png b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-7.png new file mode 100644 index 00000000000..3ed51325938 Binary files /dev/null and b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-7.png differ diff --git a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-8.png b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-8.png new file mode 100644 index 00000000000..6a85a679b26 Binary files /dev/null and b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-8.png differ diff --git a/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-9.png b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-9.png new file mode 100644 index 00000000000..929b0f0d89b Binary files /dev/null and b/Resources/Textures/_Orion/Structures/Machines/mixer.rsi/mixer_fill-9.png differ