diff --git a/sc2reader/events/game.py b/sc2reader/events/game.py index 65eacc7e..82232011 100644 --- a/sc2reader/events/game.py +++ b/sc2reader/events/game.py @@ -399,6 +399,26 @@ def __init__(self, frame, pid, data): self.target_data = self.ability_type_data.get("data", None) +@loggable +class CommandManagerStateEvent(GameEvent): + """ + These events indicated that the last :class:`CommandEvent` called has been + called again. For example, if you add three SCVs to an empty queue on a + Command Center, the first add will be generate a :class:`BasicCommandEvent` + and the two subsequent adds will each generate a + :class:`CommandManagerStateEvent`. + """ + + def __init__(self, frame, pid, data): + super(CommandManagerStateEvent, self).__init__(frame, pid) + + #: Always 1? + self.state = data["state"] + + #: An index identifying how many events of this type have been called + self.sequence = data["sequence"] + + @loggable class SelectionEvent(GameEvent): """ diff --git a/sc2reader/readers.py b/sc2reader/readers.py index 83c3a2ea..89ba67fc 100644 --- a/sc2reader/readers.py +++ b/sc2reader/readers.py @@ -1745,7 +1745,7 @@ def __init__(self): self.command_manager_reset_event, ), # Re-using this old number 61: (None, self.trigger_hotkey_pressed_event), - 103: (None, self.command_manager_state_event), + 103: (CommandManagerStateEvent, self.command_manager_state_event), 104: ( UpdateTargetPointCommandEvent, self.command_update_target_point_event,