From f6dc39d11c07e58e2980ae3ea6dc4599ae032b15 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 12 Aug 2019 11:50:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=9A=9C=E7=A2=8D=E7=89=A9?= =?UTF-8?q?=E7=A2=B0=E6=92=9E=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/human.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 39d647d..c873a40 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -360,8 +360,13 @@ bool Human::IsCollisionInMapService() if (!collider->owner->dead && TestCollision((ColliderComponent*)collider)) { if (last_collision_door != collider->owner) { Obstacle* obstacle = (Obstacle*)collider->owner; - if (!obstacle->dead && obstacle->meta->i->attack_type() == 1 && - obstacle->meta->i->drop() != 0) { + if (!obstacle->dead && + obstacle->meta->i->attack_type() == 1 && + obstacle->meta->i->drop() != 0 && + room->gas_data.gas_mode != GasInactive && + !a8::HasBitFlag(status, HS_Fly) && + !a8::HasBitFlag(status, HS_Jump) + ) { obstacle->health = 0; obstacle->dead = obstacle->health <= 0.01f; obstacle->dead_frameno = room->frame_no;