# 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 (or dedicated PvP branch) consults eligibility before applying player-vs-player actions (integration detail per implementation). ## 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)