From b2f0e4f111bdeba1eaff5e9e4a20a2805b13c708 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 17 May 2019 13:05:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=BA=E5=99=A8=E4=BA=BAOk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/android.cc | 9 --------- server/gameserver/human.cc | 11 +++++++++++ server/gameserver/room.cc | 4 +++- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/server/gameserver/android.cc b/server/gameserver/android.cc index 8c41c6d..44cc46a 100644 --- a/server/gameserver/android.cc +++ b/server/gameserver/android.cc @@ -24,15 +24,6 @@ void Android::Initialize() health = meta->i->health(); skin = 14001; RecalcSelfCollider(); - MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(a8::RandEx(12103, 12122)); - if (weapon_meta) { - weapons[GUN_SLOT1].weapon_idx = GUN_SLOT1; - weapons[GUN_SLOT1].weapon_id = weapon_meta->i->id(); - weapons[GUN_SLOT1].weapon_lv = 1; - weapons[GUN_SLOT1].ammo = 0; - weapons[GUN_SLOT1].meta = weapon_meta; - curr_weapon = &weapons[GUN_SLOT1]; - } } void Android::Update(int delta_time) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 6e8c3db..59e8323 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -717,6 +717,17 @@ bool Human::HasNoDownedTeammate() void Human::Land() { a8::UnSetBitFlag(status, HS_Jump); + if (entity_subtype == EST_Android) { + MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(a8::RandEx(12103, 12122)); + if (weapon_meta) { + weapons[GUN_SLOT1].weapon_idx = GUN_SLOT1; + weapons[GUN_SLOT1].weapon_id = weapon_meta->i->id(); + weapons[GUN_SLOT1].weapon_lv = 1; + weapons[GUN_SLOT1].ammo = 0; + weapons[GUN_SLOT1].meta = weapon_meta; + curr_weapon = &weapons[GUN_SLOT1]; + } + } FindLocation(); SyncAroundPlayers(); } diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index e65adfe..f08b56d 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -175,7 +175,9 @@ void Room::AddPlayer(Player* hum) hum->FindLocation(); hum->RefreshView(); MatchTeam(hum); - RandRemoveAndroid(); + while (human_hash_.size() > ROOM_MAX_PLAYER_NUM) { + RandRemoveAndroid(); + } } unsigned short Room::AllocUniid()