Table of Contents

Speech Bubbles

Speech bubbles are a way to have the companion "speak" by drawing overhead text. Currently, the only way to activate a speech bubble is through ability activation with ProcSpeechBubble set to the desired key.

This particular feature uses the same system vanilla does for overhead NPC text, so the amount of customization is limited. If you need something fancier, you will have to use temporary animated sprites to show/animate a custom sprite featuring your text.

Structure

Property Type Default Notes
Text string "Hey, Listen!" The text to put in a bubble.
Timer double 3000 Amount of time in miliseconds to display this bubble.
Offset Vector2 0,0 By default, the text is drawn above the companion's sprite, this adds additional offset on top.
Color string null Speech text color.
Aside from RGB and hex values, monogame accepts named colors and this mod accepts special value "Prismatic" for an animated color cycle.
ScrollType int 1 Type of scroll(background) to draw, 0 1 2 3 4 all give valid backgrounds.
LayerDepth float 1 Layer depth offset from the companion's draw layer depth.
JunimoText bool false Layer depth offset from the companion's draw layer depth.
FadeIn float 0.1 Percent of timer to spend in fade in (transparent to solid).
FadeOut float 0.1 Percent of timer to spend in fade out (solid to transparent). Another clip is allowed to interrupt the current clip during this time.
Shake int 0 If greater than 0, randomly offset the draw position each frame.
Condition string "FALSE" A game state query used to check if this speech bubble is allowed to play. Note that unlike most Condition checked by trinket tinker, this one does not receive the trinket as Input/Target item.
RandomSpeech List<SpeechBubbleData> null Allows extra random anim clips to be provided for this key, only relevant for the top level anim clip.
RandomWeight int 1 Weight of this random speech. Higher weight relative to other clips makes it more frequent.
Nop bool false Indicates a no-op speech that does nothing, for use with RandomSpeech.

Random Clips

RandomSpeech allows one speech bubble key to be associated with multiple clips, to be chosen by random. The speec bubble is rolled each proc.

RandomWeight can be thought of as frequence. If there are 3 speech bubbles with RandomWeight of 1 2 3, the weight 1 bubbles will appear 1 in 6 times, while the weight 3 bubbles will appear 3 in 6 times, or 1 in 2.

The randomization logic here is identical to RandomClips for anim clips.