From: Christian Heller <c.heller@plomlompom.de>
Date: Sun, 8 Mar 2015 16:10:49 +0000 (+0100)
Subject: Server/C: In actor_pick(), pick highest ID'd item in stack of many.
X-Git-Tag: tce~363
X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/booking/static/%7B%7Btodo.date%7D%7D?a=commitdiff_plain;h=57ec5003ecb7f83f97b5599588440454a319f323;p=plomrogue

Server/C: In actor_pick(), pick highest ID'd item in stack of many.
---

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)