X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/static/git-logo.png?a=blobdiff_plain;f=src%2Fmap_object_actions.c;h=9d1721e936fab21bd8e6c3634812f409e9adb6e9;hb=42f6cd9789e06f0257a078a33fa13aaea0714fce;hp=98759973da99b8e6737cc2319927a7f81e94719d;hpb=f89ac30f0907973b8aa858b053d38eec8e8f5bbf;p=plomrogue diff --git a/src/map_object_actions.c b/src/map_object_actions.c index 9875997..9d1721e 100644 --- a/src/map_object_actions.c +++ b/src/map_object_actions.c @@ -206,3 +206,47 @@ extern void player_pick() } turn_over(get_command_id("pick")); } + + + +extern void player_use() +{ + struct MapObj * player = get_player(); + if (NULL == player->owns) + { + update_log("\nYou try to use an object, but you own none."); + world.old_inventory_select = 0; + } + else + { + uint8_t i = 0; + struct MapObj * selected = player->owns; + for (; i != world.inventory_select; i++, selected = selected->next); + struct MapObjDef * mod = get_map_object_def(selected->type); + if (!strcmp("MAGIC MEAT", mod->name)) + { + struct MapObj * next = selected->next; + free(selected); + if (0 < world.inventory_select) + { + world.old_inventory_select = world.inventory_select; + world.inventory_select--; + for (i = 0, selected = player->owns; + i != world.inventory_select; + i++, selected = selected->next); + selected->next = next; + } + else + { + player->owns = next; + } + player->lifepoints++; + update_log("\nYou consume MAGIC MEAT."); + } + else + { + update_log("\nYou try to use this object, but fail."); + } + } + turn_over(get_command_id("use")); +}