beyond-all-reason / beyond-all-reason/RecoilEngine
Make radar position error configurable per emitter
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
Currently, radar wobble is by default a global setting, controlled by the `isTargetingUpgrade` unit def tag, and the `SetRadarErrorParams` callout. It can also be configured per-unit with the `SetUnitPosErrorParams` callout.
The desire is to base radar wobble on the radar coverage of the specific unit, where position error parameters can be set per emitter. When multiple emitters cover the same unit, a method would be required to specify whether the wobble should be based on the maximum individual emitter strength, or the combined individual emitter strengths.
**Proposal**
- Add new unit def tags, `radarError` and `sonarError`, integer of how much radar wobble to apply
- If unspecified, use the default value as exists in current functionality
- Add new modrule, `BaseRadarError`, integer for default amount of radar wobble
- Add new modrule, `CombinedRadarErrorReduction`, string with values `maximum`, `additive`
- Calculate radar wobble for each radar blip based on the strength of the emitters detecting that blip, before applying any effects from `isTargetingUpgrade`
Contributor guide
Research direction
Start by tracing the existing SetRadarErrorParams and SetUnitPosErrorParams callouts and the isTargetingUpgrade unit definition tag. Done means supporting the proposed radarError and sonarError tags, the BaseRadarError and CombinedRadarErrorReduction modrules, and emitter-based wobble calculation with maximum or additive aggregation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100