Aetheria/Assets/Scripts
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 2b33550cc1 Add manual IFF overrides, event-driven grudges, and detection-gated stance
Entity.SetIff(other, hostile?) is the one owner of a runtime-only, per-entity
override (a ReactiveDictionary, not persisted in packs). IsHostileTo checks it
first, but only for the top-level (non-recursive) query: the derived rule's
internal reciprocity check (recursive=true) skips overrides entirely, so one
entity's override can never leak into another entity's own derived hostility.
An override change refreshes EntityHostility immediately via a dedicated
subscription, so dependents (weapons, HUD, grudges) never need a tick to see
it. Overrides are cleared when an entity leaves the zone (existing removal
subscription).

Non-player entities (ships not IsPlayerShip, stations, turrets) hold a grudge:
WatchForGrudge subscribes to another entity's EntityHostility changes toward
this one, plus this entity's own VisibleEntities.ObserveAdd, so a hostile
stance grudges immediately whether the marking or the detection happens
second -- purely event-driven, no per-tick polling. A grudge only takes while
this entity currently detects the marker (VisibleEntities), and once set it
never re-evaluates (sticky; forgiveness is out of scope until a utility-
evaluation pass exists). Player-controlled entities never grudge automatically.

PerceivedStanceOf(other) exposes another entity's stance toward this one for
UI/AI, gated the same way: unknown (null) until this entity detects them.

Known follow-up: leaving the zone clears overrides, which also clears a
grudge. Left as a known gap per the operator's ruling, not solved here.
Of the per-tick derived-hostility refresh's inputs (Entity.cs ~955-964),
PresencePermitted is already a ReactiveProperty; Faction and zone ownership
are not, so converting that refresh to fully event-driven is future work.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 14:00:41 +02:00
..
CultCache Pin AetheriaStores routing with tests; make PlayerSettings readable 2026-09-14 19:12:54 +02:00
Editor Keep the schematic underlay under the shape grid 2026-09-17 02:08:40 +02:00
Gameplay Add the lot ledger and mint every crafted instance through it 2026-09-17 04:16:23 +02:00
ServerShared Add manual IFF overrides, event-driven grudges, and detection-gated stance 2026-09-17 14:00:41 +02:00
Tests Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
UI Add the lot ledger and mint every crafted instance through it 2026-09-17 04:16:23 +02:00
Zone Display Replace the Database Tools with the Studio and cut Unity over 2026-09-14 19:15:20 +02:00
AetheriaInput.cs Upgrade to Unity 6000.3.24f1 2026-09-11 22:04:28 +02:00
AetheriaInput.cs.meta Minimap + Input System 2020-12-02 16:42:09 +00:00
CultCache.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Editor.meta Old Aetheria Code 2020-03-09 01:28:55 +00:00
EventLog.cs Trade Menu Spreadsheet 2021-01-14 03:20:27 +00:00
EventLog.cs.meta Trade Menu Spreadsheet 2021-01-14 03:20:27 +00:00
FilterTest.cs Hit Detection 2021-01-08 12:44:10 +00:00
FilterTest.cs.meta Hit Detection 2021-01-08 12:44:10 +00:00
Gameplay.meta Weapon Scripting Overhaul 2021-01-25 05:53:36 +00:00
Prototype.cs Hit Detection 2021-01-08 12:44:10 +00:00
Prototype.cs.meta Copy Aetheria Code 2020-02-27 18:51:07 +00:00
PrototypeParticleReturn.cs Trade Menu Spreadsheet 2021-01-14 03:20:27 +00:00
PrototypeParticleReturn.cs.meta Trade Menu Spreadsheet 2021-01-14 03:20:27 +00:00
Rotate.cs Hit Detection 2021-01-08 12:44:10 +00:00
Rotate.cs.meta Hit Detection 2021-01-08 12:44:10 +00:00
ServerShared.meta Initial Client/Server Communication 2020-02-26 17:48:40 +00:00
Tests.meta Sector & Loadout Generation Fixes 2021-03-18 22:48:33 +00:00
UI.meta Generating and Displaying Zones 2020-03-29 04:19:24 +01:00
UnityExtensions.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
UnityExtensions.cs.meta Database Support 2020-03-22 19:05:26 +00:00
UnityHelpers.cs Hit Detection 2021-01-08 12:44:10 +00:00
UnityHelpers.cs.meta Hit Detection 2021-01-08 12:44:10 +00:00
Zone Display.meta Trailer Stuff & More 2021-03-27 10:03:24 +00:00