Skip to content

Commit 10c0973

Browse files
committed
add support for telling clients about new locations that have been checked by other players, (via co-op or !collect)
1 parent 9b4b469 commit 10c0973

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

src/main/java/gg/archipelago/APClient/APClient.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,8 @@ public void scoutLocations(ArrayList<Integer> locationIDs) {
220220

221221
public abstract void onLocationInfo(ArrayList<NetworkItem> item);
222222

223+
public abstract void onLocationChecked(int locationID);
224+
223225
public DataPackage getDataPackage() {
224226
return dataPackage;
225227
}

src/main/java/gg/archipelago/APClient/APWebSocket.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,12 @@ private void updateRoom(RoomUpdatePacket updateRoomPacket) {
187187

188188
apClient.setHintPoints(updateRoomPacket.hintPoints);
189189
apClient.setAlias(apClient.getRoomInfo().getPlayer(apClient.getTeam(), apClient.getSlot()).alias);
190+
191+
for (int location : updateRoomPacket.checkedLocations) {
192+
if(apClient.getLocationManager().getCheckedLocations().contains(location))
193+
continue;
194+
apClient.onLocationChecked(location);
195+
}
190196
}
191197

192198
private void checkDataPackage(HashMap<String,Integer> versions) {

src/main/java/gg/archipelago/APClient/network/RoomUpdatePacket.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ public class RoomUpdatePacket extends APPacket {
3333
@SerializedName("location_check_points")
3434
public int locationCheckPoints;
3535

36+
@SerializedName("checked_locations")
37+
public ArrayList<Integer> checkedLocations = new ArrayList<>();
38+
39+
@SerializedName("missing_locations")
40+
public ArrayList<Integer> missingLocations = new ArrayList<>();
41+
3642
@SerializedName("players")
3743
public ArrayList<NetworkPlayer> networkPlayers = new ArrayList<>();
3844

0 commit comments

Comments
 (0)