Entered signal source script currently not working as intended
What's Wrong (please be as specific as possible)
Expected
When entering a signal source, the script to correctly report what type has been entered.
Observed
The script simply says "Entered signal source" or a variation of it. No type is reported.
Steps to reproduce
- Enter a signal source, like Degraded Emissions.
- Observe the type is not spoken.
Configuration
- Version [Please give full version numbers here, not just "latest" or "current"]
- EDDI Version: 4.0.1
- VoiceAttack Version: [if applicable]
- Localization [if applicable]
- EDDI's language: English
- Voice: Ivona Amy British English
My Investigation
Investigation Notes
I've just been checking out some degraded emissions signals in a system where the Stargoid has passed through, and realised that the type is no longer spoken.
Looking into it, the script code is no longer valid when checking the source. It seems like it may have been a change in the way EDDI handles the variable from the Journal.
The code {set source to token(event.source, "$USS_Type_", 1)} is checking for the $ string start, while the following IF block is checking for the ; string end, like this |elif source = "Salvage;":
However, the EDDI variable event.source is removing both characters, like this USS_Type_Salvage. This means that the above code parts no longer work.
The journal entry still has the $ string start and the ; string end:
{ "timestamp":"2022-09-11T13:54:41Z", "event":"USSDrop", "USSType":"$USS_Type_Salvage;", "USSType_Localised":"Degraded emissions", "USSThreat":0 }
So it looks like EDDI has had a change somewhere that has resulted in stripping out the string start and end characters, but the script code has not been updated to match.
Removing those characters from the script makes it work properly again.
EDDI Logs
N/A
Player journals
N/A
Good sleuthing. o7