diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 3e12dfa..12b5187 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -3142,6 +3142,12 @@ void Human::OnBulletHit(Bullet* bullet) HasBuffEffect(kBET_Fly)) { return; } + { + Buff* buff = GetBuffByEffect(kBET_Camouflage); + if (buff && buff->i->int_param2 == 1) { + return + } + } #ifdef DEBUG #if 0 if (IsPlayer()) { @@ -3213,6 +3219,9 @@ void Human::OnExplosionHit(Explosion* e) HasBuffEffect(kBET_Fly)) { return; } + if (HasBuffEffect(kBET_Dive) && !MetaMgr::Instance()->dive_explosion_dmg_switch) { + return; + } RemoveBuffByEffectId(kBET_PeaceMode); float dmg = e->GetDmg();