diff --git a/source/game/StarNpc.cpp b/source/game/StarNpc.cpp index 97b0528..cd20993 100644 --- a/source/game/StarNpc.cpp +++ b/source/game/StarNpc.cpp @@ -254,13 +254,15 @@ RectF Npc::collisionArea() const { pair Npc::writeNetState(uint64_t fromVersion) { // client-side npcs error nearby vanilla NPC scripts because callScriptedEntity // for now, scrungle the collision poly to avoid their queries. hacky :( - if (auto mode = entityMode()) { - if (*mode == EntityMode::Master && connectionForEntity(entityId()) != ServerConnectionId) { - PolyF poly = m_movementController->collisionPoly(); - m_movementController->setCollisionPoly({ { 0.0f, -FLT_MAX } }); - auto result = m_netGroup.writeNetState(fromVersion); - m_movementController->setCollisionPoly(poly); - return result; + if (m_npcVariant.overrides.getBool("overrideNetPoly", false)) { + if (auto mode = entityMode()) { + if (*mode == EntityMode::Master && connectionForEntity(entityId()) != ServerConnectionId) { + PolyF poly = m_movementController->collisionPoly(); + m_movementController->setCollisionPoly({ { 0.0f, -FLT_MAX } }); + auto result = m_netGroup.writeNetState(fromVersion); + m_movementController->setCollisionPoly(poly); + return result; + } } }