Fighting Game · Guides & deep dives

V2 NPC Schedule Interruption

weather, or custom interruption with priority, active/resolved state, optional target location, activity tag, behavior tag, and return-to-schedule policy.

3sections1 minread

On this page

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#

  • FV2NPCScheduleInterruptionEvent describes 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.
  • FV2NPCScheduleInterruptionRequest carries the schedule, location registry, current time, current location, last interrupted block, issue flag, and interruption events.
  • FV2NPCScheduleInterruptionCommand carries the selected interruption or resume command, target location, activity, behavior, pause/resume flags, indoor routing flag, priority, and tags.
  • FV2NPCScheduleInterruptionResult reports the active schedule block, selected interruption, schedule resume state, weather shelter routing, command payload, and validation issues.

Interruption Rules#

  1. Combat interruptions pause the active schedule and emit Behavior.Schedule.CombatInterrupt.
  2. Player interaction interruptions pause the schedule and can suppress command issue while dialogue or interaction owns the NPC.
  3. Weather interruptions select an available shelter or home location, emit Schedule.Activity.WeatherShelter / Behavior.Schedule.SeekShelter, and drive the NPC indoors.
  4. 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.
  5. When multiple events are active, the highest priority event wins.
  6. Active or resolved interruptions require stable interruption ids.
  7. 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