From 1da623111680c491d486412269d17e36154cfcb0 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 15 May 2024 18:54:28 +0800 Subject: [PATCH] 1 --- server/gameserver/buff/hide.cc | 6 ++++++ server/gameserver/constant.h | 2 ++ server/gameserver/player.cc | 3 +++ 3 files changed, 11 insertions(+) diff --git a/server/gameserver/buff/hide.cc b/server/gameserver/buff/hide.cc index 9200d234..d5aeeae5 100644 --- a/server/gameserver/buff/hide.cc +++ b/server/gameserver/buff/hide.cc @@ -48,6 +48,9 @@ void HideBuff::Activate() if (meta->_int_buff_param1 > 0) { owner->GetAbility()->IncSwitch(kHideBuffMoveShow); } + if (meta->_int_buff_param6 > 0) { + owner->GetAbility()->IncSwitch(kHideBuffAimingShow); + } } void HideBuff::Deactivate() @@ -62,6 +65,9 @@ void HideBuff::Deactivate() if (meta->_int_buff_param1 > 0) { owner->GetAbility()->DecSwitch(kHideBuffMoveShow); } + if (meta->_int_buff_param6 > 0) { + owner->GetAbility()->DecSwitch(kHideBuffAimingShow); + } } void HideBuff::AddInRangeObject(Creature* target) diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index 6c878d72..5bfac351 100644 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -522,6 +522,7 @@ enum SwitchTimesType_e kForceClientReportBullet, kIgnoreOriginalDmg, kHideBuffMoveShow, + kHideBuffAimingShow, kSwitchTimeEnd, }; @@ -532,6 +533,7 @@ enum RemoveHideReason_e kMoveReason, kOnBulletHitReason, kOnExplosionHitReason, + kAimingReason }; enum SkillIdx_e diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 3e08127d..c1c17980 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1518,6 +1518,9 @@ void Player::ProcPreSettlementInfo(const std::string& pre_settlement_info) void Player::UpdateAiming() { if (aiming) { + if (GetAbility()->GetSwitchTimes(kHideBuffAimingShow) > 0) { + RemoveHideEffect(kAimingReason); + } if (!HasBuffEffect(kBET_HoldShield)) { if (aiming_frameno == 0) { aiming_frameno = room->GetFrameNo();