B1CareerKey
- Identifies a character's career entry, including the career entity ID,
* company and job data table IDs, experience, level, and site identifier.
| Property | Type | Description | Metadata |
|---|---|---|---|
| CareerEntityId | FB1EntityId | Entity ID of this career instance. | |
| CareerDtId | FName | Data table ID of the company for this career. | Foreign: Company.Id |
| JobDtId | FName | Data table ID of the job for this career. | Foreign: Job.Id |
| Exp | float | Current experience points accumulated in this career. | |
| Rank | int32 | Current rank in this career. | |
| SiteStrId | FString | String identifier of the site associated with this career. | |
| EvaluationScore | int32 | Current performance evaluation score (0 to 100). Synced from B2 via S_UpdateCareerEvaluationScore. | |
| SchoolGrade | EB1SchoolGrade | School-only weekly evaluation grade cache. Synced from B2 via S_UpdateSchoolGrade. | |
| bSchoolHadEvaluation | bool | School-only: whether B2 weekly evaluation has started | |
| SchoolAttendanceScore | int32 | School-only weekly evaluation item scores cache (0~max per UB1SchoolDataAsset). * Synced from B2 via S_UpdateSchoolWeeklyResult (sent from FB2School::FinalizeWeeklyEvaluation). * Full-score reference: AttendanceFullScore=15 / ClassParticipationBase=25 / HomeworkFullScore=20 / ExamMaxScore=40 / RelationshipBonusMax=10. * The "not yet evaluated" state has no dedicated field and is determined by SchoolGrade == EB1SchoolGrade::None (synced at the same time as S_UpdateSchoolGrade). | |
| SchoolParticipationScore | int32 | School-only: weekly class participation score cache (max 25). | |
| SchoolHomeworkScore | int32 | School-only: weekly homework score cache (max 20). | |
| SchoolExamScore | int32 | School-only: weekly exam score cache (max 40). | |
| SchoolRelationshipScore | int32 | School-only: weekly relationship bonus score cache (max 10). | |
| SchoolClassIndex | int32 | School-only: class section index assigned to this student (0-based). INDEX_NONE if not yet assigned. * Synced from B2 via S_UpdateSchoolClassIndex when AssignStudentToSection succeeds. * Used by the per-weekday timetable of the school life tab (BW_WBP_Timetable_0~4) — FB1SchoolClassScheduleTableRow.ClassSchedules[ClassIndex]. | |
| LeaderEntityId | FB1EntityId | Club-only: EntityId of the club leader (highest-rank member). Synced when the player's own joined-club response arrives in ResponseCareerUIData. * Used by the school ProfileWidget's BW_Text_Leader for EntityId->name lookup. No display when Invalid. | |
| TeamProject | FB1CareerTeamProjectCache | Cache of the TeamProject in progress for this career. Updated when the S_UpdateTeamProject packet is received. * Sent only for ResidenceFamily members, so a non-own-family character's CareerKey keeps the default value. | |
| PendingWorkMode | EB1WorkMode | Pending remote work mode for the next work day. | |
| ActiveWorkMode | EB1WorkMode | Currently active work mode for today. | |
| UnexcusedAbsenceCount | int32 | Cumulative unexcused absence count. | |
| AttendanceDays | int32 | Cumulative attendance days. Synced from B2 via S_UpdateCareerStatus. | |
| RemainingVacationDays | int32 | Remaining paid vacation days. Synced from B2 via S_UpdateCareerVacationStatus. | |
| NextDayVacationType | EB1CareerVacationType | Vacation type scheduled for the next workday. Synced from B2 via S_UpdateCareerVacationStatus. | |
| NextWorkday | EB1DayOfWeek | Next actual work day after skipping scheduled vacation days. * Synced from B2 via S_UpdateCareerVacationStatus. Valid only while NextDayVacationType != None. |