diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index ea6a09b..8a0f284 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -184,7 +184,11 @@ void Bullet::ProcBomb() { //烟雾弹 a8::Vec2 bomb_pos = GetPos(); - room->frame_event.AddSmoke(this, meta->i->id(), bomb_pos, 1000 * 30); + float time_addition = 0; + if (IsCurrWeapon() && sender.Get()) { + time_addition += sender.Get()->GetAbility()->GetAttrAbs(kHAT_WeaponExplosionContinueTime); + } + room->frame_event.AddSmoke(this, meta->i->id(), bomb_pos, time_addition); ProcSmokeBomb(); } break;