diff --git a/Content.Shared/Damage/DamageSpecifier.cs b/Content.Shared/Damage/DamageSpecifier.cs
index 1f91b9126a..54c79f10a3 100644
--- a/Content.Shared/Damage/DamageSpecifier.cs
+++ b/Content.Shared/Damage/DamageSpecifier.cs
@@ -312,10 +312,11 @@ namespace Content.Shared.Damage
/// total of each group. If no members of a group are present in this , the
/// group is not included in the resulting dictionary.
///
- public Dictionary GetDamagePerGroup()
+ public Dictionary GetDamagePerGroup(IPrototypeManager? protoManager = null)
{
+ IoCManager.Resolve(ref protoManager);
var damageGroupDict = new Dictionary();
- foreach (var group in IoCManager.Resolve().EnumeratePrototypes())
+ foreach (var group in protoManager.EnumeratePrototypes())
{
if (TryGetDamageInGroup(group, out var value))
{
diff --git a/Content.Shared/Damage/Systems/DamageableSystem.cs b/Content.Shared/Damage/Systems/DamageableSystem.cs
index e45eaa30c2..6902a3e943 100644
--- a/Content.Shared/Damage/Systems/DamageableSystem.cs
+++ b/Content.Shared/Damage/Systems/DamageableSystem.cs
@@ -55,7 +55,7 @@ namespace Content.Shared.Damage
}
}
- component.DamagePerGroup = component.Damage.GetDamagePerGroup();
+ component.DamagePerGroup = component.Damage.GetDamagePerGroup(_prototypeManager);
component.TotalDamage = component.Damage.Total;
}
@@ -82,13 +82,13 @@ namespace Content.Shared.Damage
public void DamageChanged(DamageableComponent component, DamageSpecifier? damageDelta = null,
bool interruptsDoAfters = true)
{
- component.DamagePerGroup = component.Damage.GetDamagePerGroup();
+ component.DamagePerGroup = component.Damage.GetDamagePerGroup(_prototypeManager);
component.TotalDamage = component.Damage.Total;
Dirty(component);
if (EntityManager.TryGetComponent(component.Owner, out var appearance) && damageDelta != null)
{
- var data = new DamageVisualizerGroupData(damageDelta.GetDamagePerGroup().Keys.ToList());
+ var data = new DamageVisualizerGroupData(damageDelta.GetDamagePerGroup(_prototypeManager).Keys.ToList());
appearance.SetData(DamageVisualizerKeys.DamageUpdateGroups, data);
}
RaiseLocalEvent(component.Owner, new DamageChangedEvent(component, damageDelta, interruptsDoAfters), false);