Performance and behavior
- Guest list maintenance: New guests are tracked via the
guest.generationhook instead of scanning all guests every in-game day. After a map load, lists resync on the next tick (usingmap.change, since remote plugins cannot subscribe tomap.changed). - Stale IDs: With no guest-leave hook in the API, departed guests are pruned from the index at most once per in-game year via
map.getEntitychecks (cheap compared to a full dailygetAllEntities). - No wasted work: Scheduled stat updates are skipped entirely when no stat toggles are enabled.
- Multi-stat updates: When several stats are enabled, the plugin applies them in one pass per guest (one
getEntityper guest per run) instead of one full pass per stat.
Notes
- Daily still updates all tracked guests once per in-game day. Every 2 days continues to use the half-and-half split by guest id and calendar day.
Install by downloading consistent-guest-stats.js from this release into your OpenRCT2 plugin folder.