diff --git a/Content.Server/_Wega/GameTicking/Rules/VampireRuleSystem.cs b/Content.Server/_Wega/GameTicking/Rules/VampireRuleSystem.cs index 24801b0b63..455f988c05 100644 --- a/Content.Server/_Wega/GameTicking/Rules/VampireRuleSystem.cs +++ b/Content.Server/_Wega/GameTicking/Rules/VampireRuleSystem.cs @@ -115,22 +115,22 @@ namespace Content.Server.GameTicking.Rules private void HandleMetabolismAndOrgans(EntityUid vampire) { - if (TryComp(vampire, out var bodyComponent)) - { - foreach (var organ in _body.GetBodyOrgans(vampire, bodyComponent)) - { - if (TryComp(organ.Id, out var metabolizer)) - { - // TODO: wega fork has ClearMetabolizerTypes/TryAddMetabolizerType methods, wylab doesn't - // Using direct HashSet manipulation instead - if (TryComp(organ.Id, out _)) - metabolizer.MetabolizerTypes?.Clear(); - - metabolizer.MetabolizerTypes ??= new(); - metabolizer.MetabolizerTypes.Add(VampireComponent.MetabolizerVampire); - } - } - } + // TODO: wega fork has ClearMetabolizerTypes/TryAddMetabolizerType methods for MetabolizerSystem + // wylab doesn't have these methods, and direct field access violates Robust Analyzer permissions (RA0002) + // Need to implement proper metabolizer type manipulation API in wylab to enable vampire blood metabolism + // Original code: + // if (TryComp(vampire, out var bodyComponent)) + // { + // foreach (var organ in _body.GetBodyOrgans(vampire, bodyComponent)) + // { + // if (TryComp(organ.Id, out var metabolizer)) + // { + // if (TryComp(organ.Id, out _)) + // _metabolism.ClearMetabolizerTypes(organ.Id, metabolizer); + // _metabolism.TryAddMetabolizerType(organ.Id, VampireComponent.MetabolizerVampire, metabolizer); + // } + // } + // } } private void SetVampireComponents(EntityUid vampire, VampireComponent _)