neon-sprawl/docs/decomposition/modules/E6_M1_PvPEligibilityAndFlag...

58 lines
2.7 KiB
Markdown

# E6.M1 — PvPEligibilityAndFlagState
## Summary
| Field | Value |
| ---------------- | ------------------------------------------------------------------ |
| **Module ID** | E6.M1 |
| **Epic** | [Epic 6 — PvP Security](../epics/epic_06_pvp_security.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Server-enforced rules for whether player-versus-player combat is allowed: driven by [E4.M4](E4_M4_SecurityTierZoneFlags.md) security tiers and explicit opt-in context. Ensures PvP is never client-only toggles; eligibility is authoritative and auditable.
## Responsibilities
- Evaluate `EligibilityRule` against current zone policy and player PvP flag / consent context.
- Maintain and transition `PvPFlagState` (or equivalent) with clear semantics for combat engine gating.
- Emit `PvPStateChanged` (or equivalent) for UI, telemetry, and downstream systems.
## Key contracts
| Contract | Role |
| ----------------- | -------------------------------------------------------------------- |
| `PvPFlagState` | Current opt-in and effective PvP capability for an actor in context. |
| `EligibilityRule` | Policy mapping from tier + context to allow/deny. |
| `PvPStateChanged` | Event for subscribers (UX, analytics, combat deny reasons). |
## Module dependencies
- **E4.M4** — SecurityTierZoneFlags: `SecurityTier`, `ZonePolicyState`, `ZoneEntryWarning` inputs.
## Dependents (by design)
- **E6.M2** — ConsentAndRiskUxSignals: prompts and HUD indicators.
- **E6.M3** — LossPenaltyAndAntiGriefRules: builds on eligibility and zone context.
- **Combat resolution** — [E5.M1](E5_M1_CombatRulesEngine.md) consults E6.M1 **in the same pipeline** before applying player-target hostility; see [PvP and the combat engine](pvp_combat_integration.md).
## Related implementation slices
See Epic 6 **Slice 1 — Zone-based PvP flag core**: high-sec blocks player combat; server-enforced eligibility; telemetry `pvp_state_changed`, `pvp_zone_enter`, `pvp_zone_exit`.
## Risks and telemetry
- PvP feeling mandatory: pair with E6.M4 reward parity and design gates from master plan.
- Griefing: high-sec safe hubs; fast iteration using telemetry and E9 integrity paths when live.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Core Epic Map, Epic 6.
- [Module dependency register](module_dependency_register.md)