diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index 9d49aa1d..f96c7105 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -549,6 +549,7 @@ void Bullet::Check(float distance) #ifdef DEBUG a8::XPrintf("shiled destory\n", {}); #endif + c->GetTrigger()->ShieldDestory(); c->RemoveBuffByUniId(hold_shield_buff->buff_uniid); } eat = true; diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 448ba61c..2a1b2943 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1168,6 +1168,7 @@ void Player::_CMRequestBulletDmg(f8::MsgHdr& hdr, const cs::CMRequestBulletDmg& c->shield_max_hp_, c->shield_hp_); if (c->shield_hp_ <= 0) { + c->GetTrigger()->ShieldDestory(); c->RemoveBuffByUniId(hold_shield_buff->buff_uniid); } shield = true;