summaryrefslogtreecommitdiff
path: root/stats/db.go
diff options
context:
space:
mode:
Diffstat (limited to 'stats/db.go')
-rw-r--r--stats/db.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/stats/db.go b/stats/db.go
new file mode 100644
index 0000000..327373f
--- /dev/null
+++ b/stats/db.go
@@ -0,0 +1,44 @@
+package stats
+
+import (
+ "sts2stats/model"
+ "time"
+)
+
+type RunStat struct {
+ RunId string
+ StartTime time.Time
+ Ascension int
+ Version string
+ Win bool
+ FloorsClimbed int
+ Abandoned bool
+ InProgress bool
+}
+
+type RoomStat struct {
+ Act int
+ Floor int
+}
+
+func NewRunStat(run model.Run) RunStat {
+ st := RunStat{
+ Version: run.BuildID,
+ StartTime: time.Unix(int64(run.StartTime), 0),
+ Ascension: run.Ascension,
+ Win: run.Win,
+ RunId: run.RunId,
+ Abandoned: run.WasAbandoned,
+ FloorsClimbed: runLen(run),
+ InProgress: run.KilledByEncounter != "" || run.KilledByEvent != "" || run.Win != true,
+ }
+ return st
+}
+
+func runLen(run model.Run) int {
+ var res int
+ for _, a := range run.MapPointHistory {
+ res += len(a)
+ }
+ return res
+}