diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/protocol.py | 85 |
1 files changed, 79 insertions, 6 deletions
diff --git a/tools/protocol.py b/tools/protocol.py index 86b625f..f7be6e5 100755 --- a/tools/protocol.py +++ b/tools/protocol.py @@ -4278,8 +4278,34 @@ def build_context(): Being adds/removes a persistent status effect. ''', ) - # 0x0199 define='SMSG_PVP_MAP_MODE', - # 0x019a define='SMSG_PVP_SET', + map_user.s(0x0199, 'map pvp status', + define='SMSG_PVP_MAP_MODE', + fixed=[ + at(0, u16, 'packet id'), + at(2, u16, 'status'), + ], + fixed_size=4, + pre=[NOTHING], + post=[PRETTY], + desc=''' + Send the map pvp status + ''', + ) + map_user.s(0x019a, 'being pvp status', + define='SMSG_PVP_SET', + fixed=[ + at(0, u16, 'packet id'), + at(2, block_id, 'block id'), + at(6, u32, 'rank'), + at(10, u32, 'channel'), + ], + fixed_size=14, + pre=[NOTHING], + post=[PRETTY], + desc=''' + Send the pvp status + ''', + ) map_user.s(0x019b, 'being effect', define='SMSG_BEING_SELFEFFECT', fixed=[ @@ -4605,7 +4631,7 @@ def build_context(): at(0, u16, 'packet id'), at(2, block_id, 'npc id'), at(6, u16, 'command'), - at(8, block_id, 'id'), + at(8, u32, 'id'), at(12, u16, 'x'), at(14, u16, 'y'), ], @@ -4677,9 +4703,56 @@ def build_context(): Send mob walkpath data to client ''', ) - # 0x0226 define='SMSG_MAP_MASK', - # 0x0227 define='SMSG_MAP_MUSIC', - # 0x0228 define='SMSG_NPC_CHANGETITLE', + map_user.s(0x0226, 'send map mask', + define='SMSG_MAP_MASK', + fixed=[ + at(0, u16, 'packet id'), + at(2, u32, 'mask'), + at(6, u32, 'unused'), + ], + fixed_size=10, + pre=[NOTHING], + post=[PRETTY], + desc=''' + Set map mask + ''', + ) + map_user.s(0x0227, 'change map music', + define='SMSG_MAP_MUSIC', + head=[ + at(0, u16, 'packet id'), + at(2, u16, 'packet length'), + ], + head_size=4, + repeat=[ + at(0, u8, 'c'), + ], + repeat_size=1, + pre=[NOTHING], + post=[PRETTY], + desc=''' + Change map music + ''', + ) + map_user.s(0x0228, 'npc change title', + define='SMSG_NPC_CHANGETITLE', + head=[ + at(0, u16, 'packet id'), + at(2, u16, 'packet length'), + at(4, block_id, 'npc id'), + at(8, u16, 'string length'), + ], + head_size=10, + repeat=[ + at(0, u8, 'c'), + ], + repeat_size=1, + pre=[NOTHING], + post=[PRETTY], + desc=''' + Change npc title + ''', + ) # TOC_LOGINCHAR # login char |