Fix stray line in IsRevealed's comment; drop the seen-destroyed record of a departed subject with no book
The previous commit does not build (a leftover line in FireControl.cs). EndReveals only runs for subjects the book holds, so a record of a quiet departed ship was held for the sitting; Sense's prune now ends it too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
f6c0d24dba
commit
a554d5ed08
3 changed files with 27 additions and 1 deletions
|
|
@ -1244,6 +1244,9 @@ public abstract class Entity
|
|||
foreach (var reveal in pair.Value.Values) freshest = Math.Max(freshest, reveal.Time);
|
||||
if (Zone.Time - freshest >= memory) _agedSubjects.Add(pair.Key);
|
||||
}
|
||||
// A record of a subject that left and holds no book (a quiet ship, never seen to act) has no entry to age: it goes now.
|
||||
foreach (var subject in _seenDestroyed.Keys)
|
||||
if (!entities.Contains(subject) && !_reveals.ContainsKey(subject)) _agedSubjects.Add(subject);
|
||||
for (var i = 0; i < _agedSubjects.Count; i++) EndReveals(_agedSubjects[i], null);
|
||||
_agedSubjects.Clear();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -157,7 +157,8 @@ public static class FireControl
|
|||
// book holds a reveal of it (Entity.HasReveal: it saw the item act) and the item is still fitted to its ship and
|
||||
// not destroyed. The book says what was seen; the live item says whether it can still be aimed at. Derived on
|
||||
// every read, never cached; watching a ship reveals no gear. Any aiming choice that reads an item's class or
|
||||
XX
|
||||
// stats (Combat's target-item choice, its dps) asks this; it is the item gate of Entity's aim slot (TrySelectTargetItem,
|
||||
// ResolvedAim). A mount is aimed by TrySelectMount, which reads no item at all.
|
||||
public static bool IsRevealed(Entity observer, EquippedItem item) =>
|
||||
!item.EquippableItem.IsDestroyed && item.Entity.Equipment.Contains(item) && observer.HasReveal(item.Entity, item);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue