From 51dc62dfb19919a651a71e850aca2af769a5ca27 Mon Sep 17 00:00:00 2001 From: Fryguy Date: Sun, 7 Jan 2024 12:34:25 -0500 Subject: [PATCH] [Bug Fix] Swim Skillup and Underwater Fall Damage Fix (#3885) * [Bug Fix] Swim Skillup and Underwater Fall Damage Fix No fall damage underwater, need to move to skill up swimming * Requested Changes --- zone/client_packet.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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; }