Skip to content
This repository was archived by the owner on Mar 7, 2026. It is now read-only.
This repository was archived by the owner on Mar 7, 2026. It is now read-only.

feat: Integrate event system into dialogue system module #10

@Bli-AIk

Description

@Bli-AIk

🔗 Is your feature request related to a specific issue?

Dialogue is rarely just text on a screen; it often needs to trigger gameplay actions like giving an item to the player, starting a quest, or moving an NPC. There needs to be a clean, decoupled way for the narrative script to initiate these actions.


💡 Feature Description

Integrate the dialogue module with the global Event system, allowing narrative scripts (Ink, Yarn Spinner) to broadcast events.

  • Expected outcome or effect: A mechanism for writers to trigger any defined gameplay event from within their narrative scripts.
  • Specific implementation ideas: The following definitions are for reference only and are subject to change. Implementation could include:
    • Define a special syntax within the narrative scripts to signify an event call.
      • For Ink: A tag like #EVENT StartQuest TheFirstMission
      • For Yarn Spinner: A custom command like <<fire_event StartQuest "TheFirstMission">>
    • The dialogue runner will parse these special syntaxes and, when encountered, publish the corresponding event to the global EventBus. Other systems (QuestManager, InventoryManager) will subscribe to these events and react accordingly.
  • Usage scenarios or benefits: This creates a powerful and fully decoupled workflow. A writer can add give_item(gold_key) to their script, and as long as an InventoryManager is listening for that event, the logic will just work. It completely separates the responsibilities of narrative design and systems programming.

⚖ Alternatives Considered

N/A


📝 Additional Information

N/A

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

Backlog

Relationships

None yet

Development

No branches or pull requests

Issue actions