From 4022545a6ed734aca6435f4f5b50f88011d61a0f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 18 Jun 2021 16:44:16 +0800 Subject: [PATCH] 1 --- server/gameserver/hero.cc | 4 ++-- server/gameserver/roomobstacle.cc | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/server/gameserver/hero.cc b/server/gameserver/hero.cc index b2c8e0d..8ec9377 100644 --- a/server/gameserver/hero.cc +++ b/server/gameserver/hero.cc @@ -154,8 +154,8 @@ bool Hero::IsCollisionInMapService() ( (collider->type == CT_Aabb && aabb_box.Intersect((ColliderComponent*)collider)) || (collider->type == CT_Circle && self_collider_->Intersect((ColliderComponent*)collider)) - ) - ) { + ) && + !obstacle->CanThroughable(this)) { if (last_collision_door_ != collider->owner) { OptResult opt_result = kOptPass; obstacle->OnCollisionTrigger(this, opt_result); diff --git a/server/gameserver/roomobstacle.cc b/server/gameserver/roomobstacle.cc index 32ec457..f59d691 100644 --- a/server/gameserver/roomobstacle.cc +++ b/server/gameserver/roomobstacle.cc @@ -507,6 +507,9 @@ void RoomObstacle::Die(Room* room) bool RoomObstacle::CanThroughable(Creature* c) { + if (meta->i->thing_type() == kObstacleOilBucket) { + return true; + } if (master.Get()) { return master.Get()->team_id == c->team_id && temp_through_; } else {