Skip to content

feature: advanced conversation tool - declarative conversation builder - #426

Open
bcalabro wants to merge 1 commit into
SWG-Source:masterfrom
bcalabro:feature/advanced_conversation_tool
Open

bcalabro wants to merge 1 commit into
SWG-Source:masterfrom
bcalabro:feature/advanced_conversation_tool

Conversation

@bcalabro

@bcalabro bcalabro commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Advanced Conversation Tool

The advanced conversation tool is a declarative conversation framework (base_conversation, base_conversation_script, and advanced_conversation_tool) that strips out the massive switch-case blocks and manual scriptvar management traditionally required for branching NPC dialogues in SWG. It establishes a clean 5-step conversation lifecycle contract and base trigger handler that automatically manages radial menu registration, combat gating, and CONDITION_CONVERSABLE states without developers needing to touch low-level engine plumbing.

On top of the base scripts, advanced_conversation_tool provides a fluent builder API to assemble dialogue trees with prioritized entry point predicates, chained branch messages and animations, and inline action lambdas. Developers can wire mission signals, inventory rewards, and custom exit messages directly to player response clicks while the tool takes care of client/server networking packets (npcStartConversation, npcSpeak, npcSetConversationResponses) and player branch state cleanup automatically.

In addition to these changes, it will allow developers access to an AI/LLM friendly tool to create and manage NPC conversations with a convenient and lightweight API.

NOTE:
This code and logic was NOT generated with AI. ONLY the class-level java docs & README.md were generated with AI.

@bcalabro
bcalabro force-pushed the feature/advanced_conversation_tool branch 5 times, most recently from 10b3c4d to c76b05d Compare October 7, 2026 18:32
@bcalabro
bcalabro force-pushed the feature/advanced_conversation_tool branch from c76b05d to 7a13abf Compare October 7, 2026 18:32
@AconiteX AconiteX self-assigned this Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants