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
+2 -1
View File
@@ -9,8 +9,9 @@ export radar_interface
const MaxRadarTurnRate* = 45.0 ## deg/tick — Tank Royale hard limit
type MeleeScanModule* = object
debugGraphics*: bool
proc initMeleeScan*(): MeleeScanModule = MeleeScanModule()
proc initMeleeScan*(): MeleeScanModule = MeleeScanModule(debugGraphics: false)
proc computeScan*(m: MeleeScanModule, state: WorldState): float =
## Always spin at max rate — guarantees full arena coverage every 8 ticks.
+1
View File
@@ -7,6 +7,7 @@ import ../radar_lock/radar_lock as radar_lock_impl
export radar_interface
type RadarLockModule* = object
debugGraphics*: bool
proc computeScan*(m: RadarLockModule, state: WorldState): float =
## Returns radar turn rate (deg/tick) to lock onto enemy.