diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index 3d80af3..1bc2337 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -38,7 +38,7 @@ void Bullet::Update(int delta_time) for (auto& grid : grid_list) { for (Human* hum: grid->human_list) { #if 1 - if (hum != player) { + if (hum != player && !hum->dead) { #else if (hum != player && (hum->team_id == 0 || player->team_id != hum->team_id)) { diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index f08b56d..b0f4ee0 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -229,9 +229,14 @@ Human* Room::FindEnemy(Human* hum) { std::vector enemys; enemys.reserve(50); + EntitySubType_e sub_type = EST_Player; + if ((rand() % 10) < 2) { + sub_type = EST_Android; + } for (auto& cell : hum->grid_list) { for (Human* target : cell->human_list) { - if (target->entity_subtype == EST_Player) { + if (target->entity_subtype == sub_type && + !target->dead) { if (hum->pos.Distance(target->pos) < 300.0f) { if (target->team_id == 0 || target->team_id != hum->team_id