2cc2a3bd87
- 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
19 lines
659 B
Nim
19 lines
659 B
Nim
## melee_scan.nim — Continuously spinning radar for melee.
|
|
## Always returns max radar turn rate so all enemies get scanned periodically.
|
|
## No state needed; stateless spin guarantees coverage regardless of enemy count.
|
|
|
|
import ../radar_harness/radar_interface
|
|
|
|
export radar_interface
|
|
|
|
const MaxRadarTurnRate* = 45.0 ## deg/tick — Tank Royale hard limit
|
|
|
|
type MeleeScanModule* = object
|
|
debugGraphics*: bool
|
|
|
|
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.
|
|
MaxRadarTurnRate
|