Validated up to OP_ExpUpdate

This commit is contained in:
dannuic
2026-04-16 17:13:17 -06:00
parent fe4146050f
commit a8e3ab41e1
5 changed files with 22 additions and 7 deletions
+14
View File
@@ -145,6 +145,20 @@ namespace TOB
#include "ss_define.h"
// ENCODE methods
ENCODE(OP_AAExpUpdate) {
ENCODE_LENGTH_EXACT(AltAdvStats_Struct);
SETUP_DIRECT_ENCODE(AltAdvStats_Struct, structs::AltAdvStats_Struct);
//later we should change the underlying server to use this more accurate value
//and encode the 330 in the other patches
eq->experience = emu->experience * 100000 / 330;
OUT(unspent);
OUT(percentage);
FINISH_ENCODE();
}
ENCODE(OP_Action) {
ENCODE_LENGTH_EXACT(Action_Struct);
SETUP_DIRECT_ENCODE(Action_Struct, structs::MissileHitInfo);
+1
View File
@@ -1,4 +1,5 @@
//list of packets we need to encode on the way out:
E(OP_AAExpUpdate)
E(OP_Action)
E(OP_Animation)
E(OP_ApplyPoison)
+3 -3
View File
@@ -503,8 +503,8 @@ namespace TOB {
struct ExpUpdate_Struct
{
/*000*/ uint64 exp; //This is exp % / 1000 now; eg 69250 = 69.25%
/*008*/ uint64 unknown; //unclear, I didn't see the client actually read this value but i might have missed it
/*000*/ uint64 exp; // This is exp % / 1000 now; eg 69250 = 69.25%
/*008*/ uint64 unknown; // if this is the value "2", it opens up the tip window
};
struct DeleteSpawn_Struct
@@ -832,7 +832,7 @@ namespace TOB {
/*000*/ uint32 experience;
/*004*/ uint32 unspent;
/*008*/ uint8 percentage;
/*009*/ uint8 unknown009[3];
/*009*/ uint8 padding[3];
};
struct ZonePlayerToBind_Struct {