From: Christian Heller <c.heller@plomlompom.de>
Date: Wed, 26 Aug 2015 03:29:29 +0000 (+0200)
Subject: Let actor_pick_up pick up most nutritious Thing as topmost Thing.
X-Git-Tag: tce~312
X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/%7B%7Bdb.prefix%7D%7D/%7B%7B%20web_path%20%7D%7D/todos?a=commitdiff_plain;h=ace34523845848aa82d63ff31d10783ffe0f82aa;p=plomrogue

Let actor_pick_up pick up most nutritious Thing as topmost Thing.
---

diff --git a/roguelike-server b/roguelike-server
index 483dc22..77c53d4 100755
--- a/roguelike-server
+++ b/roguelike-server
@@ -656,15 +656,18 @@ def actor_move(t):
 
 def actor_pick_up(t):
     """Make t pick up (topmost?) Thing from ground into inventory."""
-    # Topmostness is actually not defined so far. Picks Thing with highest ID.
+    # Topmostness is actually not defined so far. Picks most nutritious Thing.
     ids = [id for id in world_db["Things"] if world_db["Things"][id] != t
            if not world_db["Things"][id]["carried"]
            if world_db["Things"][id]["T_POSY"] == t["T_POSY"]
            if world_db["Things"][id]["T_POSX"] == t["T_POSX"]]
     if len(ids):
-        highest_id = 0
+        highest_id = ids[0]
+        nutritious = 0
         for id in ids:
-            if id > highest_id:
+            type = world_db["Things"][id]["T_TYPE"]
+            if world_db["ThingTypes"][type]["TT_CONSUMABLE"] > nutritious:
+                nutritious = world_db["ThingTypes"][type]["TT_CONSUMABLE"]
                 highest_id = id
         world_db["Things"][highest_id]["carried"] = True
         t["T_CARRIES"].append(highest_id)