diff --git a/server/gameserver/buff.cc b/server/gameserver/buff.cc index b163714..2dcf2b8 100644 --- a/server/gameserver/buff.cc +++ b/server/gameserver/buff.cc @@ -731,6 +731,10 @@ void Buff::CalcPassengerShotOffset() if (meta->i->buff_effect() == kBET_Passenger && caster_.Get()->IsHuman()) { Human* hum = (Human*)caster_.Get(); if (hum->GetCar() && hum->GetCar()->GetCurrWeapon()) { + { + //换座位时清除之前的状态 + RecoverHoldWeapons(); + } hold_weapons_.push_back(hum->weapons[hum->GetCar()->GetCurrWeapon()->weapon_idx]); hum->weapons[hum->GetCar()->GetCurrWeapon()->weapon_idx] = *hum->GetCar()->GetCurrWeapon(); hum->SetCurrWeapon(&hum->weapons[hum->GetCar()->GetCurrWeapon()->weapon_idx]);