# DA_ScareEvent — Data Asset

**Parent Class:** `UDataAsset`
**Dependencies:** [`BPC_ScareEventSystem`](../10-adaptive/)
**Purpose:** Defines scare event configurations — trigger conditions, visual/audio effects, and intensity scaling.

---

## Variables / Structure

| Field | Type | Description |
|-------|------|-------------|
| `ScareTag` | `FGameplayTag` | Unique scare event identifier |
| `ScareType` | `EScareType` | JumpScare, Ambient, Scripted, Environmental |
| `TriggerCondition` | `FGameplayTag` | Narrative or world condition tag |
| `VisualEffectKey` | `FName` | Screen effect preset for WBP_ScreenEffectController |
| `AudioEffectKey` | `FName` | Audio cue for AudioAtmosphereController |
| `Intensity` | `float` | 0.0-1.0 scare intensity |
| `CooldownSeconds` | `float` | Min time between triggers |
| `bRequiresDarkness` | `bool` | Only trigger in dark areas |
| `bOncePerSession` | `bool` | Only trigger once per play session |
| `MaxTriggersPerRun` | `int32` | Max total triggers (-1 = unlimited) |

---

## Gameplay Tags
- Namespace: `Scare.<Type>.<Name>` (e.g., `Scare.JumpScare.ClosetMonster`)

---

## Validation Rules
- `ScareTag` must be unique
- `Intensity` must be 0.0-1.0

---

## Example Data

| Field | Value |
|-------|-------|
| ScareTag | `Scare.JumpScare.MirrorReflection` |
| ScareType | JumpScare |
| Intensity | 0.8 |
| CooldownSeconds | 120.0 |
| bOncePerSession | true |

---

## Consumed By
- [`BPC_ScareEventSystem`](../10-adaptive/)

## Reuse Notes
- Scare events are data-driven; designers add new events without code changes
- Cooldown system prevents scare spam