summaryrefslogtreecommitdiff
path: root/stats
diff options
context:
space:
mode:
Diffstat (limited to 'stats')
-rw-r--r--stats/db.go13
-rw-r--r--stats/enrich.go5
2 files changed, 16 insertions, 2 deletions
diff --git a/stats/db.go b/stats/db.go
index 327373f..397b5e9 100644
--- a/stats/db.go
+++ b/stats/db.go
@@ -14,6 +14,7 @@ type RunStat struct {
FloorsClimbed int
Abandoned bool
InProgress bool
+ Character string
}
type RoomStat struct {
@@ -21,7 +22,16 @@ type RoomStat struct {
Floor int
}
-func NewRunStat(run model.Run) RunStat {
+func NewRunStat(run model.Run, steamid int) RunStat {
+ var player *model.Player
+ for _, p := range run.Players {
+ if p.ID == steamid {
+ player = &p
+ }
+ }
+ if player == nil {
+ player = &run.Players[0]
+ }
st := RunStat{
Version: run.BuildID,
StartTime: time.Unix(int64(run.StartTime), 0),
@@ -31,6 +41,7 @@ func NewRunStat(run model.Run) RunStat {
Abandoned: run.WasAbandoned,
FloorsClimbed: runLen(run),
InProgress: run.KilledByEncounter != "" || run.KilledByEvent != "" || run.Win != true,
+ Character: player.Character,
}
return st
}
diff --git a/stats/enrich.go b/stats/enrich.go
index 40e91ec..192729f 100644
--- a/stats/enrich.go
+++ b/stats/enrich.go
@@ -1,6 +1,7 @@
package stats
import (
+ "github.com/spf13/pflag"
"sts2stats/model"
"sts2stats/spool"
"sts2stats/storage"
@@ -36,11 +37,13 @@ var Enrichers = map[string]Enricher{
"card choice": EnrichWrap(EnrichCardChoice),
}
+var SteamId = pflag.IntP("steamid", "s", 0, "steamid to match players to")
+
func Enrich(run model.Run) error {
startTime := time.Now()
id := run.RunId[:4]
wg := sync.WaitGroup{}
- st := NewRunStat(run)
+ st := NewRunStat(run, *SteamId)
for k, e := range Enrichers {
wg.Go(func() {
spool.Debug("[%v] Starting %v enrichment\n", id, k)