Files
BreakEscape/scenarios
Z. Cliffe Schreuders 9cb607ddf6 Add interactive guard with combat options to Mission 2
Implemented patrolling security guard in hallway_north with multiple
player interaction options including combat/fighting mechanics.

New Features:
1. Interactive Security Guard NPC
   - Patrols hallway_north corridor (4-waypoint route)
   - Line-of-sight detection (150px range, 120° angle)
   - Lockpicking detection (event-triggered confrontation)
   - Visual LOS cone for player awareness

2. Combat/Fighting Options
   Player can choose to physically confront the guard:
   - Knockout punch (quick but risky)
   - Wrestling/grappling (moderate difficulty)
   - Improvised weapon (fire extinguisher)
   - Back down from fight (de-escalation)

   Success depends on influence stat:
   - High influence: Guard knocked out, ~2 min window
   - Low influence: Failed attack, mission compromised

3. Alternative Approaches
   - Social engineering (claim authorization, emergency)
   - Persuasion (explain situation, build rapport)
   - De-escalation (apologize, back down)
   - Avoidance (wait for patrol to pass)

4. Consequences System
   - #hostile tag: Guard calls backup
   - #take_damage: Failed combat consequences
   - #mission_failed: Attacking security = mission end
   - Guard knockout: Time-limited stealth window

Files Added:
- m02_npc_security_guard.ink (500+ lines)
- m02_npc_security_guard.json (compiled)

Files Modified:
- scenario.json.erb:
  - Added interactive guard NPC to hallway_north
  - Patrol behavior with 4 waypoints
  - LOS and lockpicking event detection
  - Global variables: guard_knocked_out, attacked_guard

Validation: ✓ PASSED
- Schema compliant
- JSON valid
- Ink script compiles successfully

Design Notes:
- Based on npc-patrol-lockpick test scenario
- Integrated with M2's hospital crisis context
- Multiple paths support different playstyles
- Combat is high-risk/high-reward option
- Aligns with SAFETYNET Field Rule 7: improvise as needed
2026-01-14 09:46:31 +00:00
..
2026-01-13 13:28:14 +00:00
2026-01-13 13:28:14 +00:00
2026-01-13 13:28:14 +00:00
2026-01-13 13:28:14 +00:00
2026-01-13 13:28:14 +00:00
2026-01-13 13:28:14 +00:00
2026-01-13 13:28:14 +00:00