diff --git a/zone/mob_ai.cpp b/zone/mob_ai.cpp index 900279759..9d0ea02be 100644 --- a/zone/mob_ai.cpp +++ b/zone/mob_ai.cpp @@ -1637,7 +1637,7 @@ void NPC::AI_DoMovement() { roambox_destination_y, m_Position.z + 15 ); - if (!zone->watermap->InLiquid(position)) { + if (zone->HasWaterMap() && !zone->watermap->InLiquid(position)) { roambox_destination_x = m_SpawnPoint.x; roambox_destination_y = m_SpawnPoint.y; roambox_destination_z = m_SpawnPoint.z; diff --git a/zone/object.cpp b/zone/object.cpp index 97fdcd69b..88038bbe8 100644 --- a/zone/object.cpp +++ b/zone/object.cpp @@ -463,7 +463,7 @@ void Object::RandomSpawn(bool send_packet) { m_data.x = zone->random.Real(m_min_x, m_max_x); m_data.y = zone->random.Real(m_min_y, m_max_y); - if(m_data.z == BEST_Z_INVALID) { + if (m_data.z == BEST_Z_INVALID && zone->HasMap()) { glm::vec3 me; me.x = m_data.x; me.y = m_data.y; diff --git a/zone/zone.cpp b/zone/zone.cpp index ff45da839..9efea0a84 100755 --- a/zone/zone.cpp +++ b/zone/zone.cpp @@ -275,7 +275,9 @@ bool Zone::LoadZoneObjects() position.y = data.y; position.z = data.z; - data.z = zone->zonemap->FindBestZ(position, nullptr); + if (zone->HasMap()) { + data.z = zone->zonemap->FindBestZ(position, nullptr); + } EQ::ItemInstance *inst = nullptr; // FatherNitwit: this dosent seem to work...