melia icon indicating copy to clipboard operation
melia copied to clipboard

Fix job levels being reset when adding new jobs via >addjob

Open kenedos opened this issue 2 months ago • 0 comments

This PR fixes an issue where existing job levels would be incorrectly reduced when adding a new job with the >addjob command.

Root Cause

The Job.Level property is dynamically calculated from TotalExp and the character's current rank (sum of all job circles). When a new job is added, the rank increases, which changes the EXP curve - the same TotalExp value now corresponds to a lower level at the higher rank.

Steps to reproduce (before this fix):

  1. Create new archer character
  2. >joblevelup 14 (Archer is now level 15)
  3. >addjob 3002 (Hunter)
  4. >joblevelup 44 (Hunter is now level 45)
  5. >addjob 3005 (Sapper) - Hunter drops from level 45 to level 9 (not shown in client)
  6. >joblevelup 44 (Sapper is now level 45)
  7. Attempt to increase Hunter's Praise skill → FAIL, because Praise requires job level 31

Fix

Before adding a new job, store the current levels of all existing jobs. After adding the job (which increases the rank), recalculate TotalExp for each existing job to maintain their levels at the new rank.

kenedos avatar Nov 27 '25 13:11 kenedos