babylon.engine.systems.dispossession_events

Dispossession Event system (Feature 021, System #18).

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

DispossessionEventSystem()

Computes aggregate dispossession and tracks value transfers.

class babylon.engine.systems.dispossession_events.DispossessionEventSystem[source]

Bases: object

Computes 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: #18 in _DEFAULT_SYSTEMS (after ImperialRentSystem).

property name: str

System identifier.

step(graph, services, context)[source]

Process dispossession events for all territories.

Parameters:
  • graph – Mutable world graph with territory nodes.

  • services – Service container with defines and event_bus.

  • context – Tick context with current tick number.