From 76dcdc0f7231e21e2cb94fb527c9f323871045e8 Mon Sep 17 00:00:00 2001 From: MagicBot Date: Thu, 22 Oct 2026 09:27:34 -0400 Subject: [PATCH] Collapse a rune's skipped non-skill grant warnings into one line Archon 2018 logged 12 lines at every boot, one per resistance grant. Co-Authored-By: Claude Opus 5.5 --- src/engine/objects/SkillReq.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/engine/objects/SkillReq.java b/src/engine/objects/SkillReq.java index 98da092d..bcd53b0a 100644 --- a/src/engine/objects/SkillReq.java +++ b/src/engine/objects/SkillReq.java @@ -119,6 +119,7 @@ public class SkillReq extends AbstractGameObject { private static ArrayList loadSkillReqsForRune(int runeID) { ArrayList runeSkillReqs = new ArrayList<>(); + ArrayList skippedGrants = new ArrayList<>(); RuneTemplate rune = RuneTemplate._runes.get(runeID); SkillsBase skillsBase; @@ -129,15 +130,18 @@ public class SkillReq extends AbstractGameObject { skillsBase = DbManager.SkillsBaseQueries.GET_BASE_BY_NAME(skillGrant.skill_type); - // Archon 2018 grants resistances and Duelist 3010 grants Dueling; neither is a skill if (skillsBase == null) { - Logger.warn("Rune " + runeID + ": skill grant " + skillGrant.skill_type + " is not a skill"); + skippedGrants.add(skillGrant.skill_type); continue; } runeSkillReqs.add(new SkillReq(skillGrant, skillsBase, runeID)); } + // Expected at every boot: Archon 2018 lists resistances as skill grants (Duelist 3010 lists Dueling); not a bug + if (!skippedGrants.isEmpty()) + Logger.warn("Rune " + runeID + ": skipped non-skill grants " + skippedGrants); + return runeSkillReqs; }