EDCD / EDDI

Companion application for Elite Dangerous
Other
440 stars 81 forks source link

_All_ Signal Sources Announced #2120

Closed srguglielmo closed 3 years ago

srguglielmo commented 3 years ago

What's Wrong

Hello! Firstly, I'd like to give a big THANK YOU for the time spent on developing and supporting EDDI.

In the Signal detected script, there are several spokenSources that are false. However, when I use the FSS, all signal sources are announced.

Expected

I expected EDDI to announce only the signal sources that are set to true and ignore the signal sources that are set to false.

Observed

When I jump into a system and start FSSing the signals, EDDI announces all signal sources, including the ones that are set to false in the Signal detected script. For example:

Steps to reproduce

  1. Jump into system
  2. Open FSS and begin scanning sources.

Configuration

My Investigation

Investigation Notes

I have used Compare to default to confirm no other modifications to the Signal detected script have been made.

I have also reset the Signal detected script (without modifying it at all), but EDDI still speaks signal sources that are false by default, including:

EDDI Logs

I reviewed eddi.log during the test video above. There is no information about detected signals, nor are there any errors reported. The only relevant log entry is recording my jumps:

2021-02-27T19:51:49 [Info] EDDI:eventJumped Jumped to HIP 105156
2021-02-27T20:05:14 [Info] EDDI:eventJumped Jumped to HIP 105821

Player journals

Please let me know if sharing my player journal would assist in debugging.

srguglielmo commented 3 years ago

See video of the issue: https://youtu.be/gEiWyzkWKDo

Tkael commented 3 years ago

This is the intended behavior, though admittedly you aren't the first person to question it or find it confusing.

spokenSources filters the signals that are detected and which can be announced before you enter FSS mode (we receive a flood of signal source events as soon as you jump in to a system but you wouldn't want all of these signals to be announced as soon as you jump in). That filter is not applied at all while you are in FSS mode or SAA mode. Ref. lines 33-34 of the script:

{if status.gui_focus = "fss mode" || status.gui_focus = "saa mode" || 
(spokenSources[event.source] = true && event.unique):
srguglielmo commented 3 years ago

Ah, I understand. Thank you for explaining and I apologize for my confusion.

Is there another script for the FSS? I didn't see an event for it but I might've missed it.

Thanks!

Tkael commented 3 years ago

No, the Signal detected event fires in both scenarios. Either when you first arrive in the system or when you scan a signal source from FSS mode.

Line 33-34 bypasses the spokenSources filter as long as you are in FSS mode. If you wanted the filter to apply always, irrespective of whether you were in FSS or SAA mode, then you might revise lines 33-end:

{if spokenSources[event.source]:
    {if status.gui_focus = "fss mode" || status.gui_focus = "saa mode" || event.unique:
        {if event.source && !event.stationsignal:
            {if event.threatlevel > 0:
                Class {event.threatlevel} 
            }
            {event.source} 
            {if event.faction != "None":
                for {P(event.faction, "faction")}
            }
            detected.
        }
    }
}
srguglielmo commented 3 years ago

Got it. Thanks again!