# V2 NPC Schedule Weather Response

`NPCScheduleWeatherResponse.V2` evaluates weather state against schedule-aware
response rules. Rain and storms send NPCs to shelter, extreme cold keeps NPCs
indoors, and sunny/clear weather can send NPCs outside.

## Runtime Surface

- `FV2NPCScheduleWeatherState` carries weather id, weather type, temperature,
  precipitation intensity, outdoor safety, indoor preference, and outdoor-clear
  flags.
- `FV2NPCScheduleWeatherResponseRule` maps weather to seek-shelter,
  stay-indoors, or go-outside behavior with target locations and activity/
  behavior tags.
- `FV2NPCScheduleWeatherCommand` is the data-only behavior command emitted to
  schedule AI.
- `FV2NPCScheduleWeatherResponseResult` includes schedule execution, location
  binding, a weather interruption event, the weather command, and validation
  issues.

## Response Rules

1. Rain and storm rules select an available shelter or home location and emit
   `Schedule.Activity.WeatherShelter` / `Behavior.Schedule.SeekShelter`.
2. Extreme cold and snow rules select an available home or shelter and emit
   `Schedule.Activity.StayIndoors` / `Behavior.Schedule.StayIndoors`.
3. Sunny and clear rules require `bClearForOutdoor` and no unsafe outdoor flag,
   then emit `Schedule.Activity.GoOutside` / `Behavior.Schedule.GoOutside`.
4. Weather response can suppress command issue while still reporting the
   selected response.
5. Missing current locations, weather ids, shelter/indoor/outdoor targets, and
   invalid commands produce blocking issues.

## Validation Commands

Run these targeted checks when touching schedule weather response:

```bash
python3 V2/ue/Tools/check-v2-npc-schedule-weather-response.py
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/NPCScheduleWeatherResponse_V2_Contract.json
python3 -m py_compile V2/ue/Tools/check-v2-npc-schedule-weather-response.py
```
