Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarWorldServer.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-09-13 15:24:13 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2024-09-13 15:24:13 +1000
commit9dbc4daacc59c1fe506d803d1d8653a395c60822 (patch)
tree9e4808cd8a3c913641cb4aa29fd2c84178277da9 /source/game/StarWorldServer.cpp
parent253473f32cd641267c46b36d3aaba667ffc7e94c (diff)
Update StarWorldServer.cpp
Diffstat (limited to 'source/game/StarWorldServer.cpp')
-rw-r--r--source/game/StarWorldServer.cpp11
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);