From 47734c0917235dfa13b414342fb8ccc522cf978f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 21 Jul 2021 07:27:12 +0000 Subject: [PATCH] 1 --- server/gameserver/player.cc | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 71b0a46..3a67735 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1056,8 +1056,19 @@ void Player::_CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg) std::abs(msg.attack_dir().y()) > 0.00001f ) ){ - if (!HasBuffEffect(kBET_Vertigo) && - !(GetCar() && (GetCar()->HasBuffEffect(kBET_Vertigo) || !GetCar()->HasOil()))) { + bool can_set = true; + if (HasBuffEffect(kBET_Vertigo)) { + can_set = HasBuffEffect(kBET_AutoShot); + } else if (GetCar()) { + if (GetCar()->HasOil()) { + if (GetCar()->HasBuffEffect(kBET_Vertigo)) { + can_set = GetCar()->HasBuffEffect(kBET_AutoShot); + } + } else { + can_set = false; + } + } + if (can_set) { a8::Vec2 attack_dir; TypeConvert::FromPb(attack_dir, &msg.attack_dir()); attack_dir.Normalize(); @@ -1065,8 +1076,6 @@ void Player::_CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg) if (GetCar() && GetCar()->IsDriver(this)) { GetCar()->SetAttackDir(GetAttackDir()); } - } else { - int i = 0; } } } else {