Files
SirStone 2cc2a3bd87 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
2026-09-20 20:44:45 +02:00

20 lines
635 B
Nim

## RadarLock adapter — wraps radar_lock.doRadar() as a RadarModule.
import std/math
import ../radar_harness/radar_interface
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.
let enemyBearing = arctan2(state.enemyY - state.selfY,
state.enemyX - state.selfX).radToDeg
radar_lock_impl.doRadar(state.selfRadarHeading, enemyBearing)
proc init*(m: var RadarLockModule) =
radar_lock_impl.init()