In a text event, a sequence of text is played, and images can be shown / manupilated.
Text events are the most complicated of all events due to the large number of different commands involved.
When using "anim" on a "char" command, you can specify one of these animations:
"text": {
"kaibaMeetsDemon": {
"micon": "area.webp",
"image": "mansion.webp",
"parts": [
play new music
{"bgmx": "mansion.mp3"},
just display text
{"text": "You find yourself in a big scary mansion!"},
play demon laugh sound effect
{"sfxx": "laugh.mp3"},
create a new character. The game will remember its "name":"demon". It also appears on screen with the appropriate text, image, and name.
{"char": "demon", "src": "evil.webp", "name": "Demon", "text": "It's me! A spooky demon!"},
make the bust image immediately become "norm", without having user click "continue"
{"char": "demon", "src": "norm.webp", "immediate": true},
move demon 300 pixels right
{"move": "demon", "dist": 30, "speed": 3},
name will still be "Demon", as it has not yet been overwritten
{"text": "I shall send you to the shadow realm!"},
New character - same as before, but on the "kaiba" layer. Also, includes a glow.
{"char": "kaiba", "name": "Kaiba", "glow": "#0000ff", "src": "kaiba.webp", "text": "Oh no! Not a demon!"},
The name is remembered from before. The glow color is new, so it overwrites the previous glow (which was none).
{"char": "demon", "text": "Yes, a Demon!", "glow": "#ff0000"},
Since the kaiba character already had a name and glow, we can exclude them here.
{"char": "kaiba", "text": "Time to duel!"},
Since the demon character already had a name and glow, we can exclude them here. Also, make the demon fade out.
{"char": "demon", "text": "Mwahahaha!", "anim": "out_fade"}
]
}
}
As of 3.0.1, you can add extra effects, such as color, to text events.
"color" - HexCode EG: {{color:#ff0000:This text is red}} "bold" - EG: {{bold::This text is bold}} "italic" - EG: {{italic::This text is in italics}} "overline" - EG: {{overline::This text is overlined}} "underline" - EG: {{underline::This text is underlined}} "strikethrough" - EG: {{strikethrough::This text has a line through it}} "tooltip" - EG: {{tooltip:This will appear when hovering:Over this part of the text}}
Previously, campaign creators would need to specify these commands somewhat differently. This functionality is still legal in most cases, but should be considered deprecated.
{"type":"text", "content": "String"} - make text appear in the text box
{"type":"name", "content": "String"} - make text appear in the name box
{"type":"sfxx", "content": "xxx.mp3"} - play a sound effect from /audio/
{"type":"vfxx", "content": "out_fade"} - fade out only the first Layer
If the event is a single String, it will be assumed to be a single text command (with no music, no background image, etc). This is only really useful for quick testing.
"text": {
"oneLiner" : "this is assumed to be a text event",
"longerVer": "parts": [{"text": "this is the same as the above event, but longer"}]
}