- summary: One job's progress: its level, its experience, and the experience bounds of the level it is on.
- area: Game.Job
One job's progress: its level, its experience, and the experience bounds of the level it is on.
Kind struct · Area Game.Job
The progress record for one job. It is never sent on its own:
JobExperiencesUpdateEvent carries a list of them for your own character, and the
other-player job update carries exactly one for the crafter you are working with.
HOW TO READ THE THREE EXPERIENCE VALUES. They are absolute totals, not amounts within the level. The client draws its job gauge straight from them:
gauge.low = job_xp_level_floor experience at which the current level began gauge.high = job_xp_next_level_floor experience at which the next level is reached gauge.value = job_xp total experience in the job
so progress through the level is (job_xp - job_xp_level_floor) out of (job_xp_next_level_floor - job_xp_level_floor).
LEVEL 200 IS SPECIAL-CASED. When JobExperience.job_level is exactly 200 the client
ignores all three experience values and draws a full gauge (low 0, high 1, value 1). Do not
divide by the floor span without checking for it.
THE FIVE MEMBERS ARE EASY TO SWAP. Two are int32 and three are int64, and their wire numbers are reshuffled on every build. Read them by name from the recovered schema, never by position.
HOW TO USE IT. File it under JobExperience.job_id and overwrite the four other
values together; they always travel as one consistent set.
Not sent on its own — it is only ever carried by JobExperiencesUpdateEvent and by the other-player job update. inferred
Used by
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 1 | job_level | int32 | The character's current level in the job. (level) At exactly 200 the client draws a full gauge and ignores the experience values. | never |
| 2 | job_xp | int64 | Total experience earned in the job. (experience points) An absolute total. It is the VALUE of the client's job gauge. | never |
| 3 | job_xp_level_floor | int64 | Total experience at which the current level began. (experience points) The LOW bound of the client's job gauge. | never |
| 5 | job_id | int32 | Which job this record is about. (job id) The key the client files the record under; an unknown id creates a new job entry. | never |
| 6 | job_xp_next_level_floor | int64 | Total experience at which the next level is reached. (experience points) The HIGH bound of the client's job gauge. | never |