diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 8be2018..b84169b 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1835,8 +1835,12 @@ void Room::ProcShuaAndroid(int shua_time, int shua_num) GetCanEnableAndroids(humans, real_shua_num); for (auto& hum : humans) { a8::Vec2 pos = target->GetPos(); - a8::Vec2 dir = a8::Vec2::UP; - dir.Rotate(a8::RandAngle()); + a8::Vec2 dir = target->move_dir; + if (rand() % 100 < 80) { + dir.Rotate(a8::RandAngle() / 2.0f); + } else { + dir.Rotate(a8::RandAngle()); + } pos = pos + dir * SHUA_RANGE; if (OverBorder(pos, hum->GetRadius())) { pos.x = target->GetPos().x;