Singer - cyritegamestudios/trust GitHub Wiki
Overview
A Singer can automatically sing songs on party members, similar to the Singer Windower add-on.
Modes
See AutoSongMode
, AutoClarionCallMode
, AutoNitroMode
, AutoPianissimoMode
How it works
A Singer will maintain a list of songs on both itself and its party members as specified in the UI under Settings → Songs when AutoSongMode
is set to Auto
or Dummy
. If you are unfamiliar with Bard, Songs, or applying dummy songs it is strongly recommended that you read up on it first. Currently, a Singer must have Bard set as its main job.
Songs
When AutoSongMode
is set to Auto
, a Singer will automatically apply the list of songs specified in the UI under Settings → Songs from top to bottom until it reaches the maximum number of songs. Dummy songs will automatically be applied first when necessary. A Singer will attempt to re-sing before the songs wear off to avoid having to re-sing dummy songs again. It will also attempt to re-sing songs that were missed or have been dispelled using Pianissimo when Resing missing songs is set to ON
.
Dummy Songs
A Singer will apply the list of dummy songs specified in the UI under Settings → Songs from top to bottom until it reaches the maximum number of songs. Dummy songs cannot share the same buff id as any of the real songs (e.g. if one of your real songs is Valor Minuet IV you cannot use Valor Minuet II as a dummy song).
Keeping track of songs
A Singer keeps track of which songs have been sung using the chat logs (e.g. "Jerry casts Valor Minuet IV. Jerry gains the effect of Minuet"
will record Jerry as having Valor Minuet IV active instead of just Minuet). However, because the server does not distinguish between different tiers of a song (e.g. Valor Minuet III and Valor Minuet IV both share the same generic buff id for Minuet), it is impossible to know with 100% certainty which songs are active. This is especially problematic when songs are frequently being dispelled. Nonetheless, a Singer will do its best to intelligently determine which songs are missing on each party member and re-apply them with Pianissimo. Note that if you zone or re-load the Trust add-on, this information will be lost. Chat filters and BattleMod may impede a Singer's ability to keep track of songs.
Pianissimo
A Singer can sing additional songs after the main songs have been sung using Pianissimo. These are specified in PartyBuffs section of the job settings for BRD. Songs specified here should always have Pianissimo listed as a job ability. If AutoPianissimoMode
is set to Merged
, the singer may re-sing some of the original songs if they get overwritten by Pianissimo songs.
Settings
Songs can be edited using the UI under Settings → Songs.
Other
General song settings can be configured using the UI under Settings → Songs → Config.
Jobs
Explore the code
- https://github.com/cyritegamestudios/trust/blob/main/cylibs/trust/roles/singer.lua
- https://github.com/cyritegamestudios/trust/blob/main/cylibs/battle/song_tracker.lua
- https://github.com/cyritegamestudios/trust/blob/main/cylibs/battle/songs/song_record.lua
- https://github.com/cyritegamestudios/trust/blob/main/cylibs/util/job_util.lua