From e111fd15f9b9298d7ee9845f728655c7cb27b4b1 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 25 Jun 2021 14:31:31 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=B1=BD=E6=B2=B9=E6=A1=B6=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=89=93=E7=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/bullet.cc | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index 02721a8..da36d76 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -313,15 +313,13 @@ void Bullet::Check(float distance) std::set colliders; room->map_service->GetColliders(room, GetX(), GetY(), colliders); for (ColliderComponent* collider : colliders) { - if (TestCollision(room, collider) && - !a8::HasBitFlag(collider->tag, kHalfWallTag)) { - if (collider->owner->IsEntityType(ET_Obstacle)) { - Obstacle* obstacle = (Obstacle*)collider->owner; - if (obstacle->CanThroughable(this)) { - continue; + if (collider->owner->IsEntityType(ET_Obstacle)) { + Obstacle* obstacle = (Obstacle*)collider->owner; + if (!obstacle->CanThroughable(this)) { + if (TestCollision(room, collider)) { + objects.insert(collider->owner); } } - objects.insert(collider->owner); } } }