From f409e4ee4ca0f912a396ed132340f12309a21c13 Mon Sep 17 00:00:00 2001 From: MagicBot Date: Sun, 25 Oct 2026 08:22:48 -0400 Subject: [PATCH] Load creation and power cfgs on the login server CompoundCurves (needed by the Powers.cfg parser), Powers, Skills, StartingKitTable and CharCreateRuneList now load at login boot from the shared mb.data/wpak. No consumer reads them yet. Co-Authored-By: Claude Opus 5.5 --- src/engine/server/login/LoginServer.java | 50 ++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/engine/server/login/LoginServer.java b/src/engine/server/login/LoginServer.java index 9044f743..c582ebbf 100644 --- a/src/engine/server/login/LoginServer.java +++ b/src/engine/server/login/LoginServer.java @@ -28,6 +28,16 @@ import engine.parsers.cache.RuneParser; import engine.parsers.objects.DeedTemplate; import engine.parsers.objects.ItemTemplate; import engine.parsers.objects.RuneTemplate; +import engine.parsers.objects.wpak.CharCreateRuneList; +import engine.parsers.objects.wpak.CompoundCurveTemplate; +import engine.parsers.objects.wpak.PowerTemplate; +import engine.parsers.objects.wpak.SkillTemplate; +import engine.parsers.objects.wpak.StartingKitTemplate; +import engine.parsers.wpak.CharCreateRuneParser; +import engine.parsers.wpak.CompoundCurveParser; +import engine.parsers.wpak.PowerParser; +import engine.parsers.wpak.SkillParser; +import engine.parsers.wpak.StartingKitParser; import engine.server.MBServerStatics; import engine.server.world.WorldServer; import engine.session.Session; @@ -315,6 +325,46 @@ public class LoginServer { Logger.info("Indexing Cache Templates"); CObjectIndex.build(); + Logger.info("Loading Compound Curves"); + CompoundCurveTemplate._curves = CompoundCurveParser.parseCompoundCurvesFile(); + + if (CompoundCurveTemplate._curves == null || CompoundCurveTemplate._curves.isEmpty()) { + Logger.error("ABORT! Compound curves failed to load!"); + exit(1); + } + + Logger.info("Loading Powers"); + PowerTemplate._powers = PowerParser.parsePowersFile(); + + if (PowerTemplate._powers == null || PowerTemplate._powers.isEmpty()) { + Logger.error("ABORT! Powers failed to load!"); + exit(1); + } + + Logger.info("Loading Skills"); + SkillTemplate._skills = SkillParser.parseSkillsFile(); + + if (SkillTemplate._skills == null || SkillTemplate._skills.isEmpty()) { + Logger.error("ABORT! Skills failed to load!"); + exit(1); + } + + Logger.info("Loading Starting Kits"); + StartingKitTemplate._kits = StartingKitParser.parseStartingKitFile(); + + if (StartingKitTemplate._kits == null || StartingKitTemplate._kits.isEmpty()) { + Logger.error("ABORT! Starting kits failed to load!"); + exit(1); + } + + Logger.info("Loading Character Creation Runes"); + CharCreateRuneList._runeList = CharCreateRuneParser.parseCharCreateRuneFile(); + + if (CharCreateRuneList._runeList == null) { + Logger.error("ABORT! Character creation runes failed to load!"); + exit(1); + } + Logger.info("Initializing Network"); Network.init();