From 57ec5003ecb7f83f97b5599588440454a319f323 Mon Sep 17 00:00:00 2001 From: Christian Heller 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