Blizzard / Blizzard/s2client-proto
Tech requirement for units
- Dominant language
- Python
- Stars
- 4k
- Forks
- 440
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
there seems to be an [issue with units](https://github.com/Blizzard/s2client-proto/blob/33f0ecf615aa06ca845ffe4739ef3133f37265a9/s2clientprotocol/data.proto#L91) that have 2 requirements, e.g. Thor has techlab and armory requirement, Ghost has techlab and ghost academy requirement, Battlecruiser has techlab and fusion core requirement.
However, in the API they all return UnitTypeData.tech_requirement = 0
Also Siegetank seems to return id=5 which is just `TECHLAB`. Wouldn't it be better to return at least `FACTORYTECHLAB` or `FACTORY and TECHLAB`? There are a few more cases like these actually.
Or is that intended behavior that the `tech_requirement` requirement basically only works for buildings?
I'm using [Dentosal's API](https://github.com/Dentosal/python-sc2) but it should still be an issue with the s2client-proto, that is why I'm creating the issue here.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked data.proto definition around line 91 and inspect how UnitTypeData.tech_requirement is represented for Thor, Ghost, Battlecruiser, and Siege Tank. Compare those protocol values with the behavior observed through Dentosal's python-sc2 API; done means the intended handling of multiple unit technology requirements is documented or consistently represented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100