diff --git a/server/gameserver/obstacle.cc b/server/gameserver/obstacle.cc index 976426f..8884b57 100644 --- a/server/gameserver/obstacle.cc +++ b/server/gameserver/obstacle.cc @@ -539,6 +539,12 @@ void Obstacle::OnExplosionHit(Explosion* e) if (meta->i->explosion_hit() == kExplosionHitEatDmg) { return; } + if (IsDead(e->GetRoom())) { + return; + } + if (e->GetDmg() < 0.001f) { + return; + } float dmg = e->GetDmg(); float def = 0; float finaly_dmg = dmg * (1 - def/MetaMgr::Instance()->K);