Load rune skill reqs from rune_skill_grant instead of static_skill_skillreq
SkillReq.getSkillReqsForRune builds each rune's list from the RUNE JSON on first use and caches it: skill_value is the grant level and skill_granted_skills are the prereqs. The prereq amounts (80, Warrior 50, Sun Dancer 60) are loaded but not yet read; CharacterSkill keeps its hard-coded 80 and validForWarrior. Parity (scripts/p29.py): 47 of 79 DB runes match. Value changes (JSON wins, Task 2.9 decisions): - Thief Dagger Mastery, Throwing, Unarmed Combat Mastery: level 15 -> 20 - Sentinel Axe/Great Axe/Hammer/Great Hammer/Sword Mastery: 20 -> 15; gains Great Sword Mastery (15, Sword); loses Wear Armor, Medium - Channeler loses Sword; Storm Lord loses Stormcalling - Blood Horn gains Hammer Mastery (20, Hammer) - No weapon prereq any more on Archer Archery, Blade Weaver Blade Weaving, Sun Dancer Sun Dancing and the 11 Master of X talents - No effect: Druid/Prelate Sword and Fury Spear 10 -> 1 (promotion is at 10), discipline/talent level changes (they need level 20), Throwing prereqs (always granted), Blade Master Sword prereq (granted at 1) - JSON-only runes (Archon, Duelist, War Correspondent, Pet, mob/guard races) gain lists; Archon resistances and Duelist Dueling are not skills and are skipped with a warning Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d6df01f8f3
commit
4170749a59
6 files changed
+84
-12
No files matched your search
@@ -96,7 +96,7 @@ public class PromotionClass extends AbstractGameObject {
|
||||
this.manaMod = rs.getFloat("manaMod");
|
||||
this.staminaMod = rs.getFloat("staminaMod");
|
||||
this.allowedRunes = DbManager.PromotionQueries.GET_ALLOWED_RUNES(this);
|
||||
this.skillsGranted = DbManager.SkillReqQueries.GET_REQS_FOR_RUNE(this.getObjectUUID());
|
||||
this.skillsGranted = SkillReq.getSkillReqsForRune(this.getObjectUUID());
|
||||
this.powersGranted = PowerReq.getPowerReqsForRune(this.getObjectUUID());
|
||||
this.effectsGranted = DbManager.RuneBaseEffectQueries.GET_EFFECTS_FOR_RUNEBASE(this.getObjectUUID());
|
||||
this.effectsGrantedFighter = DbManager.RuneBaseEffectQueries.GET_EFFECTS_FOR_RUNEBASE((this.getObjectUUID() * 10) + 2500);
|
||||
@@ -121,7 +121,7 @@ public class PromotionClass extends AbstractGameObject {
|
||||
this.manaMod = rune.rune_mana;
|
||||
this.staminaMod = rune.rune_stamina;
|
||||
this.allowedRunes = getAllowedRuneTokens(rune);
|
||||
this.skillsGranted = DbManager.SkillReqQueries.GET_REQS_FOR_RUNE(this.getObjectUUID());
|
||||
this.skillsGranted = SkillReq.getSkillReqsForRune(this.getObjectUUID());
|
||||
this.powersGranted = PowerReq.getPowerReqsForRune(this.getObjectUUID());
|
||||
this.effectsGranted = DbManager.RuneBaseEffectQueries.GET_EFFECTS_FOR_RUNEBASE(this.getObjectUUID());
|
||||
this.effectsGrantedFighter = DbManager.RuneBaseEffectQueries.GET_EFFECTS_FOR_RUNEBASE((this.getObjectUUID() * 10) + 2500);
|
||||
|
||||
Reference in new issue
Block a user