How to write dialog

What is Dialogue?
Dialogue is the meaningful conversations that take place between the player character (PC) and non-player characters (NPCs). It is entirely possible and perhaps desireable for conversations to go down permanent one way paths, so consequences matter.

How does it work?
Dialogue is currently implemented using a domain specific language based on YAML. A statemachine (see scripts/dialogue.py) then parses the datastructure and displays various conversation frames and responses.