"""Night-8 log triage: pull the evidence for each reported issue out of the player logs, attributing everything to the build the session actually ran.""" import re, os, sys, collections LOGS = [ ("Oracle (SCREECH-PC)", "steam_20260731.log"), ("Sauron (XIAOLONG)", "steam_20260731 (1).log"), ("Rajel (GAMERSLAB)", "steam_20260731 (2).log"), ("ConnMan (MS-FIREFLY)", "zipx/steam_20260731.log"), ] def load674(path): d = open(path, encoding="latin-1", errors="replace").read() i = d.find("build=4.11.674") return d[i:] if i >= 0 else "" def show(who, blk, label, pat, n=5, flags=0): hits = [l for l in blk.split("\n") if re.search(pat, l, flags)] print(" %-22s %-26s %5d" % (who, label, len(hits))) return hits for label, pat in [ ("#86 weapon fire gate", r"destroyed=|NoAmmo \(gate"), ("#95 missile damage", r"\[dmg\].*(missile|lrm|srm)|warhead"), ("#101 round end", r"round (end|over)|mission (end|over)|\[score\].*end"), ("#55 respawn heat", r"respawn|\[dzreq\]|Reset"), ("#103 collision", r"^\[crashdmg\]"), ]: print("\n=== %s (pattern: %s)" % (label, pat)) for who, path in LOGS: if not os.path.exists(path): print(" %-22s MISSING" % who); continue blk = load674(path) if not blk: print(" %-22s no 4.11.674 session" % who); continue show(who, blk, "", pat, flags=re.I)