Fix funny listener return (#17760)
This commit is contained in:
@@ -33,11 +33,12 @@ public sealed class ListeningSystem : EntitySystem
|
||||
var attemptEv = new ListenAttemptEvent(source);
|
||||
var ev = new ListenEvent(message, source);
|
||||
var obfuscatedEv = obfuscatedMessage == null ? null : new ListenEvent(obfuscatedMessage, source);
|
||||
var query = EntityQueryEnumerator<ActiveListenerComponent, TransformComponent>();
|
||||
|
||||
foreach (var (listener, xform) in EntityQuery<ActiveListenerComponent, TransformComponent>())
|
||||
while(query.MoveNext(out var listenerUid, out var listener, out var xform))
|
||||
{
|
||||
if (xform.MapID != sourceXform.MapID)
|
||||
return;
|
||||
continue;
|
||||
|
||||
// range checks
|
||||
// TODO proper speech occlusion
|
||||
@@ -45,7 +46,7 @@ public sealed class ListeningSystem : EntitySystem
|
||||
if (distance > listener.Range * listener.Range)
|
||||
continue;
|
||||
|
||||
RaiseLocalEvent(listener.Owner, attemptEv);
|
||||
RaiseLocalEvent(listenerUid, attemptEv);
|
||||
if (attemptEv.Cancelled)
|
||||
{
|
||||
attemptEv.Uncancel();
|
||||
@@ -53,9 +54,9 @@ public sealed class ListeningSystem : EntitySystem
|
||||
}
|
||||
|
||||
if (obfuscatedEv != null && distance > ChatSystem.WhisperRange)
|
||||
RaiseLocalEvent(listener.Owner, obfuscatedEv);
|
||||
RaiseLocalEvent(listenerUid, obfuscatedEv);
|
||||
else
|
||||
RaiseLocalEvent(listener.Owner, ev);
|
||||
RaiseLocalEvent(listenerUid, ev);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user