Stack a mob's rune skill adjusts by skill type instead of replacing them
applyRuneSkills checked mob.skills for the rune name rather than the skill type, so every qualifying [rank, level] pair replaced the skill and only the last one counted. Pairs at or below the mob's level now add up, the same way trainer caps sum their pairs. Value changes: only mobbases with several pairs for one skill, Guard Dog 12017 and Guard 13170. Only Guard Dog is in use (contract 910 Personal Guard Dog); Guard 13170 has no spawns or contracts on dev. Example at level 50: Dodge and Unarmed Combat 30 -> 110, Unarmed Combat Mastery 20 -> 80. Guard ATR/defense/damage formulas don't read these skills. No mobbase has a base skill matching a rune skill, so applyMobbaseSkill values are unaffected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
865949fd1c
commit
11cffedd62
1 file changed
+1
-1
@@ -471,7 +471,7 @@ public enum NPCManager {
|
||||
if (skillBase == null)
|
||||
continue;
|
||||
if (entry.level <= mob.level)
|
||||
if (mob.skills.containsKey(entry.name) == false)
|
||||
if (mob.skills.containsKey(entry.skill_type) == false)
|
||||
mob.skills.put(entry.skill_type, new CharacterSkill(skillBase, mob, entry.rank));
|
||||
else
|
||||
mob.skills.put(entry.skill_type, new CharacterSkill(skillBase, mob, entry.rank + mob.skills.get(entry.skill_type).getNumTrains()));
|
||||
|
||||
Reference in new issue
Block a user