diff --git a/server/gameserver/obstacle.cc b/server/gameserver/obstacle.cc index 84634cb..be8e33e 100644 --- a/server/gameserver/obstacle.cc +++ b/server/gameserver/obstacle.cc @@ -494,7 +494,7 @@ bool Obstacle::Attackable() bool Obstacle::Throughable() { - return meta->i->attack_type() == 2 || meta->i->attack_type() == 3; + return meta->i->attack_type() == 2; } int Obstacle::GetTeamId(Room* room) diff --git a/server/gameserver/roomobstacle.cc b/server/gameserver/roomobstacle.cc index bddbc2e..e797d26 100644 --- a/server/gameserver/roomobstacle.cc +++ b/server/gameserver/roomobstacle.cc @@ -90,6 +90,14 @@ void RoomObstacle::RecalcSelfCollider() #endif #endif } + for (auto collider : colliders_) { + collider->tag = collider_tag; + collider->param1 = collider_param1; + collider->param2 = collider_param2; + if (meta->i->attack_type() == 3) { + a8::SetBitFlag(collider->tag, kHalfWallTag); + } + } } void RoomObstacle::ActiveTimerFunc()