telemetry.core.events

Docstring for telemetry.core.events

This module defines the Event objects which are created upon parsing JSON, and relevant Enums.

  1"""
  2Docstring for telemetry.core.events
  3
  4This module defines the Event objects which are created upon parsing
  5JSON, and relevant Enums.
  6"""
  7
  8from enum import Enum
  9from datetime import datetime
 10
 11
 12class EventType(str, Enum):
 13    START_SESSION = "StartSession"
 14    END_SESSION = "EndSession"
 15
 16    NORMAL_ENCOUNTER_START = "NormalEncounterStart"
 17    NORMAL_ENCOUNTER_COMPLETE = "NormalEncounterComplete"
 18    NORMAL_ENCOUNTER_FAIL = "NormalEncounterFail"
 19
 20    BOSS_ENCOUNTER_START = "BossEncounterStart"
 21    BOSS_ENCOUNTER_COMPLETE = "BossEncounterComplete"
 22    BOSS_ENCOUNTER_FAIL = "BossEncounterFail"
 23
 24    GAIN_COIN = "GainCoin"
 25    BUY_UPGRADE = "BuyUpgrade"
 26    SETTINGS_CHANGE = "SettingsChange"
 27    KILL_ENEMY = "KillEnemy"
 28
 29
 30class EventParameter():
 31    EVENT_TYPE = "event"
 32    USER_ID = "userID"
 33    SESSION_ID = "sessionID"
 34    TIMESTAMP = "timestamp"
 35    ENCOUNTER = "encounter_name"
 36    DIFFICULTY = "difficulty"
 37    STAGE_NUMBER = "stage_number"
 38    LIVES_LEFT = "lives_left"
 39    COINS_GAINED = "coins_gained"
 40    UPGRADE_BOUGHT = "upgrade_bought"
 41    COINS_SPENT = "coins_spent"
 42    PLAYER_HP_REMAINING = "player_HP_remaining"
 43    SETTING = "setting"
 44    SETTING_VALUE = "setting_value"
 45    ENEMY_TYPE = "enemy_type"
 46
 47
 48class EncounterName(str, Enum):
 49    GOBLIN_ENCOUNTER = "GOBLIN_ENCOUNTER"
 50    FISHMAN_ENCOUNTER = "FISHMAN_ENCOUNTER"
 51
 52
 53class UpgradeName(str, Enum):
 54    PHYSICAL_DAMAGE_RESISTANCE = "PHYSICAL_DAMAGE_RESISTANCE"
 55    FIRE_DAMAGE_RESISTANCE = "FIRE_DAMAGE_RESISTANCE"
 56    WATER_DAMAGE_RESISTANCE = "WATER_DAMAGE_RESISTANCE"
 57    THUNDER_DAMAGE_RESISTANCE = "THUNDER_DAMAGE_RESISTANCE"
 58    SLASH_UNLOCK = "SLASH_UNLOCK"
 59    ABSOLUTE_PULSE_UNLOCK = "ABSOLUTE_PULSE_UNLOCK"
 60    WATER_JET_UNLOCK = "WATER_JET_UNLOCK"
 61    FIRE_BALL_UNLOCK = "FIRE_BALL_UNLOCK"
 62    THUNDER_STORM_UNLOCK = "THUNDER_STORM_UNLOCK"
 63
 64
 65class EnemyType(str, Enum):
 66    GOBLIN = "Goblin"
 67    FISHMAN = "Fishman"
 68
 69
 70class SettingName(str, Enum):
 71    TELEMETRY_ENABLED = "TELEMETRY_ENABLED"
 72    PLAYER_MAX_HEALTH = "PLAYER_MAX_HEALTH"
 73    ENEMY_DAMAGE_MULTIPLIER = "ENEMY_DAMAGE_MULTIPLIER"
 74    ENEMY_MAX_HEALTH_MULTIPLIER = "ENEMY_MAX_HEALTH_MULTIPLIER"
 75    STARTING_LIVES = "STARTING_LIVES"
 76    MAX_MAGIC = "MAX_MAGIC"
 77    MAGIC_REGEN_RATE = "MAGIC_REGEN_RATE"
 78    SHOP_ITEM_COUNT = "SHOP_ITEM_COUNT"
 79
 80
 81class Difficulty(str, Enum):
 82    EASY = "Easy"
 83    MEDIUM = "Medium"
 84    HARD = "Hard"
 85
 86
 87class StartSession:
 88    """
 89    StartSession object represents an instance of a 
 90    StartSession event.
 91    """
 92    def __init__(
 93            self,
 94            userID: int,
 95            sessionID: int,
 96            timestamp: datetime,
 97            difficulty: Difficulty
 98    ):
 99        """ 
100        :param userID: Unique ID of the user.
101        :type userID: int
102        :param sessionID: Unique ID for the session.
103        :type sessionID: int
104        :param timestamp: Timestamp of the event. 
105        Format: YYYY/MM/DD/HH/MM/SS.
106        :type timestamp: datetime
107        :param difficulty: Difficulty of the session.
108        :type difficulty: Difficulty
109        """
110        self.userID = userID
111        self.sessionID = sessionID
112        self.timestamp = timestamp
113        self.difficulty = difficulty
114
115    def __repr__(self):
116        return f"""SessionStartObject
117            {self.userID=}
118            {self.sessionID=}
119            {self.timestamp=}"""
120    
121
122class NormalEncounterStart:
123    """
124    NormalEncounterStart object represents an instance of a
125    NormalEncounterStart event.
126    """
127    def __init__(self,
128            userID: int,
129            sessionID: int,
130            timestamp: datetime,
131            encounter_name: EncounterName,
132            difficulty: str,
133            stage_number: int
134    ):
135        """
136        :param userID: Unique ID of the user.
137        :type userID: int
138        :param sessionID: Unique ID for the session.
139        :type sessionID: int
140        :param timestamp: Timestamp of the event. 
141        Format: YYYY/MM/DD/HH/MM/SS.
142        :type timestamp: datetime
143        :param encounter_name: Name of the encounter player is starting.
144        :type encounter_name: EncounterName
145        :param difficulty: Difficulty level of the encounter.
146        :type difficulty: Difficulty
147        :param stage_number: Current stage player is starting.
148        :type stage_number: int
149        """
150        self.userID = userID
151        self.sessionID = sessionID
152        self.timestamp = timestamp
153        self.encounter_name = encounter_name
154        self.difficulty = difficulty
155        self.stage_number = stage_number
156
157    def __repr__(self):
158        return f"""NormalEncounterStartObject
159            {self.userID=}
160            {self.sessionID=}
161            {self.timestamp=}
162            {self.encounter_name=}
163            {self.difficulty=}
164            {self.stage_number=}"""
165    
166
167class NormalEncounterComplete:
168    """
169    NormalEncounterComplete object represents an instance of a
170    NormalEncounterComplete event.
171    """
172    def __init__(self,
173            userID: int,
174            sessionID: int,
175            timestamp: datetime,
176            encounter_name: EncounterName,
177            difficulty: Difficulty,
178            stage_number: int,
179            player_HP_remaining: int
180    ):
181        """
182        :param userID: Unique ID of the user.
183        :type userID: int
184        :param sessionID: Unique ID for the session.
185        :type sessionID: int
186        :param timestamp: Timestamp of the event. 
187        Format: YYYY/MM/DD/HH/MM/SS.
188        :type timestamp: datetime
189        :param encounter_name: Name of the encounter player 
190        has completed.
191        :type encounter_name: EncounterName
192        :param difficulty: Difficulty level of the encounter.
193        :type difficulty: Difficulty
194        :param stage_number: Current stage player has completed.
195        :type stage_number: int
196        :param player_HP_remaining: Number of HP points users 
197        character has remaining.
198        :type player_HP_remaining: int
199        """
200        self.userID = userID
201        self.sessionID = sessionID
202        self.timestamp = timestamp
203        self.encounter_name = encounter_name
204        self.difficulty = difficulty
205        self.stage_number = stage_number
206        self.player_HP_remaining = player_HP_remaining
207
208    def __repr__(self):
209        return f"""NormalEncounterCompleteObject
210            {self.userID=}
211            {self.sessionID=}
212            {self.timestamp=}
213            {self.encounter_name=}
214            {self.difficulty=}
215            {self.stage_number=}
216            {self.player_HP_remaining=}"""
217    
218
219class NormalEncounterFail:
220    """
221    NormalEncounterFail object represents an instance of a
222    NormalEncounterFail event.
223    """
224    def __init__(self,
225            userID: int,
226            sessionID: int,
227            timestamp: datetime,
228            encounter_name: EncounterName,
229            difficulty: Difficulty,
230            stage_number: int,
231            lives_left: int
232    ):
233        """
234        :param userID: Unique ID of the user.
235        :type userID: int
236        :param sessionID: Unique ID for the session.
237        :type sessionID: int
238        :param timestamp: Timestamp of the event. 
239        Format: YYYY/MM/DD/HH/MM/SS.
240        :type timestamp: datetime
241        :param encounter_name: Name of the encounter player 
242        has failed.
243        :type encounter_name: EncounterName
244        :param difficulty: Difficulty level of the encounter.
245        :type difficulty: Difficulty
246        :param stage_number: Current stage player has failed.
247        :type stage_number: int
248        :param lives_left: Lives left at the end of an encounter.
249        :type lives_left: int
250        """
251        self.userID = userID
252        self.sessionID = sessionID
253        self.timestamp = timestamp
254        self.encounter_name = encounter_name
255        self.difficulty = difficulty
256        self.stage_number = stage_number
257        self.lives_left = lives_left
258
259    def __repr__(self):
260        return f"""NormalEncounterFailObject
261            {self.userID=}
262            {self.sessionID=}
263            {self.timestamp=}
264            {self.encounter_name=}
265            {self.difficulty=}
266            {self.stage_number=}
267            {self.lives_left=}"""
268    
269        
270class BossEncounterStart:
271    """
272    BossEncounterStart object represents an instance of a
273    BossEncounterStart event.
274    """
275    def __init__(self,
276            userID: int,
277            sessionID: int,
278            timestamp: datetime,
279            encounter_name: EncounterName,
280            difficulty: Difficulty,
281            stage_number: int
282    ):
283        """
284        :param userID: Unique ID of the user.
285        :type userID: int
286        :param sessionID: Unique ID for the session.
287        :type sessionID: int
288        :param timestamp: Timestamp of the event. 
289        Format: YYYY/MM/DD/HH/MM/SS.
290        :type timestamp: datetime
291        :param encounter_name: Name of the encounter player is starting.
292        :type encounter_name: EncounterName
293        :param difficulty: Difficulty level of the encounter.
294        :type difficulty: Difficulty
295        :param stage_number: Current stage player is starting.
296        :type stage_number: int
297        """
298        self.userID = userID
299        self.sessionID = sessionID
300        self.timestamp = timestamp
301        self.encounter_name = encounter_name
302        self.difficulty = difficulty
303        self.stage_number = stage_number
304
305    def __repr__(self):
306        return f"""BossEncounterStartObject
307            {self.userID=}
308            {self.sessionID=}
309            {self.timestamp=}
310            {self.encounter_name=}
311            {self.difficulty=}
312            {self.stage_number=}"""
313    
314
315class BossEncounterComplete:
316    """
317    BossEncounterComplete object represents an instance of a
318    BossEncounterComplete event.
319    """
320    def __init__(self,
321            userID: int,
322            sessionID: int,
323            timestamp: datetime,
324            encounter_name: EncounterName,
325            difficulty: Difficulty,
326            stage_number: int,
327            player_HP_remaining: int
328    ):
329        """
330        :param userID: Unique ID of the user.
331        :type userID: int
332        :param sessionID: Unique ID for the session.
333        :type sessionID: int
334        :param timestamp: Timestamp of the event. 
335        Format: YYYY/MM/DD/HH/MM/SS.
336        :type timestamp: datetime
337        :param encounter_name: Name of the encounter player 
338        has completed.
339        :type encounter_name: EncounterName
340        :param difficulty: Difficulty level of the encounter.
341        :type difficulty: Difficulty
342        :param stage_number: Current stage player has completed.
343        :type stage_number: int
344        :param player_HP_remaining: Player HP remaining once 
345        boss encounter is complete.
346        :type player_HP_remaining: int
347        """
348        self.userID = userID
349        self.sessionID = sessionID
350        self.timestamp = timestamp
351        self.encounter_name = encounter_name
352        self.difficulty = difficulty
353        self.stage_number = stage_number
354        self.player_HP_remaining = player_HP_remaining
355
356    def __repr__(self):
357        return f"""BossEncounterObject
358            {self.userID=}
359            {self.sessionID=}
360            {self.timestamp=}
361            {self.encounter_name=}
362            {self.difficulty=}
363            {self.stage_number=}"""
364    
365        
366class BossEncounterFail:
367    """
368    BossEncounterFail object represents an instance of a
369    BossEncounterFail event.
370    """
371    def __init__(
372            self,
373            userID: int,
374            sessionID: int,
375            timestamp: datetime,
376            encounter_name: EncounterName,
377            difficulty: Difficulty,
378            stage_number: int,
379            lives_left: int
380    ):
381        """
382        :param userID: Unique ID of the user.
383        :type userID: int
384        :param sessionID: Unique ID for the session.
385        :type sessionID: int
386        :param timestamp: Timestamp of the event. 
387        Format: YYYY/MM/DD/HH/MM/SS.
388        :type timestamp: datetime
389        :param encounter_name: Name of the encounter player has failed.
390        :type encounter_name: EncounterName
391        :param difficulty: Difficulty level of the encounter.
392        :type difficulty: Difficulty
393        :param stage_number: Current stage player has failed.
394        :type stage_number: int
395        :param lives_left: Lives left at the end of an encounter.
396        :type lives_left: int
397        """
398        self.userID = userID
399        self.sessionID = sessionID
400        self.timestamp = timestamp
401        self.encounter_name = encounter_name
402        self.difficulty = difficulty
403        self.stage_number = stage_number
404        self.lives_left = lives_left
405
406
407    def __repr__(self):
408        return f"""BossEncounterFailObject
409            {self.userID=}
410            {self.sessionID=}
411            {self.timestamp=}
412            {self.encounter_name=}
413            {self.difficulty=}
414            {self.stage_number=}
415            {self.lives_left=}"""
416    
417
418class GainCoin:
419    """
420    GainCoin object represents an instance of a GainCoin event.
421    """
422    def __init__(
423            self,
424            userID: int,
425            sessionID: int,
426            timestamp: datetime,
427            encounter_name: EncounterName,
428            difficulty: Difficulty,
429            stage_number: int,
430            coins_gained: int
431    ):
432        """
433        :param userID: Unique ID of the user.
434        :type userID: int
435        :param sessionID: Unique ID for the session.
436        :type sessionID: int
437        :param timestamp: Timestamp of the event. 
438        Format: YYYY/MM/DD/HH/MM/SS.
439        :type timestamp: datetime
440        :param encounter_name: Name of the encounter player is in.
441        :type encounter_name: EncounterName
442        :param difficulty: Difficulty level of the encounter.
443        :type difficulty: Difficulty
444        :param stage_number: Current stage number.
445        :type stage_number: int
446        :param coins_gained: Number of coins gained.
447        :type coins_gained: int
448        """        
449        self.userID = userID
450        self.sessionID = sessionID
451        self.timestamp = timestamp
452        self.encounter_name = encounter_name
453        self.difficulty = difficulty
454        self.stage_number = stage_number
455        self.coins_gained = coins_gained
456
457    def __repr__(self):
458        return f"""GainCoinObject
459            {self.userID=}
460            {self.sessionID=}
461            {self.timestamp=}
462            {self.encounter_name=}
463            {self.difficulty=}
464            {self.stage_number=}
465            {self.coins_gained=}"""
466    
467
468class BuyUpgrade:
469    """
470    BuyUpgrade object represents an instance of an BuyUpgrade event.
471    """
472    def __init__(
473            self,
474            userID: int,
475            sessionID: int,
476            timestamp: datetime,
477            stage_number: int,
478            coins_spent: int,
479            upgrade_bought: UpgradeName
480    ):
481        """
482        :param userID: Unique ID of the user.
483        :type userID: int
484        :param sessionID: Unique ID for the session.
485        :type sessionID: int
486        :param timestamp: Timestamp of the event. 
487        Format: YYYY/MM/DD/HH/MM/SS.
488        :type timestamp: datetime
489        :param stage_number: Current stage player is complete.
490        :type stage_number: int
491        :param coins_spent: Number of coins spent on 
492        buying this upgrade.
493        :type coins_spent: int
494        :param upgrade_bought: The upgrade which was bought.
495        :type upgrade_bought: UpgradeName
496        """
497        self.userID = userID
498        self.sessionID = sessionID
499        self.timestamp = timestamp
500        self.stage_number = stage_number
501        self.coins_spent = coins_spent
502        self.upgrade_bought = upgrade_bought
503
504    def __repr__(self):
505        return f"""BuyUpgradeObject
506            {self.userID=}
507            {self.sessionID=}
508            {self.timestamp=}
509            {self.stage_number=}
510            {self.coins_spent=}
511            {self.upgrade_bought=}"""
512    
513
514class EndSession:
515    """
516    EndSession object represents an instance of an EndSession event.
517    """
518    def __init__(
519            self,
520            userID: int,
521            sessionID: int,
522            timestamp: datetime
523    ):
524        """
525        :param userID: Unique ID of the user.
526        :type userID: int
527        :param sessionID: Unique ID for the session.
528        :type sessionID: int
529        :param timestamp: Timestamp of the event. 
530        Format: YYYY/MM/DD/HH/MM/SS.
531        :type timestamp: datetime
532        """
533        self.userID = userID
534        self.sessionID = sessionID
535        self.timestamp = timestamp
536
537    def __repr__(self):
538        return f"""EndSessionObject
539            {self.userID=}
540            {self.sessionID=}
541            {self.timestamp=}"""
542    
543
544class SettingsChange:
545    """
546    SettingsChange object represents an instance of a 
547    SettingsChange event.
548    """
549    def __init__(
550        self,
551        userID: str,
552        timestamp: datetime,
553        setting: SettingName,
554        value: int
555    ):
556        """
557        :param userID: UserID of user changing setting.
558        :param timestamp: Timestamp of the event. 
559        Format: YYYY/MM/DD/HH/MM/SS.
560        :type timestamp: datetime
561        :param setting: The setting which was changed.
562        :type setting: SettingName
563        :param value: The new value to which the changed 
564        setting was set to. 
565        :type value: int
566        """
567        self.userID = userID
568        self.timestamp = timestamp
569        self.setting = setting
570        self.value = value
571
572    def __repr__(self):
573        return f"""SettingsChangeObject
574            {self.timestamp=}
575            {self.setting=}
576            {self.value=}"""
577    
578
579class KillEnemy:
580    """
581    KillEnemy object represents an instance of a KillEnemy event.
582    """
583    def __init__(
584        self,
585        userID: int,
586        sessionID: int,
587        timestamp: datetime,
588        encounter_name: EncounterName,
589        difficulty: Difficulty,
590        stage_number: int,
591        enemy_type: EnemyType
592    ):
593        """
594        :param userID: Unique ID of the user.
595        :type userID: int
596        :param sessionID: Unique ID for the session.
597        :type sessionID: int
598        :param timestamp: Timestamp of the event. 
599        Format: YYYY/MM/DD/HH/MM/SS.
600        :type timestamp: datetime
601        :param encounter_name: Name of the encounter player is 
602        in at time of kill.
603        :type encounter_name: EncounterName
604        :param difficulty: Difficulty level of the encounter.
605        :type difficulty: Difficulty
606        :param stage_number: Current stage player is in at time of kill.
607        :type stage_number: int
608        :param enemy_type: Type of enemy which was killed.
609        :type enemy_type: EnemyType
610        """
611        self.userID = userID
612        self.sessionID = sessionID
613        self.timestamp = timestamp
614        self.encounter_name = encounter_name
615        self.difficulty = difficulty
616        self.stage_number = stage_number
617        self.enemy_type = enemy_type
618
619    def __repr__(self):
620        return f"""KillEnemyObject
621            {self.userID=}
622            {self.sessionID=}
623            {self.timestamp=}
624            {self.encounter_name=}
625            {self.difficulty=}
626            {self.stage_number=}
627            {self.enemy_type=}"""
class EventType(builtins.str, enum.Enum):
13class EventType(str, Enum):
14    START_SESSION = "StartSession"
15    END_SESSION = "EndSession"
16
17    NORMAL_ENCOUNTER_START = "NormalEncounterStart"
18    NORMAL_ENCOUNTER_COMPLETE = "NormalEncounterComplete"
19    NORMAL_ENCOUNTER_FAIL = "NormalEncounterFail"
20
21    BOSS_ENCOUNTER_START = "BossEncounterStart"
22    BOSS_ENCOUNTER_COMPLETE = "BossEncounterComplete"
23    BOSS_ENCOUNTER_FAIL = "BossEncounterFail"
24
25    GAIN_COIN = "GainCoin"
26    BUY_UPGRADE = "BuyUpgrade"
27    SETTINGS_CHANGE = "SettingsChange"
28    KILL_ENEMY = "KillEnemy"

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

START_SESSION = <EventType.START_SESSION: 'StartSession'>
END_SESSION = <EventType.END_SESSION: 'EndSession'>
NORMAL_ENCOUNTER_START = <EventType.NORMAL_ENCOUNTER_START: 'NormalEncounterStart'>
NORMAL_ENCOUNTER_COMPLETE = <EventType.NORMAL_ENCOUNTER_COMPLETE: 'NormalEncounterComplete'>
NORMAL_ENCOUNTER_FAIL = <EventType.NORMAL_ENCOUNTER_FAIL: 'NormalEncounterFail'>
BOSS_ENCOUNTER_START = <EventType.BOSS_ENCOUNTER_START: 'BossEncounterStart'>
BOSS_ENCOUNTER_COMPLETE = <EventType.BOSS_ENCOUNTER_COMPLETE: 'BossEncounterComplete'>
BOSS_ENCOUNTER_FAIL = <EventType.BOSS_ENCOUNTER_FAIL: 'BossEncounterFail'>
GAIN_COIN = <EventType.GAIN_COIN: 'GainCoin'>
BUY_UPGRADE = <EventType.BUY_UPGRADE: 'BuyUpgrade'>
SETTINGS_CHANGE = <EventType.SETTINGS_CHANGE: 'SettingsChange'>
KILL_ENEMY = <EventType.KILL_ENEMY: 'KillEnemy'>
class EventParameter:
31class EventParameter():
32    EVENT_TYPE = "event"
33    USER_ID = "userID"
34    SESSION_ID = "sessionID"
35    TIMESTAMP = "timestamp"
36    ENCOUNTER = "encounter_name"
37    DIFFICULTY = "difficulty"
38    STAGE_NUMBER = "stage_number"
39    LIVES_LEFT = "lives_left"
40    COINS_GAINED = "coins_gained"
41    UPGRADE_BOUGHT = "upgrade_bought"
42    COINS_SPENT = "coins_spent"
43    PLAYER_HP_REMAINING = "player_HP_remaining"
44    SETTING = "setting"
45    SETTING_VALUE = "setting_value"
46    ENEMY_TYPE = "enemy_type"
EVENT_TYPE = 'event'
USER_ID = 'userID'
SESSION_ID = 'sessionID'
TIMESTAMP = 'timestamp'
ENCOUNTER = 'encounter_name'
DIFFICULTY = 'difficulty'
STAGE_NUMBER = 'stage_number'
LIVES_LEFT = 'lives_left'
COINS_GAINED = 'coins_gained'
UPGRADE_BOUGHT = 'upgrade_bought'
COINS_SPENT = 'coins_spent'
PLAYER_HP_REMAINING = 'player_HP_remaining'
SETTING = 'setting'
SETTING_VALUE = 'setting_value'
ENEMY_TYPE = 'enemy_type'
class EncounterName(builtins.str, enum.Enum):
49class EncounterName(str, Enum):
50    GOBLIN_ENCOUNTER = "GOBLIN_ENCOUNTER"
51    FISHMAN_ENCOUNTER = "FISHMAN_ENCOUNTER"

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

GOBLIN_ENCOUNTER = <EncounterName.GOBLIN_ENCOUNTER: 'GOBLIN_ENCOUNTER'>
FISHMAN_ENCOUNTER = <EncounterName.FISHMAN_ENCOUNTER: 'FISHMAN_ENCOUNTER'>
class UpgradeName(builtins.str, enum.Enum):
54class UpgradeName(str, Enum):
55    PHYSICAL_DAMAGE_RESISTANCE = "PHYSICAL_DAMAGE_RESISTANCE"
56    FIRE_DAMAGE_RESISTANCE = "FIRE_DAMAGE_RESISTANCE"
57    WATER_DAMAGE_RESISTANCE = "WATER_DAMAGE_RESISTANCE"
58    THUNDER_DAMAGE_RESISTANCE = "THUNDER_DAMAGE_RESISTANCE"
59    SLASH_UNLOCK = "SLASH_UNLOCK"
60    ABSOLUTE_PULSE_UNLOCK = "ABSOLUTE_PULSE_UNLOCK"
61    WATER_JET_UNLOCK = "WATER_JET_UNLOCK"
62    FIRE_BALL_UNLOCK = "FIRE_BALL_UNLOCK"
63    THUNDER_STORM_UNLOCK = "THUNDER_STORM_UNLOCK"

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

PHYSICAL_DAMAGE_RESISTANCE = <UpgradeName.PHYSICAL_DAMAGE_RESISTANCE: 'PHYSICAL_DAMAGE_RESISTANCE'>
FIRE_DAMAGE_RESISTANCE = <UpgradeName.FIRE_DAMAGE_RESISTANCE: 'FIRE_DAMAGE_RESISTANCE'>
WATER_DAMAGE_RESISTANCE = <UpgradeName.WATER_DAMAGE_RESISTANCE: 'WATER_DAMAGE_RESISTANCE'>
THUNDER_DAMAGE_RESISTANCE = <UpgradeName.THUNDER_DAMAGE_RESISTANCE: 'THUNDER_DAMAGE_RESISTANCE'>
SLASH_UNLOCK = <UpgradeName.SLASH_UNLOCK: 'SLASH_UNLOCK'>
ABSOLUTE_PULSE_UNLOCK = <UpgradeName.ABSOLUTE_PULSE_UNLOCK: 'ABSOLUTE_PULSE_UNLOCK'>
WATER_JET_UNLOCK = <UpgradeName.WATER_JET_UNLOCK: 'WATER_JET_UNLOCK'>
FIRE_BALL_UNLOCK = <UpgradeName.FIRE_BALL_UNLOCK: 'FIRE_BALL_UNLOCK'>
THUNDER_STORM_UNLOCK = <UpgradeName.THUNDER_STORM_UNLOCK: 'THUNDER_STORM_UNLOCK'>
class EnemyType(builtins.str, enum.Enum):
66class EnemyType(str, Enum):
67    GOBLIN = "Goblin"
68    FISHMAN = "Fishman"

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

GOBLIN = <EnemyType.GOBLIN: 'Goblin'>
FISHMAN = <EnemyType.FISHMAN: 'Fishman'>
class SettingName(builtins.str, enum.Enum):
71class SettingName(str, Enum):
72    TELEMETRY_ENABLED = "TELEMETRY_ENABLED"
73    PLAYER_MAX_HEALTH = "PLAYER_MAX_HEALTH"
74    ENEMY_DAMAGE_MULTIPLIER = "ENEMY_DAMAGE_MULTIPLIER"
75    ENEMY_MAX_HEALTH_MULTIPLIER = "ENEMY_MAX_HEALTH_MULTIPLIER"
76    STARTING_LIVES = "STARTING_LIVES"
77    MAX_MAGIC = "MAX_MAGIC"
78    MAGIC_REGEN_RATE = "MAGIC_REGEN_RATE"
79    SHOP_ITEM_COUNT = "SHOP_ITEM_COUNT"

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

TELEMETRY_ENABLED = <SettingName.TELEMETRY_ENABLED: 'TELEMETRY_ENABLED'>
PLAYER_MAX_HEALTH = <SettingName.PLAYER_MAX_HEALTH: 'PLAYER_MAX_HEALTH'>
ENEMY_DAMAGE_MULTIPLIER = <SettingName.ENEMY_DAMAGE_MULTIPLIER: 'ENEMY_DAMAGE_MULTIPLIER'>
ENEMY_MAX_HEALTH_MULTIPLIER = <SettingName.ENEMY_MAX_HEALTH_MULTIPLIER: 'ENEMY_MAX_HEALTH_MULTIPLIER'>
STARTING_LIVES = <SettingName.STARTING_LIVES: 'STARTING_LIVES'>
MAX_MAGIC = <SettingName.MAX_MAGIC: 'MAX_MAGIC'>
MAGIC_REGEN_RATE = <SettingName.MAGIC_REGEN_RATE: 'MAGIC_REGEN_RATE'>
SHOP_ITEM_COUNT = <SettingName.SHOP_ITEM_COUNT: 'SHOP_ITEM_COUNT'>
class Difficulty(builtins.str, enum.Enum):
82class Difficulty(str, Enum):
83    EASY = "Easy"
84    MEDIUM = "Medium"
85    HARD = "Hard"

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to 'strict'.

EASY = <Difficulty.EASY: 'Easy'>
MEDIUM = <Difficulty.MEDIUM: 'Medium'>
HARD = <Difficulty.HARD: 'Hard'>
class StartSession:
 88class StartSession:
 89    """
 90    StartSession object represents an instance of a 
 91    StartSession event.
 92    """
 93    def __init__(
 94            self,
 95            userID: int,
 96            sessionID: int,
 97            timestamp: datetime,
 98            difficulty: Difficulty
 99    ):
100        """ 
101        :param userID: Unique ID of the user.
102        :type userID: int
103        :param sessionID: Unique ID for the session.
104        :type sessionID: int
105        :param timestamp: Timestamp of the event. 
106        Format: YYYY/MM/DD/HH/MM/SS.
107        :type timestamp: datetime
108        :param difficulty: Difficulty of the session.
109        :type difficulty: Difficulty
110        """
111        self.userID = userID
112        self.sessionID = sessionID
113        self.timestamp = timestamp
114        self.difficulty = difficulty
115
116    def __repr__(self):
117        return f"""SessionStartObject
118            {self.userID=}
119            {self.sessionID=}
120            {self.timestamp=}"""

StartSession object represents an instance of a StartSession event.

StartSession( userID: int, sessionID: int, timestamp: datetime.datetime, difficulty: Difficulty)
 93    def __init__(
 94            self,
 95            userID: int,
 96            sessionID: int,
 97            timestamp: datetime,
 98            difficulty: Difficulty
 99    ):
100        """ 
101        :param userID: Unique ID of the user.
102        :type userID: int
103        :param sessionID: Unique ID for the session.
104        :type sessionID: int
105        :param timestamp: Timestamp of the event. 
106        Format: YYYY/MM/DD/HH/MM/SS.
107        :type timestamp: datetime
108        :param difficulty: Difficulty of the session.
109        :type difficulty: Difficulty
110        """
111        self.userID = userID
112        self.sessionID = sessionID
113        self.timestamp = timestamp
114        self.difficulty = difficulty
Parameters
  • userID: Unique ID of the user.
  • sessionID: Unique ID for the session.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
  • difficulty: Difficulty of the session.
userID
sessionID
timestamp
difficulty
class NormalEncounterStart:
123class NormalEncounterStart:
124    """
125    NormalEncounterStart object represents an instance of a
126    NormalEncounterStart event.
127    """
128    def __init__(self,
129            userID: int,
130            sessionID: int,
131            timestamp: datetime,
132            encounter_name: EncounterName,
133            difficulty: str,
134            stage_number: int
135    ):
136        """
137        :param userID: Unique ID of the user.
138        :type userID: int
139        :param sessionID: Unique ID for the session.
140        :type sessionID: int
141        :param timestamp: Timestamp of the event. 
142        Format: YYYY/MM/DD/HH/MM/SS.
143        :type timestamp: datetime
144        :param encounter_name: Name of the encounter player is starting.
145        :type encounter_name: EncounterName
146        :param difficulty: Difficulty level of the encounter.
147        :type difficulty: Difficulty
148        :param stage_number: Current stage player is starting.
149        :type stage_number: int
150        """
151        self.userID = userID
152        self.sessionID = sessionID
153        self.timestamp = timestamp
154        self.encounter_name = encounter_name
155        self.difficulty = difficulty
156        self.stage_number = stage_number
157
158    def __repr__(self):
159        return f"""NormalEncounterStartObject
160            {self.userID=}
161            {self.sessionID=}
162            {self.timestamp=}
163            {self.encounter_name=}
164            {self.difficulty=}
165            {self.stage_number=}"""

NormalEncounterStart object represents an instance of a NormalEncounterStart event.

NormalEncounterStart( userID: int, sessionID: int, timestamp: datetime.datetime, encounter_name: EncounterName, difficulty: str, stage_number: int)
128    def __init__(self,
129            userID: int,
130            sessionID: int,
131            timestamp: datetime,
132            encounter_name: EncounterName,
133            difficulty: str,
134            stage_number: int
135    ):
136        """
137        :param userID: Unique ID of the user.
138        :type userID: int
139        :param sessionID: Unique ID for the session.
140        :type sessionID: int
141        :param timestamp: Timestamp of the event. 
142        Format: YYYY/MM/DD/HH/MM/SS.
143        :type timestamp: datetime
144        :param encounter_name: Name of the encounter player is starting.
145        :type encounter_name: EncounterName
146        :param difficulty: Difficulty level of the encounter.
147        :type difficulty: Difficulty
148        :param stage_number: Current stage player is starting.
149        :type stage_number: int
150        """
151        self.userID = userID
152        self.sessionID = sessionID
153        self.timestamp = timestamp
154        self.encounter_name = encounter_name
155        self.difficulty = difficulty
156        self.stage_number = stage_number
Parameters
  • userID: Unique ID of the user.
  • sessionID: Unique ID for the session.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
  • encounter_name: Name of the encounter player is starting.
  • difficulty: Difficulty level of the encounter.
  • stage_number: Current stage player is starting.
userID
sessionID
timestamp
encounter_name
difficulty
stage_number
class NormalEncounterComplete:
168class NormalEncounterComplete:
169    """
170    NormalEncounterComplete object represents an instance of a
171    NormalEncounterComplete event.
172    """
173    def __init__(self,
174            userID: int,
175            sessionID: int,
176            timestamp: datetime,
177            encounter_name: EncounterName,
178            difficulty: Difficulty,
179            stage_number: int,
180            player_HP_remaining: int
181    ):
182        """
183        :param userID: Unique ID of the user.
184        :type userID: int
185        :param sessionID: Unique ID for the session.
186        :type sessionID: int
187        :param timestamp: Timestamp of the event. 
188        Format: YYYY/MM/DD/HH/MM/SS.
189        :type timestamp: datetime
190        :param encounter_name: Name of the encounter player 
191        has completed.
192        :type encounter_name: EncounterName
193        :param difficulty: Difficulty level of the encounter.
194        :type difficulty: Difficulty
195        :param stage_number: Current stage player has completed.
196        :type stage_number: int
197        :param player_HP_remaining: Number of HP points users 
198        character has remaining.
199        :type player_HP_remaining: int
200        """
201        self.userID = userID
202        self.sessionID = sessionID
203        self.timestamp = timestamp
204        self.encounter_name = encounter_name
205        self.difficulty = difficulty
206        self.stage_number = stage_number
207        self.player_HP_remaining = player_HP_remaining
208
209    def __repr__(self):
210        return f"""NormalEncounterCompleteObject
211            {self.userID=}
212            {self.sessionID=}
213            {self.timestamp=}
214            {self.encounter_name=}
215            {self.difficulty=}
216            {self.stage_number=}
217            {self.player_HP_remaining=}"""

NormalEncounterComplete object represents an instance of a NormalEncounterComplete event.

NormalEncounterComplete( userID: int, sessionID: int, timestamp: datetime.datetime, encounter_name: EncounterName, difficulty: Difficulty, stage_number: int, player_HP_remaining: int)
173    def __init__(self,
174            userID: int,
175            sessionID: int,
176            timestamp: datetime,
177            encounter_name: EncounterName,
178            difficulty: Difficulty,
179            stage_number: int,
180            player_HP_remaining: int
181    ):
182        """
183        :param userID: Unique ID of the user.
184        :type userID: int
185        :param sessionID: Unique ID for the session.
186        :type sessionID: int
187        :param timestamp: Timestamp of the event. 
188        Format: YYYY/MM/DD/HH/MM/SS.
189        :type timestamp: datetime
190        :param encounter_name: Name of the encounter player 
191        has completed.
192        :type encounter_name: EncounterName
193        :param difficulty: Difficulty level of the encounter.
194        :type difficulty: Difficulty
195        :param stage_number: Current stage player has completed.
196        :type stage_number: int
197        :param player_HP_remaining: Number of HP points users 
198        character has remaining.
199        :type player_HP_remaining: int
200        """
201        self.userID = userID
202        self.sessionID = sessionID
203        self.timestamp = timestamp
204        self.encounter_name = encounter_name
205        self.difficulty = difficulty
206        self.stage_number = stage_number
207        self.player_HP_remaining = player_HP_remaining
Parameters
  • userID: Unique ID of the user.
  • sessionID: Unique ID for the session.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
  • encounter_name: Name of the encounter player has completed.
  • difficulty: Difficulty level of the encounter.
  • stage_number: Current stage player has completed.
  • player_HP_remaining: Number of HP points users character has remaining.
userID
sessionID
timestamp
encounter_name
difficulty
stage_number
player_HP_remaining
class NormalEncounterFail:
220class NormalEncounterFail:
221    """
222    NormalEncounterFail object represents an instance of a
223    NormalEncounterFail event.
224    """
225    def __init__(self,
226            userID: int,
227            sessionID: int,
228            timestamp: datetime,
229            encounter_name: EncounterName,
230            difficulty: Difficulty,
231            stage_number: int,
232            lives_left: int
233    ):
234        """
235        :param userID: Unique ID of the user.
236        :type userID: int
237        :param sessionID: Unique ID for the session.
238        :type sessionID: int
239        :param timestamp: Timestamp of the event. 
240        Format: YYYY/MM/DD/HH/MM/SS.
241        :type timestamp: datetime
242        :param encounter_name: Name of the encounter player 
243        has failed.
244        :type encounter_name: EncounterName
245        :param difficulty: Difficulty level of the encounter.
246        :type difficulty: Difficulty
247        :param stage_number: Current stage player has failed.
248        :type stage_number: int
249        :param lives_left: Lives left at the end of an encounter.
250        :type lives_left: int
251        """
252        self.userID = userID
253        self.sessionID = sessionID
254        self.timestamp = timestamp
255        self.encounter_name = encounter_name
256        self.difficulty = difficulty
257        self.stage_number = stage_number
258        self.lives_left = lives_left
259
260    def __repr__(self):
261        return f"""NormalEncounterFailObject
262            {self.userID=}
263            {self.sessionID=}
264            {self.timestamp=}
265            {self.encounter_name=}
266            {self.difficulty=}
267            {self.stage_number=}
268            {self.lives_left=}"""

NormalEncounterFail object represents an instance of a NormalEncounterFail event.

NormalEncounterFail( userID: int, sessionID: int, timestamp: datetime.datetime, encounter_name: EncounterName, difficulty: Difficulty, stage_number: int, lives_left: int)
225    def __init__(self,
226            userID: int,
227            sessionID: int,
228            timestamp: datetime,
229            encounter_name: EncounterName,
230            difficulty: Difficulty,
231            stage_number: int,
232            lives_left: int
233    ):
234        """
235        :param userID: Unique ID of the user.
236        :type userID: int
237        :param sessionID: Unique ID for the session.
238        :type sessionID: int
239        :param timestamp: Timestamp of the event. 
240        Format: YYYY/MM/DD/HH/MM/SS.
241        :type timestamp: datetime
242        :param encounter_name: Name of the encounter player 
243        has failed.
244        :type encounter_name: EncounterName
245        :param difficulty: Difficulty level of the encounter.
246        :type difficulty: Difficulty
247        :param stage_number: Current stage player has failed.
248        :type stage_number: int
249        :param lives_left: Lives left at the end of an encounter.
250        :type lives_left: int
251        """
252        self.userID = userID
253        self.sessionID = sessionID
254        self.timestamp = timestamp
255        self.encounter_name = encounter_name
256        self.difficulty = difficulty
257        self.stage_number = stage_number
258        self.lives_left = lives_left
Parameters
  • userID: Unique ID of the user.
  • sessionID: Unique ID for the session.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
  • encounter_name: Name of the encounter player has failed.
  • difficulty: Difficulty level of the encounter.
  • stage_number: Current stage player has failed.
  • lives_left: Lives left at the end of an encounter.
userID
sessionID
timestamp
encounter_name
difficulty
stage_number
lives_left
class BossEncounterStart:
271class BossEncounterStart:
272    """
273    BossEncounterStart object represents an instance of a
274    BossEncounterStart event.
275    """
276    def __init__(self,
277            userID: int,
278            sessionID: int,
279            timestamp: datetime,
280            encounter_name: EncounterName,
281            difficulty: Difficulty,
282            stage_number: int
283    ):
284        """
285        :param userID: Unique ID of the user.
286        :type userID: int
287        :param sessionID: Unique ID for the session.
288        :type sessionID: int
289        :param timestamp: Timestamp of the event. 
290        Format: YYYY/MM/DD/HH/MM/SS.
291        :type timestamp: datetime
292        :param encounter_name: Name of the encounter player is starting.
293        :type encounter_name: EncounterName
294        :param difficulty: Difficulty level of the encounter.
295        :type difficulty: Difficulty
296        :param stage_number: Current stage player is starting.
297        :type stage_number: int
298        """
299        self.userID = userID
300        self.sessionID = sessionID
301        self.timestamp = timestamp
302        self.encounter_name = encounter_name
303        self.difficulty = difficulty
304        self.stage_number = stage_number
305
306    def __repr__(self):
307        return f"""BossEncounterStartObject
308            {self.userID=}
309            {self.sessionID=}
310            {self.timestamp=}
311            {self.encounter_name=}
312            {self.difficulty=}
313            {self.stage_number=}"""

BossEncounterStart object represents an instance of a BossEncounterStart event.

BossEncounterStart( userID: int, sessionID: int, timestamp: datetime.datetime, encounter_name: EncounterName, difficulty: Difficulty, stage_number: int)
276    def __init__(self,
277            userID: int,
278            sessionID: int,
279            timestamp: datetime,
280            encounter_name: EncounterName,
281            difficulty: Difficulty,
282            stage_number: int
283    ):
284        """
285        :param userID: Unique ID of the user.
286        :type userID: int
287        :param sessionID: Unique ID for the session.
288        :type sessionID: int
289        :param timestamp: Timestamp of the event. 
290        Format: YYYY/MM/DD/HH/MM/SS.
291        :type timestamp: datetime
292        :param encounter_name: Name of the encounter player is starting.
293        :type encounter_name: EncounterName
294        :param difficulty: Difficulty level of the encounter.
295        :type difficulty: Difficulty
296        :param stage_number: Current stage player is starting.
297        :type stage_number: int
298        """
299        self.userID = userID
300        self.sessionID = sessionID
301        self.timestamp = timestamp
302        self.encounter_name = encounter_name
303        self.difficulty = difficulty
304        self.stage_number = stage_number
Parameters
  • userID: Unique ID of the user.
  • sessionID: Unique ID for the session.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
  • encounter_name: Name of the encounter player is starting.
  • difficulty: Difficulty level of the encounter.
  • stage_number: Current stage player is starting.
userID
sessionID
timestamp
encounter_name
difficulty
stage_number
class BossEncounterComplete:
316class BossEncounterComplete:
317    """
318    BossEncounterComplete object represents an instance of a
319    BossEncounterComplete event.
320    """
321    def __init__(self,
322            userID: int,
323            sessionID: int,
324            timestamp: datetime,
325            encounter_name: EncounterName,
326            difficulty: Difficulty,
327            stage_number: int,
328            player_HP_remaining: int
329    ):
330        """
331        :param userID: Unique ID of the user.
332        :type userID: int
333        :param sessionID: Unique ID for the session.
334        :type sessionID: int
335        :param timestamp: Timestamp of the event. 
336        Format: YYYY/MM/DD/HH/MM/SS.
337        :type timestamp: datetime
338        :param encounter_name: Name of the encounter player 
339        has completed.
340        :type encounter_name: EncounterName
341        :param difficulty: Difficulty level of the encounter.
342        :type difficulty: Difficulty
343        :param stage_number: Current stage player has completed.
344        :type stage_number: int
345        :param player_HP_remaining: Player HP remaining once 
346        boss encounter is complete.
347        :type player_HP_remaining: int
348        """
349        self.userID = userID
350        self.sessionID = sessionID
351        self.timestamp = timestamp
352        self.encounter_name = encounter_name
353        self.difficulty = difficulty
354        self.stage_number = stage_number
355        self.player_HP_remaining = player_HP_remaining
356
357    def __repr__(self):
358        return f"""BossEncounterObject
359            {self.userID=}
360            {self.sessionID=}
361            {self.timestamp=}
362            {self.encounter_name=}
363            {self.difficulty=}
364            {self.stage_number=}"""

BossEncounterComplete object represents an instance of a BossEncounterComplete event.

BossEncounterComplete( userID: int, sessionID: int, timestamp: datetime.datetime, encounter_name: EncounterName, difficulty: Difficulty, stage_number: int, player_HP_remaining: int)
321    def __init__(self,
322            userID: int,
323            sessionID: int,
324            timestamp: datetime,
325            encounter_name: EncounterName,
326            difficulty: Difficulty,
327            stage_number: int,
328            player_HP_remaining: int
329    ):
330        """
331        :param userID: Unique ID of the user.
332        :type userID: int
333        :param sessionID: Unique ID for the session.
334        :type sessionID: int
335        :param timestamp: Timestamp of the event. 
336        Format: YYYY/MM/DD/HH/MM/SS.
337        :type timestamp: datetime
338        :param encounter_name: Name of the encounter player 
339        has completed.
340        :type encounter_name: EncounterName
341        :param difficulty: Difficulty level of the encounter.
342        :type difficulty: Difficulty
343        :param stage_number: Current stage player has completed.
344        :type stage_number: int
345        :param player_HP_remaining: Player HP remaining once 
346        boss encounter is complete.
347        :type player_HP_remaining: int
348        """
349        self.userID = userID
350        self.sessionID = sessionID
351        self.timestamp = timestamp
352        self.encounter_name = encounter_name
353        self.difficulty = difficulty
354        self.stage_number = stage_number
355        self.player_HP_remaining = player_HP_remaining
Parameters
  • userID: Unique ID of the user.
  • sessionID: Unique ID for the session.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
  • encounter_name: Name of the encounter player has completed.
  • difficulty: Difficulty level of the encounter.
  • stage_number: Current stage player has completed.
  • player_HP_remaining: Player HP remaining once boss encounter is complete.
userID
sessionID
timestamp
encounter_name
difficulty
stage_number
player_HP_remaining
class BossEncounterFail:
367class BossEncounterFail:
368    """
369    BossEncounterFail object represents an instance of a
370    BossEncounterFail event.
371    """
372    def __init__(
373            self,
374            userID: int,
375            sessionID: int,
376            timestamp: datetime,
377            encounter_name: EncounterName,
378            difficulty: Difficulty,
379            stage_number: int,
380            lives_left: int
381    ):
382        """
383        :param userID: Unique ID of the user.
384        :type userID: int
385        :param sessionID: Unique ID for the session.
386        :type sessionID: int
387        :param timestamp: Timestamp of the event. 
388        Format: YYYY/MM/DD/HH/MM/SS.
389        :type timestamp: datetime
390        :param encounter_name: Name of the encounter player has failed.
391        :type encounter_name: EncounterName
392        :param difficulty: Difficulty level of the encounter.
393        :type difficulty: Difficulty
394        :param stage_number: Current stage player has failed.
395        :type stage_number: int
396        :param lives_left: Lives left at the end of an encounter.
397        :type lives_left: int
398        """
399        self.userID = userID
400        self.sessionID = sessionID
401        self.timestamp = timestamp
402        self.encounter_name = encounter_name
403        self.difficulty = difficulty
404        self.stage_number = stage_number
405        self.lives_left = lives_left
406
407
408    def __repr__(self):
409        return f"""BossEncounterFailObject
410            {self.userID=}
411            {self.sessionID=}
412            {self.timestamp=}
413            {self.encounter_name=}
414            {self.difficulty=}
415            {self.stage_number=}
416            {self.lives_left=}"""

BossEncounterFail object represents an instance of a BossEncounterFail event.

BossEncounterFail( userID: int, sessionID: int, timestamp: datetime.datetime, encounter_name: EncounterName, difficulty: Difficulty, stage_number: int, lives_left: int)
372    def __init__(
373            self,
374            userID: int,
375            sessionID: int,
376            timestamp: datetime,
377            encounter_name: EncounterName,
378            difficulty: Difficulty,
379            stage_number: int,
380            lives_left: int
381    ):
382        """
383        :param userID: Unique ID of the user.
384        :type userID: int
385        :param sessionID: Unique ID for the session.
386        :type sessionID: int
387        :param timestamp: Timestamp of the event. 
388        Format: YYYY/MM/DD/HH/MM/SS.
389        :type timestamp: datetime
390        :param encounter_name: Name of the encounter player has failed.
391        :type encounter_name: EncounterName
392        :param difficulty: Difficulty level of the encounter.
393        :type difficulty: Difficulty
394        :param stage_number: Current stage player has failed.
395        :type stage_number: int
396        :param lives_left: Lives left at the end of an encounter.
397        :type lives_left: int
398        """
399        self.userID = userID
400        self.sessionID = sessionID
401        self.timestamp = timestamp
402        self.encounter_name = encounter_name
403        self.difficulty = difficulty
404        self.stage_number = stage_number
405        self.lives_left = lives_left
Parameters
  • userID: Unique ID of the user.
  • sessionID: Unique ID for the session.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
  • encounter_name: Name of the encounter player has failed.
  • difficulty: Difficulty level of the encounter.
  • stage_number: Current stage player has failed.
  • lives_left: Lives left at the end of an encounter.
userID
sessionID
timestamp
encounter_name
difficulty
stage_number
lives_left
class GainCoin:
419class GainCoin:
420    """
421    GainCoin object represents an instance of a GainCoin event.
422    """
423    def __init__(
424            self,
425            userID: int,
426            sessionID: int,
427            timestamp: datetime,
428            encounter_name: EncounterName,
429            difficulty: Difficulty,
430            stage_number: int,
431            coins_gained: int
432    ):
433        """
434        :param userID: Unique ID of the user.
435        :type userID: int
436        :param sessionID: Unique ID for the session.
437        :type sessionID: int
438        :param timestamp: Timestamp of the event. 
439        Format: YYYY/MM/DD/HH/MM/SS.
440        :type timestamp: datetime
441        :param encounter_name: Name of the encounter player is in.
442        :type encounter_name: EncounterName
443        :param difficulty: Difficulty level of the encounter.
444        :type difficulty: Difficulty
445        :param stage_number: Current stage number.
446        :type stage_number: int
447        :param coins_gained: Number of coins gained.
448        :type coins_gained: int
449        """        
450        self.userID = userID
451        self.sessionID = sessionID
452        self.timestamp = timestamp
453        self.encounter_name = encounter_name
454        self.difficulty = difficulty
455        self.stage_number = stage_number
456        self.coins_gained = coins_gained
457
458    def __repr__(self):
459        return f"""GainCoinObject
460            {self.userID=}
461            {self.sessionID=}
462            {self.timestamp=}
463            {self.encounter_name=}
464            {self.difficulty=}
465            {self.stage_number=}
466            {self.coins_gained=}"""

GainCoin object represents an instance of a GainCoin event.

GainCoin( userID: int, sessionID: int, timestamp: datetime.datetime, encounter_name: EncounterName, difficulty: Difficulty, stage_number: int, coins_gained: int)
423    def __init__(
424            self,
425            userID: int,
426            sessionID: int,
427            timestamp: datetime,
428            encounter_name: EncounterName,
429            difficulty: Difficulty,
430            stage_number: int,
431            coins_gained: int
432    ):
433        """
434        :param userID: Unique ID of the user.
435        :type userID: int
436        :param sessionID: Unique ID for the session.
437        :type sessionID: int
438        :param timestamp: Timestamp of the event. 
439        Format: YYYY/MM/DD/HH/MM/SS.
440        :type timestamp: datetime
441        :param encounter_name: Name of the encounter player is in.
442        :type encounter_name: EncounterName
443        :param difficulty: Difficulty level of the encounter.
444        :type difficulty: Difficulty
445        :param stage_number: Current stage number.
446        :type stage_number: int
447        :param coins_gained: Number of coins gained.
448        :type coins_gained: int
449        """        
450        self.userID = userID
451        self.sessionID = sessionID
452        self.timestamp = timestamp
453        self.encounter_name = encounter_name
454        self.difficulty = difficulty
455        self.stage_number = stage_number
456        self.coins_gained = coins_gained
Parameters
  • userID: Unique ID of the user.
  • sessionID: Unique ID for the session.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
  • encounter_name: Name of the encounter player is in.
  • difficulty: Difficulty level of the encounter.
  • stage_number: Current stage number.
  • coins_gained: Number of coins gained.
userID
sessionID
timestamp
encounter_name
difficulty
stage_number
coins_gained
class BuyUpgrade:
469class BuyUpgrade:
470    """
471    BuyUpgrade object represents an instance of an BuyUpgrade event.
472    """
473    def __init__(
474            self,
475            userID: int,
476            sessionID: int,
477            timestamp: datetime,
478            stage_number: int,
479            coins_spent: int,
480            upgrade_bought: UpgradeName
481    ):
482        """
483        :param userID: Unique ID of the user.
484        :type userID: int
485        :param sessionID: Unique ID for the session.
486        :type sessionID: int
487        :param timestamp: Timestamp of the event. 
488        Format: YYYY/MM/DD/HH/MM/SS.
489        :type timestamp: datetime
490        :param stage_number: Current stage player is complete.
491        :type stage_number: int
492        :param coins_spent: Number of coins spent on 
493        buying this upgrade.
494        :type coins_spent: int
495        :param upgrade_bought: The upgrade which was bought.
496        :type upgrade_bought: UpgradeName
497        """
498        self.userID = userID
499        self.sessionID = sessionID
500        self.timestamp = timestamp
501        self.stage_number = stage_number
502        self.coins_spent = coins_spent
503        self.upgrade_bought = upgrade_bought
504
505    def __repr__(self):
506        return f"""BuyUpgradeObject
507            {self.userID=}
508            {self.sessionID=}
509            {self.timestamp=}
510            {self.stage_number=}
511            {self.coins_spent=}
512            {self.upgrade_bought=}"""

BuyUpgrade object represents an instance of an BuyUpgrade event.

BuyUpgrade( userID: int, sessionID: int, timestamp: datetime.datetime, stage_number: int, coins_spent: int, upgrade_bought: UpgradeName)
473    def __init__(
474            self,
475            userID: int,
476            sessionID: int,
477            timestamp: datetime,
478            stage_number: int,
479            coins_spent: int,
480            upgrade_bought: UpgradeName
481    ):
482        """
483        :param userID: Unique ID of the user.
484        :type userID: int
485        :param sessionID: Unique ID for the session.
486        :type sessionID: int
487        :param timestamp: Timestamp of the event. 
488        Format: YYYY/MM/DD/HH/MM/SS.
489        :type timestamp: datetime
490        :param stage_number: Current stage player is complete.
491        :type stage_number: int
492        :param coins_spent: Number of coins spent on 
493        buying this upgrade.
494        :type coins_spent: int
495        :param upgrade_bought: The upgrade which was bought.
496        :type upgrade_bought: UpgradeName
497        """
498        self.userID = userID
499        self.sessionID = sessionID
500        self.timestamp = timestamp
501        self.stage_number = stage_number
502        self.coins_spent = coins_spent
503        self.upgrade_bought = upgrade_bought
Parameters
  • userID: Unique ID of the user.
  • sessionID: Unique ID for the session.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
  • stage_number: Current stage player is complete.
  • coins_spent: Number of coins spent on buying this upgrade.
  • upgrade_bought: The upgrade which was bought.
userID
sessionID
timestamp
stage_number
coins_spent
upgrade_bought
class EndSession:
515class EndSession:
516    """
517    EndSession object represents an instance of an EndSession event.
518    """
519    def __init__(
520            self,
521            userID: int,
522            sessionID: int,
523            timestamp: datetime
524    ):
525        """
526        :param userID: Unique ID of the user.
527        :type userID: int
528        :param sessionID: Unique ID for the session.
529        :type sessionID: int
530        :param timestamp: Timestamp of the event. 
531        Format: YYYY/MM/DD/HH/MM/SS.
532        :type timestamp: datetime
533        """
534        self.userID = userID
535        self.sessionID = sessionID
536        self.timestamp = timestamp
537
538    def __repr__(self):
539        return f"""EndSessionObject
540            {self.userID=}
541            {self.sessionID=}
542            {self.timestamp=}"""

EndSession object represents an instance of an EndSession event.

EndSession(userID: int, sessionID: int, timestamp: datetime.datetime)
519    def __init__(
520            self,
521            userID: int,
522            sessionID: int,
523            timestamp: datetime
524    ):
525        """
526        :param userID: Unique ID of the user.
527        :type userID: int
528        :param sessionID: Unique ID for the session.
529        :type sessionID: int
530        :param timestamp: Timestamp of the event. 
531        Format: YYYY/MM/DD/HH/MM/SS.
532        :type timestamp: datetime
533        """
534        self.userID = userID
535        self.sessionID = sessionID
536        self.timestamp = timestamp
Parameters
  • userID: Unique ID of the user.
  • sessionID: Unique ID for the session.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
userID
sessionID
timestamp
class SettingsChange:
545class SettingsChange:
546    """
547    SettingsChange object represents an instance of a 
548    SettingsChange event.
549    """
550    def __init__(
551        self,
552        userID: str,
553        timestamp: datetime,
554        setting: SettingName,
555        value: int
556    ):
557        """
558        :param userID: UserID of user changing setting.
559        :param timestamp: Timestamp of the event. 
560        Format: YYYY/MM/DD/HH/MM/SS.
561        :type timestamp: datetime
562        :param setting: The setting which was changed.
563        :type setting: SettingName
564        :param value: The new value to which the changed 
565        setting was set to. 
566        :type value: int
567        """
568        self.userID = userID
569        self.timestamp = timestamp
570        self.setting = setting
571        self.value = value
572
573    def __repr__(self):
574        return f"""SettingsChangeObject
575            {self.timestamp=}
576            {self.setting=}
577            {self.value=}"""

SettingsChange object represents an instance of a SettingsChange event.

SettingsChange( userID: str, timestamp: datetime.datetime, setting: SettingName, value: int)
550    def __init__(
551        self,
552        userID: str,
553        timestamp: datetime,
554        setting: SettingName,
555        value: int
556    ):
557        """
558        :param userID: UserID of user changing setting.
559        :param timestamp: Timestamp of the event. 
560        Format: YYYY/MM/DD/HH/MM/SS.
561        :type timestamp: datetime
562        :param setting: The setting which was changed.
563        :type setting: SettingName
564        :param value: The new value to which the changed 
565        setting was set to. 
566        :type value: int
567        """
568        self.userID = userID
569        self.timestamp = timestamp
570        self.setting = setting
571        self.value = value
Parameters
  • userID: UserID of user changing setting.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
  • setting: The setting which was changed.
  • value: The new value to which the changed setting was set to.
userID
timestamp
setting
value
class KillEnemy:
580class KillEnemy:
581    """
582    KillEnemy object represents an instance of a KillEnemy event.
583    """
584    def __init__(
585        self,
586        userID: int,
587        sessionID: int,
588        timestamp: datetime,
589        encounter_name: EncounterName,
590        difficulty: Difficulty,
591        stage_number: int,
592        enemy_type: EnemyType
593    ):
594        """
595        :param userID: Unique ID of the user.
596        :type userID: int
597        :param sessionID: Unique ID for the session.
598        :type sessionID: int
599        :param timestamp: Timestamp of the event. 
600        Format: YYYY/MM/DD/HH/MM/SS.
601        :type timestamp: datetime
602        :param encounter_name: Name of the encounter player is 
603        in at time of kill.
604        :type encounter_name: EncounterName
605        :param difficulty: Difficulty level of the encounter.
606        :type difficulty: Difficulty
607        :param stage_number: Current stage player is in at time of kill.
608        :type stage_number: int
609        :param enemy_type: Type of enemy which was killed.
610        :type enemy_type: EnemyType
611        """
612        self.userID = userID
613        self.sessionID = sessionID
614        self.timestamp = timestamp
615        self.encounter_name = encounter_name
616        self.difficulty = difficulty
617        self.stage_number = stage_number
618        self.enemy_type = enemy_type
619
620    def __repr__(self):
621        return f"""KillEnemyObject
622            {self.userID=}
623            {self.sessionID=}
624            {self.timestamp=}
625            {self.encounter_name=}
626            {self.difficulty=}
627            {self.stage_number=}
628            {self.enemy_type=}"""

KillEnemy object represents an instance of a KillEnemy event.

KillEnemy( userID: int, sessionID: int, timestamp: datetime.datetime, encounter_name: EncounterName, difficulty: Difficulty, stage_number: int, enemy_type: EnemyType)
584    def __init__(
585        self,
586        userID: int,
587        sessionID: int,
588        timestamp: datetime,
589        encounter_name: EncounterName,
590        difficulty: Difficulty,
591        stage_number: int,
592        enemy_type: EnemyType
593    ):
594        """
595        :param userID: Unique ID of the user.
596        :type userID: int
597        :param sessionID: Unique ID for the session.
598        :type sessionID: int
599        :param timestamp: Timestamp of the event. 
600        Format: YYYY/MM/DD/HH/MM/SS.
601        :type timestamp: datetime
602        :param encounter_name: Name of the encounter player is 
603        in at time of kill.
604        :type encounter_name: EncounterName
605        :param difficulty: Difficulty level of the encounter.
606        :type difficulty: Difficulty
607        :param stage_number: Current stage player is in at time of kill.
608        :type stage_number: int
609        :param enemy_type: Type of enemy which was killed.
610        :type enemy_type: EnemyType
611        """
612        self.userID = userID
613        self.sessionID = sessionID
614        self.timestamp = timestamp
615        self.encounter_name = encounter_name
616        self.difficulty = difficulty
617        self.stage_number = stage_number
618        self.enemy_type = enemy_type
Parameters
  • userID: Unique ID of the user.
  • sessionID: Unique ID for the session.
  • timestamp: Timestamp of the event. Format: YYYY/MM/DD/HH/MM/SS.
  • encounter_name: Name of the encounter player is in at time of kill.
  • difficulty: Difficulty level of the encounter.
  • stage_number: Current stage player is in at time of kill.
  • enemy_type: Type of enemy which was killed.
userID
sessionID
timestamp
encounter_name
difficulty
stage_number
enemy_type