Skip to content

Add Hints Module with Penalty Tracking #33

@Mkalbani

Description

@Mkalbani

Description

Build a hints module that delivers contextual, ordered hints to players during an active session. Hints are a paid mechanic — they cost score points — so the module must integrate tightly with both the sessions and scoring modules. Each puzzle should support up to three tiered hints, with each reveal tracked and penalised.

Acceptance Criteria

  • A hints module is scaffolded at src/hints/
  • Hint entity is linked to a puzzle with fields: id, puzzleId, order (1–3), and content
  • POST /hints/reveal accepts sessionId and returns the next unrevealed hint
  • Hint reveals are tracked per session and cannot be repeated
  • Each reveal triggers a score penalty via the scoring module
  • GET /hints/puzzle/:puzzleId is admin-only and returns all hints for a puzzle
  • Attempting to reveal hints in a completed or abandoned session returns a 400
  • Unit tests cover ordered reveal, repeat prevention, penalty trigger, and invalid session states

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions