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.
- {albibong-1.0.5 → albibong-1.0.7}/PKG-INFO +1 -2
- {albibong-1.0.5 → albibong-1.0.7}/pyproject.toml +1 -2
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/character.py +9 -3
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_operation_join.py +10 -4
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/world_data_utils.py +11 -1
- albibong-1.0.7/src/albibong/classes/location.py +20 -0
- albibong-1.0.7/src/albibong/gui_dist/assets/index-Dt6hyZiS.css +1 -0
- albibong-1.0.7/src/albibong/gui_dist/assets/index-WIuC9Mnh.js +161 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/index.html +2 -2
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/requirements.txt +0 -1
- albibong-1.0.7/src/albibong/resources/EventCode.py +593 -0
- albibong-1.0.7/src/albibong/resources/OperationCode.py +502 -0
- albibong-1.0.7/src/albibong/resources/event_code.json +591 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/resources/items.json +21767 -21108
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/resources/maps.json +502 -261
- albibong-1.0.7/src/albibong/resources/operation_code.json +500 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/threads/websocket_server.py +28 -0
- albibong-1.0.5/src/albibong/classes/location.py +0 -48
- albibong-1.0.5/src/albibong/resources/EventCode.py +0 -588
- albibong-1.0.5/src/albibong/resources/OperationCode.py +0 -499
- albibong-1.0.5/src/albibong/resources/event_code.json +0 -586
- albibong-1.0.5/src/albibong/resources/operation_code.json +0 -497
- {albibong-1.0.5 → albibong-1.0.7}/.gitignore +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/LICENSE +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/__init__.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/__main__.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/assets/boom_small.mp3 +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/__init__.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/coords.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/dungeon.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/__init__.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_character_equipment_changed.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_health.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_in_combat_state_update.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_new_character.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_other_grabbed_loot.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_party.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_update_fame.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_event_update_re_spec_points.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_operation_change_cluster.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_operation_move.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/item.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/logger.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/packet_handler.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/utils.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/world_data.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/Albibong.png +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/No Equipment.png +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/assets/index-DZvgNqlG.css +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/assets/index-E7pha23k.js +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/fame.png +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/re_spec.png +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/silver.png +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/gui_dist/vite.svg +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/__init__.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/command_type.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/crc_calculator.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/event_data.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/message_type.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/number_serializer.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/operation_request.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/operation_response.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/photon_packet_parser.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/protocol16_deserializer.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/protocol16_type.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/photon_packet_parser/segmented_packet.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/threads/__init__.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/threads/http_server.py +0 -0
- {albibong-1.0.5 → albibong-1.0.7}/src/albibong/threads/packet_handler_thread.py +0 -0
- {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.
|
|
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.
|
|
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":
|
|
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": {
|
|
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": {
|
|
97
|
+
"payload": {
|
|
98
|
+
"username": self.username,
|
|
99
|
+
"silver_gained": self.silver_gained,
|
|
100
|
+
},
|
|
95
101
|
}
|
|
96
102
|
send_event(event)
|
|
97
103
|
else:
|
{albibong-1.0.5 → albibong-1.0.7}/src/albibong/classes/event_handler/handle_operation_join.py
RENAMED
|
@@ -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
|
|
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}
|