From 87750e34e7b515f7defc82008757b53daed97999 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 22 Oct 2021 15:06:19 +0800 Subject: [PATCH] 1 --- server/gameserver/buff.cc | 3 ++- server/gameserver/human.cc | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/server/gameserver/buff.cc b/server/gameserver/buff.cc index b6c8861..041f67f 100644 --- a/server/gameserver/buff.cc +++ b/server/gameserver/buff.cc @@ -808,7 +808,8 @@ void Buff::ProcInWater() return; } Human* hum = buff->owner->AsHuman(); - if (hum->GetOxygen() < MetaMgr::Instance()->dive_oxygen_total) { + if (!hum->HasBuffEffect(kBET_Dive) && + hum->GetOxygen() < MetaMgr::Instance()->dive_oxygen_total) { hum->AddOxygen(MetaMgr::Instance()->inwater_oxygen_recover); hum->room->frame_event.AddPropChg(hum->GetWeakPtrRef(), kPropDive, diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 788e346..6915bc0 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -3835,6 +3835,10 @@ void Human::DoDive() if (HasBuffEffect(kBET_Dive)) { return; } + if (HasBuffEffect(kBET_Driver) || + HasBuffEffect(kBET_Passenger)) { + return; + } if (HasBuffEffect(kBET_Camouflage) ) { RemoveBuffByEffectId(kBET_Camouflage); }