Work on skill updates.

This commit is contained in:
KimLS
2024-12-14 19:37:10 -08:00
parent 6070e73b16
commit be0c6b5e05
4 changed files with 51 additions and 7 deletions
+25
View File
@@ -3137,6 +3137,31 @@ namespace Laurion
FINISH_ENCODE();
}
ENCODE(OP_GMTrainSkillConfirm)
{
ENCODE_LENGTH_EXACT(GMTrainSkillConfirm_Struct);
SETUP_DIRECT_ENCODE(GMTrainSkillConfirm_Struct, structs::GMTrainSkillConfirm_Struct);
OUT(SkillID);
OUT(Cost);
OUT(NewSkill);
OUT_str(TrainerName);
FINISH_ENCODE();
}
ENCODE(OP_SkillUpdate)
{
ENCODE_LENGTH_EXACT(SkillUpdate_Struct);
SETUP_DIRECT_ENCODE(SkillUpdate_Struct, structs::SkillUpdate_Struct);
OUT(skillId);
OUT(value);
eq->active = 1;
FINISH_ENCODE();
}
// DECODE methods
DECODE(OP_EnterWorld)
+2
View File
@@ -42,6 +42,8 @@ E(OP_ManaChange)
E(OP_Action)
E(OP_MobHealth)
E(OP_GMTraining)
E(OP_GMTrainSkillConfirm)
E(OP_SkillUpdate)
//list of packets we need to decode on the way in:
D(OP_EnterWorld)
D(OP_ZoneEntry)
+17
View File
@@ -748,6 +748,23 @@ namespace Laurion {
/*444*/
};
struct GMTrainSkillConfirm_Struct {
/*000*/ uint32 SkillID;
/*004*/ uint32 Cost;
/*008*/ uint8 NewSkill; // Set to 1 for 'You have learned the basics' message.
/*009*/ char TrainerName[64];
/*073*/ uint8 Unknown073[3];
/*076*/
};
struct SkillUpdate_Struct {
/*00*/ uint32 skillId;
/*04*/ uint32 value;
/*08*/ uint8 active;
/*09*/ uint8 padding[3];
/*12*/
};
#pragma pack()
}; //end namespace structs