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); } } }