Add prelim support for CharacterGuid to spawn struct.

This commit is contained in:
KimLS 2024-11-14 22:32:26 -08:00
parent c20439dbb4
commit 200b7fa604
2 changed files with 16 additions and 7 deletions

View File

@ -47,6 +47,13 @@ static const uint32 ADVANCED_LORE_LENGTH = 8192;
*/
#pragma pack(1)
struct EqGuid
{
uint32_t Id;
uint16_t WorldId;
uint16_t Reserved;
};
struct LoginInfo_Struct {
/*000*/ char login_info[64];
/*064*/ uint8 unknown064[124];
@ -324,6 +331,7 @@ union
bool guild_show;
bool trader;
bool buyer;
EqGuid CharacterGuid;
};
struct PlayerState_Struct {
@ -6436,13 +6444,6 @@ struct BuylineItemDetails_Struct {
uint32 item_quantity;
};
struct EqGuid
{
uint32_t Id;
uint16_t WorldId;
uint16_t Reserved;
};
// Restore structure packing to default
#pragma pack()

View File

@ -1275,6 +1275,14 @@ void Mob::FillSpawnStruct(NewSpawn_Struct* ns, Mob* ForWho)
strcpy(ns->spawn.name, name);
if(IsClient()) {
strn0cpy(ns->spawn.lastName, lastname, sizeof(ns->spawn.lastName));
ns->spawn.CharacterGuid.Id = CastToClient()->CharacterID();
ns->spawn.CharacterGuid.WorldId = RuleI(World, Id);
ns->spawn.CharacterGuid.Reserved = 0;
}
else {
ns->spawn.CharacterGuid.Id = 0;
ns->spawn.CharacterGuid.WorldId = 0;
ns->spawn.CharacterGuid.Reserved = 0;
}
ns->spawn.heading = FloatToEQ12(m_Position.w);