fix(pet): write the names bit on updates too

The client reads the moderation and names bit whenever the pet component is
dirty, on updates as well as on construction (LWOPetComponent::Deserialize),
and live wrote a 0 there on updates. DLU wrote it only on construction, so
on an update the client took the next component's first bit (a combat AI's
dirty bit) for it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-30 08:39:23 -05:00
parent 3956df8877
commit ebc2fd3abf
2 changed files with 16 additions and 1 deletions

View File

@@ -96,7 +96,10 @@ void PetComponent::Serialize(RakNet::BitStream& outBitStream, bool bIsInitialUpd
outBitStream.Write(m_Owner);
}
if (bIsInitialUpdate) {
// The client reads this bit on every update while dirty (as live wrote it): the names follow when it is set
if (!bIsInitialUpdate) {
outBitStream.Write0();
} else {
outBitStream.Write(tamed);
if (tamed) {
outBitStream.Write(m_ModerationStatus);