Enhance NPC encounter tracking and logging in GamesController

- Added logging for the number of NPCs in a room when loading it, improving visibility into game state.
- Ensured NPC encounters are tracked when unlocking doors, even when using cached room data, to maintain accurate encounter statistics.
This commit is contained in:
Z. Cliffe Schreuders
2025-12-01 17:42:28 +00:00
parent a4606f596c
commit 7ac541a286

View File

@@ -208,6 +208,8 @@ module BreakEscape
return render_error("Room not found: #{room_id}", :not_found) unless room_data
# Track NPC encounters BEFORE sending response
npc_count = room_data['npcs']&.length || 0
Rails.logger.info "[BreakEscape] 📦 Loading room: #{room_id} (NPCs: #{npc_count})"
track_npc_encounters(room_id, room_data)
Rails.logger.debug "[BreakEscape] Serving room data for: #{room_id}"
@@ -340,6 +342,10 @@ module BreakEscape
room_data = @game.filtered_room_data(target_id)
# Track NPC encounters when unlocking a door (room data is cached by client)
# This ensures NPCs are tracked even if loadRoom() uses cached data
track_npc_encounters(target_id, room_data)
render json: {
success: true,
type: 'door',