diff --git a/server/gameserver/android.cc b/server/gameserver/android.cc index 3fefd82..3624ecb 100644 --- a/server/gameserver/android.cc +++ b/server/gameserver/android.cc @@ -27,6 +27,7 @@ void Android::Initialize() Human::Initialize(); health = meta->i->health(); SetSkinInfo(14001); + GiveEquip(); } void Android::Update(int delta_time) @@ -40,3 +41,17 @@ void Android::Update(int delta_time) } ai->Update(delta_time); } + +void Android::GiveEquip() +{ + MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(robot_meta->i->weapon_id()); + if (weapon_meta) { + weapons[GUN_SLOT1].weapon_idx = GUN_SLOT1; + weapons[GUN_SLOT1].weapon_id = weapon_meta->i->id(); + weapons[GUN_SLOT1].weapon_lv = robot_meta->i->weapon_lv(); + weapons[GUN_SLOT1].ammo = 0; + weapons[GUN_SLOT1].meta = weapon_meta; + weapons[GUN_SLOT1].Recalc(); + curr_weapon = &weapons[GUN_SLOT1]; + } +} diff --git a/server/gameserver/android.h b/server/gameserver/android.h index e632fcf..f94beb8 100644 --- a/server/gameserver/android.h +++ b/server/gameserver/android.h @@ -18,4 +18,6 @@ class Android : public Human virtual ~Android() override; virtual void Initialize() override; virtual void Update(int delta_time) override; + void GiveEquip(); + }; diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index a30417a..66c2624 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -924,19 +924,7 @@ bool Human::HasNoDownedTeammate() void Human::Land() { a8::UnSetBitFlag(status, HS_Jump); - if (entity_subtype == EST_Android) { - Android * android = (Android*)this; - MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(android->robot_meta->i->weapon_id()); - if (weapon_meta) { - weapons[GUN_SLOT1].weapon_idx = GUN_SLOT1; - weapons[GUN_SLOT1].weapon_id = weapon_meta->i->id(); - weapons[GUN_SLOT1].weapon_lv = android->robot_meta->i->weapon_lv(); - weapons[GUN_SLOT1].ammo = 0; - weapons[GUN_SLOT1].meta = weapon_meta; - weapons[GUN_SLOT1].Recalc(); - curr_weapon = &weapons[GUN_SLOT1]; - } - } else if (App::Instance()->HasFlag(8)) { + if (App::Instance()->HasFlag(8)) { MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(a8::RandEx(12103, 12122)); if (weapon_meta) { weapons[GUN_SLOT1].weapon_idx = GUN_SLOT1; diff --git a/server/gameserver/jsondatamgr.cc b/server/gameserver/jsondatamgr.cc index a42f272..5d50982 100644 --- a/server/gameserver/jsondatamgr.cc +++ b/server/gameserver/jsondatamgr.cc @@ -8,7 +8,7 @@ void JsonDataMgr::Init() { if (!f8::IsOnlineEnv() && App::Instance()->HasFlag(2)) { - work_path_ = a8::Format("/root/pub/%d/%d/conf_test/game%d/gameserver/", + work_path_ = a8::Format("/root/pub/%d/%d/conf_test/game%d/gameserver", { GAME_ID, App::Instance()->instance_id, @@ -16,7 +16,7 @@ void JsonDataMgr::Init() }); } std::string gameserver_cluster_json_file; - gameserver_cluster_json_file = a8::Format("%s/../config/node%d/game%d.gameserver.cluster.json", + gameserver_cluster_json_file = a8::Format("%s/node%d/game%d.gameserver.cluster.json", { work_path_, App::Instance()->node_id, @@ -48,7 +48,7 @@ std::shared_ptr JsonDataMgr::GetMasterServerClusterConf() void JsonDataMgr::Reload() { std::string masterserver_cluster_json_file; - masterserver_cluster_json_file = a8::Format("%s/../config/node%d/game%d.masterserver.cluster.json", + masterserver_cluster_json_file = a8::Format("%s/node%d/game%d.masterserver.cluster.json", { work_path_, App::Instance()->node_id, diff --git a/server/gameserver/jsondatamgr.h b/server/gameserver/jsondatamgr.h index cfa11d7..c430855 100644 --- a/server/gameserver/jsondatamgr.h +++ b/server/gameserver/jsondatamgr.h @@ -19,7 +19,7 @@ public: void Reload(); private: - std::string work_path_ = "./"; + std::string work_path_ = "../config"; a8::XObject gameserver_cluster_json_; a8::XObject masterserver_cluster_json_; }; diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 687f184..b3ab779 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -395,9 +395,6 @@ void Room::CreateThings() void Room::DropItem(Vector2D pos, int item_id, int item_count, int item_lv) { - #if 0 - item_id = 12301 + rand() % 2; - #endif MetaData::Equip* equip_meta = MetaMgr::Instance()->GetEquip(item_id); if (equip_meta && equip_meta->i->group_num() > 0 && item_count > 0) { int total_count = item_count; @@ -883,7 +880,7 @@ void Room::UpdateGas() return true; }); gas_data.gas_mode = GasWaiting; - gas_data.old_area_meta = MetaMgr::Instance()->GetSafeArea(30001); + gas_data.old_area_meta = MetaMgr::Instance()->GetSafeArea(30001); gas_data.new_area_meta = MetaMgr::Instance()->GetSafeArea(30002); gas_data.gas_progress = gas_data.old_area_meta->i->rad(); gas_data.gas_start_frameno = frame_no;