Skip to content

A8: Extract scoring module #128

Open

Description

@Cadacious

Summary

Extract kill tracking, damage ledger, frag/score/time limit checking, and end/restart game logic into a standalone scoring module DLL.

Responsibility

  • Kill attribution (track who killed whom and how)
  • Score tracking (kills, deaths, points per player)
  • Damage ledger (last-hit attribution for indirect kills)
  • Frag limit checking
  • Time limit checking
  • End game condition detection and notification
  • Restart game flow
  • SCORE_CHANGE_MESSAGE and SCORE_MESSAGE wire construction
  • Fire events: score_changed, game_ended, game_restarted

Acceptance Criteria

  • Scoring tests pass through module interface
  • Frag limit and time limit triggers work
  • End/restart game flow matches current behavior
  • Configurable via TOML (kill_points, death_penalty, team_kill_penalty)

Depends on: #125, #127 (combat module fires ship_killed)
Blocks: #120

Activity

  1. added
    phase-2Phase 2: Plugin Architecture + Game Client
    track-aTrack A: Plugin Architecture
    on Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureArchitecture and designphase-2Phase 2: Plugin Architecture + Game Clienttrack-aTrack A: Plugin Architecture

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions