# YAML Texts and Dialogues

Omori uses YAML files for displaying majority of texts seen in game.

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Text Codes</td><td></td><td></td><td><a href="/pages/YhQXMh0zgwqNBNBS1EdH">/pages/YhQXMh0zgwqNBNBS1EdH</a></td></tr><tr><td>Omori Color Convention</td><td></td><td></td><td><a href="/pages/uIIEbkQX5jviiF0IIJct">/pages/uIIEbkQX5jviiF0IIJct</a></td></tr><tr><td></td><td></td><td></td><td></td></tr></tbody></table>

## Displaying Messages in RPGMV

### Display Basic Message

To display a message, create a Plugin Command block and enter the following:

{% code title="Show Message Format" %}

```
ShowMessage fileName.messageName
```

{% endcode %}

<details>

<summary>Example Code</summary>

{% code title="Example" %}

```
ShowMessage 14_cutscenes_sweetheartquest.message_37
```

{% endcode %}

</details>

{% hint style="info" %}
Despite Omori dialogue almost always using the `message_x` naming convention, other name can be given as well.
{% endhint %}

### Display Choices

TBA: To display a choice

```
AddChoice message label
ShowChoices number
```

<figure><img src="/files/i5Am9rsPPvhWpNA1Hp0w" alt=""><figcaption><p>Example in RPG Maker MV Event Screen</p></figcaption></figure>

*TBA: ShowChoices jank with numbers, default selection when pressing escape*

{% hint style="info" %}
The choice plugin is done in the `Text_Language_Processor.js` plugin file made by TDS.
{% endhint %}

## YAML Formatting

### Names

Omori has main 2 ways of displaying names:

**Shortcut macro:** This is a plugin parameter done in `YEP_X_MessageMacros1.js` plugin, that is replaced with the name.

{% hint style="info" %}
Benefit with shortening names of reoccurring characters and also ease of potentially mass-changing names later.
{% endhint %}

**Direct name:** Add `\n<NAME>` directly on the text field

{% hint style="info" %}
Benefit of being easy to implement, increases readability from being direct, and good for one off side characters.
{% endhint %}

### Dialogue only

{% code title="Dialogue only example" %}

```yaml
message_0:
    text: \n<HUMPHREY>I fucking love air-conditioning.
```

{% endcode %}

### Dialogue with Portrait

Dialogue with portraits are done with main characters in Omori.&#x20;

`faceset:` Image file name (without file extension, case sensitive)

`faceindex:` The target image in the 106x106 grid, counting from top left as 0.

`text:` The text displayed

{% code title="Dialogue with Portrait Exampleeee" %}

```yaml
message_2:
      faceset: MainCharacter_Basil
      faceindex: 0
      text: Hope you don't mind the photo.\bas
```

{% endcode %}

{% hint style="info" %}
In this case `\bas` is a shorthand command to show BASIL name, which is hard coded. This is the case for most primary characters as well. This is part of text codes.
{% endhint %}

### Battle Dialogue

Battle dialogue tends to have the character name inside the text box itself due to smaller size. This can be done with `>` with newline of `\>NAME: \<` at the start.

{% code title="Battle Dialogue Example" %}

```yaml
message_141:
   text: >
    \>PERFECTHEART: \<I said that you would regret this, children.
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://omori-modding.gitbook.io/wiki/rpgmaker/yaml-texts-and-dialogues.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
