diff --git a/server/gameserver/android.ai.cc b/server/gameserver/android.ai.cc index f046701..a2bc1ed 100644 --- a/server/gameserver/android.ai.cc +++ b/server/gameserver/android.ai.cc @@ -548,6 +548,9 @@ Creature* AndroidAI::GetTarget() ( [myself, &target] (Creature* hum, bool& stop) { + if (target->HasBuffEffect(kBET_Camouflage)) { + return; + } if (target) { if (myself->GetPos().ManhattanDistance(target->GetPos()) > myself->GetPos().ManhattanDistance(hum->GetPos())) { diff --git a/server/gameserver/obstacle.cc b/server/gameserver/obstacle.cc index 57e4361..00272fc 100644 --- a/server/gameserver/obstacle.cc +++ b/server/gameserver/obstacle.cc @@ -664,9 +664,13 @@ void Obstacle::OnCollisionTrigger(Creature* c, OptResult& opt_result) switch (meta->i->thing_type()) { case kObstacleSpring: { - AddObstacleBuff(c); - a8::SetBitFlag(c->status, CS_Collisioning); - opt_result = kOptBreak; + if (c->IsHuman() && c->AsHuman()->GetCar()) { + + } else { + AddObstacleBuff(c); + a8::SetBitFlag(c->status, CS_Collisioning); + opt_result = kOptBreak; + } } break; case kObstacleMine: