diff options
| author | historia <[not public]> | 2026-07-17 20:15:57 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-07-17 20:15:57 -0400 |
| commit | 9898d42f2d4ef61b5cbec7e212914d1495e04772 (patch) | |
| tree | afa604ad77a7a03832ebbd60e77c47d4961b9d77 /cmd | |
| parent | c23c87b56fd568956d263bb8b8c5d26fbd8d01ee (diff) | |
| download | thehouseoficarus-9898d42f2d4ef61b5cbec7e212914d1495e04772.tar.gz | |
feat: add deterministic order to mob/player tick processing, document how tick processing works
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/thoi/main.go | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/cmd/thoi/main.go b/cmd/thoi/main.go index 254db69..27b32f4 100644 --- a/cmd/thoi/main.go +++ b/cmd/thoi/main.go @@ -45,29 +45,14 @@ func main() { g.Ticks.Start(cfg.TickLength) defer g.Ticks.Stop() + // The master per-tick subscriber. Registered as engine subscription ID 1, + // the engine fires it before any dynamically-registered combat/aggro/respawn + // callbacks (engine.processTick sorts subscribers by registration ID). Its + // body — the canonical per-tick system sequence — is enforced and tested in + // internal/game/tick_systems.go and documented in + // building_guide/tick_order.md. Reordering it is a breaking change. g.Ticks.Subscribe(1, func() bool { - g.ProcessQueuedCommands() - g.MoveTick() - g.SequenceTick() - g.TransientMobTick() - g.World.Tick() - g.MobStore.Tick() - g.RegenTick() - g.EnergyRegenTick() - g.DisconnectTick() - g.WanderTick() - g.SharedDepletionTick() - g.FireTick() - g.AdvanceActions() - g.TechTick() - g.ConsumeTick() - g.BroadcastRespawns() - g.VisualTick() - g.SneakTick() - g.FarmTick() - g.BuffTick() - g.SafespotTick() - g.HazardTick() + g.RunTickSystems() return true }) |
