NPCScheduleInterruption.V2 evaluates temporary overrides that pause or replace
the active daily routine. Combat, player interaction, weather, and custom
interruptions produce data-only commands so AI systems can interrupt behavior
without losing the schedule block needed for resume.
Runtime Surface#
FV2NPCScheduleInterruptionEventdescribes a combat, player interaction, weather, or custom interruption with priority, active/resolved state, optional target location, activity tag, behavior tag, and return-to-schedule policy.FV2NPCScheduleInterruptionRequestcarries the schedule, location registry, current time, current location, last interrupted block, issue flag, and interruption events.FV2NPCScheduleInterruptionCommandcarries the selected interruption or resume command, target location, activity, behavior, pause/resume flags, indoor routing flag, priority, and tags.FV2NPCScheduleInterruptionResultreports the active schedule block, selected interruption, schedule resume state, weather shelter routing, command payload, and validation issues.
Interruption Rules#
- Combat interruptions pause the active schedule and emit
Behavior.Schedule.CombatInterrupt. - Player interaction interruptions pause the schedule and can suppress command issue while dialogue or interaction owns the NPC.
- Weather interruptions select an available shelter or home location, emit
Schedule.Activity.WeatherShelter/Behavior.Schedule.SeekShelter, and drive the NPC indoors. - When no event is active but a resolved event and last interrupted block are present, the system emits a resume command for the current active schedule block when that event requires returning to schedule.
- When multiple events are active, the highest priority event wins.
- Active or resolved interruptions require stable interruption ids.
- The interruption command preserves the interrupted block id so save/load and later persistence can resume safely.
Validation Commands#
Run these targeted checks when touching schedule interruption:
bash
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/NPCScheduleInterruption_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-npc-schedule-interruption.py