mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-15 00:32:40 +00:00
J3 D8-prereq: split compact flag so sim drives the picker
Adds inlineBossCombat alongside compact in runAutopilotWalk and advanceOnceWithOpts. Production background autorun keeps both true (inline auto-resolve), foreground stays both false (manual !fight), the sim now uses compact=true + inlineBossCombat=false so the boss/elite doorway returns stopBoss/stopElite after the safety gate — autoResolveCombat + simPickCombatAction / simPickSpell drive the fight via the turn-based engine. The picker (and D8-b upcasting) has been dead since D3's compact-inline boss rooms; this re-wires it. n=50/cell L10 smoke vs d7d (zones T1-T3): bard forest_shadows 61 → 100 (+39) bard manor_blackspire 10 → 34 (+24) cleric forest_shadows 15 → 96 (+81) cleric manor_blackspire 0 → 54 (+54) fighter T1-T3 100 (unchanged) Also parallelizes matrix mode via subprocess workers (each child has its own SQLite — db package globals preclude in-process parallelism). New -jobs flag, defaults to runtime.NumCPU(). 8 workers gave ~7x speedup on the smoke matrix.
This commit is contained in:
@@ -429,7 +429,7 @@ func (s *SimRunner) RunExpedition(uid id.UserID, zoneID ZoneID, walkCap, maxDays
|
||||
|
||||
for i := 0; i < walkCap; i++ {
|
||||
simNow = simNow.Add(simWalkInterval)
|
||||
walk := s.P.runAutopilotWalk(ctx, autopilotRoomCap, true)
|
||||
walk := s.P.runAutopilotWalk(ctx, autopilotRoomCap, true, false)
|
||||
if walk.initErr != "" {
|
||||
res.Outcome = "halted"
|
||||
res.StopCode = "init:" + walk.initErr
|
||||
|
||||
Reference in New Issue
Block a user