diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index d1f45e3..2e40610 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1485,5 +1485,30 @@ void Room::NotifyWxVoip() BornPoint* Room::AllocBornPoint(Human* hum) { - return nullptr; + BornPoint* born_point = nullptr; + for (auto& pair : born_point_hash_) { + if (pair.second.player_num + pair.second.android_num < 6) { + born_point = &pair.second; + break; + } + } + if (born_point) { + switch (hum->entity_subtype) { + case EST_Player: + { + ++born_point->player_num; + } + break; + case EST_Android: + { + ++born_point->android_num; + } + break; + default: + { + } + break; + } + } + return born_point; }