X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=src%2Fserver%2Fthing_actions.c;h=6a8803d162483a6a3ac06c2fe46dfc05420be31d;hb=7f2634d484715caba2974faac0871db927b9cbd0;hp=2a682c277356f0e4deae6b8bef0ba08a5f936ab3;hpb=f86e20aec4f9c6f07322954569a72221d7dc11e9;p=plomrogue
diff --git a/src/server/thing_actions.c b/src/server/thing_actions.c
index 2a682c2..6a8803d 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)
@@ -319,7 +324,6 @@ extern void actor_use(struct Thing * t)
}
t->satiation = t->satiation + tt->consumable > INT16_MAX ?
INT16_MAX : t->satiation + tt->consumable;
- t->lifepoints = t->lifepoints + tt->consumable;
}
}
if (t == get_player())