Blizzard / Blizzard/s2client-proto

How do I order units to do something using raw interface?

Open
#91 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
4k
Forks
440
PR merge metrics
No merged PRs in 30d

Description

For example, I have this code:
```python
for drone in units["Drones"]:
order = rawpb.UnitOrder(target_unit_tag = my_own_hatchery.tag, ability_id = 3674)
# drone.orders.add(order) <--- this line states that I'm providing two arguments
drone.orders.extend([order]) # adds order to the list but this doesn't affect the drones
```
This supposed to force the drones to attack their own hatchery, but instead of that units do not follow the order I've issued, and if I provide an order using ```drone.orders.add(order)``` it will state that I'm providing two arguments instead of required one.

And ofc rawpb is just raw_pb2 from s2clientprotocol
As well as to get all the units one should issue this line of code:
```controller.observe().observation.raw_data.units```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the raw_pb2 UnitOrder definition and the drone.orders usage shown in the issue. Reproduce the behavior through controller.observe().observation.raw_data.units, then trace how orders are represented and submitted. Done means the correct raw-interface ordering behavior is established and the issue's usage or documentation is clarified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.