Improve NPC goodbye message handling
Nobody has claimed this yet.
- Dominant language
- Perl
- Stars
- 1.5k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
Describe the solution you'd like
Something that always bothered me is this:
Task::TalkNPC::conversation_end called at ai npc_talk 'select'.
Conversa com NPC Funcionária Kafra (0) finalizada.
NPC Funcionária Kafra (0): Task::TalkNPC::DESTROY was called
An unexpected npc conversation has started, auto-creating a TalkNPC Task Task::TalkNPC::new has been called with sequence ''.
[Funcionária Kafra] A Corporação Kafra tem o enorme prazer em servir você.
Agradecemos por usar nossos serviços.
Npc which started autotalk has automatically sent a 'npc_talk_done'.
Client network buffer flushed out
Talking was initiated by the other side and finished instantly
Talking with NPC Funcionária Kafra (0) at (175,226), ID 1F 00 00 00
NPC Funcionária Kafra (0): Sending talk cancel [id '31'] after NPC has done talking
The task is immediately destroyed after chosing to end conversation, and then opens a new task to handle the goodbye message.
Maybe we can improve the task by letting the task wait for a goodbye message, before destroying it?
Additional context
No response
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing Task::TalkNPC::conversation_end and the ai npc_talk 'select' entry point shown in the log. Compare how Task::TalkNPC::new handles the automatically created conversation and how npc_talk_done ends it. Done means the existing task handles the goodbye message without immediately destroying and recreating a task, with the logged conversation flow behaving correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- perl
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100