From 57ec5003ecb7f83f97b5599588440454a319f323 Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Sun, 8 Mar 2015 17:10:49 +0100
Subject: [PATCH] Server/C: In actor_pick(), pick highest ID'd item in stack of
 many.

---
 src/server/thing_actions.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/server/thing_actions.c b/src/server/thing_actions.c
index 2a682c2..c9e8ddb 100644
--- a/src/server/thing_actions.c
+++ b/src/server/thing_actions.c
@@ -270,11 +270,16 @@ extern void actor_pick(struct Thing * t)
 {
     struct Thing * picked = NULL;
     struct Thing * t_i;
+    uint8_t highest_id = 0;
     for (t_i = world.things; t_i; t_i = t_i->next)
     {
         if (t_i != t && t_i->pos.y == t->pos.y && t_i->pos.x == t->pos.x)
         {
-            picked = t_i;
+            if (t_i->id >= highest_id)   /* With several Things to pick,      */
+            {                            /* pick the one with the highest ID. */
+                highest_id = t_i->id;
+                picked = t_i;
+            }
         }
     }
     if (picked)
-- 
2.30.2