From d4fe79b62f65477693bc6cb6ea5913466fe9985a Mon Sep 17 00:00:00 2001 From: wylab Date: Wed, 17 Dec 2025 01:18:28 +0100 Subject: [PATCH] fix: comment out metabolizer manipulation to fix RA0002 permission error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit wega fork has ClearMetabolizerTypes/TryAddMetabolizerType methods that wylab lacks. Direct field access to MetabolizerTypes violates Robust Analyzer permissions. Commented out for later implementation when metabolizer API is ported. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../GameTicking/Rules/VampireRuleSystem.cs | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) 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 _)