albibong 1.0.5__tar.gz → 1.0.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. {albibong-1.0.5 → albibong-1.0.7}/PKG-INFO +1 -2
  2. {albibong-1.0.5 → albibong-1.0.7}/pyproject.toml +1 -2
  3. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/character.py +9 -3
  4. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_operation_join.py +10 -4
  5. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/world_data_utils.py +11 -1
  6. albibong-1.0.7/src/albibong/classes/location.py +20 -0
  7. albibong-1.0.7/src/albibong/gui_dist/assets/index-Dt6hyZiS.css +1 -0
  8. albibong-1.0.7/src/albibong/gui_dist/assets/index-WIuC9Mnh.js +161 -0
  9. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/index.html +2 -2
  10. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/requirements.txt +0 -1
  11. albibong-1.0.7/src/albibong/resources/EventCode.py +593 -0
  12. albibong-1.0.7/src/albibong/resources/OperationCode.py +502 -0
  13. albibong-1.0.7/src/albibong/resources/event_code.json +591 -0
  14. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/resources/items.json +21767 -21108
  15. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/resources/maps.json +502 -261
  16. albibong-1.0.7/src/albibong/resources/operation_code.json +500 -0
  17. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/threads/websocket_server.py +28 -0
  18. albibong-1.0.5/src/albibong/classes/location.py +0 -48
  19. albibong-1.0.5/src/albibong/resources/EventCode.py +0 -588
  20. albibong-1.0.5/src/albibong/resources/OperationCode.py +0 -499
  21. albibong-1.0.5/src/albibong/resources/event_code.json +0 -586
  22. albibong-1.0.5/src/albibong/resources/operation_code.json +0 -497
  23. {albibong-1.0.5 → albibong-1.0.7}/.gitignore +0 -0
  24. {albibong-1.0.5 → albibong-1.0.7}/LICENSE +0 -0
  25. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/__init__.py +0 -0
  26. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/__main__.py +0 -0
  27. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/assets/boom_small.mp3 +0 -0
  28. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/__init__.py +0 -0
  29. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/coords.py +0 -0
  30. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/dungeon.py +0 -0
  31. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/__init__.py +0 -0
  32. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_character_equipment_changed.py +0 -0
  33. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_health.py +0 -0
  34. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_in_combat_state_update.py +0 -0
  35. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_new_character.py +0 -0
  36. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_other_grabbed_loot.py +0 -0
  37. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_party.py +0 -0
  38. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_update_fame.py +0 -0
  39. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_update_re_spec_points.py +0 -0
  40. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_operation_change_cluster.py +0 -0
  41. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_operation_move.py +0 -0
  42. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/item.py +0 -0
  43. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/logger.py +0 -0
  44. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/packet_handler.py +0 -0
  45. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/utils.py +0 -0
  46. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/world_data.py +0 -0
  47. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/Albibong.png +0 -0
  48. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/No Equipment.png +0 -0
  49. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/assets/index-DZvgNqlG.css +0 -0
  50. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/assets/index-E7pha23k.js +0 -0
  51. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/fame.png +0 -0
  52. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/re_spec.png +0 -0
  53. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/silver.png +0 -0
  54. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/vite.svg +0 -0
  55. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/__init__.py +0 -0
  56. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/command_type.py +0 -0
  57. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/crc_calculator.py +0 -0
  58. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/event_data.py +0 -0
  59. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/message_type.py +0 -0
  60. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/number_serializer.py +0 -0
  61. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/operation_request.py +0 -0
  62. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/operation_response.py +0 -0
  63. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/photon_packet_parser.py +0 -0
  64. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/protocol16_deserializer.py +0 -0
  65. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/protocol16_type.py +0 -0
  66. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/segmented_packet.py +0 -0
  67. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/threads/__init__.py +0 -0
  68. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/threads/http_server.py +0 -0
  69. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/threads/packet_handler_thread.py +0 -0
  70. {albibong-1.0.5 → albibong-1.0.7}/src/albibong/threads/sniffer_thread.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: albibong
3
- Version: 1.0.5
3
+ Version: 1.0.7
4
4
  Summary: A cross-platform Albion Online damage, fame, and dungeon tracker
5
5
  Project-URL: Homepage, https://github.com/imjangkar/albibong
6
6
  Project-URL: Issues, https://github.com/imjangkar/albibong/issues
@@ -10,7 +10,6 @@ Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Operating System :: OS Independent
11
11
  Classifier: Programming Language :: Python :: 3
12
12
  Requires-Python: >=3.10
13
- Requires-Dist: playsound==1.3.0
14
13
  Requires-Dist: pywebview==5.1
15
14
  Requires-Dist: scapy==2.5.0
16
15
  Requires-Dist: websockets==12.0
@@ -19,7 +19,7 @@ albibong = "albibong:main"
19
19
 
20
20
  [project]
21
21
  name = "albibong"
22
- version = "1.0.5"
22
+ version = "1.0.7"
23
23
  authors = [
24
24
  { name="imjangkar", email="imjangkar@gmail.com" },
25
25
  ]
@@ -34,7 +34,6 @@ dependencies = [
34
34
  "scapy==2.5.0",
35
35
  "websockets==12.0",
36
36
  "pywebview==5.1",
37
- "playsound==1.3.0"
38
37
  ]
39
38
 
40
39
  [project.urls]
@@ -71,7 +71,7 @@ class Character:
71
71
  self.fame_gained += fame
72
72
  event = {
73
73
  "type": "update_fame",
74
- "payload": {"username": self.username, "fame_gained": fame},
74
+ "payload": {"username": self.username, "fame_gained": self.fame_gained},
75
75
  }
76
76
  send_event(event)
77
77
 
@@ -80,7 +80,10 @@ class Character:
80
80
  self.re_spec_gained += re_spec
81
81
  event = {
82
82
  "type": "update_re_spec",
83
- "payload": {"username": self.username, "re_spec_gained": re_spec},
83
+ "payload": {
84
+ "username": self.username,
85
+ "re_spec_gained": self.re_spec_gained,
86
+ },
84
87
  }
85
88
  send_event(event)
86
89
 
@@ -91,7 +94,10 @@ class Character:
91
94
  self.silver_gained += silver
92
95
  event = {
93
96
  "type": "update_silver",
94
- "payload": {"username": self.username, "silver_gained": silver},
97
+ "payload": {
98
+ "username": self.username,
99
+ "silver_gained": self.silver_gained,
100
+ },
95
101
  }
96
102
  send_event(event)
97
103
  else:
@@ -7,10 +7,16 @@ from albibong.threads.websocket_server import send_event
7
7
 
8
8
 
9
9
  def handle_operation_join(world_data: WorldData, parameters):
10
+ # update relative id if character has initialized before
11
+ if world_data.me.username != "not initialized":
12
+ WorldDataUtils.convert_id_to_name(
13
+ world_data,
14
+ old_id=world_data.me.id,
15
+ new_id=parameters[0],
16
+ char=world_data.me,
17
+ )
18
+
10
19
  # set my character
11
- WorldDataUtils.convert_id_to_name(
12
- world_data, old_id=world_data.me.id, new_id=parameters[0], char=world_data.me
13
- )
14
20
  world_data.me.uuid = Utils.convert_int_arr_to_uuid(parameters[1])
15
21
  world_data.me.username = parameters[2]
16
22
  world_data.me.guild = parameters[57] if 57 in parameters else ""
@@ -30,7 +36,7 @@ def handle_operation_join(world_data: WorldData, parameters):
30
36
  # set map my character is currently in
31
37
  if parameters[8][0] == "@":
32
38
  area = parameters[8].split("@")
33
- if area[1] == "RANDOMDUNGEON":
39
+ if area[1] == "RANDOMDUNGEON" or area[1] == "MISTS":
34
40
  check_map = Location.get_location_from_code(area[1])
35
41
  WorldDataUtils.start_current_dungeon(
36
42
  world_data, type=check_map.type, name=check_map.name
@@ -52,10 +52,20 @@ class WorldDataUtils:
52
52
  def set_dungeon_status(
53
53
  world_data: WorldData, check_map: Location, map_type_splitted: set
54
54
  ):
55
- if "EXPEDITION" in map_type_splitted or "DUNGEON" in map_type_splitted:
55
+ if "EXPEDITION" in map_type_splitted:
56
56
  WorldDataUtils.start_current_dungeon(
57
57
  world_data, type=check_map.type, name=check_map.name
58
58
  )
59
+ elif "DUNGEON" in map_type_splitted:
60
+ WorldDataUtils.start_current_dungeon(
61
+ world_data,
62
+ type=check_map.type,
63
+ name=(
64
+ f"{check_map.name} at {world_data.current_map.name}"
65
+ if world_data.current_map
66
+ else check_map.name
67
+ ),
68
+ )
59
69
  elif (
60
70
  "EXPEDITION" not in map_type_splitted or "DUNGEON" not in map_type_splitted
61
71
  ):
@@ -0,0 +1,20 @@
1
+ import json
2
+ import os
3
+
4
+ mapsJsonPath = os.path.join(os.path.dirname(__file__), "../resources/maps.json")
5
+ with open(mapsJsonPath) as json_file:
6
+ map_data = json.load(json_file)
7
+
8
+
9
+ class Location:
10
+
11
+ def __init__(self, id: str, name: str, type: str):
12
+ self.id = id
13
+ self.name = name
14
+ self.type = type
15
+
16
+ @classmethod
17
+ def get_location_from_code(cls, code: str):
18
+ location = map_data[code]
19
+
20
+ return cls(id=location["id"], name=location["name"], type=location["type"])
@@ -0,0 +1 @@
1
+ *{box-sizing:border-box}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}p{margin:0}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}#root,body{margin:auto;display:flex;flex-direction:column;justify-content:start;align-items:center;min-width:320px;min-height:100vh;color:#fff;width:100%}h1{font-size:2em;line-height:1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}._dmgBar_uvx94_1{background:linear-gradient(135deg,#ff6486,#6486ff);height:6px;border-radius:8px;margin-bottom:2px}._healBar_uvx94_8{background:linear-gradient(135deg,#64ffde,#64ff90);height:2px;border-radius:4px}._dpsContainer_uvx94_14{display:flex;flex-direction:column;justify-content:flex-start;width:100%;gap:4px;box-sizing:content-box;padding:16px}._dpsRow_uvx94_24{display:flex;flex-direction:row;justify-content:space-between;align-items:center}._dpsNumber_uvx94_31{width:128px;text-align:right}._dpsButton_uvx94_36{display:flex;flex-grow:1;gap:1rem}._hidden_uvx94_42{display:none}._player_uvx94_46{flex-grow:1}._checkboxColor_uvx94_50{accent-color:#64d3ff}._dungeonContainer_3nxyx_1{border-radius:1rem;width:100%;padding:2rem;display:flex;flex-direction:column;gap:1rem}._tag_3nxyx_12{background-color:#64d3ff;padding:0 1rem;border-radius:1rem;color:#0f3c4e;font-weight:700}._stickToTop_3nxyx_20{z-index:10;position:sticky;top:64px;left:0;width:100%;padding:24px 0}._container_pkz1i_1{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;gap:1.5rem}._snackbar_pkz1i_10{position:fixed;right:64px}._stats_pkz1i_15{display:flex;flex-direction:row;align-items:center;gap:.5rem}._options_pkz1i_22{display:flex;flex-direction:row;align-items:center;gap:2rem}._row_pkz1i_29{display:flex;width:100%;justify-content:space-between}._hidden_pkz1i_35{display:none}