fix(ModularBot): ram loop prevention, dead-target guards, cleaner logging

- 30-tick cooldown after ghost-stuck/timeout ram exit prevents re-entry loop
- enemy_tracker.update() skips dead bots to prevent same-tick scan resurrection
- TFIL graphics cleared when ramming is active movement
- [config] logs: white base with green-highlighted changes only
- [ram:enter] logs trigger reason and key values on false→true transition
- [death] and [target-invalid] logs retained for diagnostics
This commit is contained in:
2026-09-20 20:44:45 +02:00
parent 1f8574db1d
commit 2cc2a3bd87
30 changed files with 927 additions and 161 deletions
+9 -8
View File
@@ -11,15 +11,16 @@ const BrakeDecel = 2.0 ## same-direction stop
const CoastDecel = 1.0 ## cross-zero coasting stop
type StopShotGun* = object
prevSpeed: float
prevHeading: float
prevTick: int
frames: int
cachedTick: int
cachedPredX: float
cachedPredY: float
prevSpeed: float
prevHeading: float
prevTick: int
frames: int
cachedTick: int
cachedPredX: float
cachedPredY: float
debugGraphics*: bool
proc initStopShotGun*(): StopShotGun = StopShotGun()
proc initStopShotGun*(): StopShotGun = StopShotGun(debugGraphics: false)
proc predict*(g: var StopShotGun, state: WorldState, bulletSpeed: float): GunPrediction =
if bulletSpeed <= 0.0: