Load Skills, StartingKitTable, CharCreateRuneList and PowActionCostInfo

SkillParser: uid, name, icon, attribute weights and description per
Skills.cfg line (94 skills; the server's ids 1-63 stay in the DB).
StartingKitParser: each kit line is a list of up to 10 item ids under
its RACE= line, as the client reads it; the file's tab columns are not
used (451 kits, same count as static_rune_validkit).
CharCreateRuneParser: race (with sex), class, promotion and attribute
creation rune lists. PowActionCostParser: resource costs per id, the
source of static_effect_costmaps (524 entries). No consumers change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MagicBotandClaude Opus 5.5 committed 2026-10-22 11:22:27 -04:00
1 parent bd145b1e55
commit 3ae1c72f46
9 files changed
+457

No files matched your search

+40
View File
@@ -39,16 +39,24 @@ 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.EffectTemplate;
import engine.parsers.objects.wpak.ModTypeTemplate;
import engine.parsers.objects.wpak.PowActionCostTemplate;
import engine.parsers.objects.wpak.PowerActionTemplate;
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.EffectParser;
import engine.parsers.wpak.ModTypeParser;
import engine.parsers.wpak.PowActionCostParser;
import engine.parsers.wpak.PowerActionParser;
import engine.parsers.wpak.PowerParser;
import engine.parsers.wpak.SkillParser;
import engine.parsers.wpak.StartingKitParser;
import engine.powers.RunePowerEntry;
import engine.powers.RuneSkillAdjustEntry;
import engine.server.MBServerStatics;
@@ -384,6 +392,38 @@ public class WorldServer {
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("Loading Power Action Resource Costs");
PowActionCostTemplate._costs = PowActionCostParser.parsePowActionCostFile();
if (PowActionCostTemplate._costs == null || PowActionCostTemplate._costs.isEmpty()) {
Logger.error("ABORT! Power action resource costs failed to load!");
exit(1);
}
Logger.info("Loading PromotionClasses");
PromotionClass.LoadAllPromotions();