diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-09-13 15:24:13 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-09-13 15:24:13 +1000 |
commit | 9dbc4daacc59c1fe506d803d1d8653a395c60822 (patch) | |
tree | 9e4808cd8a3c913641cb4aa29fd2c84178277da9 /source/game/StarWorldServer.cpp | |
parent | 253473f32cd641267c46b36d3aaba667ffc7e94c (diff) |
Update StarWorldServer.cpp
Diffstat (limited to 'source/game/StarWorldServer.cpp')
-rw-r--r-- | source/game/StarWorldServer.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/source/game/StarWorldServer.cpp b/source/game/StarWorldServer.cpp index 3c053bb..e1e447d 100644 --- a/source/game/StarWorldServer.cpp +++ b/source/game/StarWorldServer.cpp @@ -381,8 +381,9 @@ void WorldServer::handleIncomingPackets(ConnectionId clientId, List<PacketPtr> c clientInfo->outgoingPackets.append(make_shared<GiveItemPacket>(item)); } else if (auto sepacket = as<SpawnEntityPacket>(packet)) { - auto entity = entityFactory->netLoadEntity(sepacket->entityType, std::move(sepacket->storeData)); - entity->readNetState(std::move(sepacket->firstNetState), 0.0f, clientInfo->clientState.netCompatibilityRules()); + auto netRules = clientInfo->clientState.netCompatibilityRules(); + auto entity = entityFactory->netLoadEntity(sepacket->entityType, std::move(sepacket->storeData), netRules); + entity->readNetState(std::move(sepacket->firstNetState), 0.0f, netRules); addEntity(std::move(entity)); } else if (auto rdpacket = as<RequestDropPacket>(packet)) { @@ -433,9 +434,9 @@ void WorldServer::handleIncomingPackets(ConnectionId clientId, List<PacketPtr> c Logger::error("WorldServer received duplicate entity create packet from client, deleting old entity {}", entityCreate->entityId); removeEntity(entityCreate->entityId, false); } - - auto entity = entityFactory->netLoadEntity(entityCreate->entityType, entityCreate->storeData); - entity->readNetState(entityCreate->firstNetState, 0.0f, clientInfo->clientState.netCompatibilityRules()); + auto netRules = clientInfo->clientState.netCompatibilityRules(); + auto entity = entityFactory->netLoadEntity(entityCreate->entityType, entityCreate->storeData, netRules); + entity->readNetState(entityCreate->firstNetState, 0.0f, netRules); entity->init(this, entityCreate->entityId, EntityMode::Slave); m_entityMap->addEntity(entity); |