Skip to content

[Merge-ready once more] Statistics Gathering

Rob Nelson requested to merge pull/6940/feature-statistics-gathering into Bleeding-Edge

Created by: gbasood

Statistics gathering (and later viewing!)

The goal of this PR is to add in gathering of interesting round statistics for public perusal (via a web interface I'd have to write up after I get all this sorted out) And also because I want to see how many cult victories there actually are instead of just hearing "cult rounds are shit because cult sucks" or "good cult always wins, bad players are to blame" etc.

Features

  • General round statistics
    • Gamemode (even though gamemode means nothing anymore because mixed and adminbus)
    • Map name - [] Total chloral injected into players (maybe)
    • Antag 'wins' (traitors succeeded over traitors total, for instance, will be handled frontend-side)
    • Liters of blood spilled (maybe)
    • Scoreboard score
    • Surviving crew member count
  • Collects info on mob death, including location and type path of dead mob
  • Event and Gamemode-specific code:
    • Cult (runes written, nar-sie summoned y/n, num. of cultists, num. of cultist converts)
    • Traitor things (uplink bundle purchased, actual item recieved in the case of random)
    • Nukeops things (currently only nuke activated y/n because what else should I even track here)
    • Xenos (faces hugged, faces protected, eggs laid)
  • Writes everything to a text file because we have no good SQL setup (sockets are dumb, DLLs are dumb)

MERGE READY, FIRE AWAY

Also, please note that anyone who adds/changes how statfiles are generated should make sure that:

  • Their new output matches the current documentation OR
  • Their new output is documented and they increment STAT_OUTPUT_VERSION

This is to prevent whatever parser(s) from incorrectly interpreting data, throwing errors, or whatever the fuck.

Merge request reports