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 <noreply@anthropic.com>
This commit is contained in:
MagicBotandClaude Opus 5.5 committed 2026-10-22 09:27:34 -04:00
1 parent 4170749a59
commit 76dcdc0f72
1 file changed
+6 -2
+6 -2
View File
@@ -119,6 +119,7 @@ public class SkillReq extends AbstractGameObject {
private static ArrayList<SkillReq> loadSkillReqsForRune(int runeID) { private static ArrayList<SkillReq> loadSkillReqsForRune(int runeID) {
ArrayList<SkillReq> runeSkillReqs = new ArrayList<>(); ArrayList<SkillReq> runeSkillReqs = new ArrayList<>();
ArrayList<String> skippedGrants = new ArrayList<>();
RuneTemplate rune = RuneTemplate._runes.get(runeID); RuneTemplate rune = RuneTemplate._runes.get(runeID);
SkillsBase skillsBase; SkillsBase skillsBase;
@@ -129,15 +130,18 @@ public class SkillReq extends AbstractGameObject {
skillsBase = DbManager.SkillsBaseQueries.GET_BASE_BY_NAME(skillGrant.skill_type); 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) { if (skillsBase == null) {
Logger.warn("Rune " + runeID + ": skill grant " + skillGrant.skill_type + " is not a skill"); skippedGrants.add(skillGrant.skill_type);
continue; continue;
} }
runeSkillReqs.add(new SkillReq(skillGrant, skillsBase, runeID)); 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; return runeSkillReqs;
} }