NPCScheduleDayOfWeek.V2 selects a resolved schedule from an authored base
schedule, a calendar date, and enabled day-pattern replacements. It supports
weekday schedules, weekend schedules, and holiday overrides with priority-based
selection.
Runtime Surface#
FV2NPCScheduleCalendarDatecarries year, month, day, day of week, holiday flag, and holiday id.FV2NPCScheduleDayPatternbinds a pattern id, pattern type, target weekday or holiday id, replacement schedule, priority, enabled state, and tags.FV2NPCScheduleDayOfWeekRequestcarries the base schedule, date, apply toggle, and available patterns.FV2NPCScheduleDayPatternSelectionrecords the pattern that won selection.FV2NPCScheduleDayOfWeekResultreturns the resolved schedule and flags for weekday, weekend, and holiday override selection.
Selection Rules#
- Holiday override patterns have enough priority to win over weekend or weekday patterns when the calendar date carries the matching holiday id.
- Weekend patterns match Saturday and Sunday.
- Weekday patterns match Monday through Friday.
- Specific-day patterns can target a single authored day.
- Suppressed day-pattern evaluation returns the base schedule unchanged.
- Invalid calendar dates, pattern ids, replacement schedules, and missing holiday ids produce blocking issues before selection.
Validation Commands#
Run these targeted checks when touching schedule day-of-week selection:
bash
python3 V2/ue/Tools/check-v2-npc-schedule-day-of-week.py
python3 V2/ue/Tools/check-v2-npc-schedule-variation.py
python3 V2/ue/Tools/check-v2-npc-schedule-interruption.py
python3 V2/ue/Tools/check-v2-npc-schedule-location-binding.py
python3 V2/ue/Tools/check-v2-npc-schedule-activity-behavior.py
python3 V2/ue/Tools/check-v2-npc-schedule-pathfinding.py
python3 V2/ue/Tools/check-v2-npc-schedule-execution-engine.py
python3 V2/ue/Tools/check-v2-npc-schedule-data-format.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/Gameplay/NPC/NPCScheduleDayOfWeek_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-npc-schedule-day-of-week.py