diff --git a/server/gameserver/car.cc b/server/gameserver/car.cc index faa46dc..11e7e2a 100644 --- a/server/gameserver/car.cc +++ b/server/gameserver/car.cc @@ -275,6 +275,9 @@ void Car::OnBulletHit(Bullet* bullet) GetAbility()->GetAttrAbs(kHAT_Def); float finaly_dmg = dmg * (1 - def/MetaMgr::Instance()->K); finaly_dmg = std::max(finaly_dmg, 0.0f); + if (bullet->meta->buff_meta) { + MustBeAddBuff(bullet->sender.Get(), bullet->meta->i->buffid()); + } DecHP(finaly_dmg, bullet->sender.Get()->GetUniId(), bullet->sender.Get()->GetName(), diff --git a/server/gameserver/hero.cc b/server/gameserver/hero.cc index 8c0ce10..418b2c1 100644 --- a/server/gameserver/hero.cc +++ b/server/gameserver/hero.cc @@ -91,7 +91,7 @@ void Hero::OnBulletHit(Bullet* bullet) sender->stats.damage_amount_out += finaly_dmg; #endif if (bullet->meta->buff_meta) { - MustBeAddBuff(this, bullet->meta->i->buffid()); + MustBeAddBuff(bullet->sender.Get(), bullet->meta->i->buffid()); } DecHP(finaly_dmg, bullet->sender.Get()->GetUniId(),