Skip to content
This repository has been archived by the owner on Dec 1, 2022. It is now read-only.

The Dialogue System

stuartt_mcoded edited this page Jul 10, 2022 · 4 revisions

One of the most important part of an RPG is the dialog system. It's one of the only ways the game can communicate the main story with the player. The dialogue system used in this game is a custom made system for this game so it may have some weirdness. Don't worry however, This guide will explain how it works!

Note: this documentation is still a work in progress!

Important links

Dialogue types

There are 2 main types of dialogue in the game:

  • DIAG_TYPE_TEXT - shows text
  • DIAG_TYPE_CODE - executes code and them jumps to next dialogue option
  • DIAG_TYPE_CHOICE - Shows a choice menu with 2 options

Each dialogue type has a different format as well:

DIAG_TYPE_TEXT

//Template
[DIAG_TYPE_TEXT, <text:string>, <character_id:int>, <face_id:int>, <typespeed:float>]

//Example
[DIAG_TYPE_TEXT, "Hello, World!", DIAG_CHAR_PLACEHOLDER, DIAG_FACE_HAPPY, 0.5]

DIAG_TYPE_CODE

//Template
[DIAG_TYPE_CODE, <code:function>]

//Example
[DIAG_TYPE_CODE, function(){show_debug_message("Hello, World!")}]

DIAG_TYPE_CHOICE

//Template
[DIAG_TYPE_CHOICE, <text:string>, <character_id:int>, <face_id:int>, <typespeed:float>, <option1_name:string>, <option1_dialogId:int>, <option2_name:string>, <option2_dialogId:int>],

//Example
[DIAG_TYPE_CHOICE, "Whatcha wanna do?", DIAG_CHAR_PLACEHOLDER, DIAG_FACE_ANNOYED, 0.5, "Fight", 8, "Flee", 9]

Dialogue Characters

The game comes with 7 built in macros for characters. Macros are used as it is easier to remember than just the IDs.

#macro DIAG_CHAR_PLACEHOLDER -1
#macro DIAG_CHAR_UNKNOWN 0
#macro DIAG_CHAR_LOLGUY 1
#macro DIAG_CHAR_CHRIS 2
#macro DIAG_CHAR_LEXI 3
#macro DIAG_CHAR_BURNING 4
#macro DIAG_CHAR_INFERNOHOT 5
#macro DIAG_CHAR_INFO 99

Note: DIAG_CHAR_INFO shoes a special text box with no name plate or portrait.

Dialogue Expressions

The game comes with 7 built in macros for expressions. Macros are used as it is easier to remember than just the IDs.

#macro DIAG_FACE_NEUTRAL 0
#macro DIAG_FACE_HAPPY 1
#macro DIAG_FACE_SAD 2
#macro DIAG_FACE_CHEEKY 3
#macro DIAG_FACE_ANNOYED 4
#macro DIAG_FACE_SCARED 5
#macro DIAG_FACE_ANGRY 6
#macro DIAG_FACE_WORRIED 7
Clone this wiki locally