From d2369f72805965b81796f2c700df2ba1d7375f82 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 15 Apr 2024 14:30:00 +0800 Subject: [PATCH] 1 --- server/gameserver/bullet.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index ab8c37f9..25bbb8e8 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -139,13 +139,15 @@ void Bullet::OnHit(std::set& objects) bool eat = false; if (!trace_target_id && !reporter_list) { if (mt::Param::s().bullet_through_wall_check) { - if (!room->BulletCanReach(born_pos.ToGlmVec3(), target->GetPos().ToGlmVec3())) { + if (!gun_meta->is_penetrate_thing() && + !room->BulletCanReach(born_pos.ToGlmVec3(), target->GetPos().ToGlmVec3())) { eat = true; } if (gun_meta->id() == 30905 && eat && sender.Get()) { glm::vec3 new_born_pos = born_pos.ToGlmVec3(); new_born_pos.y = target->GetPos().GetY(); - if (room->BulletCanReach(new_born_pos, target->GetPos().ToGlmVec3())) { + if (gun_meta->is_penetrate_thing() || + room->BulletCanReach(new_born_pos, target->GetPos().ToGlmVec3())) { eat = false; } }