fix(master): a rocket launch preps the clone the player is going to

Launching to a property started an extra clone 0 instance of the zone besides the property's own, because
the prep only carried the zone. PrepZone now carries the clone when there is one (written only then, so a
plain prep is unchanged).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-29 23:11:20 -05:00
parent 1147b61fcb
commit 79d69bf4ac
6 changed files with 30 additions and 7 deletions

View File

@@ -201,10 +201,13 @@ namespace MasterPackets {
void PrepZone::Serialize(RakNet::BitStream& bitStream) const {
bitStream.Write(zoneID);
if (cloneID != 0) bitStream.Write(cloneID);
}
bool PrepZone::Deserialize(RakNet::BitStream& bitStream) {
VALIDATE_READ(bitStream.Read(zoneID));
cloneID = 0;
if (bitStream.GetNumberOfUnreadBits() >= 32) VALIDATE_READ(bitStream.Read(cloneID));
return true;
}