diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 5ae648cfa..03eb7544a 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -5062,7 +5062,7 @@ void Client::Handle_OP_ClientUpdate(const EQApplicationPacket *app) { } if (zone->watermap) { - if (zone->watermap->InLiquid(glm::vec3(m_Position))) { + if (zone->watermap->InLiquid(glm::vec3(m_Position)) && IsMoving()) { CheckIncreaseSkill(EQ::skills::SkillSwimming, nullptr, -17); // Dismount horses when entering water @@ -6242,6 +6242,13 @@ void Client::Handle_OP_EnvDamage(const EQApplicationPacket *app) } if (ed->dmgtype == EQ::constants::EnvironmentalDamage::Falling) { + if (zone->HasWaterMap()) { + auto target_position = glm::vec3(GetX(), GetY(), GetZ()); + if (!zone->watermap->InLiquid(target_position)) { + return; + } + } + uint32 mod = spellbonuses.ReduceFallDamage + itembonuses.ReduceFallDamage + aabonuses.ReduceFallDamage; damage -= damage * mod / 100; }