# E5.M3 — EncounterAndRewardTables

## Summary

| Field | Value |
|--------|--------|
| **Module ID** | E5.M3 |
| **Epic** | [Epic 5 — PvE Combat](../epics/epic_05_pve_combat.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |

## Purpose

Encounter templates, completion criteria, and reward drop routing into items ([E3.M3](E3_M3_ItemizationAndInventorySchema.md)) and quest credit via [E7.M2 — RewardAndUnlockRouter](E7_M2_RewardAndUnlockRouter.md).

## Responsibilities

- Instantiate `EncounterDef`; roll `RewardTable`; emit `EncounterCompleteEvent` for downstream routers and parity checks.

## Key contracts

| Contract | Role |
|----------|------|
| `EncounterDef` | Spawns, objectives, completion rules. |
| `RewardTable` | Loot and currency references validated against item schema. |
| `EncounterCompleteEvent` | Completion signal for quests and telemetry. |

## Module dependencies

- **E5.M1** — CombatRulesEngine.
- **E3.M3** — ItemizationAndInventorySchema.
- **E7.M2** — RewardAndUnlockRouter.

## Dependents (by design)

- **E5.M4** — GroupCombatScaling.
- **E6.M4** — RewardParityEnforcer.
- **E7.M4** — ContractMissionGenerator.

## Related implementation slices

Epic 5 **Slice 3** — `encounter_complete`, reward attribution once.

## Source anchors

- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 5.
- [Module dependency register](module_dependency_register.md)
