babylon.engine.systems.dispossession_events
Dispossession Event system (Feature 021, System #10).
Computes aggregate dispossession events per territory-tick, tracks value transfers between territories, and feeds rates to existing class transition engine. Publishes DISPOSSESSION_EVENT and VALUE_TRANSFER events via the event bus.
Classes
Computes aggregate dispossession and tracks value transfers. |
- class babylon.engine.systems.dispossession_events.DispossessionEventSystem[source]
Bases:
SystemBaseComputes aggregate dispossession and tracks value transfers.
For each territory node, reads dispossession rates (foreclosure_rate, eviction_rate, displacement_rate, etc.), computes composite intensity, and publishes events. Value transfers are clamped to available wealth.
Position: #10 in _DEFAULT_SYSTEMS (after ImperialRentSystem).
- step(graph, services, context)[source]
Process dispossession events for all territories.
- Parameters:
graph (
GraphProtocol) – Mutable world graph with territory nodes.services (
ServicesProtocol) – Service container with defines and event_bus.context (
Union[dict[str,Any],TickContext]) – Tick context with current tick number.
- Return type: