From 49f5a03530c8067154b45ca9028842383985d4f1 Mon Sep 17 00:00:00 2001
From: sqozz <sqozz@geekify.de>
Date: Fri, 11 May 2018 19:12:30 +0200
Subject: [PATCH] Add more metrics

---
 schlafana.py | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/schlafana.py b/schlafana.py
index 4b0474c..bbf47c6 100644
--- a/schlafana.py
+++ b/schlafana.py
@@ -11,7 +11,7 @@ import time
 MESSAGES = { "GameInfo" : 0x00,
              "WorldUpdate" : 0x01,
              "BotSpawn" : 0x20,
-            "BotKill" : 0x21,
+             "BotKill" : 0x21,
              "BotMove" : 0x22,
              "BotStats" : 0x24
         }
@@ -110,13 +110,13 @@ class Game():
                 victim = self.users.get_user_by_worm(js.get("victim_id"))
                 killer = self.users.get_user_by_worm(js.get("killer_id"))
                 if js.get("killer_id") == js.get("victim_id"):
-                    print("☕ {} killed himself".format(victim.name))
+                    #print("☕ {} killed himself".format(victim.name))
                     pass
                 else:
                     #print("☠ {} fragged {}".format(killer.name, victim.name))
                     pass
-                #killer.kills += 1
-                #victim.deaths += 1
+                killer.kills += 1
+                victim.deaths += 1
             except AttributeError as e:
                 print(e)
                 print("Error in kill: {}".format(js))
@@ -124,9 +124,9 @@ class Game():
         elif typ == MESSAGES["BotStats"]:
             msg_data = js.get("data")
             for worm in msg_data:
-                user = self.users.get_user_by_worm(worm)
+                user = self.users.get_user_by_worm(int(worm))
                 if user != None:
-                    print("updating {}".format(user.name))
+                    user.update({ "id" : int(worm), "data" : msg_data.get(worm)})
             pass
         elif typ == MESSAGES["WorldUpdate"]:
             bots = js.get("bots")
@@ -178,6 +178,13 @@ class BotUser():
     def update(self, data):
         rev_id = data.get("db_id")
         worm_id = data.get("id") #TODO: does this work?
+        if "data" in data.keys():
+            user = game.users.get_user_by_worm(worm_id)
+            current_rev = user.revs.get(user.current_rev)
+            current_rev.carrion_food_consumed = data.get("data").get("c")
+            current_rev.natural_food_consumed = data.get("data").get("n")
+            current_rev.hunted_food_consumed = data.get("data").get("h")
+            pdb.set_trace()
         if rev_id in self.revs.keys(): # revision already known
             rev = self.revs.get(rev_id)
             rev.update(data)
@@ -195,6 +202,7 @@ class BotRevision():
         self.worms.update({self.current_worm : [self.rev_id]})
         self.deaths = 0
         self.kills = 0
+        self.mass = 0
         self.natural_food_consumed = 0
         self.carrion_food_consumed = 0
         self.hunted_food_consumed = 0
@@ -204,8 +212,11 @@ class BotRevision():
         pass
 
     def update(self, data):
+        if "food" in data.keys():
+            pdb.set_trace()
         self.current_worm = data.get("id")
         self.rev_id = data.get("db_id")
+        self.mass = data.get("mass")
         self.worms.update({self.current_worm : [self.rev_id]})
         pass