diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index 5aaff968..34cce0cd 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -1084,7 +1084,9 @@ void Bullet::ProcRequestBulletDmg(int shield_hit, int strength_wall_uniid, int t GetMutablePos().FromGlmVec3(pos); room->grid_service->MoveBullet(this); + float distance = GlmHelper::Norm(GetPos().ToGlmVec3() - born_pos.ToGlmVec3()); BulletCheckResult result; + result.flyed_distance = distance; if (trace_target_id) { if (trace_target_id == target_uniid) { @@ -1108,6 +1110,14 @@ void Bullet::ProcRequestBulletDmg(int shield_hit, int strength_wall_uniid, int t } } } else { - + GetHitThings(result); + if (result.o_hit_num <= 0) { + GetHitCreatures(result); + } + if (IsBomb()) { + ProcBomb(); + } else { + ProcNormalBullet(result); + } } }