CurrentGrade | EB1SchoolGrade | Cache updated in sync when WeeklyHistory updates. For frequent queries (UI/Script). |
DailyRecords | FB1SchoolDailyRecord[] | Index = (EB1DayOfWeek - Monday). Fixed at 5 cells (Mon-Fri). Guaranteed via SetNum(5) in OnPostInit/OnWeekReset. |
LastExamScoreAfternoon | integer | This week's afternoon exam slot score (0~20); 0 if the slot was not taken. |
LastExamScoreMorning | integer | This week's per-slot exam scores (each 0-20, full = ExamMaxScore/2). Computed per slot; ExamScore = Morning + Afternoon (0-40). RunExamSlot computes it at attendance time; unattended slots stay 0. Reset to 0 on week change (OnWeekReset). Note: exam prep accumulation (ExamPreparation) was moved to FB2CareerComponent as personal capability data (2026-05); RunExamSlot reads prep from the student's CareerComponent. |
PreviousGrade | EB1SchoolGrade | The grade from the prior week, cached for comparison/trend display. |
PromPartnerVisitIds | FB1EntityId[] | Unique PromPartner EntityIds that successfully attended prom with this student. Used by the VisitPromWithPartner script condition. |
WeeklyHistory | FB1SchoolWeeklyResult[] | Last N weeks' results (per-item scores + total + grade). For UI graphs/trends and debug. Limit is DA->MaxWeeklyHistoryCount (recommended 4); RemoveAt(0) of the oldest when exceeded. The first element is the oldest week, the last is the most recent. Each entry's WeekIndex is a continuous number since enrollment (1, 2, 3, ...) and is kept even when trimmed. |
bAttendedAfternoonExam | boolean | Whether the afternoon exam slot was taken this week; reset to false on week reset. |
bAttendedMorningExam | boolean | This week's per-slot exam attendance. The slot is marked true when RunExamSlot runs. Unattended slots (false) keep LastExamScore*=0 (0 points when summed; no ExamFloorScore guarantee). Also used for idempotency - RunExamSlot is skipped if re-called on an already-attended slot. Reset to false in OnWeekReset. |
bHadCounseling | boolean | Whether counseling was ever received. Used as an early-graduation condition (false). |
bHadExamThisCareer | boolean | True after the first weekly evaluation is set (exam taken or a no-exam week closes) or after a transfer grade is applied. The flag for leaving the 'before evaluation' state. Set in RunExamSlot / FinalizeWeeklyEvaluation / ApplyTransferredGrade. |
bHasEverAttended | boolean | Whether the student has any actual attendance history. Marked true in CollectHomework on the first attendance day. Used as a one-shot trigger for the 'treat as submitted' correction, since the first day has no prior-issued homework so the evaluation slot is empty. |
bWeeklyFinalized | boolean | Whether this week's close completed. Ensures FinalizeWeeklyEvaluation idempotency. Reset to false in OnWeekReset, set true at the end of FinalizeWeeklyEvaluation. Also prevents duplicate closing during exam-day-holiday batch closing. |