@@ -79,10 +79,10 @@ def __call__(self, data, replay):
79
79
allowedDifficulty = data .read_bits (data .read_bits (6 )),
80
80
allowedControls = data .read_bits (data .read_uint8 ()),
81
81
allowed_observe_types = data .read_bits (data .read_bits (2 )),
82
- allowed_ai_builds = data .read_bits (data .read_bits (7 )) if replay .base_build >= 23925 else None ,
82
+ allowed_ai_builds = data .read_bits (data .read_bits (8 if replay . base_build >= 38749 else 7 )) if replay .base_build >= 23925 else None ,
83
83
) for i in range (data .read_bits (5 ))],
84
84
default_difficulty = data .read_bits (6 ),
85
- default_ai_build = data .read_bits (7 ) if replay .base_build >= 23925 else None ,
85
+ default_ai_build = data .read_bits (8 if replay . base_build >= 38749 else 7 ) if replay .base_build >= 23925 else None ,
86
86
cache_handles = [DepotFile (data .read_aligned_bytes (40 )) for i in range (data .read_bits (6 if replay .base_build >= 21955 else 4 ))],
87
87
has_extension_mod = data .read_bool () if replay .base_build >= 27950 else None ,
88
88
is_blizzardMap = data .read_bool (),
@@ -101,7 +101,7 @@ def __call__(self, data, replay):
101
101
colorPref = data .read_bits (5 ) if data .read_bool () else None ,
102
102
race_pref = data .read_uint8 () if data .read_bool () else None ,
103
103
difficulty = data .read_bits (6 ),
104
- ai_build = data .read_bits (7 ) if replay .base_build >= 23925 else None ,
104
+ ai_build = data .read_bits (8 if replay . base_build >= 38749 else 7 ) if replay .base_build >= 23925 else None ,
105
105
handicap = data .read_bits (7 ),
106
106
observe = data .read_bits (2 ),
107
107
logo_index = data .read_uint32 () if replay .base_build >= 32283 else None ,
@@ -126,7 +126,7 @@ def __call__(self, data, replay):
126
126
picked_map_tag = data .read_uint8 () if replay .base_build >= 36442 else None ,
127
127
game_duration = data .read_uint32 (),
128
128
default_difficulty = data .read_bits (6 ),
129
- default_ai_build = data .read_bits (7 ) if replay .base_build >= 24764 else None ,
129
+ default_ai_build = data .read_bits (8 if replay . base_build >= 38749 else 7 ) if replay .base_build >= 24764 else None ,
130
130
),
131
131
)
132
132
if not data .done ():
@@ -1215,6 +1215,14 @@ def trigger_ping_event(self, data):
1215
1215
y = data .read_uint32 ()- 2147483648 ,
1216
1216
),
1217
1217
unit_tag = data .read_uint32 (),
1218
+ unit_link = data .read_uint16 () if replay .build >= 38749 else None ,
1219
+ unit_control_player_id = (data .read_bits (4 ) if data .read_bool () else None ) if replay .build >= 38749 else None ,
1220
+ unit_upkeep_player_id = (data .read_bits (4 ) if data .read_bool () else None ) if replay .build >= 38749 else None ,
1221
+ unit_position = dict (
1222
+ x = data .read_bits (20 ),
1223
+ y = data .read_bits (20 ),
1224
+ z = data .read_bits (32 ) - 2147483648 ,
1225
+ ) if replay .build >= 38749 else None ,
1218
1226
pinged_minimap = data .read_bool (),
1219
1227
)
1220
1228
0 commit comments