66
77@loggable
88class Event (object ):
9+ name = 'Event'
10+
911 def __init__ (self , frame , pid ):
1012 self .pid = pid
1113 self .frame = frame
@@ -18,8 +20,17 @@ def load_context(self, replay):
1820 if self .pid != 16 :
1921 self .player = replay .person [self .pid ]
2022
23+ def _str_prefix (self ):
24+ player_name = self .player .name if getattr (self ,'pid' , 16 )!= 16 else "Global"
25+ return "%s\t %-15s " % (Length (seconds = int (self .frame / 16 )), player_name )
26+
27+ def __str__ (self ):
28+ return self ._str_prefix () + self .name
29+
2130@loggable
2231class GameEvent (Event ):
32+ name = 'GameEvent'
33+
2334 """Abstract Event Type, should not be directly instanciated"""
2435 def __init__ (self , frame , pid , event_type ):
2536 super (GameEvent , self ).__init__ (frame , pid )
@@ -30,27 +41,24 @@ def __init__(self, frame, pid, event_type):
3041 self .is_init = (event_class == 0 )
3142 self .is_player_action = (event_class == 1 )
3243 self .is_camera_movement = (event_class == 3 )
33- self .is_unknown = (event_class == 2 or event_class == 4 or event_class == 5 )
34-
35- def _str_prefix (self ):
36- player_name = self .player .name if self .is_local else "Global"
37- return "%s\t %-15s " % (Length (seconds = int (self .frame / 16 )), player_name )
38-
39- def __str__ (self ):
40- return self ._str_prefix () + self .name
44+ #self.is_unknown = (event_class == 2 or event_class == 4 or event_class == 5)
4145
4246#############################################3
4347# Message Events
4448#########################
4549
4650@loggable
4751class MessageEvent (Event ):
52+ name = 'MessageEvent'
53+
4854 def __init__ (self , frame , pid , flags ):
4955 super (MessageEvent , self ).__init__ (frame , pid )
5056 self .flags = flags
5157
5258@loggable
5359class ChatEvent (MessageEvent ):
60+ name = 'ChatEvent'
61+
5462 def __init__ (self , frame , pid , flags , target , text ):
5563 super (ChatEvent , self ).__init__ (frame , pid , flags )
5664 self .target = target
@@ -61,12 +69,16 @@ def __init__(self, frame, pid, flags, target, text):
6169
6270@loggable
6371class PacketEvent (MessageEvent ):
72+ name = 'PacketEvent'
73+
6474 def __init__ (self , frame , pid , flags , info ):
6575 super (PacketEvent , self ).__init__ (frame , pid , flags )
6676 self .info = info
6777
6878@loggable
6979class PingEvent (MessageEvent ):
80+ name = 'PingEvent'
81+
7082 def __init__ (self , frame , pid , flags , x , y ):
7183 super (PingEvent , self ).__init__ (frame , pid , flags )
7284 self .x , self .y = x , y
@@ -77,20 +89,24 @@ def __init__(self, frame, pid, flags, x, y):
7789#########################
7890
7991class UnknownEvent (GameEvent ):
80- pass
92+ name = 'UnknownEvent'
8193
8294class PlayerJoinEvent (GameEvent ):
95+ name = 'PlayerJoinEvent'
96+
8397 def __init__ (self , frames , pid , event_type , flags ):
8498 super (PlayerJoinEvent , self ).__init__ (frames , pid , event_type )
8599 self .flags = flags
86100
87101class GameStartEvent (GameEvent ):
88- pass
102+ name = 'GameStartEvent'
89103
90104class PlayerLeaveEvent (GameEvent ):
91- pass
105+ name = 'PlayerLeaveEvent'
92106
93107class CameraEvent (GameEvent ):
108+ name = 'CameraEvent'
109+
94110 def __init__ (self , frames , pid , event_type , x , y , distance , pitch , yaw , height_offset ):
95111 super (CameraEvent , self ).__init__ (frames , pid , event_type )
96112 self .x , self .y = x , y
@@ -100,13 +116,15 @@ def __init__(self, frames, pid, event_type, x, y, distance, pitch, yaw, height_o
100116 self .height_offset = height_offset
101117
102118 def __str__ (self ):
103- return self ._str_prefix () + " camera at ({}, {})" .format (x , y )
119+ return self ._str_prefix () + "{} at ({}, {})" .format (self . name , self . x , self . y )
104120
105121class PlayerActionEvent (GameEvent ):
106- pass
122+ name = 'PlayerActionEvent'
107123
108124@loggable
109125class SendResourceEvent (PlayerActionEvent ):
126+ name = 'SendResourceEvent'
127+
110128 def __init__ (self , frames , pid , event_type , target , minerals , vespene , terrazine , custom ):
111129 super (SendResourceEvent , self ).__init__ (frames , pid , event_type )
112130 self .sender = pid
@@ -126,6 +144,8 @@ def load_context(self, replay):
126144
127145@loggable
128146class RequestResourceEvent (PlayerActionEvent ):
147+ name = 'RequestResourceEvent'
148+
129149 def __init__ (self , frames , pid , event_type , minerals , vespene , terrazine , custom ):
130150 super (RequestResourceEvent , self ).__init__ (frames , pid , event_type )
131151 self .minerals = minerals
@@ -138,6 +158,8 @@ def __str__(self):
138158
139159@loggable
140160class AbilityEvent (PlayerActionEvent ):
161+ name = 'AbilityEvent'
162+
141163 def __init__ (self , frame , pid , event_type , ability ):
142164 super (AbilityEvent , self ).__init__ (frame , pid , event_type )
143165 self .ability_code = ability
@@ -166,13 +188,12 @@ def load_context(self, replay):
166188
167189
168190 def __str__ (self ):
169- if not self .ability_code :
170- return self ._str_prefix () + "Move"
171- else :
172- return self ._str_prefix () + "Ability (%s) - %s" % (hex (self .ability_code ), self .ability_name )
191+ return self ._str_prefix () + "Ability (%s) - %s" % (hex (self .ability_code ), self .ability_name )
173192
174193@loggable
175194class TargetAbilityEvent (AbilityEvent ):
195+ name = 'TargetAbilityEvent'
196+
176197 def __init__ (self , frame , pid , event_type , ability , target , player , team , location ):
177198 super (TargetAbilityEvent , self ).__init__ (frame , pid , event_type , ability )
178199 self .target = None
@@ -234,6 +255,8 @@ def __str__(self):
234255
235256@loggable
236257class LocationAbilityEvent (AbilityEvent ):
258+ name = 'LocationAbilityEvent'
259+
237260 def __init__ (self , frame , pid , event_type , ability , location ):
238261 super (LocationAbilityEvent , self ).__init__ (frame , pid , event_type , ability )
239262 self .location = location
@@ -243,28 +266,34 @@ def __str__(self):
243266
244267@loggable
245268class SelfAbilityEvent (AbilityEvent ):
269+ name = 'SelfAbilityEvent'
270+
246271 def __init__ (self , frame , pid , event_type , ability , info ):
247272 super (SelfAbilityEvent , self ).__init__ (frame , pid , event_type , ability )
248273 self .info = info
249274
250275@loggable
251276class HotkeyEvent (PlayerActionEvent ):
277+ name = 'HotkeyEvent'
278+
252279 def __init__ (self , frame , pid , event_type , hotkey , deselect ):
253280 super (HotkeyEvent , self ).__init__ (frame , pid , event_type )
254281 self .hotkey = hotkey
255282 self .deselect = deselect
256283
257284class SetToHotkeyEvent (HotkeyEvent ):
258- pass
285+ name = 'SetToHotkeyEvent'
259286
260287class AddToHotkeyEvent (HotkeyEvent ):
261- pass
288+ name = 'AddToHotkeyEvent'
262289
263290class GetFromHotkeyEvent (HotkeyEvent ):
264- pass
291+ name = 'GetFromHotkeyEvent'
265292
266293@loggable
267294class SelectionEvent (PlayerActionEvent ):
295+ name = 'SelectionEvent'
296+
268297 def __init__ (self , frame , pid , event_type , bank , objects , deselect ):
269298 super (SelectionEvent , self ).__init__ (frame , pid , event_type )
270299 self .bank = bank
0 commit comments